GYM
Encyclopedia
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
Yamaha YM2612
thumb|right|Yamaha YM2612The YM2612, aka OPN2, is a six-channel sound chip developed by Yamaha. It belongs to Yamaha's OPN family of FM synthesis chips used in several game and computer systems. Developed as a stripped-down version of the YM2608, it lacks its larger sibling's ADPCM channel,...

 sound chip
Sound chip
A sound chip is an integrated circuit designed to produce sound . It might be doing this through digital, analog or mixed-mode electronics...

 in the console. The data is logged to a file through the use of emulators running a ROM image
ROM image
A ROM image, or ROM file, is a computer file which contains a copy of the data from a read-only memory chip, often from a video game cartridge, a computer's firmware, or from an arcade game's main board...

.

The GYM format first appeared on the emulator Genecyst
Genecyst
Genecyst was a popular Sega Mega Drive/Genesis emulator for DOS, by Bloodlust Software . Due to its high speed and then-good YM2612 emulation , it was widely regarded as the all-around best Mega Drive/Genesis emulator on the scene, with the nearest competitor being KGen...

 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
NTSC
NTSC, named for the National Television System Committee, is the analog television system that is used in most of North America, most of South America , Burma, South Korea, Taiwan, Japan, the Philippines, and some Pacific island nations and territories .Most countries using the NTSC standard, as...

 video framerate, and thus has a time accuracy of 16 ms
Millisecond
A millisecond is a thousandth of a second.10 milliseconds are called a centisecond....

 (1/60th of a second), which makes it improper for logging audio in any frequency other than 60 Hz
Hertz
The hertz is the SI unit of frequency defined as the number of cycles per second of a periodic phenomenon. One of its most common uses is the description of the sine wave, particularly those used in radio and audio applications....

 (such as the 50 Hz found in Europe
Europe
Europe is, by convention, one of the world's seven continents. Comprising the westernmost peninsula of Eurasia, Europe is generally 'divided' from Asia to its east by the watershed divides of the Ural and Caucasus Mountains, the Ural River, the Caspian and Black Seas, and the waterways connecting...

an or other PAL
PAL
PAL, short for Phase Alternating Line, is an analogue television colour encoding system used in broadcast television systems in many countries. Other common analogue television systems are NTSC and SECAM. This page primarily discusses the PAL colour encoding system...

-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
Winamp
Winamp is a media player for Windows-based PCs and Android devices, written by Nullsoft, now a subsidiary of AOL. It is proprietary freeware/shareware, multi-format, extensible with plug-ins and skins, and is noted for its graphical sound visualization, playlist, and media library features.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.

Specifications

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
NOP
In computer science, NOP or NOOP is an assembly language instruction, sequence of programming language statements, or computer protocol command that effectively does nothing at all....

)
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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK