Jump to content
IGNORED

What's the top level of memory a cartridge can take?


SteveW

Recommended Posts

What's the top amount of memory that can be added to a 2600 cartridge's RAM? I'm not talking about the game's ROM, I'm talking about the type of added memory that CBS's RAM Plus carts and the Starpath Supercharger had. I've read that a large amount of extra memory on a cartridge will draw too much power out of the console, and short it out. So, has anyone found what the top limit of added cartridge memory is?

Link to comment
Share on other sites

What's the top amount of memory that can be added to a 2600 cartridge's RAM? I'm not talking about the game's ROM, I'm talking about the type of added memory that CBS's RAM Plus carts and the Starpath Supercharger had.

In principle there is no limit. The only challenge is to define a good way to access it from your code ...

 

I've read that a large amount of extra memory on a cartridge will draw too much power out of the console, and short it out. So, has anyone found what the top limit of added cartridge memory is?

I don't hink that this is true. The amount of power that is drawn from the console is not depending on the RAM size, but on the power consumtion of the used chip(s). If the RAM chip is active, the ROM chip is in standby and consumes less power. Todays RAMs do not draw a lot of power ....

Link to comment
Share on other sites

I was wondering if it were possible to put in RAM from a low power device, like the kind made for a digital watch or a PDA. My favorite game on the 2600 is Escape From The Mindmaster, and I was wondering what it would play and look like if it had more than the Supercharger's 2K of added memory. Perhaps someone's insane enough to throw in a 256K RAM chip into a cartridge, and try to program a Doom-style game? 8)

Link to comment
Share on other sites

The Supercharger has 6K of RAM. The 2600 has only 128 bytes of RAM.

 

The 2600 can address only 4K of ROM at a time, so that could be where you got confused about the 2K addition from the Supercharger.

 

I'd love to see a 2600 game with a ton of RAM. I can only imagine the screen displays possible. But what would the game cost?

Link to comment
Share on other sites

The Supercharger has 6K of RAM.  The 2600 has only 128 bytes of RAM.  

 

The 2600 can address only 4K of ROM at a time, so that could be where you got confused about the 2K addition from the Supercharger.    

 

I'd love to see a 2600 game with a ton of RAM.  I can only imagine the screen displays possible.  But what would the game cost?

 

On the Supercharger, isn't 4K of that 6K essentially used to contain the program itself, and as so, functioning as ROM? So, there would be only 2K of RAM that could be used as RAM.

 

I'm waiting for the purists to point out how unfeasible all these ideas are and "if you want more RAM, play another system" . . . :)

 

But, technically there is no upper limit in either ROM or RAM . . . And add-on chips can be used in carts (think Pitfall II). I wonder if we would've seen much larger and more complex 2600 games that could've blown the NES away if Tramiel hadn't been a tightwad . . .

 

A good RPG would be a much more sensible use for an insane mad-huge mega-cart than an FPS, though.

Link to comment
Share on other sites

I wonder if we would've seen much larger and more complex 2600 games that could've blown the NES away if Tramiel hadn't been a tightwad . . .

 

you know, there's still the TIA inside the 2600 that limits what can be displayed on screen...

 

one thing i'd like to see for the 2600:

a ps2 keyboard adapter would be cool. i dug out some old ps2 keyboard interfacing code i had (mostly stolen from an application note from atmel:).

a microcontroller could handle the communication with the keyboard and also provide different keymaps and a key buffer, and the 2600 could communicate with the micro via the joystick port.

i'm too busy hacking other stuff at the moment, but i really should give this a try some day.

Link to comment
Share on other sites

The Supercharger has 6K of RAM.  The 2600 has only 128 bytes of RAM.  

 

The 2600 can address only 4K of ROM at a time, so that could be where you got confused about the 2K addition from the Supercharger.    

 

I'd love to see a 2600 game with a ton of RAM.  I can only imagine the screen displays possible.  But what would the game cost?

 

On the Supercharger, isn't 4K of that 6K essentially used to contain the program itself, and as so, functioning as ROM? So, there would be only 2K of RAM that could be used as RAM..

 

It's true that on the Supercharger the ROM resides in the 6K of RAM, but there is no need for the program to be 4K, if I understand it correctly. I know the Starpath programmers did everything they could to optimize their code like all other 2600 programmers. And since you can multi-load (as you do in Escape From Mindmaster) they could keep the program size down and still have multiple levels on the games.

 

I don't know the program size of the Starpath games, so this is all speculation. Anyone know?

Link to comment
Share on other sites

Wouldn't it be possible to just burn the 3 load stages on to 3 4K EPROMs? Or even a 16K EPROM and bank switch to access the load stages? Of course you'd also have to add the 2K RAM chip and whatever else the cartridge-ized version of the game would require to function just like the SC.

Link to comment
Share on other sites

That's not how the Supercharger works. From what I understand, the 2600's 6507 chip has 13 bits that it's able to use for addressing (vs. a normal 6502's 16 bits). What this allows is a maximum of 4k of memory to be "seen" at any time (when the high bit is non-zero). When the high bit is zero, the console accesses it's native ram locations. The Supercharger's memory consists of 3 banks of 2k...the first 2k bank is always "seen" by the hardware...while software switches dictate which of the other 2k banks is "seen" (so you still have 2k+2k = 4k of memory that the 2600 can "see"). The reason that much more detailed displays are possible on the Supercharger is because the program is no longer residing in unchanging rom memory...so the program can make changes to the kernal itself (saving a lot of cycle time per scanline). Consider 6-digit sprite scoring: in regular rom code, there is barely enough cycle time on 1 scanline to update each of the sprites 3 times using indirect-Y addressing to fetch and display the bitpattern of the 6 onscreen digits (the same short loop is used for all scanlines). If more cycle time is needed/desired, the programmer could "unroll" this loop and use absolute,X/Y addressing instead (using a seperate group of instructions for each scanline). But hang on a bit...since in a Supercharger the program code itself resides in Ram memory, it's kernal could just load immediate values instead...and update the program kernal itself during non-critical points during execution. All that spare cycle time on a given scanline allows much more flexibility available to the programmer.

 

indirect-Y addressing = 5 cycles

absolute-X/Y addressing = 4 cycles

immediate addressing = 2 cycles

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