Jump to content
Sign in to follow this  
Viso

Memory module (for saving games) for 2600/7800

Recommended Posts

I'm working on a project that I think some homebrew games could benefit from. It is a memory module for the 2600 and 7800 that allows supporting games to save data for later retrieval. I think it could help new games that need a long running game from start to finish because the hardware to save the game could be my module instead of some stuff on a special cartridge. The module provides a fairly easy to use interface for the game software and takes care of a file system so that multiple games can use the module.

 

I've already made the first attempt at a PCB for the module, but I botched a few things. I hope to have a revised PCB design within a week, and hopefully I'll find time to populate and test the new board within a couple months. The firmware seems to be fine -- it passes all the tests I made for it -- so it is probably final.

 

boardRev0Small.jpg

 

It plugs into a controller port, has a controller pass-through connector, a serial connection for access from a PC, and a Playstation controller connection (requires special cable) for emulating a joystick (great for 7800 games).

 

Just wanted to see how much interest there was.

 

You can find all the details at: http://home.hiwaay.net/~jeffj1/projects/amm/index.html

 

Have fun!

Share this post


Link to post
Share on other sites

This sounds like the equivalent of an 850 interface for the 2600. Very cool.

 

The pass-through works well?

 

I'm mostly interested in this for the PC hookup. If the communication is bidirectional then you could do a lot of stuff with it, like making some kind of webserver or internet bridge, or providing an automatic Supercharger load request system (which has been talked about on Stellalist a few times).

 

The onboard EEPROM wouldn't even be needed if the game-save data were stored directly on the PC.

Share this post


Link to post
Share on other sites

That looks great. I know you are nearing completion of your design, but please consider possibly adding another feature. It would be nice if two such units could be connected to each other forming a buffered serial link between two 2600 consoles. Such that each console is the Master on its end of the link. Bytes transmited from one console are buffered in your device until the attached console is ready to retrieve them.

 

Cheers!

Share this post


Link to post
Share on other sites

Right now, the module cannot be used to enable communication between two 2600's or between a 2600 and a PC. The reason is that I used the same USART on the microcontroller for communication with a 2600 and with a PC. It let me pack in more functionality without having to add more components or a larger and more expensive microcontroller. I figured I should make it as inexpensively as possible yet robust, so anything other than memory module functionality had to be cheap to add. For instance, the playstation controller interface needed a connector and two resistors; everything else is software. The design gives dual purpose to several pins on the microcontroller and every pin is used for something.

 

In better news, I designed the serial protocol for communication with the 2600 to support different devices on the same controller port. So if/when I do make a module for 2600 to 2600 or PC communication, that device could be connected along with the memory module on the same port.

 

As for the pass-through connection, it has been working well. I designed it to work with all the 2600 controllers for which there were schematics for on AtariAge, and with the 7800 joystick. All have have to test with, though, are joysticks and a keypad.

Share this post


Link to post
Share on other sites

I love it!

 

It is a very cool idea and I wish you luck in finishing the design and hopefully having it for sale.

 

Has this ever been done for a 2600 before (I'm assuming not)? How about any other Atari systems?

Share this post


Link to post
Share on other sites

The save feature might be useful for saving high score lists or other non-critical data. But I'm not sure it would see much use for games that absolutely require save states. The problem is most people won't have the module, so it's best usage would be for optional features like saving high scores. The controller features are also interesting.

Share this post


Link to post
Share on other sites

I agree, this product is fascinating and I can't wait to see it completely, but I wonder what it will be used to save? High scores, I suppose, or will it be able to save progress somehow (like for Pitfall II or some such).

 

Either way, a very exciting project, please keep us informed! :) :) :)

Share this post


Link to post
Share on other sites

I think you should focus on the 2600<> 2600 or 2600<> PC bridge rather than game saves.

 

The reason being that the AtariVox is already going to have a game save feature. That may not have a pass-through, but it is still a duplication of effort. Since you are so close to doing the serial communications why not go the whole way?

Share this post


Link to post
Share on other sites
I agree, this product is fascinating and I can't wait to see it completely, but I wonder what it will be used to save?  High scores, I suppose, or will it be able to save progress somehow (like for Pitfall II or some such).
It can be used to save progress, but the game must support saving and restoring. For games that don't support the module, the controller pass through will be active the whole time. Also, the module keeps a simple file system to make it easy for multiple games to save data.

 

I'm hoping this will make it easier to produce games that have such large scope as the popular Mario games on the NES. I have seen some old games get around the problem by presenting a screen full of text that the player must record and re-enter to continue later. That seems like a major bother.

 

I think you should focus on the 2600<> 2600 or 2600<> PC bridge rather than game saves.

 

The reason being that the AtariVox is already going to have a game save feature. That may not have a pass-through, but it is still a duplication of effort. Since you are so close to doing the serial communications why not go the whole way?

This is the first I've heard about the AtariVox device. I can't find much information about it on the web. The only image I found looks like it has a serial EEPROM that seems to be directly connected to the controller port. Is that right?

 

Anyway, I'm not very close to having console to console communication working. The firmware wasn't made to support it, and the hardware I put together cannot handle it. I did think about it, and it would definately be a new and different project requiring more design work and testing. Because of other things I have to spend time doing, I'm not going to get the chance to start a new project for at least 6 months, but I think I can find the time to make a few modifications to my existing board design and test it over the course of 2 months or less.

 

But, when I can spend the time on it, I could make a cool communication gizmo. I'm thinking a simple network between 2600's, 7800's, and PC's may be possible. It'll be a while, but it'll be better than just a couple of 2600's talking to each other.

Share this post


Link to post
Share on other sites

When you say games that "support the module", do you mean that these games are yet to be written? or will the software included in the module be written to accomodate saves for certain games that are already in existance? Either way this sounds really cool!

Share this post


Link to post
Share on other sites

I'm hoping this will make it easier to produce games that have such large scope as the popular Mario games on the NES. I have seen some old games get around the problem by presenting a screen full of text that the player must record and re-enter to continue later. That seems like a major bother.

That's true, it could be used for games that also support password saves.

Share this post


Link to post
Share on other sites

I think I'm about finished designing the next board revision. Hopefully this time it won't take three weeks to get the new boards. I'm going to spend some more time making sure there aren't new problems before ordering.

When you say games that "support the module", do you mean that these games are yet to be written?
Yes. The game must have code that supports the module in ordered for it to save any data to the module. Avoiding that limitation is unfortunately much more difficult and maybe even impossible.

Great sig, btw. :-)

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...