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. Erik, 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 alternatives: 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 yup. > 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 warned...it'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!!!! Mmmmm....Galaga.... Ok. Back to reality. Hope this answers your questions, Eric. And thanks for the info! -Chris -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.