I'm in Russia until Jan 12 1996!

GameBoy Page


This page is currently under construction and therefore contains a lot of inconsistent information.


What is GameBoy?


Frequently Asked Questions:

  1. Are there any GameBoy emulators for the personal computers?
    YES, there is a GameBoy emulator written by me, Marat Fayzullin. It is called Virtual GameBoy and can be obtained from http://www.cs.umd.edu/users/fms/GameBoy/VGB.html . The Virtual GameBoy is portable. Its distribution includes C source code which can be compiled on any computer [given that there are system-dependent drivers for this computer] and a set of sample drivers for Unix/XWindows. For more information, refer to documentation at above-mentioned WWW.

    [#] Virtual GameBoy sources
    [#] Virtual GameBoy for Windows

    There is also a GameBoy-look-alike emulator for the Commodore Amiga called ToyBoy. This emulator can be obtained via FTP from WUARCHIVE or any other AmiNet site.

    [#] Gameboy68000.lha from WUARCHIVE

    Unfortunately, this package is incomplete amd HAS NOTHING TO DO with the real GameBoy. It was stolen from a UK-based company called Argonaut which does hardware and software development for Nintendo. According to Argonaut's managing director Jez San, ToyBoy was an in-house emulator written to see how difficult it would be to program GameBoy games. Since its authors knew nothing about internals of the real GameBoy when they were writing the emulator, ToyBoy is completely incompatible with GameBoy.

  2. Is it possible to build a backlight into GameBoy?
    A Japanese company sells a kit to add the EL-backlight to GameBoy. The kit costs 5000yen. This information provided by Cinnichiro Ichise.

  3. Are there any game copiers for GameBoy?
    There is a SmartCard copier allowing to download data from GameBoy cards to PC via parallel port and store up to 4 games in a 4MBit flash-RAM cartridge. There are said to be GameBoy adaptors for MultiGameDoctorII, MultiGameHunter, SuperWildCard, and SuperComPro. Also, there is a device allowing to play games stored on credit card-like magnetic cards which is produced in Japan and isn't sold in U.S.

  4. MultiGame cartridges for GameBoy:
    Yes, these cartridges are at least half-illegal because their producers violate copyright law.
    Yes, these things exist for GameBoy. At present time, there are four kinds of them: 48in1, 64in1, 86in1 and 105in1 (although there were rumors about 200in1 and even 1500in1 cartridges. The latter is said to be 15-20 cm long).
    They all seem to contain the same basic set of games most of which are either old Nintendo products (like Alleyway or Tennis) or low-quality games from other companies with a couple of good games added. Number of games in such a cartridge is actually SMALLER than the number written on the box because some games are present in two or three copies (with a number of lives and other things changed). For example, 64in1 cartridge contains only about 48 DISTINCT games. At least 27 of them can be classified as "logic" or "strategy" games. There were many requests to list games multigame cartridges contain. So, here is a list of games how it appears in a menu of a 105in1 cartridge. Other multigame cartridges contain subset of games listed below. Notice the large number of japanese titles and repetitions. There are also some titles which actually correspond to the same game.

  5. Using GameGenie with multigame cartridges:
    No, GameGenie DOES NOT WORK with multigame cartridges.

  6. GameBoy clones:
    There seem to be several GameBoy clones produced in Asia. Two of them are called Sunny and WonderBoy. The only difference is the name printed on the case. This information was supplied by Simon Lai.
    The Russian GameBoy clone is called Bitman2000, if it is a clone and not a real GameBoy distributed in Russia under that name.

  7. Japanese cartridges:
    These are cartridges which are not available in U.S., although you can find them if you are lucky. Following descriptions of japanese cartridges were prepared by Mark Kaufman.
    Parodius [TYPE:Shooter PRODUCER:Konami]
    This is the legendary Japanese shooter to which all others are compared. It is awesome, huge, creative, challenging and fun, fun, fun.
    Twinbee [TYPE:Shooter PRODUCER:Konami]
    Another Japanese cart that should be sold over here. It's better than 90% of all GB games.

  8. Where to get parts to repair GameBoy?
    Mark Kaufman found address of the company selling replacement parts for GameBoy [as well as Sega AC adapters and Atari parts]. Here is their phone number and a list of GameBoy parts they carry:

    MCM Electronics
    TOLL-FREE: 1-800-543-4330
    FAX: 1-513-434-6959
    VOICE: 1-513-434-0031
    M-F: 7AM-8PM EST Sat: 9AM-6PM EST

  9. Some time ago, there was a preview of a 3D vectored game for GB called "Lunar Chase" in Nintendo Power magazine. What happened with this game?
    According to Nintendo, the game was cancelled :(. This information was obtained from Nintendo hotline [1-800-255-3700 in USA].

GameGenie Information:

  1. How it works?
    GameGenie allows you to substitute some of the codes in the cartridge ROM with your own codes. For example, you can substitute the default number of lives with your own number. GameBoy GameGenie allows to substitute up to three codes.

  2. Where to get the codes?
    GameBoy GameGenie codes are available through anonymous FTP at

    [#] ftp://ftp.netcom.com/pub/vidgames/gamegenie/ .

  3. What is the meaning of the digits in GameGenie code for GameBoy?
    (all digits are in hexadecimal system)
    GameBoy GameGenie Code: DD2-103-??? It is suspected that the last three digits represent the ROM paging register, but no information is available.

    Example: 3D2-ABF-3BE - Set 3Dh (DEC A command) at address F2ABh

    Some commonly used Z80 instructions with their codes:

    Here, you can also get a

    [#] Complete list of Z80 instructions

  4. Hidden messages in GB GameGenie:
    Press following buttons at the Code Entry Screen:
    1. U D L R
    2. B A L R [SELECT]
    3. U U A B A D D
    4. R U D U L U D U
    5. B A B R L D U
    6. A A A A B B B [START]
    7. R L R L D D U U
    8. A B A B A A [SELECT]
    9. A L L A B R R B
    Taken from Game Player Magazine, May 1994.

  5. CodeMasters' address and phone number:
    Codemasters
    Lower Farm House,
    Southam,
    Warwickshire.
    CV33 0DL
    UK
    Phone: +44 926 814132
    I didn't try calling them. If you get any additional information from CodeMasters, please, email it to me

  6. Why some GameGenie codes don't work?
    Some games exist in several different versions. Although these versions look exactly the same, the actual program codes differ. Therefore, while some GameGenie codes work with one version of the cartridge, they aren't guaranteed to work with other versions.

GameBoy Hardware:

Information about GameBoy hardware is extremely hard to find. Most of it is incomplete, uncertain and vague. If you have any information [especially about things listed in "Unanswered Questions" section], PLEASE, email it to fms@wam.umd.edu. The following information is mostly based on a document by Dr.Pan of Anthrox, but also includes some results of research done by Peter Knight and myself.
  1. Development tools for GameBoy
    There are very few publically accessible development tools available for GB. Some of them are:

  2. GameBoy connector pinouts [not complete]:
    PICTURE

  3. GameBoy circuitry [not complete]:
    PICTURE

  4. GameBoy memory map:
    --------------------------- FFFF  | 32kB ROMs are non-switchable and occupy
     I/O ports + internal RAM         | 0000-7FFF are. Bigger ROMs use one of two 
    --------------------------- FF00  | different bank switches. The type of a
     Internal RAM                     | bank switch can be determined from the 
    --------------------------- C000  | internal info area located at 0100-014F
     8kB switchable RAM bank          | in each cartridge.
    --------------------------- A000  |
     16kB VRAM                        | MBC1 (Memory Bank Controller 1):
    --------------------------- 8000  | Writing a value into 2000-3FFF area will
     16kB switchable ROM bank         | select an appropriate ROM bank at
    --------------------------- 4000  | 4000-7FFF. Writing a value into 4000-5FFF
     16kB ROM bank #0                 | area will select an appropriate RAM bank 
    --------------------------- 0000  | at A000-C000.
                                      |
                                      | MBC2 (Memory Bank Controller 2):
                                      | Writing a value into 2100-21FF area will
                                      | select an appropriate ROM bank at
                                      | 4000-7FFF. RAM switching is not provided.
    

  5. GameBoy CPU:
    As it appears, the CPU used in GameBoy is not exactly Z80. Some of Z80 instructions and registers are missing while others are added:

    Following Z80 opcodes are changed:

    ------------------------------------------------------------------------------
    Code       Z80 operation  GameBoy operation
    ------------------------------------------------------------------------------
    08 xx xx   EX AF,AF'      LD (word),SP     Save SP at given address
    10 xx      DJNZ offset    STOP             Meaning unknown
    22         LD (word),HL   LD (HLI),A       Save A at (HL) and increment HL
    2A         LD HL,(word)   LD A,(HLI)       Load A from (HL) and increment HL
    32         LD (word),A    LD (HLD),A       Save A at (HL) and decrement HL
    3A         LD A,(word)    LD A,(HLD)       Load A from (HL) and decrement HL
    D3         OUTA (byte)    No operation
    D9         EXX            RETI             Enable interrupts and return
    DB         INA (byte)     No operation
    DD         Prefix DD      No operation
    E0 xx      RET PO         LD (byte),A      Save A at (FF00+byte)
    E2         JP PO,word     LD (C),A         Save A at (FF00+C)
    E3         EX HL,(SP)     No operation
    E4         CALL PO,word   No operation
    E8 xx      RET PE         ADD SP,offset    Add signed offset to SP
    EA xx xx   JP PE,word     LD (word),A      Save A at given address
    EB         EX DE,HL       No operation
    EC         CALL PE,word   No operation
    F0 xx      RET P          LD A,(byte)      Load A from (FF00+byte)
    F2         JP P,word      No operation
    F4         CALL P,word    No operation
    F8 xx      RET M          LDHL SP,offset   Load HL with SP + signed offset
    FA xx xx   JP M,word      LD A,(word)      Load A from given address
    FC         CALL M,word    No operation
    FD         Prefix FD      No operation
    ------------------------------------------------------------------------------
    

  6. Internal information area
    The internal information area is located at 0100-014F in each cartridge. It contains following values:
    0100-0103  A sequence of bytes 00 C3 xx xx where last two bytes contain the
               starting address of a cartridge [lower byte first]. The first two
               bytes of this sequence can be used as a "magic number" to
               recognize GameBoy cartridges. When GameBoy starts, the control is 
               passed to address 0100 and then the sequence is interpreted as    
               NOP; JP .
    0105-0133  Nintendo character area:
               CE ED 66 66 CC 0D 00 0B 03 73 00 83 00 0C 00 0D
               00 08 11 1F 88 89 00 0E DC CC 6E E6 DD DD D9 99
               BB BB 67 63 6E 0E EC CC DD DC 99 9F BB B9 33 3E
    0134-0143  Title of the game in ASCII terminated by zeroes
    0144-0146  Not used
    0147       Cartridge type:
               0 - ROM ONLY         3 - ROM+MBC1+RAM+BATTERY
               1 - ROM+MBC1         5 - ROM+MBC2
               2 - ROM+MBC1+RAM     6 - ROM+MBC2+BATTERY
    0148       ROM size:
               0 - 256kBit =  32kB =  2 banks
               1 - 512kBit =  64kB =  4 banks
               2 -   1MBit = 128kB =  8 banks
               3 -   2MBit = 256kB = 16 banks
               4 -   4MBit = 512kB = 32 banks
    0149       RAM size:
               0 - None
               1 -  16kBit =  2kB = 1 bank
               2 -  64kBit =  8kB = 1 bank
               3 - 256kBit = 32kB = 4 banks
    0150-0151  Manufacturer code:
               3301 - Nintendo
               7901 - Accolade 
               A400 - Konami
    014C       Version number
    014D       Complement check
    014E-014F  Checksum [higher byte first] produced by adding all bytes of   
               a cartridge except for two checksum bytes together and taking
               two lower bytes of the result.
    

  7. Addresses of GameBoy I/O ports:
    This section is not ready yet.

  8. Video Controller
    This section is not ready yet.

  9. Sound
    This section is not ready yet.

  10. US Patents related to GameBoy:

People who contributed to this page:


UNANSWERED QUESTIONS:

If you have any information about GameBoy, feel free to send me email to fms@wam.umd.edu.
  1. Meaning of the last three digits of GameGenie code?
  2. Pinouts of the GameBoy cartridges?
  3. Programming sprites, sound, screen scrolling, serial port?
  4. Connecting GameBoy to TV?
  5. GameGenie codes not listed in the official updates?
  6. Game cheats and passwords?
  7. GameBoy emulators?
  8. "Generic" cartridges allowing to use reprogrammable ROM plugged into a socket or even a static RAM?
  9. etc. etc. etc.

Maintained by Marat Fayzullin[fms@freeflight.com]
Advertisement