Tempest Posted April 9, 2009 Share Posted April 9, 2009 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 Quote Link to comment Share on other sites More sharing options...
supercat Posted April 23, 2009 Share Posted April 23, 2009 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. Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted April 23, 2009 Share Posted April 23, 2009 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. Quote Link to comment Share on other sites More sharing options...
+batari Posted April 23, 2009 Share Posted April 23, 2009 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? Quote Link to comment Share on other sites More sharing options...
carmel_andrews Posted May 19, 2009 Share Posted May 19, 2009 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 1 Quote Link to comment Share on other sites More sharing options...
Ben_Larson Posted May 20, 2009 Share Posted May 20, 2009 (edited) 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 May 20, 2009 by Ben_Larson Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.