Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2013-04-05 15:28:15

comet
Member
Registered: 2012-04-09
Post 193/679

pokecrystal

http://github.com/kanzure/pokecrystal

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.

Getting Started

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

#2 2013-04-05 17:39:03

Akwa
Member
Registered: 2012-06-14
Post 117/140

Re: pokecrystal

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

#3 2013-04-05 17:40:59

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 32/1,199
Website

Re: pokecrystal

comet wrote:

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

#4 2013-04-05 17:57:47

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 2,410/3,578

Re: pokecrystal

Yes.

Offline

#5 2013-04-05 18:32:15

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 42/450
Website

Re: pokecrystal

Awesome! This is definitely going to help me in my hack! Thanks and congrats to everyone who worked on the dissasembly!

Offline

#6 2013-04-05 19:51:29

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 33/1,199
Website

Re: pokecrystal

Now you can change everything you WANT, and is possible with the Game Boy limits, to change!


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#7 2013-04-05 20:12:24

comet
Member
Registered: 2012-04-09
Post 194/679

Re: pokecrystal

Akwa wrote:

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

#8 2013-04-06 16:46:34

comet
Member
Registered: 2012-04-09
Post 195/679

Re: pokecrystal

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

#9 2013-04-06 22:59:46

Tauwasser
Member
Registered: 2010-10-16
Post 373/452

Re: pokecrystal

Because 99% are identical...

cYa,

Tauwasser

Offline

#10 2013-04-07 01:27:32

comet
Member
Registered: 2012-04-09
Post 197/679

Re: pokecrystal

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

#11 2013-06-20 08:17:47

comet
Member
Registered: 2012-04-09
Post 259/679

Re: pokecrystal

Akwa wrote:

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

Board footer

Powered by FluxBB