You are not logged in.
Pages: 1
I'd like to make my hack 4MB large and know that a byte in the rom header defines the size of the rom data and after modifying it, you can add more data to the rom manually by adding 00's to the end of the file.
I made a quick test to see if the game is able to load a script from offset 0x200B50 but unfortunately, it didn't work. The game only freezed.
The size of the rom was actually 0x200BB8 bytes then, not 0x400000 in case it matters.
I know that KBM has successed with this before and I also took a look at Prism's rom data and noticed KBM removed the data from bank 7F (between 1FC000 and 1FFFFF). Then again, he wrote some "strange" code just after that point in 0x200000 which might tell the game that the rom works properly after that point of the rom too or something like that (or maybe it's some other ASM work, no idea). But well, I've no idea how to do this so tips would be appreciated. Anyways, don't tell me to steal the information from Prism :P
Offline
In-game scripts can usually not target banks 0x80 and above. However, this was primarily implemented to have the 7th bit signify halted scripts that will be resumed once an on-going script returns. I have never seen any averse effects of removing this, but I have obviously not coded the game to be sure.
Other bits of asm have the 7th bit of some bytes defined as flags for additional functionality, so it would not be possible to put those in the extended part of the rom.
For circumventing the block, you will have to alter the following offsets:
25:7A04 - 0x00 0x00
25:7368 - 0x00 0x00
cYa,
Tauwasser
Offline
I'd like to make my hack 4MB large and know that a byte in the rom header defines the size of the rom data and after modifying it, you can add more data to the rom manually by adding 00's to the end of the file.
I made a quick test to see if the game is able to load a script from offset 0x200B50 but unfortunately, it didn't work. The game only freezed.
The size of the rom was actually 0x200BB8 bytes then, not 0x400000 in case it matters.I know that KBM has successed with this before and I also took a look at Prism's rom data and noticed KBM removed the data from bank 7F (between 1FC000 and 1FFFFF). Then again, he wrote some "strange" code just after that point in 0x200000 which might tell the game that the rom works properly after that point of the rom too or something like that (or maybe it's some other ASM work, no idea). But well, I've no idea how to do this so tips would be appreciated. Anyways, don't tell me to steal the information from Prism :P
The "strange" code at 0x200000 is just a leftover test from using the Gameboy Development Kit. http://gbdk.sourceforge.net/
I was trying to see if I could take the easy way out and program new minigames and such in C and let Prism call these games and exit successfully, It didn't work. Here's the original file if you're interested. It's nothing special, just move around with the D pad and change colors with A/B/Start/Select.
http://www.sendspace.com/file/47gmbj
Last edited by koolboyman (2011-02-07 02:21:06)
Offline
I get it, somewhat.
So because all of the bits aren't used for repointing in a byte, I can't use bank values 80-FF.
For circumventing the block, you will have to alter the following offsets:
25:7A04 - 0x00 0x00
25:7368 - 0x00 0x00
Then again, I've no idea what you mean by this, or more accurately, by "circumventing the block".
Last edited by Miksy91 (2011-02-07 06:41:33)
Offline
Write zeros to these offsets and you will be able to use the scripts you want to use in banks 0x80 thru 0xFF.
cYa,
Tauwasser
Offline
Okay, thanks.
I may do that but will save it for later to avoid glitches :)
Last edited by Miksy91 (2011-02-07 17:06:00)
Offline
Pokemon red, yes, as long as you do bank switching correctly. though you should update the rom header to match the size of your rom.
This isn't easy to say, but…
Music and ASM hacker
Offline
Pages: 1