mirror of https://github.com/pret/pokecrystal.git
177 lines
4.1 KiB
Markdown
177 lines
4.1 KiB
Markdown
# 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
|
|
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 git://github.com/kanzure/pokecrystal.git
|
|
cd pokecrystal
|
|
|
|
# install python requirements
|
|
pip install -r requirements.txt
|
|
|
|
make clean && make
|
|
```
|
|
|
|
# Windows
|
|
|
|
Follow these instructions to install `pokecrystal` on Microsoft Windows. Once
|
|
installed, you can run `make` to compile `main.asm` into a ROM.
|
|
|
|
## Installing cygwin
|
|
|
|
Cygwin provides a virtual linux environment on Windows systems. Just get
|
|
`setup.exe`: http://cygwin.com/install.html
|
|
|
|
During the install:
|
|
|
|
1. Keep the defaults.
|
|
|
|
2. It shouldn't matter which mirror you choose, but http://mirrors.kernel.org
|
|
seems to work.
|
|
|
|
3. Select the packages listed below.
|
|
|
|
You'll be presented with a package selection screen. Select the following
|
|
packages (hint: there's a search box).
|
|
|
|
1. `python` (installed by default)
|
|
|
|
2. `gcc` and `gcc-core` (under devel)
|
|
|
|
3. `byacc` (under devel)
|
|
|
|
4. `make` (under devel)
|
|
|
|
5. `wget` (under web)
|
|
|
|
6. `git` (under devel)
|
|
|
|
7. `mercurial` (optional, if you wish to work with pokered as well)
|
|
|
|
Let cygwin finish the install. Might take a sec while all packages are
|
|
downloading.
|
|
|
|
## Installing other requirements
|
|
|
|
Launch cygwin (bash). Maybe you know your way around the linux terminal. If not, a
|
|
crash course:
|
|
|
|
```bash
|
|
# list files in current directory
|
|
ls
|
|
|
|
# show current directory
|
|
pwd
|
|
|
|
# change directory
|
|
cd /away/we/go
|
|
```
|
|
|
|
The next step is building `rgbds`, the GB assembler. Type:
|
|
|
|
```bash
|
|
# download rgbds source code
|
|
git clone git://github.com/bentley/rgbds.git
|
|
|
|
# compile rgbds
|
|
cd rgbds
|
|
YACC=byacc make
|
|
|
|
# make rgbds accessible for all time
|
|
export PATH=$PATH:`pwd`
|
|
echo "export PATH=$PATH:`pwd`" >> ~/.bashrc
|
|
|
|
# check if rgbasm is installed now
|
|
which rgbasm
|
|
```
|
|
|
|
If that fails (it shouldn't), you can download binaries like so:
|
|
|
|
```bash
|
|
# download rgbds binaries
|
|
wget http://diyhpl.us/~bryan/irc/pokered/rgbds/rgbds.zip --output-document=rgbds.zip
|
|
|
|
# unzip
|
|
unzip rgbds.zip
|
|
|
|
# make rgbds accessible for all time
|
|
export PATH=$PATH:`pwd`/rgbds
|
|
echo "export PATH=$PATH:`pwd`/rgbds" >> ~/.bashrc
|
|
|
|
# clean up that zip file
|
|
rm rgbds.zip
|
|
```
|
|
|
|
The next step is to install `unittest2`, unless you installed python2.7
|
|
earlier:
|
|
|
|
```bash
|
|
cd ~
|
|
wget http://peak.telecommunity.com/dist/ez_setup.py
|
|
python ez_setup.py
|
|
easy_install unittest2
|
|
```
|
|
|
|
Now you should be able to build `pokecrystal` for the first time:
|
|
|
|
```bash
|
|
cd ~
|
|
git clone git://github.com/kanzure/pokecrystal.git
|
|
cd pokecrystal
|
|
```
|
|
|
|
The final requirement is downloading a certain Pokemon Crystal ROM:
|
|
|
|
```
|
|
Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
|
|
md5: 9f2922b235a5eeb78d65594e82ef5dde
|
|
```
|
|
|
|
Save it as `C:\cygwin\home\(your username)\pokecrystal\baserom.gbc`. You can
|
|
check the md5 of a file by typing `md5sum baserom.gbc`.
|
|
|
|
To compile the ROM from ASM source, type:
|
|
|
|
```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!
|
|
|
|
Now you may try messing around with `main.asm`, or just do whatever you wanted
|
|
to.
|
|
|
|
To build again, you should use the following command:
|
|
|
|
```bash
|
|
make clean && make
|
|
```
|
|
|
|
Feel free to ask us on nucleus.kafuka.org #skeetendo if something goes wrong
|
|
(remember to tell where)! Don't know how to use IRC? Try
|
|
[mibbit](http://mibbit.com/) or something.
|
|
|
|
# Contributing changes
|
|
|
|
## Setting up a public git repo
|
|
|
|
For those uninitiated with git-based collaboration, and who do not want to setup a server to host git repositories, use GitHub. Register on GitHub and follow [this tutorial to setup ssh keys](https://help.github.com/articles/generating-ssh-keys). Then go to [the pokecrystal repo](https://github.com/kanzure/pokecrystal) and click the giant "fork" button. This will bring you to a page with some instructions regarding `git remote` (follow these steps in your pokecrystal folder).
|