GYM is a sound format (similar to NSF) for the Sega Genesis.
The name stands for Genesis YM2612, since the file contains the data sent to the Yamaha YM2612 sound chip in the console. The data is ripped (logged to a file) through the use of emulators running a ROM image.
The GYM format first appeared on the emulator Genecyst as a simple raw sound data log. This means the format does not present a proper heading or any kind of sample storage, that usually creates very large files for a complete song.
Also, the GYM format has a time accuracy of 16 ms (1/60th of a second), that makes it improper for logging audio in any frequency other than 60 Hz (such as the 50 Hz found in European systems). Some new emulators and players had implemented headers, frequency compatibility and even some compression, but they do not follow any standard, which decreases the compatibility of the format.
GYM files can be played using Winamp (with the proper plugins) or with special players.
The new file format VGM also supports Yamaha YM2612 logging and is already supported by many popular emulators. It includes a complete header with tagging and looping support that renders GYM files obsolete for this kind of music storaging. Still, GYM is much more popular and there are few VGM soundtracks (of this system) available at this date.
The GYM file format contains only four different instructions, each represented by one byte:
0x00 wait 1/60th of a second 0x01 R D write data D on YM port 0, register R 0x02 R D write data D on YM port 1, register R 0x03 D write on PSG port the data D