Game Lad
Home Contribute
Known Bugs
Future Progress
Operation Codes

Manual for Game Lad 1.61.

Link Cable

To enable link cable emulation:

  1. Load the two ROMs you wish to connect.

  2. If they start automatically, stop them.

  3. Make sure link cable emulation is enabled in the tools menu.

  4. Execute


To enter a cheat:

  1. Load the ROM

  2. Select Cheats on Tools menu

  3. Enter the name of the cheat

  4. Press enter or click Add Cheat

  5. Enter the code

  6. Press enter or click Add Code

  7. Repeat step 5-6 until all codes have been entered

  8. Repeat step 3-7 until all cheats have been entered

  9. Click the checkbox next to the cheat(s) to enable

Once the cheat has been entered, it will remain in the list. You can also enter cheats for games that are not opened, where the cheat is inserted depends on the selection. Just like the folder view in Explorer, you can use F2 (rename) and delete keys.

It is only possible to enter cheats for games that have been active while the cheat dialog is opened. Game Lad needs information from the ROM header to determine what game it is.

The code can be entered with or without hyphens, they are ignored.

Detailed information:

Game Lad uses the following data from the ROM header: Title, Color features (bit 7), Destination code (zero/non-zero), Checksum.

Cheats are saved in XML-format. Open the Cheats.xml file, the format is self-explanatory. Game Lad's capabilities to read XML-files is very limited. It is only recommended to merge files with correct format.


The X and Y axis will always be used for direction pad, but other buttons can also be assigned to that. Force feedback will automatically be detected and is applied to the X axis.

When the joystick is moved outside the deadzone (20%), it will push the direction key. Checking the analog option will alter this behaviour. If the joystick is moved only a little bit outside the deadzone, it will cause the direction key to rapidly toggle between pushed/released. The more the joystick is moved, the more of the time the key will be pushed. This might improve some games when using a joystick.


When using Start Debug (and step commands), all bytes read from and written to memory are scanned for read/write/execute access. If access is not granted, emulation stops before the command is executed, and the disassembly window shows the location. Execute does not check any access, which means faster emulation. All bytes are marked as readable, as execute doesn't update access while emulating. Also, breakpoints only work while debugging.

Access at reset:

ROM 0x0000 - 0x7FFF  read, write, execute
VRAM 0x8000 - 0x9FFF  read, write
ExtRAM 0xA000 - 0xBFFF  read (if battery), write, execute
IntRAM 0xC000 - 0xDFFF  write, execute
Sprite 0xFE00 - 0xFE9F  read, write
Ports 0xFF00 - 0xFF7F  read, write
HiRAM 0xFF80 - 0xFFFE  write, execute
Interrupt 0xFFFF read, write

External RAM is only accessible when it is enabled. When writing, read access is set.

All numbers in debug windows are hexadecimal.

Double clicking a tile in the tile viewer will put it at the selected position in the tile map. The red border shows what part of the background that is visible, the green shows the visible window part.

Disassembly window

The disassembly window displays the code in assembly language. The first column shows the address, then raw bytes, and then the disassembled code.

The execution has been stopped at address 0x476, and a breakpoint has been placed at 0x470.

Right clicking in the window (or pressing the application key) will bring up a context menu with Go To and some other useful commands. Banks will be restored when emulation is continued.

Memory window

The memory window shows both raw bytes and ASCII. All red bytes have been written to since last execution. All bytes have not been changed by an operation code, but by the hardware itself. Those bytes are also red. When writing to ROM, the bytes remain black.

Uninitialized bytes are replaced with ?. The bytes 0xFEF0 - 0xFEFF are reserved by hardware, and 0xFF80 - 0xFF8F have not been written to.

Right clicking in the window will bring up a context menu with commands to view a different bank. Banks will be restored when emulation is continued. To edit a byte, place the cursor at the byte and enter the new value. CAUTION when writing to the I/O area (0xFF00 to 0xFF7F).

Register window

After the AF register, the flags Z N H C are shown if they are set. The execution has been stopped at a command that will read from address 0xFF41. Below PC, the address and the memory content is showed. If it is a jump command, the destination address is shown. ROM is the active ROM bank (0x4000 to 0x7FFF). SVBK is the active internal RAM bank (0xD000 to 0xDFFF), and SRAM the active external RAM bank (0xA000 to 0xBFFF).

The last line shows the current video mode, and the number how many cycles there are left until the next mode.

With the arrow keys you can step between the registers and change the content by entering the new value.

Valid XHTML 1.0!
E-Mail: Torbjörn Söderstedt
Updated: 2002-07-10