Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Savestates | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Paulus
Newcomer
Level: 3

Posts: 1/3
EXP: 125
For next: 3

Since: 03-26-04
From: UK

Since last post: 586 days
Last activity: 339 days
Posted on 03-26-04 01:36 AM Link | Quote
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.
Darth Coby

Vire
Dacht je nou echt dat het over was?
Dacht je nou echt dat ik gebroken was? Nee toch?
Nou kijk eens goed op uit je ogen gast.
zonder clic heb je geen kloten tjap... bitch
Level: 55

Posts: 171/1371
EXP: 1240774
For next: 73415

Since: 03-15-04
From: Belgium

Since last post: 2 days
Last activity: 9 hours
Posted on 03-26-04 02:06 AM Link | Quote
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
Newcomer
Level: 3

Posts: 2/3
EXP: 125
For next: 3

Since: 03-26-04
From: UK

Since last post: 586 days
Last activity: 339 days
Posted on 03-26-04 03:00 AM Link | Quote
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

Vire
Dacht je nou echt dat het over was?
Dacht je nou echt dat ik gebroken was? Nee toch?
Nou kijk eens goed op uit je ogen gast.
zonder clic heb je geen kloten tjap... bitch
Level: 55

Posts: 195/1371
EXP: 1240774
For next: 73415

Since: 03-15-04
From: Belgium

Since last post: 2 days
Last activity: 9 hours
Posted on 03-26-04 03:09 AM Link | Quote
And it should work too, but I'm probably overseeing something here. Else I'm sure it would have already been done.
Dish

Spiny
Level: 38

Posts: 10/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 03-26-04 03:13 AM Link | Quote
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

Vire
Dacht je nou echt dat het over was?
Dacht je nou echt dat ik gebroken was? Nee toch?
Nou kijk eens goed op uit je ogen gast.
zonder clic heb je geen kloten tjap... bitch
Level: 55

Posts: 198/1371
EXP: 1240774
For next: 73415

Since: 03-15-04
From: Belgium

Since last post: 2 days
Last activity: 9 hours
Posted on 03-26-04 03:19 AM Link | Quote
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.
Paulus
Newcomer
Level: 3

Posts: 3/3
EXP: 125
For next: 3

Since: 03-26-04
From: UK

Since last post: 586 days
Last activity: 339 days
Posted on 03-26-04 08:41 PM Link | Quote
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

Vire
Dacht je nou echt dat het over was?
Dacht je nou echt dat ik gebroken was? Nee toch?
Nou kijk eens goed op uit je ogen gast.
zonder clic heb je geen kloten tjap... bitch
Level: 55

Posts: 213/1371
EXP: 1240774
For next: 73415

Since: 03-15-04
From: Belgium

Since last post: 2 days
Last activity: 9 hours
Posted on 03-26-04 09:07 PM Link | Quote
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.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 173/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 03-26-04 09:52 PM Link | Quote
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.
d4s

Panser
Level: 29

Posts: 15/325
EXP: 142151
For next: 5734

Since: 03-23-04

Since last post: 13 days
Last activity: 1 day
Posted on 03-26-04 11:37 PM Link | Quote
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
Darth Coby

Vire
Dacht je nou echt dat het over was?
Dacht je nou echt dat ik gebroken was? Nee toch?
Nou kijk eens goed op uit je ogen gast.
zonder clic heb je geen kloten tjap... bitch
Level: 55

Posts: 222/1371
EXP: 1240774
For next: 73415

Since: 03-15-04
From: Belgium

Since last post: 2 days
Last activity: 9 hours
Posted on 03-26-04 11:45 PM Link | Quote
Hmm, true, and if you'd have like 20 levels that would be 20*270kb = 5400kb. That would make a huge IPS file.
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Savestates | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.018 seconds.