-
-
Notifications
You must be signed in to change notification settings - Fork 0
AY‐3‐8910
The AY-3-8910 is a 3-voice programmable sound generator (PSG) designed by General Instrument (GI) in 1978.
The AY-3-8910 and its variants were used in many arcade games, pinball machines, video game consoles and home computers.
The AY-3-8910 is a simple finite-state machine. Its state of sixteen 8-bit registers are programmed over an 8-bit bus (used both for addressing and data) by toggling one of the external pins. For instance, a typical setup cycle puts the bus into "address mode" to select a register, and then switches to "data mode" to set the contents of that register.
The register array is shown below.
Register | Function |
---|---|
0x00~0x01 | frequency channel 1 |
0x02~0x03 | frequency channel 2 |
0x04~0x05 | frequency channel 3 |
0x06 | noise frequency |
0x07 | mixer |
0x08 | volume channel 1 |
0x09 | volume channel 2 |
0x0A | volume channel 3 |
- SDK
- Important system files
The boot.py file
The main.py file
Libraries
- MCU
What is MicroPython?
How to install MicroPython
- Video
TMS9918 compatible VDP parts
TMS9918 VDP display modes
Color palette
Video modes
Video adapters
MGB file format
- Video API
vdp_set_bdcolor
vdp_print
vdp_cls
vdp_mset
vdp_textcolor
vdp_sprite_set_position
vdp_text_wrap
set_write_address
write_byte_to_VRAM
vdp_init
- Audio
Music related troubleshooting
AY-3-8910 compatible PSG parts
How to flash LPC810 or LPC812 MCU
How to flash ATmega8, ATmega48, ATmega88, ATmega168 or ATmega328
AY-3-8910
Konami SCC
WT588D
Clock sources
SoundCortex limitations
VGM file format
WT588D's BUSY output
- Audio API
music.reset
music.load_vgm
music.tick
music.set_vol
music.play_freq
music.play_notes
voice.send_threelines
voice.send_oneline
- Input
PISO shift register compatible gamepad parts
PS2 keyboard scancodes
- Input API
- Memory
Memory related troubleshooting
Video RAM
- Memory API