Sega Master System / Mark III / Game Gear
The Pro Action Replay is a cheat cartridge made for the Master System and Game Gear. It sits between the cartridge and the system and offers the user the ability to search for, and apply, RAM patches.
The device has four modes:
Codes are generally given in the form of two 4-digit hexadecimal numbers. The first two digits seem to have no effect; the middle four are the address (in the Z80 memory map) of the selected RAM variable; the last two digits are the value which is written there every frame.
AAAA will always be between $C000 and $DFFF and
DD will be any value from $00 to $FF.
The user first plays to a particular point in the game, before activating the "trainer". When starting training mode, the device makes a copy of the system RAM into its own local RAM. The user then restarts the game and plays to another point in the game where the desired parameter is different. Four modes then allow the device to attempt to guess the location containing the parameter in question:
In each case the software must use the information given to attempt to iteratively narrow down the list of potential matches until it (ideally) reaches one. More precise methods (such as the first) allow this to be done faster. The user can then make a note of the successful codes.
The device contains hardware to map its own internal ROM (and RAM) in place of the game, which can then execute code to access system RAM and perform additional tasks when the system expects to be accessing the game. By watching the address lines, or the INT and NMI cartridge lines, it can detect interrupts and intercept these, by mapping itself in, performing its tasks, and then mapping the game ROM back into memory and passing control to its handlers for those routines.
By intercepting the VBlank interrupt, it can write the chosen values to RAM once per frame, thereby offering cheating capabilities. By intercepting the NMI, it can latch onto the Pause button handler for activating its code for "training". (On the GG, it instead maps itself in on reset, and provides a hardware button to trigger a reset.)
It is unclear whether the device is able to differentiate between VBlank interrupts and HBlank interrupts. One might expect it to cause problems with timing-sensitive games.
The hardware has two "registers" that affect its mapping of its ROM to the Z80 address space. Writes to $2000 cause the upper 16KB of its ROM to be mapped when activated. The value written does not matter. This upper 16KB contains the code to apply RAM patches when an interrupt happens. Writes to $6000 cause the PAR ROM to be deactivated; again the value written does not matter. Thus, it has several modes of operation:
The device interferes with the Gear to Gear Link mode in some (or all) games.
The PAR only works intermittently (on about 2/3 of games) when used with a Game Gear with a BIOS.
Codemasters games will not work with a PAR. It may not be connecting the additional cartridge lines needed by the Codemasters mapper hardware.
By holding Button 2 and activating the code menu the PAR will display the credits and the compilation date and version number of the ROM. On SMS it will also add the code 00C82606 to the parameters menu.
Program -W.H.Beckett Design -W.H.Beckett Hardware-C.R.Harding Rev. Eng-W.H.Beckett & -C.R.Harding C.O. -M.J.Connors Ind. Esp-M. Wallace 2 I.C. -I. Ryles Testing -Bazz & -Trev 18/05/93 v1.01 Datel Electronics
Program ... W.H.Beckett Design ... W.H.Beckett Hardware ... C.R.Harding Rev. Eng. ... W.H.Beckett & ... C.R.Harding C.O. ... M.J.Connors Ind. Esp. ... M. Wallace 2 I.C. ... I. Ryles Testing ... Bazz & ... Trev Software 04/3/93 v1.02 (C) Datel Electronics Ltd.