YM (Yamaha Music, name is a guess) is an audio format that logs instructions sent to an AY-3-8910 or YM2149 chip. Playback occurs by emulating the chips and sending the logged data to them. Because the format merely logs the instructions to the chip, it doesn't preserve the original content of the music format. The format is similar to VGM, DRO and GYM formats in this respect. Although YM technically supports any platform that uses the specified chips, the logging community has mostly limited its efforts to the Amstrad CPC. The format has partial support for the YM2149F used in Atari ST.
MYM is a variation of the YM format tailored for replay on low-end platforms.
- Audio Overload - Linux, Macintosh, Windows
- AYEmul - Windows 32
- DeliPlayer - Windows 32 (both compressed and uncompressed variants)
- RdosPlay - DOS (only uncompressed)
- ST-Sound - XMPlay, Windows
- YM Decoder - foobar2000
YM to ?
- Audio Overload - Linux, Macintosh, Windows - WAV
- AYEmul - Windows - WAV
- YM Decoder - foobar2000 - WAV
? to YM
How to Obtain
YM files can be logged using some Amstrad CPC and ZX Spectrum emulators (see the YM Logging guide). YM archives can be found on the following pages:
- genesis8bit.fr/frontend/music.php - Various YM archives.
- bulba.untergrund.net/music_e.htm - Multiple scattered archives.
- www.cpc-power.com/ - YM files are found on various game pages, for example).
All YM files are compressed LHA archives, which contain one generic file inside. It can be extracted with 7-Zip, for example (use right click on file, 7-Zip context menu, and then choose "Open archive"). The extracted file has custom header which is relatively simple, which varies on the YM version used ("YM3!" to "YM6!").
All YM files contain the words like "file.bin" or "file.ym" at the beginning (in the last case - if the file was logged using this guide), because of LHA archive format.
YM supports AY-3-8912 not only for systems with Zilog 80 chip, and also, unlike AY, it supports tracks with tempos other than 94, 125, 150 or 188 BPM. However, YM doesn't support ZX Spectrum's buzzer, and each YM file is a separate tune, while AY can store more music tracks.
Another flaw of YM is that its logging tends to somewhat "simplify" the output, so the playback of YM sounds somewhat louder and harsher than from the game itself.
Starting from YM4 version, YM supports digital instruments. Starting from YM5 version, YM supports special sync effects. YM6 supports one more effect.
The AY-3-8910 generates frequencies on the basis on its own master frequency. Since YM logs the AY-3-8910 native commands and the master frequency changes from one computer to another (ex. ZX Spectrum: 1Mhz, Atari ST: 2Mhz), all YM commands related to periods or frequencies must be adapted in order to play correctly on a non-native platform.