Go to file
Bryan Bishop 381d3e76b7 include_last_address for disassembler
This is an extra option that is on by default for gbz80disasm, which is
useful in situations where you may not want the last address to be
included (like if the output of the disassembler is going to be sent to
to_asm anyway).
2013-02-27 20:03:18 -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 include_last_address for disassembler 2013-02-27 20:03:18 -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 Split map scripts, text, events from main.asm 2013-02-17 01:59:06 -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
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
INSTALL.md use pypng as a dependency 2013-02-07 20:39:25 -06: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 Split credits out 2013-02-26 00:51:05 -05:00
Makefile Split common text out of main.asm 2013-02-17 02:19:49 -05:00
pokecrystal.asm Add constants for hardware registers 2013-02-22 20:02:10 -05:00
preprocessor.py clean up the preprocessor macro list 2013-01-27 17:45:23 -06:00
README.md use pypng as a dependency 2013-02-07 20:39:25 -06:00
requirements.txt requirements filename didn't match install instructions 2013-02-24 18:53:36 -05:00
vblank.asm Label hw registers 2013-02-22 20:02:10 -05:00
wram.asm Credits script and parser 2013-02-26 00:47:46 -05:00

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