MSX-AUDIO
This page was last modified 09:41, 2 November 2016 by Gdx. Based on work by Mars2000you and Rderooy and others.

Contents

MSX-AUDIO

MSX-AUDIO is a standard for FM sound synthesizer cartridges, which contain an OPL-compatible chip made by Yamaha, the Y8950. This chip is called the MSX-AUDIO. The FM sound generator in the MSX-AUDIO is compatible with the YM3526 (OPL, sometimes called OPL1), so any OPL software can be used with an MSX-Audio. The chip was introduced in 1984. MSX-AUDIO based cartridges started to appear in 1986.

Specifications

According to the MSX Datapack, MSX-AUDIO BIOS and the Y8950 data sheet, these are the specifications:

Minimum configuration

  • Sound Generator: Yamaha Y8950
    • Built-in YM3526 FM sound generator (aka OPL1)
      • 9 channels of FM sound without drums or 6 channels of FM sound + FM drums
      • Single type of waveform: sine
      • Vibrato and AM oscillators
      • Two general-purpose timers
  • DAC LSI: Yamaha YM-3014
  • Built-in 4-bit hardware accelerated ADPCM (Adaptive Differential Pulse Code Modulation) sample unit. The maximum sampling rate is 16kHz
    • Built-in 8-bit PCM sample unit
    • 32kB of SampleRAM for ADPCM data
    • Built-in Mute and filtering circuits
    • General-purpose 4-bit input/output ports
  • Mono sound output. (RCA connector)
  • Mono sound input. (Mic Jack connector)
  • Rom 128kB
  • Work-RAM: 4 Kbytes
  • Music Keyboard connector
    • 8-bit input/output port for Music scanning

Maximum configuration

  • Sound Generator: Yamaha Y8950 x 2 (the second as slave)
    • Built-in YM3526 FM sound generator (aka OPL1)
      • 9 channels of FM sound without drums or 6 channels of FM sound + FM drums
      • Single type of waveform: sine
      • Vibrato and AM oscillators
      • Two general-purpose timers
  • DAC LSI: Yamaha YM-3014 x2
  • Built-in 4-bit hardware accelerated ADPCM (Adaptive Differential Pulse Code Modulation) sample unit. The maximum sampling rate is 16kHz
    • Built-in 8-bit PCM sample unit
    • 256KB of SampleRAM for ADPCM data
    • 256KB of SampleROM for ADPCM data
    • Built-in Mute and filtering circuits
    • General-purpose 4-bit input/output ports
  • Mono sound output. (RCA connector)
  • Mono sound input. (Mic Jack connector)
  • Rom 128kB
  • Work-RAM: 4 Kbytes
  • Music Keyboard connector
    • 8-bit input/output port for Keyboard scanning

Optional feature

  • MIDI in/out connector

MSX-AUDIO cartridges

3 different models of MSX-AUDIO cartridges were produced. Strictly speaking, only the Panasonic FS-CA1 was a complete implementation of the MSX-AUDIO standard. The other two can be upgraded for full compliance though.

External keyboard support

The MSX-AUDIO standard defines a standardized pinout for the Music Keyboard connector. Both the Panasonic FS-CA1 and the Toshiba HX-MU900 accept keyboards using this pinout, namely the Yamaha YK-01, YK-10, YK-20 and the Toshiba HX-MU901. It's shares the same pinout of the SFG-01 and SFG-05 modules, albeit those two modules are not part of this standard.

The Philips NMS-1205 features the same kind of connector, but with a different and incompatible pinout. This pinout is only officially supported by the Philips NMS-1160 Music Keyboard. It's possible to build adapters to connect either a standard MSX Music Keyboard or a Commodore keyboard. In the Netherlands there are quite a few of these Commodore Music Keyboards around, adapted by the PTC for use with the Philips Music Module.

Software support

All three Y8950 cartridges feature some kind of internal music editor. Both the Panasonic FS-CA1 and the Toshiba HX-MU900 feature the same Music Editor, while the Philips NMS-1205 features a specific one developed by Philips.

In both the NMS-1205 and the HX-MU900, the built-in Music Editor starts up automatically when the MSX is turned on, unless the [ESC] key is pressed at startup. This editor isn't needed to use the Music Module. You can replace the ROM with any other kind of 32kB ROM.

Almost all software which contains music composed in FAC Soundtracker, Moonblaster, Oracle or other music editors that support the MSX-AUDIO, support the ADPCM sample unit of the Philips NMS-1205 Music Module. Some even support the keyboard. Only FAC Soundtracker supports the keyboard of the Toshiba cartridge. Only Tyfoonsoft's ProTracker editor doesn't support the ADPCM sample unit.

The MSX-AUDIO BIOS also contains the MSX Audio BASIC extensions. These BASIC commands allow compatibility with the majority of the large library of songs created for the MSX-Music. For the original MSX-AUDIO 1.0 BIOS you have to replace the CALL MUSIC command with CALL AUDIO, but for v1.3 that's not required anymore.

MSX-AUDIO BIOS v1.3 also features an MSX-Music BIOS compatible interface. This means that any software that supports the MSX-Music and uses its BIOS calls to write on the FM chip (as required by the MSX standard) will also be compatible with the upgraded MSX-Audio module. All software released by ASCII is known to be compatible, and other games were patched to fix the I/O to use the BIOS calls, like i.e.: FireHawk.

There is also other software that makes use of the ADPCM sampler. One example is Trax Player by NOP, a program to play songs (samples) directly from disk while loading. You can find some songs recorded with TraxPlayer in the MSX archive.

Most of the Disc Stations by Compile support mainly the Panasonic MSX-Audio, and since the Philips and Toshiba Modules don't contain the MSX-Audio BIOS the Compile software assumes there is no MSX-Audio present. Without upgrades, Compile games can be fooled to detect those modules by typing:

POKE -54,35:POKE&HF346,1:_SYSTEM

before you put a disk in the drive. Most Compile software that supports FM-PAC also supports MSX-AUDIO. Some examples are Golvellius II, Gorby's Pipeline and Rune Master II.

There is some rare software that supports the 256kB sample RAM extension. Examples of these are the demo Unknown Reality by NOP and the MSX-Audio BIOS itself. Supersoniqs sells upgrade kits for the Philips and Toshiba Music Modules that contain both 256KB SampleRAM and the MSX-AUDIO BIOS.

Programming

See MSX-AUDIO BASIC

Emulation

The old CJS MSX2 emulator was the first one to support MSX-AUDIO, followed by more emulators. In 2001 Mitsutaka Okazaki wrote an Y8950 emulation engine which is used in the newest MSX emulators. For more information, see the MSX emulator section.