MSX PSG

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
MSX PSG
MSX PSG.png
Developer: MSX Association
Released: 1983-06-27
Type: Protocol
Icon:
Icon - MSX PSG.png
Platforms: Platform - MSX.pngPlatform - MSX2.png

The MSX PSG (Programmable Sound Generator) is the built-in audio protocol for the various incarnations of the MSX computer. Using the MSX PSG protocol in the PSG, programs running on the MSX can send data directly to the computer's audio chip, the joystick, and international aspects of the keyboard.

The original MSX Technical Data Book lists the PSG as "GI AY-3-8910 compatible", but this was replaced with a YM2149 for the MSX2 and subsequent models. The YM2149 is very similar to the AY-3-8910, but it offers more precision. It's also backward compatible with the AY-3-8910, so all MSX music would sound either identical or cleaner when played on an MSX2.

Games

Technical

To utilize the MSX PSG, data must be written to ports 0xA0–0xA1 on the MSX PSG. One further port exists, but is of little use for audio. The complete ports are described below.

Port Description
0xA0 (write) Register write port
0xA1 (write) Value write port
0xA2 (read) Value read port

These ports expose 16 further bytes, or registers, of data to expose the underlying audio chip. The registers are explained below.

Register(s) Description
0-5 Tone generator control
6 Noise generator control
7 Mixer control-I/O enable (bit 6 must be 0, bit 7 must be 1)
8-10 Amplitude control
11-13 Envelope generator control
14-15 I/O ports A & B

Note: Setting different values in bits 6 or 7 may cause damage on some systems. Safest approach is to just not touch them and read them first before writing a new value.

See Also

Emulation Status

Most MSX emulators have accurate MSX PSG emulation, except that fMSX does not play samples.

Links