[atari7800] AW: Yet Another Kick In The Head!

Well, I am not sure about that.
You should have about 40 (15+25) scanlines before the first visible
scanline.
That means that you have 4560 cycles minus the cycles maria needs to read
the dl's that "build" the blank lines (see APPENDIX 4 in the software
guide).
Additionally you have 30 invisible scanlines at the bottom that you could
use.
You sprite routine looks promising I will try it on the real machine
tomorrow.

Matthias

 > -----Ursprüngliche Nachricht-----
 > Von: atari7800-bounce@xxxxxxxxxxxxx [mailto:atari7800-
 > bounce@xxxxxxxxxxxxx] Im Auftrag von Christopher Tumber
 > Gesendet: Freitag, 12. November 2004 21:41
 > An: atari7800@xxxxxxxxxxxxx
 > Betreff: [atari7800] Yet Another Kick In The Head!
 > 
 > Only 19 scanlines of VBLANK? Only 2166 cycles for game calcs per frame?
 > Who the hell thought that was acceptable? That's less than half the 2600
 > for crying out loud!! Why does MARIA need to halt the 6502? Why doesn't
 > MARIA just run in the background, like, oh, EVERY OTHER SYSTEM AFTER THE
 > 2600!!!
 > 
 > Whoa, I feel like I have a good solid grasp of this beast (on alternate
 > days "this hunk of $%^&$%") and then BANG, I keep running into this
 > unbelievably insane brick walls. Next time anyone whines about how crazy
 > the 2600 is to code for they're getting slapped 'cuz this console is
 > absolutely bizzzzzarrrrrre.
 > 
 > Anyway, attached is a demo of sprite handling routines I'm working on.
 > This demo displays 41 sprites. It's currently limited to 20 sprites per
 > zone for a maximum of 480 sprites on screen (though RAM would be
 > difficult as each sprite is 5 byes (X,Y,BitmapPointer,Width/Palette) and
 > there's already a huge chunk of RAM dedicated to the DLs). It does some
 > movement but it's very regimented because there's no checking for >20
 > sprites on a line and it tends to crash due to memory overwrites if 20 is
 > exceeded.
 > 
 > It also flickers like crazy because my routines are too slow to complete
 > every frame (I'm rebuilding the Display Lists from scratch each frame
 > which may no be the best way to handle things) since there only 2166
 > cycles available (!!!!!).
 > 
 > Horizontal movement is limited to 2 pixels which means things have to
 > move somewhat quickly or it looks jerky. Not really any way around it as
 > I'm using 320C mode and it's strange (of course!!) palette limitations
 > means it's not really possible to have two sets of sprites, with the
 > second set shifted one pixel in order to fake for single pixel movement.
 > I really like the idea of alternating between 320B and 320C every
 > scanline in order to pull more colours but it seems like something that
 > could be really effective in a deme but dificult to use in a game (maybe
 > for something non interactive like a scrolling border or something). Also
 > difficult to design sprites for.
 > 
 > 320C gives 8 colours, though of course it's a little funky (each byte (2
 > pixels) can only access half the palette). I think 8 colours is enough to
 > do most classics (to '83 or so, anyway) though maybe with a little
 > comprosmise, especially if you modify the palettes mid-screen with
 > interrupts. I'm probably not going to be doing any ports, I just needed
 > some sprites to work with but I hope if you compare my demo to Atari's
 > original 7800 port you'll see where I'm going with this...
 > 
 > Chris....



Other related posts: