shithub: pokecrystal

Download patch

ref: 5098ed740d35d4f2a2d5414f309bf25e754e189c
parent: e545f0c1eaa6f922228dffd9ed12197c5a037469
parent: e44d0a22285abe6aaed77f2446f797498a025b34
author: Bryan Bishop <[email protected]>
date: Mon Aug 26 07:48:34 EDT 2013

Merge remote-tracking branch 'github/master' into master

--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,6 +1,6 @@
 # Getting Started
 
-Compiling **pokecrystal.gbc** requires a certain **Pokemon Crystal** rom:
+Assembling **pokecrystal.gbc** requires a certain **Pokemon Crystal** rom:
 
 ```
 Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
@@ -10,12 +10,17 @@
 Save it as **baserom.gbc** in the repository.
 
 
-Feel free to ask us on **[nucleus.kafuka.org #skeetendo](https://kiwiirc.com/client/irc.nolimitzone.com/?#skeetendo)** if something goes wrong!
+Feel free to ask us on
+**[nucleus.kafuka.org #skeetendo](https://kiwiirc.com/client/irc.nolimitzone.com/?#skeetendo)**
+if something goes wrong.
 
+
+
 # Windows
 
-If you are on Windows and can't install Linux, **Cygwin** is a great alternative.
+If you're on Windows and can't install Linux, **Cygwin** is a great alternative.
 
+
 ## Installing Cygwin
 
 Cygwin provides a virtual Linux environment on Windows systems. Just get **setup.exe**.
@@ -25,15 +30,21 @@
 During the install:
 
 * Keep the defaults.
-
 * Most mirrors are molasses. Use **http://mirrors.kernel.org**.
+* From the package selection, pick:
+ * **wget**
+ * **make**
+ * **git**
+ * **python**
+ * **python-setuptools**
+ * **unzip**
 
-* From the package selection, select **wget**.
 
-
 ## Using Cygwin
 
-Launch the **Cygwin terminal**. Maybe you know your way around the Linux terminal, **bash**. If not, a crash course:
+Launch the **Cygwin terminal**.
+Maybe you know your way around the Linux terminal ( **bash** ).
+If not, a crash course:
 ```bash
 # list files in current directory
 ls
@@ -48,54 +59,47 @@
 
 ## Getting up and running
 
-We need a couple more things to be able to compile.
+We need three things to assemble the source into a rom.
 
+1. **rgbds**
+2. a **pokecrystal** repository
+3. a **base rom**
 
-If you're feeling lazy, just paste these commands into your terminal.
+-
 
-
-**apt-cyg** lets you install new packages without running Cygwin setup.
-
+We use **rgbds** to spit out a Game Boy rom from source.
 ```bash
-wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
-chmod +x apt-cyg
-mv apt-cyg /usr/local/bin/
+cd /usr/local/bin
+wget http://iimarck.us/etc/rgbds-20130811.zip
+unzip -j rgbds-20130811.zip
+rm rgbds-20130811.zip
 ```
 
-Now we can use apt-cyg to install everything else.
-
+The **pokecrystal** repository contains the source files used to create the rom.
 ```bash
-apt-cyg install make git python python-setuptools unzip
-easy_install pip
-```
-
-**rgbds** will let you compile Game Boy roms.
-
-```bash
-wget http://diyhpl.us/~bryan/irc/pokered/rgbds/rgbds-0.0.1.zip
-unzip rgbds-0.0.1.zip
-mv rgbds-0.0.1/* /usr/local/bin
-rm -r rgbds-0.0.1*
-```
-
-Set up the **pokecrystal** repository:
-
-```bash
 cd ~
 git clone https://github.com/kanzure/pokecrystal
 cd pokecrystal
 
 # install python requirements
+easy_install pip
 pip install -r requirements.txt
 ```
 
-## Don't forget baserom.gbc!!
+Not everything is included in the source yet.
+Missing patches are copied from a **base rom** (not included).
 
-Make sure you downloaded a base rom. Name it **baserom.gbc**.
+```
+Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
+md5: 9f2922b235a5eeb78d65594e82ef5dde
+```
 
-Now you should be able to build **pokecrystal.gbc** for the first time.
+Name it **baserom.gbc**.
 
-This compiles a new rom from the source code, with any patches filled in from the base rom.
+-
+
+Now you should be able to build **pokecrystal.gbc** for the first time.
+This assembles a new rom from the source code.
 ```bash
 make
 ```
@@ -102,65 +106,66 @@
 
 This ought to take **between 3 and 15 seconds**, depending on your computer.
 
-If you see `cmp baserom.gbc pokecrystal.gbc` as the last line, the build was successful!
+If the last line is `cmp baserom.gbc pokecrystal.gbc`, the build was successful!
 
-Your first compile processes every source file at once. After that, **only modified source files have to be reprocessed**, so compiling again should be a few seconds faster.
+Your first build processes every source file at once.
+After that, **only modified source files have to be processed again**,
+so compiling again should be a few seconds faster.
 
-Other **make targets** that may come in handy:
 
-`make clean` deletes any preprocessed source files (.tx), rgbds object files and pokecrystal.gbc, in case something goes wrong.
 
-`make pngs` decompresses any **lz** files in gfx/ and then exports any graphics files to **png**.
-
-`make lzs` does the reverse. This is already part of the build process, so **modified pngs will automatically be converted to 2bpp and lz-compressed** without any additional work.
-
-
 # Linux
 
 ```bash
 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
+# install rgbds
 git clone git://github.com/bentley/rgbds.git
-
-# compile rgbds
 cd rgbds
 make
 sudo make install
 
-# check if rgbasm is installed now
-which rgbasm
+cd ..
 
 # download pokecrystal
 git clone git://github.com/kanzure/pokecrystal.git
 cd pokecrystal
-
-# install python requirements
 pip install -r requirements.txt
-
-# use hexdump to diff binary files
-git config diff.hex.textconv hexdump
 ```
 
-To compile the rom from asm source:
+Put your base rom in the pokecrystal repository. Name it **baserom.gbc**.
+
+To compile the rom from source:
 ```bash
 make
 ```
 
-That will take between 3 and 15 seconds, depending on your computer. If you see `cmp baserom.gbc pokecrystal.gbc` as the last line, the build was successful! Rejoice!
+That will take between 3 and 15 seconds, depending on your computer.
+If you see `cmp baserom.gbc pokecrystal.gbc` as the last line, the build was successful! Rejoice!
 
 
+
 # Now what?
 
-**main.asm** is a good starting point. The structure of the source is laid out here.
+**[pokecrystal.asm](https://github.com/kanzure/pokecrystal/blob/master/pokecrystal.asm)** is a good starting point.
+The structure of the source is laid out here.
 
-* **Can't find something?** Anyone can add to the source. There's lots to be uncovered.
 
-* **Do your own thing!** The asm source is hack-friendly, and the supplementary scripts in extras/ can be used for other projects.
+* Other **make targets** that may come in handy:
 
-* We'll be happy to answer any **questions** on **[nucleus.kafuka.org #skeetendo](https://kiwiirc.com/client/irc.nolimitzone.com/?#skeetendo)**.
+ * `make clean` deletes any preprocessed source files (.tx), rgbds object files and pokecrystal.gbc.
+ * `make pngs` decompresses any **lz** files in gfx/ and then exports any graphics files to **png**.
+ * `make lzs` does the reverse. This is already part of the build process, so **modified pngs will automatically be converted to 2bpp and lz-compressed** without any additional work.
+
+
+* **Can't find something?**
+Anyone can add to the source. There's lots to be uncovered.
+
+* **Do your own thing!**
+The asm source is hack-friendly, and the supplementary scripts in extras/ can be used for other projects.
+
+We'll be happy to answer any **questions** on
+**[nucleus.kafuka.org #skeetendo](https://kiwiirc.com/client/irc.nolimitzone.com/?#skeetendo)**.
+
 
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@
 	@rm -f $@
 
 pokecrystal.gbc: pokecrystal.o
-	rgblink -o $@ $<
+	rgblink -n pokecrystal.sym -m pokecrystal.map -o $@ $<
 	rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
 
 pngs: