debugger or tracer, or run the ROM through a disassembler, then analyze the code and modify it using a hex editor or assembler according to their needs. While quite challenging compared to the relatively simple methods listed above, anything is possible with ASM hacking (of course, within the limits of the hardware/software of the gaming platform), ranging from altering enemy AI to changing how graphics are generated. (Of course, the possibilities are still limited by the hacker's ability to comprehend and modify the existing code.) If the developers used a typed language, the hacker may be able to compile their own code for the game in the same language if they have access to a proper compiler. One such example would be using C to hack Nintendo 64 games, since MIPS-GCC can compile code for the Nintendo 64. Music hacking Music hacks are relatively rare, due to the wide variety of ways games store music data (hence the difficulty in locating and modifying this data) and the difficulties in composing new music (or porting music from another game). As music cracking is very uncommon, many hacks do not have any ported/composed music added in. An exception to this rule can be found in most Super Mario World hacks, where custom music can often have new instruments that are not found in the original game. Other games that have music hacking as part of their research and hacking communities are the NES Mega Man games, Final Fantasy VI, and the Mega Drive (Genesis) Sonic the Hedgehog games. As many Game Boy Advance games use the M4A Engine (also called "Sappy Driver") for music, the program SapTapper can be used to hack Game Boy Advance music data. Various other utilities were created to work with the engine such as Sappy 2006. Another instance of the same engine being used between games is on the Nintendo 64, in which most games use the same format; however they use different sound banks. A utility known as the N64 Midi Tool was created to edit the sequences that the majority of Nintendo 64 games use, though it does not cover the first-party N64 titles that use a slightly different engine, such as Super Mario 64. Several Sega Mega Drive/Genesis games use a sound engine unofficially known as "SMPS", which are offered in both 68k and Z80 versions. Used in a number of Japanese-developed games for