Re: [stella] 2600 rpg

Subject: Re: [stella] 2600 rpg
From: Chris Wilkson - MCD <cwilkson@xxxxxxxxxxxxx>
Date: Fri, 21 Mar 1997 22:01:12 -0800 (PST)
> What sort of bank switching do you use?  However addressable by software
> the cartridge might be, the 2600 is limited to 4K (12 address lines) of ROM
> address space and 128k of RAM... even performing writes to the ROM address
> space, like the Supercharger allows with its 6k RAM, is tricky.


Slight typo there...128 BYTES. :)  The super cart is designed to work with a
standard 2600.  No Supercharger needed, etc.  (I don't have one, so I don't
want to not support myself.  :)  Anyway, the BS-ing method, I borrowed 
from the Rat Shack (aka Radio Shack) Color Computer 3.  Basically, you have
a set number of equally sized memory slots visible to the processor, each
with its own dedicated control location.  (Just like VSYNC, or WSYNC in the
2600 console.)  Your physical memory is divided into blocks of the same size.
When you want to switch banks, you write the address of the desired block
into a given memory slot.  Voila! New block of memory!  Note that using
this system, I could put any physical block of memory into any desired slot.
This is pretty powerful, but also could be a problem during power up.  To
get aournd this, one slot (highest order) is a dedicated boot block.  Simply
make your RESET vector point to the beginning of this slot, and you can
always power up under known conditions.

I hope this reads something like English...ugh!  :P

> For a full-blown RPG, you'd need a *lot* of RAM if you're maintaining a

I considered that.  But actually, if you aren't storing graphics in RAM
ala video memory, 32K is a lot of space.  This is 256 times the RAM in the
stock 2600.  But if need be, it's trivial to increase to 128K RAM to match the
128K ROM.  I'm trying to cut costs in the beginning.  If more space really *is*
needed, I can expand RAM and ROM upward with more design effort.  But that
can wait.

> had but restocked all the dungeons whenever you entered one.  Also, do your
> specs include a battery back for the RAM?  If not, a password-to-continue
> wouldn't be too hard to do, as in pseudo-RPGs like NES Willow and

There's certainly enough space to waste on password code.  But it would be
nice to have a true "save game" feature.  I've considered the following

o FLASH "save" space
	- expensive

o battery backup
	- complex if done right

o using FLASH to serve as ROM, RAM, and "save" space
	- affordable, more elegant, but nasty complex!
	- uses more processor cycles for operations

> If I remember correctly from a FAQ I read some time ago, about half of a
> standard NES cartridge was taken up by bitmapped graphics.. this would be
> considerably less on the 2600 because the graphics (playfield) are natively


> monochrome and any significant color would to be handled with code.  Text,
> though, is an important part of RPGs, and the 2600 really huffs and puffs
> to do that both in storage and on screen.  Using a 4-pixel wide font (when

I don't think this would be too bad.  Simply store the font in ROM once.
Store any text as ASCII or make up your own code, or whatever.  Your display
code would take in x,y coordinates and an ASCII code and go for it.  This is
simplified of course, as you would have to draw one scanline of several
characters, then come back for the next scan line, same characters, etc.
But I don't think it would be terribly difficult.

Anybody wanna write some demo code??
I might give it a try, but be'll be UGLY!

> Other possibilities... what other genres didn't exist in the 2600's heyday
> but could be implemented now?  A two-player fighter would be possible with

ACK!!!!  Cough!  Gasp!!!!  (I *loath* fighters! :o  )

I have however, thought it would be funny to do a Street Fighter "2600".
(I think I saw a Street Fighter 2000, or Mortal Kombat 2000, or something)

> one myself) and Galaga ported to the 2600.

OOH!!!  YEAH!!!  YEAH!!!  Galaga!!!!


Ok.  Back to reality.  Hope this answers your questions, Eric.
And thanks for the info!


Archives available at
E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.

Current Thread