[atari7800] AW: Yet Another Kick In The Head!
- From: "Matthias" <matthias@xxxxxxxxxxxx>
- To: <atari7800@xxxxxxxxxxxxx>
- Date: Fri, 12 Nov 2004 23:37:22 +0100
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....
- References:
- [atari7800] Yet Another Kick In The Head!
- From: Christopher Tumber
Other related posts:
- » [atari7800] AW: Yet Another Kick In The Head!
- [atari7800] Yet Another Kick In The Head!
- From: Christopher Tumber