libdragon
Data Fields
AY8910 Struct Reference

A AY-3-8910 emulator. More...

#include <ay8910.h>

Data Fields

uint8_t(* PortRead )(int idx)
 Callback for I/O port reads.
 
void(* PortWrite )(int idx, uint8_t val)
 Callback for I/O port writes.
 
uint8_t addr
 Current value on the address line.
 
uint8_t regs [16]
 State of the internal registers.
 
AYChannel ch [3]
 Configuration and state of the channels.
 
AYNoise ns
 Configuration and state of the noise.
 
AYEnvelope env
 Configuration and state of the envelope.
 

Detailed Description

A AY-3-8910 emulator.

AY-3-8910 is a 4-bit PSG, popular in the 80s, that was used in many game consoles and PCs. It features 3 channels producing square waveforms at programmable periods and volumes, plus a noise generator that can be activated on each channel, and a volume envelope.

This emulator has been heavily optimized to be able to perform fast enough on the N64 hardware to be used as background music. Specifically, it is used by ym64player_t to play back YM modules.


The documentation for this struct was generated from the following file: