News: 11 March 2016 - Forum Rules

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - billybob643

Pages: [1]
Only that section of the ROM gets flagged as db because it is specifically known to be Nintendo logo data (which is required to be an exact copy if the boot ROMs are used).

Pretty much just that $104-14F area of the ROM (the header) is known to be db.

Interesting. So is it safe to assume that besides addresses in the ROM header section, a db command will not be present? Also, how does that get flagged? Is it in the hardware of Game Boy that checks for this. From my research it seems like it was an anti-piracy measure and I am curious how that is implemented.

So I have been working on a project of being able to reverse engineer Gameboy ROMs and I am running into a problem in being able to decipher which bytes of the binary code are used in db instructions versus which ones are actual OPcodes. In memory addresses $0104 - $0133 of Game Boy ROMS for example, is reserved for the Nintendo logo. The command in assembly for the logo section is
Code: [Select]
db $ce, $ed, $66, $66,…$3e. In the binary code however there is no OPcode that shows that the assembly db command is being used in this section, only the bytes are being displayed, many of which are also OPcodes which makes it confusing when disassembling. Is there a way to tell when the db command is being used? Or are there certain sections in the ROM’s memory that are specifically allocated for the word to be read as a byte and not as OPcodes?

Pages: [1]