Jump to content
IGNORED

how is a 16K/32K cartridge wired?


Recommended Posts

I'll leave the more technical details to those in the know, but the essential magic trick is called "bank switching". Pretty much all cartridge-based consoles can do it, though some support it more officially than others. Basically, a console can only see so much of a cartridge's program at a time. On the Atari 2600, it's 4KB. If you want to program a game with more than 4KB, you have to design your cartridge with more intelligent hardware so that when the console is told to access a particular spot within that 4KB, the hardware within the cartridge takes that as a cue to make a different 4KB of programming visible to the console -- to "switch banks" in other words. The console itself is none the wiser, and so it's up to the programmer to make these jumps without breaking the flow of the program. While people have more recently figured out how to make even 512KB programs work on the 2600, there actually was one 32KB game for the system while it was still officially on the market: Fatal Run, one of Atari's last releases for the 2600. Exactly how a cartridge is "wired" for bank switching depends on the bank switching method the programmer users. There are several popular standards to choose from, and a Google search on 2600 bank switching will dig up all the nitty gritty if no one else here offers the minutia.

 

A game like Space Rocks however, needs a lot more than bank switching. Some really intelligent homebrewers have designed a cartridge that contains its own CPU and memory, and some other really intelligent homebrewers, like the guy who wrote Space Rocks, have written games that take advantage of that extra CPU and memory. Essentially those games are programmed to run on two completely different systems that are decades apart in technology, and then make sure the data used and generated by each system is shared properly with the other system. Search for details on the 2600 Melody Board and the Harmony Cartridge, and you'll have all you want to know. Here might be a good place to start.

Link to comment
Share on other sites

I'll leave the more technical details to those in the know, but the essential magic trick is called "bank switching". Pretty much all cartridge-based consoles can do it, though some support it more officially than others. Basically, a console can only see so much of a cartridge's program at a time. On the Atari 2600, it's 4KB. If you want to program a game with more than 4KB, you have to design your cartridge with more intelligent hardware so that when the console is told to access a particular spot within that 4KB, the hardware within the cartridge takes that as a cue to make a different 4KB of programming visible to the console -- to "switch banks" in other words. The console itself is none the wiser, and so it's up to the programmer to make these jumps without breaking the flow of the program. While people have more recently figured out how to make even 512KB programs work on the 2600, there actually was one 32KB game for the system while it was still officially on the market: Fatal Run, one of Atari's last releases for the 2600. Exactly how a cartridge is "wired" for bank switching depends on the bank switching method the programmer users. There are several popular standards to choose from, and a Google search on 2600 bank switching will dig up all the nitty gritty if no one else here offers the minutia.

 

A game like Space Rocks however, needs a lot more than bank switching. Some really intelligent homebrewers have designed a cartridge that contains its own CPU and memory, and some other really intelligent homebrewers, like the guy who wrote Space Rocks, have written games that take advantage of that extra CPU and memory. Essentially those games are programmed to run on two completely different systems that are decades apart in technology, and then make sure the data used and generated by each system is shared properly with the other system. Search for details on the 2600 Melody Board and the Harmony Cartridge, and you'll have all you want to know. Here might be a good place to start.

 

Thanks! I found the site http://www.grandideastudio.com/portfolio/pixels-past/, which the explanation AND the PCB and schematic files as well.

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...
 Share

  • Recently Browsing   0 members

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