Disassembly of Pokémon Crystal
Go to file
Bryan Bishop 6a3cf4e393 vba - record/replay button sequences 2013-03-05 01:56:25 -06:00
audio PlayCryHeader and related wram 2013-02-23 16:57:25 -05:00
battle Split magikarp length calcs out 2013-02-18 20:14:25 -05:00
extras vba - record/replay button sequences 2013-03-05 01:56:25 -06:00
gfx Include some more gfx 2013-02-25 14:16:59 -05:00
items Split item names and descriptions from main.asm 2013-02-17 02:42:29 -05:00
maps Script commands 0xb2 and 0xcc don't exist 2013-03-01 16:22:35 -05:00
stats Create individual pokedex entry files 2013-02-05 19:29:20 -05:00
text Split common text out of main.asm 2013-02-17 02:19:49 -05:00
trainers Saner file distribution 2013-02-05 03:56:27 -05:00
.gitignore add swap~ files to .gitignore 2013-02-07 20:11:09 -06:00
INSTALL.md use pypng as a dependency 2013-02-07 20:39:25 -06:00
Makefile Split common text out of main.asm 2013-02-17 02:19:49 -05:00
README.md use pypng as a dependency 2013-02-07 20:39:25 -06:00
bittable2.asm Saner file distribution 2013-02-05 03:56:27 -05:00
compare.sh make compare.sh overwrite the previous hexdump 2012-05-16 13:49:50 -05:00
constants.asm Split out joypad 2013-02-22 20:02:03 -05:00
credits.asm Split credits out 2013-02-26 00:51:05 -05:00
gbhw.asm Add constants for hardware registers 2013-02-22 20:02:10 -05:00
joypad.asm Label hw registers 2013-02-22 20:02:10 -05:00
landmarks.asm Split landmarks out 2013-02-17 02:56:50 -05:00
main.asm include some http ascii from the ROM 2013-03-01 21:40:01 -06:00
pokecrystal.asm Add constants for hardware registers 2013-02-22 20:02:10 -05:00
preprocessor.py include some http ascii from the ROM 2013-03-01 21:40:01 -06:00
requirements.txt requirements filename didn't match install instructions 2013-02-24 18:53:36 -05:00
scripting.asm use ScriptBank/ScriptPos in scripting.asm 2013-02-28 20:39:40 -06:00
vblank.asm Label hw registers 2013-02-22 20:02:10 -05:00
wram.asm comments for GetScriptByte 2013-02-28 15:45:34 -06:00

README.md

Pokémon Crystal

This is a hand-crafted disassembly of Pokémon Crystal.

The source code in this project successfully converts back into a ROM image. All source code is meticulously commented.

Base ROM

The following ROM is required for compiling:

Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc

md5: 9f2922b235a5eeb78d65594e82ef5dde

Eventually this will not be necessary.

Installing

Simple.

sudo apt-get install make gcc bison git python python-setuptools 

# unittest2 is required if using python2.6
sudo easy_install unittest2
sudo easy_install pip

# download rgbds source code
git clone git://github.com/bentley/rgbds.git

# compile rgbds
cd rgbds
make
sudo make install

# check if rgbasm is installed now
which rgbasm

# download pokecrystal
git clone https://github.com/kanzure/pokecrystal.git
cd pokecrystal

pip install -r requirements.txt

make clean && make

Also, there are Windows installation instructions.

Assembling

  • To assemble, first install RGBDS and put it in your path. The version of RGBDS needed is rgbds-linux.

  • Next, copy the Pokémon ROM to this directory as "baserom.gbc".

  • Then run "make" in your shell.

  • This will output a file named "pokecrystal.gbc".

See also

Contributing