Go to file
2013-03-27 03:33:24 -04:00
audio PlayCryHeader and related wram 2013-02-23 16:57:25 -05:00
battle Identify more move effect commands 2013-03-27 03:33:24 -04:00
extras fix path handling in png make target 2013-03-18 16:36:30 -04: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 Fishing encounter data and related asm 2013-03-22 04:17:14 -04:00
text Split common text out of main.asm 2013-02-17 02:19:49 -05:00
tilesets Parse and dump tilesets 2013-03-18 00:40:27 -04: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 Various battle-related bank0 asm and wram/constants 2013-03-26 05:22:22 -04: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
hram.asm Flesh out HRAM labels 2013-03-20 22:55:09 -04:00
INSTALL.md use pypng as a dependency 2013-02-07 20:39:25 -06:00
joypad.asm Flesh out HRAM labels 2013-03-20 22:55:09 -04:00
landmarks.asm Split landmarks out 2013-02-17 02:56:50 -05:00
main.asm Identify more move effect commands 2013-03-27 03:33:24 -04:00
Makefile fix path handling in png make target 2013-03-18 16:36:30 -04:00
pokecrystal.asm Flesh out HRAM labels 2013-03-20 22:55:09 -04:00
preprocessor.py include some http ascii from the ROM 2013-03-01 21:40:01 -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
scripting.asm use ScriptBank/ScriptPos in scripting.asm 2013-02-28 20:39:40 -06:00
vblank.asm Flesh out HRAM labels 2013-03-20 22:55:09 -04:00
wram.asm Identify more move effect commands 2013-03-27 03:33:24 -04: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