MSX PSG
MSX PSG | |
Developer: | MSX Association |
Released: | 1983-06-27 |
Type: | Protocol |
Icon: | |
Platforms: | • |
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
- map.grauw.nl/resources/msx_io_ports.php#psg - Information on the PSG.