GYM is a sound format for the Sega Mega Drive/Sega Genesis.
The name stands for Genesis YM2612, since the file contains the data stream sent to the Yamaha YM2612 sound chip in the console. The data is 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 is designed around the NTSC video framerate, and thus has a time accuracy of 16 ms (1/60th of a second), which makes it improper for logging audio in any frequency other than 60 Hz (such as the 50 Hz found in European or other PAL-based 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.
The GYM file format contains only four different instructions, each represented by one byte with 0 to 2 bytes of arguments:
0x00 Do nothing for 1/60th of a second (NOP) 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