GameBoy Authentication Explained
Written by Donald Moore (MindRape/Damaged Cybernetics)
Nintendo designed the GameBoy with 2 security authentication routines. These routines are to make sure that the cart that is currently inserted is a legal and working GameBoy cartridge.



First Security Check
The first security routine checks the first character data area and compares it against the second character data area. The first character data area is located on the internal GameBoy ROM, the 2nd is located on the external cart. The character data area is 48 bytes long, which contains the Nintendo Trademark encoded.

The interesting thing about this is that you see this character data everytime you turn your GameBoy on. Upon powerup the 2nd character data is copied to VRAM and scrolled upwards. During this scrolling is when the authentication takes place. If it fails, it calls the inhibiting routine otherwise it moves onto the 2nd security check.

The encoded trademark is 48 x 8 pixels. It can be enlarged to twice its width and height, and can be displayed either way. It is prefered if it is twice its width and height.

One thing to note about the first character data area. Since it contains the Nintendo Trademark, it could be considered illegal for anyone to program a legal working GameBoy pak without obtaining a license from Nintendo directly! Which also means if you don't include it, your game won't work on a GameBoy.



Second Security Check

The second authentication routine verifies the complement of the ROM information area. According to the Nintendo, to calculate the complement is to take the sum of the ROM information area plus 25 and perform a ones complement. he result is a 8bit value which is stored at 0x14D.

Note:
This algorithm is very strange indeed, if anyone has any idea how or why Nintendo chose this method please email us.



Authorization Failed
If one of these authentication routines fail, the inhibiting routine is called. One of the following could happen:
  • Screen turns off
  • Screen stays on but blank
  • Screen flashes between white and black
  • A message stating why this game pak won't run.



Authorization Passed!
Once the game pak has been authenticated, the GameBoy switches from its Internal ROM to the External ROM and executes the game program. According to Nintendo, the Internal ROM is no longer accessible.

Damaged Cybernetics is not connected or affiliated with any mentioned company in any way. The opinions of Damaged Cybernetics do not reflect the views of the various companies mentioned here. Companies and all products pertaining to that company are trademarks of that company. Please contact that company for trademark and copyright information.

© 1996 Damaged Cybernetics All Rights Reserved