BGB Roms
6 years ago
Georgia, USA

Can the Roms you load when using the BGB emulator for GB be reverse engineered to get the game code? Would help me with routing a game I'm working on because not much is on the Internet about the game.

Edited by the author 6 years ago
England

I'm not really sure what you're asking because your terms seem a little confused.

If you're trying to get under the hood to really evaluate how a game works, Bizhawk is probably the better option as it's built for TASing, and you have a lot of useful tools with a good UI to make the job easier. I used it to locate specific RAM addresses in Sparkster SNES, if that's the sort of thing you're trying to do.

Timmiluvs likes this
Antarctica

Yes you can reverse engineer ROMs but you'll need an extensive knowledge of programming in order to disassemble the ROM and then build the functions from whatever the disassembler gives you. I believe GB games were coded primarily in assembly, maybe C with specific compilers, for what it's worth.

idk of any specific disassemblers for GB ROMs off the top of my head. You'll probably find more info on sites like romhacking.net and open source repositories and might even find more in depth tools there that you can download to disassemble and/or reverse engineer the games (idk much about GB stuff).

All that being said, what are you hoping to find the actual functions of the game code that'll help with routing? Stuff like drop tables for items or other "RNG" things you hope to manipulate? If that's the end goal, a compete reverse engineer might be overkill - you might be able to use memory viewers if those are available.

EDIT: Drakodan's post covers the last paragraph I wrote.

Edited by the author 6 years ago
607 likes this
Georgia, USA

I know both Assembly and C. XD

So Bizhawk? I'll look into it later

There aren't really any good guides for the game online. There is a decent FAQ but it doesn't go into mechanics enough and was obviously a semi-thorough passion project and not a 100% thorough process.

What I'm looking for is like how the Pokemon wiki tells you the chance of catching a Pokemon in a certain area at a certain time.

Also the game is long and HIGHLY reliant on RNG for time saving. So RNG manipulation or understand the internals mechanics will be very important. Like how much more damage does the base iron sword do than the base bronze sword? Is there even a difference (I've been questioning this) This is a hard to answer because of many factors. And getting both upgraded "equally" for testing is a pain and the damage values you deal are also in a range.

Should also mention the game is an RPG of sorts

Edited by the author 6 years ago
607 likes this
England

On the Pokemon point, the aforementioned methods through BizHawk SHOULD be sufficient to look into stuff like that, since as far as I understand encounter pools are just an assigned block of values, e.g. if there were 256 encounter values and 20 of them corresponded to a specific encounter, that would equate to a 7.8~% encounter chance.

Can't speak to how useful it will be if you really want to break it down to just assembly and then recreate it from the ground up, though.

United States

What's the game?

Germany

In case you're asking this because of vietnamese crystal: https://github.com/pret/pokecrystal I think you need to have the same compiler to be able to properly decompile a rom, so can't really help you other than linking to pret's work.

Georgia, USA

It's for Azure Dreams for the GBC

607 likes this