Jump to content
IGNORED

2600 in 2006 - 7800 thoughts


RSS Bot

Recommended Posts

Well, I just started playing with 7800 programming and it seems somewhat interesting. Haven't really figured out what to do, though. I've been thinking it might be interesting to see if I can manage a missile defense or area-filling game using only the 4K of internal RAM. The location of the zero-page and stack shadows is nuisancesome, but I have a kernel that seems like it should work for 128x96x4 colors with some cycles left over for a few overlay objects. The bitmap is stored linearly at 32 bytes/row, except for an annoying gap at $2000 to allow for the zero-page and stack shadow areas.

 

I was also thinking that if I can manage to do some CPLD design it might be interesting to try to push the 7800 to its limits like I did for 4A50. Probably should invest more time and effort in 4A50 first, but I would think that with the right hardware the 7800 might be able to do a pretty decent rendition of a color vector graphics game.

 

The first key, if possible, would be to use the HALT signal to distinguish CPU cycles from MARIA cycles. 16K of the Maria address space would fetch data from one of four 16K banks; another 16K would access a different one of four 16K banks but assert R/W and drive the data bus low. This would provide a fast means of clearing display memory.

 

For graphics plotting, I'd tweak things a little bit beyond my 4A50 design. If $1000-$17FF is open, I'd set things up to allow pixel plotting via something like:

CODE

cmp $1000,x ; X=x coordinate of pixel

cmp $16FF,y ; Y=y coordinate of pixel

 

The $10xx read would latch bits 3-7 of the address and data bits 0-7 (controlling what's plotted). The $16xx read would fetch data from an address formed by munging the bits 3-7 latched above along with some other address registers and the 8 LSBs of the specified address and then latch data bits 0-7 into a second register. The $17xx read would use the same address as the $16xx read, but perform a write there with the masked contents of the first two reads and a "color" register.

 

Combining these techniques, I think a color vector game in the style of Tempest could probably run at 20fps in NTSC--possibly even 30--even using a 256x192x4 bitmap screen.

 

http://www.atariage.com/forums/index.php?a...;showentry=3238

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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