Hacking Game Gear

From Wiki - GameHacking.org
EnHacklopedia >> {{ #ifeq: Hacking Game Gear | EnHacklopedia | Index | Hacking Game Gear }}

Technically, here is what needs to be done to enable a Game Gear game to run on the SMS:

   Intercept the GG game's reading of the GG "Start" button and remap it to a button or combination of buttons on the Master System.
   Modify the palette-writing routines so that they write at most 32 bytes (the size of the SMS palette), rather than 64, to the palette RAM. 
   Palette fading, cycling, and other subroutines will also have to be modified.
   Remap the GG's 12-bit palette down to the SMS' 6-bit palette. Adjustments will probably have to be made to make it look good.
   Insert or reroute code so that the Pause interrupt vector at $0066 will deal with the Pause button on the SMS. 
   Many GG games have code that just barrels past $0066 because this sort of interrupt doesn't happen often on the GG.
   Edit out all writes/reads to the GG ports $00-$06. Writing to these ports can crash the system!
   ...and undoubtedly something I've forgotten...

As you can see, this is not a task for absolute beginners. It involves a bit of hacking, and a bit of Z-80 programming and trickery. If anybody wants to try out this type of hack, you can see what you have to do. Good luck. By Chris Covell

External links

Number and Data Encoding Formats - Generic Code Hacking
Individual Systems In Depth
Hacking Arcade - Hacking NES - Hacking SMS - Hacking SNES - Hacking Genesis - Hacking Saturn - Hacking PSX - Hacking N64 - Hacking DC - Hacking PS2 - Hacking GCN - Hacking Game Boy - Hacking Game Gear - Hacking Game Boy Advance - Hacking NDS -
Documents and References


All files (HTML, CSS, images) included in EnHacklopedia are licensed under the Creative Commons Attribution-ShareAlike 3.0 License. All authors contributing to EnHacklopedia should be made aware of the license before contributing. If the author does not agree to the licensing, his or her contributions will not be accepted into the project.