Jump to content
IGNORED

Save State Device?


Tempest

Recommended Posts

Would it be possible to create a device that went between a game cartridge and the 2600 or 7800 that could store game states? Something that would basically take a snapshot of all the game variables at a given time and reload them when desired like the emulators do? Just a thought I had.

 

Tempest

Link to comment
Share on other sites

  • 2 weeks later...

A cart to capture the state of a 2600 could probably be constructed, though making it reliable might be tricky. The best way to do it would probably be to have the cartridge take over operation when it sees a store to VSYNC; the cart should disable the other cartridge, stuff code to JMP $1000 (while noting the address from which it was fetched), store the CPU registers to cart space, and then probe the TIA state as well as it can. Wait the proper length of time to complete the frame and let operation resume. It's not possible to probe the entire TIA state, but it may be possible to glean most of it if one doesn't mind trashing a few registers. Most cartridges reload most registers each frame, so trashing a few registers shouldn't disrupt things.

Link to comment
Share on other sites

How about something like this:

 

Use something like a video game brain to allow use of more than one cartridge. Boot the 2600 with the game the user wants to play, then when the user wants to save the state, they switch to the other cartridge. The other cartridge will contain mostly BRKs, and the break vector will point to a subroutine that dumps all of the game variables to a SaveKey. The only problem I can see with this idea is that it will not work every time, because there is a chance that when the cartridge is switched, the PC will not land on a BRK, causing it to crash and not save the variables. Also, it would be somewhat hard to retrieve the variables once the state is saved.

Link to comment
Share on other sites

A cart to capture the state of a 2600 could probably be constructed, though making it reliable might be tricky. The best way to do it would probably be to have the cartridge take over operation when it sees a store to VSYNC; the cart should disable the other cartridge, stuff code to JMP $1000 (while noting the address from which it was fetched), store the CPU registers to cart space, and then probe the TIA state as well as it can. Wait the proper length of time to complete the frame and let operation resume. It's not possible to probe the entire TIA state, but it may be possible to glean most of it if one doesn't mind trashing a few registers. Most cartridges reload most registers each frame, so trashing a few registers shouldn't disrupt things.

The Harmony might be able to pull that off for some bankswitching schemes. I could experiment with that.

 

The question is how would one trigger a save and a restore without any additional hardware, and without affecting gameplay?

Link to comment
Share on other sites

  • 4 weeks later...

sounds like you want something like pro Action replay or similar that has a game memory and graphics save prgram or similar

 

the only thing i recall that is similar to pro action replay on the 2600 is/was PGP1 by answer software, only thing is, it didn't feature a game state save feature

  • Like 1
Link to comment
Share on other sites

Easiest thing to try first would be something that just saved and restored the RAM contents, program counter, and processor state. I'm thinking that would work with a lot of games. I think restoring horizontal positioning in the TIA would be pretty much impossible since that's all done using software timing and horizontal motion register writes.

Edited by Ben_Larson
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...