You are not logged in.
Pages: 1
A hand-commented disassembly of Pokemon Crystal.
The source code in this repository compiles into an exact copy of the base rom. It can be freely edited.
Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
md5: 9f2922b235a5eeb78d65594e82ef5dde
Eventually, the base rom won't be necessary.
Other things pokecrystal does:
Automatic image compression. Just add or change a png in the repository and compile.
Built-in scripting engines for map events, music, attack effects and animations.
Tons of disassembly tools to take apart other game boy games.
Contributions are welcome.
Questions? Come chat with us! irc.freenode.net #pret
Last edited by IIMarckus (2014-11-15 20:55:47)
Offline
This is awesome! Big thanks to everyone who worked on that. This is going to teach me a lot about move effect asm.
I can't seem to find the data responsible for trainer AI. Is it there somwhere?
Offline
http://github.com/yenatch/pokecrystal
A hand-commented disassembly of Pokemon Crystal.
The source code in this repository compiles into an exact copy of the base rom.
Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc md5: 9f2922b235a5eeb78d65594e82ef5dde
When it is completed, the base rom will not be required.
Getting Started - Now compiles on Windows in a single click.
Contributions are welcome.
So, this Pokémon Crystal disassembly. So, that means that if I change things, and assemble, it has been changed in the ROM?
Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker
Offline
Yes.
I am not very active on this forum. I only pop in from time to time.
Offline
Awesome! This is definitely going to help me in my hack! Thanks and congrats to everyone who worked on the dissasembly!
Offline
I can't seem to find the data responsible for trainer AI. Is it there somwhere?
It's not disassembled yet. It looks like that function is at F:67C1. You can generate it using gbz80disasm.py in extras/ from the command line or by gbz80disasm.output_bank_opcodes(address)[0]. Here is an example output of F:67C1.
Code or data that you can't find in main.asm is still included from the base rom:
INCBIN "baserom.gbc", start, length
Generally length is better formatted as end - start:
INCBIN "baserom.gbc", start, end - start
The goal is to remove all the incbins.
Offline
There is currently no Gold/Silver disassembly.
Those features could be added to Gold, but if you haven't started a hack yet you should just use Crystal. Most hacks are of Gold/Silver because Crystal never had much documentation.
Offline
Because 99% are identical...
cYa,
Tauwasser
Offline
Gold documentation was written with the implication that it didn't apply to Crystal, since the addresses differed and the authors didn't bother to check in both games since they were hacking Gold. For someone poking at a rom with a hex editor it may as well be a different game. And frankly documentation is really sparse anyway.
Offline
I can't seem to find the data responsible for trainer AI. Is it there somwhere?
This has been mostly disassembled now. The part you are probably interested in (move selection) is done.
AIChooseMove is called at the beginning of each turn (before you can choose your move). Moves are scored based on a few sets of rules, depending on the opponent's trainer class. These layers can be found in battle/ai/scoring.asm.
The first three layers and AIChooseMove are very similar to their counterparts in Red.
Offline
Pages: 1