Acmlm's Board - I2 Archive - Rom Hacking - Savestates
User | Post |
Darth Coby
Posts: 222/1371 |
Hmm, true, and if you'd have like 20 levels that would be 20*270kb = 5400kb. That would make a huge IPS file. |
d4s
Posts: 15/325 |
hyperhacker:
and you dont think a routine that would load up a whole savestate to ram and registers would at some point overwrite itself, no?
oh,of course you could execute it from rom directly,but why would somebody want to do that? an uncompressed zsnes savestate is 270kb, or 2mbit. thats fucking huge in case you didnt notice
|
HyperLamer
Posts: 173/8210 |
Savestates are full RAM/Register/hardware status dumps. It's almost possible for software to load/save a savestate of itself; however, read-only/write-only I/O registers (or those that aren't even accessible by software) can cause problems. |
Darth Coby
Posts: 213/1371 |
Originally posted by Paulus
Originally posted by Disch If you can find where to cut the game off and load your level instead of the regular level... then you've probably FOUND the level loading routine... as well as the level data . I don't see how changing where the level location is and possibly the loading routine could possibly be any easier than just editing existing levels.
Yeah i suppose you're right. I was thinking maybe you could create a whole new 'frontend'. For example, in mario kart, you could make your own map selection screen, then load the data yourself and just use the main 'engine' of the game.
Thnx for your help
That would require some serious ASM hacking, it's easier to just find the level data and edit that. |
Paulus
Posts: 3/3 |
Originally posted by Disch If you can find where to cut the game off and load your level instead of the regular level... then you've probably FOUND the level loading routine... as well as the level data . I don't see how changing where the level location is and possibly the loading routine could possibly be any easier than just editing existing levels.
Yeah i suppose you're right. I was thinking maybe you could create a whole new 'frontend'. For example, in mario kart, you could make your own map selection screen, then load the data yourself and just use the main 'engine' of the game.
Thnx for your help
Darth Coby
Posts: 198/1371 |
Originally posted by Disch Savestates are RAM dumps... but they also have the current status of the registers and other emulator status (like PPU and APU stuff)... as well as possibly IRQ counters and other goodies.
Typically... the game has control over everything that -could- happen on the system... so yeah... it is possible to load a "savestate" from the ROM... .however...
add the compressed dump onto the end of a rom and then load it instead of another level maybe
If you can find where to cut the game off and load your level instead of the regular level... then you've probably FOUND the level loading routine... as well as the level data . I don't see how changing where the level location is and possibly the loading routine could possibly be any easier than just editing existing levels.
Ah, there it is. I knew I forgot something. |
Dish
Posts: 10/596 |
Savestates are RAM dumps... but they also have the current status of the registers and other emulator status (like PPU and APU stuff)... as well as possibly IRQ counters and other goodies.
Typically... the game has control over everything that -could- happen on the system... so yeah... it is possible to load a "savestate" from the ROM... .however...
add the compressed dump onto the end of a rom and then load it instead of another level maybe
If you can find where to cut the game off and load your level instead of the regular level... then you've probably FOUND the level loading routine... as well as the level data . I don't see how changing where the level location is and possibly the loading routine could possibly be any easier than just editing existing levels. |
Darth Coby
Posts: 195/1371 |
And it should work too, but I'm probably overseeing something here. Else I'm sure it would have already been done. |
Paulus
Posts: 2/3 |
the idea being that I could edit the RAM first (which could include a level for example), add the compressed dump onto the end of a rom and then load it instead of another level maybe...strange way of doing it i guess..but much easier if you cant find the level data
Darth Coby
Posts: 171/1371 |
Originally posted by Paulus My question is, how exactly do savestates work? Do they store everything in the RAM and the position of the game in the rom? If so, do you think it would be possible to load a 'savestate' in game using some ASM code? (assuming the savestate is stored in the rom, compressed I would hope)
I was thinking mainly for the gba and if this could be used to create a hack.
If I'm not mistaken then a savestate is just a RAM dump yeah, probably compressed too. And if you find a way to copy all the data drom the savestate into the RAM ingame then yeah, you could use it. But then it's ONLY RAM. So it wouldn't really edit anything. |
Paulus
Posts: 1/3 |
My question is, how exactly do savestates work? Do they store everything in the RAM and the position of the game in the rom? If so, do you think it would be possible to load a 'savestate' in game using some ASM code? (assuming the savestate is stored in the rom, compressed I would hope)
I was thinking mainly for the gba and if this could be used to create a hack.
| | |
|