|
|
|
|
|
|
8-Bit Wonderland - Executing custom code on the Nintendo Game Boy
Abstract
The Nintendo Game Boy was presented in 1989 for the first time and has sold
more
than 118 million times. Now its still possible to buy the original Game Boy
which is a
cheap 8-bit mobile device. Because it has no real protection mechanism like
modern
consoles against the injection of homebrew code [6] [3] its possible to
customize this
mobile device and use it for different tasks. The circuit board layout, CPU,
etc. are
well documented [1] [2] but its difficult to collect all the distributed
informations on
the internet. The aim of this paper is to close this gap. It presents an
introduction
to digital circuits and describes how the Game Boy works internally. It also
presents
two ways to connect an EPROM to the Game Boy and describes how to build a
custom cartridge. The Game Boy Development Kit [5] [4] makes it possible to
write
software for the gameboy in ansi C and program the EPROM with it. As a first
example a Pong game will be presented and used to illustrate the different
coding
aspects (video signals, avoiding expensive operations like multiplication,
etc...) The
second example will demonstrate how to modify existing games to hide encrypted
informations in them.
References
- [1] Gameboy opcode summary.
http://belial.blarzwurst.de/gb/Opcodes.htm.
- [2] Reiner zieglers page - home made cartridges.
http://www.reinerziegler.de/readplus.htm.
- [3] Marat Fayzullin, Pascal Felber, Paul Robson, and Martin Korth.
Everything you always wanted to know about gameboy but were afraid to ask,
1999. http://belial.blarzwurst.de/gb/pandoc.txt.
- [4] Michael Hope and Pascal Felber. Gbdk libraries documentation, 1998.
http://belial.blarzwurst.de/gb/gbdk-doc.pdf.
- [5] Jason. Cgbdk - how to use cgb features with gbdk, 1999.
http://belial.blarzwurst.de/gb/cgbdk.txt.
- [6] Manfred Linzner and Jason. Gbdok v1.0, 1999.
http://belial.blarzwurst.de/gb/gbdok.txt.
Speaker
|
|
|
|
|