Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,490,545
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-27-24 01:30 AM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests

Main - ROM Hacking - Is it practical to do a Full Code/Data Log before hacking? New thread | New reply


RetroRain
Posted on 02-26-14 06:54 PM (rev. 2 of 02-26-14 06:56 PM) Link | Quote | ID: 155791


Fuzz Ball
Level: 66

Posts: 710/994
EXP: 2438311
Next: 23540

Since: 09-30-07

Last post: 1935 days
Last view: 958 days
Is it practical to do a full code/data log of the ROM before you go and hack it? I did this with Megaman 1, but not at the beginning. I did it at some point early on though, because I was worried about accidently overwriting original game data. And with a conversion as big as the one I was doing, I didn't want to take any chances of a screw up. And ultimately I'm glad I did do the full log of the original game, because I did wind up putting code close to the original game code, simply because it was in a bank that was already loaded.

So I was just wondering what you guys do before hacking the game you want to hack? Do you play the original game completely through to log everything, that way you know where all the free space is? Or should I just not worry about it so much. Is it highly likely that a small block of 00s and/or FFs denotes free space?

____________________
My YouTube Channel

Drakon
Posted on 02-26-14 07:44 PM (rev. 3 of 02-26-14 07:47 PM) Link | Quote | ID: 155793


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 22/62
EXP: 29870
Next: 27

Since: 01-26-14
From: Toronto Canada

Last post: 3704 days
Last view: 3388 days
Posted by RetroRain
Is it practical to do a full code/data log of the ROM before you go and hack it? I did this with Megaman 1, but not at the beginning. I did it at some point early on though, because I was worried about accidently overwriting original game data. And with a conversion as big as the one I was doing, I didn't want to take any chances of a screw up. And ultimately I'm glad I did do the full log of the original game, because I did wind up putting code close to the original game code, simply because it was in a bank that was already loaded.

So I was just wondering what you guys do before hacking the game you want to hack? Do you play the original game completely through to log everything, that way you know where all the free space is? Or should I just not worry about it so much. Is it highly likely that a small block of 00s and/or FFs denotes free space?


I always aim to expand the rom whenever possible. If the original game is 256k and the mapper supports 512k, make it a 512k rom and just write your own bankswitches in the free spaces at the ends of the original banks. I have yet to expand a nes rom so I don't know how many (or few) games make full use of what their mappers are capable of. Luckily with the gameboy it's fairly easy expanding roms since the mappers are almost all 100% compatible.

I always approach a project from the perspective of getting the most out of the possible hardware before doing the coding. It's always good to read about a mapper / cpu / whatever you're using and learn how to set software controlled hardware options to get more abilities out of whatever chip(s) you're working with.

____________________
http://16bitgamer.forumotion.ca/

NARFNra
Posted on 02-26-14 08:43 PM (rev. 2 of 02-26-14 08:45 PM) Link | Quote | ID: 155797


Koopa
Level: 25

Posts: 66/114
EXP: 87656
Next: 1964

Since: 02-13-10
From: Texas

Last post: 1807 days
Last view: 1807 days
Posted by RetroRain
Is it practical to do a full code/data log of the ROM before you go and hack it? I did this with Megaman 1, but not at the beginning. I did it at some point early on though, because I was worried about accidently overwriting original game data. And with a conversion as big as the one I was doing, I didn't want to take any chances of a screw up. And ultimately I'm glad I did do the full log of the original game, because I did wind up putting code close to the original game code, simply because it was in a bank that was already loaded.

So I was just wondering what you guys do before hacking the game you want to hack? Do you play the original game completely through to log everything, that way you know where all the free space is? Or should I just not worry about it so much. Is it highly likely that a small block of 00s and/or FFs denotes free space?


They're pretty useful for Mega Man games if you're messing around with sound data so you can estimate how much you can do before you start trying to convert songs, and what instruments aren't already used if you plan to leave them.

It's up to you though, but I think some info is better than no info.

DurfarC
Posted on 02-27-14 12:42 AM Link | Quote | ID: 155802


Shyguy
Level: 24

Posts: 51/97
EXP: 71904
Next: 6221

Since: 10-23-08
From: Norway

Last post: 1958 days
Last view: 356 days
I would say yes, it's practical. Even though there's already Matrixz' document for Mega Man 4, which mentions all large areas with unused data, I decided to do a full code/data log of it anyway. I made sure to let every song play, lose some lives in different ways, get game over once, use an E-tank and every weapon at least once etc. It's really useful for finding small sections of unused data here and there. As NARFNra said, that includes instruments - in MM4s case there were (at least) two unused instruments, for example, that I can now edit and use without expanding the instrument table (although I do know how to do that). Same for unused sprite graphics (maybe there are two instances of the exact same tile(s), for example) and level graphics, found some stuff there as well.

Depending on what game we're talking about, I guess you can't always count on it 100% - personally I make sure to create a backup every time I overwrite anything I don't know what is.

In my case, I saved both the ROM with unused data AND the ROM with used data, just to be sure.

Drakon
Posted on 02-27-14 03:46 AM (rev. 4 of 02-27-14 03:52 AM) Link | Quote | ID: 155812


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 25/62
EXP: 29870
Next: 27

Since: 01-26-14
From: Toronto Canada

Last post: 3704 days
Last view: 3388 days
Seems a bit strange to me for nes games. I found every nes rom I've worked with the end of each bank always has a block of ff data and that's always unused space. I just convert these blocks into ea (nop) data and then jump to them to insert new code. I guess this is for stuff that needs a serious amount of extra space.

____________________
http://16bitgamer.forumotion.ca/

DurfarC
Posted on 02-27-14 04:27 AM Link | Quote | ID: 155819


Shyguy
Level: 24

Posts: 52/97
EXP: 71904
Next: 6221

Since: 10-23-08
From: Norway

Last post: 1958 days
Last view: 356 days
If the unused spaces consist of 00s or FFs it's very easy to find out indeed, but in the ROMs I've looked at so far that wasn't always the case. Sometimes the data might be totally random numbers (not thinking of graphics, obviously they will look random), or maybe even some unused code or a copy of an actual code left twice in the ROM for no reason. Rather than scanning the ROM for potential JMPs and JSRs to different places and such, I would rather just play through the whole game. It might take some longer time, depending on which game we're talking about, but hey, at least you get to play your favourite game once again!

When I data logged MM3 and MM4, I sped up the emulator to 150% speed - that made it all go even quicker. However, many games are longer than the MM games, and some titles require some careful timing and precision in later levels (even SMB1 comes to mind with its sluggish movement and long jumps in world 8, especially since you can only do one or two mistakes before you die and have to redo the level) - I guess it's all about personal preference, really.

Drakon
Posted on 02-27-14 01:01 PM Link | Quote | ID: 155824


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 30/62
EXP: 29870
Next: 27

Since: 01-26-14
From: Toronto Canada

Last post: 3704 days
Last view: 3388 days
I guess I really wouldn't know I've never done changes that need enough space to have to look into expanding the rom or freeing up serious amounts of unused space.

____________________
http://16bitgamer.forumotion.ca/

Main - ROM Hacking - Is it practical to do a Full Code/Data Log before hacking? New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.022 seconds. (339KB of memory used)
MySQL - queries: 67, rows: 93/94, time: 0.016 seconds.