Okay, I think I managed to get a 2 line kernel working completely without
the use of WSYNCs at all!
Boy was it a lot of work. I think my cycle counting notation is correct also.
Thomas, I integrated your new Tombstone indexer routines which seem to work
but the first row of tombstones only shows 7 lines instead of 8. Do you
what that might be?
I took out all the sprite code for now, and I pushed the playfield
load-stores together, so once the playfield code is working 100% we'll get
a good idea of how much space is left.
So right now we've got 26 cycles of processing time before I blank out the
playfield for the 2nd line of the linepair (the blankout code can move
around some of course) and then a whopping 64 cycles in a row.
So that's a total of 90 cycles free for the line-pair.
It takes 30 cycles a piece, by my calculations, to do the missiles. So
that's 60 cycles right there. That would consume the majority of the
sprite line, leaving barely enough to generate one car.
It looks to me like there is enough time to do 3 of the 4 objects, but not
all 4.
If I turn this into a 4-line kernel and interleave the pedestrians (in
other words, keep them even/odd startline) ala Super Challenge Football
then I think it will work and will look okay. If I keep the pedestrians
bouncing like the dragons in Adventure then it might not seem so
deliberate. They are going to be animating a run cycle anyway. It's more
important to keep the movements of the cars smooth because they are under
user-control. You don't want to quantize the car movements to even or odd
scanlines because that would become apparent rather quickly, espcially if
you pointed your car up and started to slowly accelerate. It would be
jerky (but then again, the Intellivision and the Astrocade didn't suffer
much from not having 200-line movement accuracy).
What does everyone think?
Glenn Saunders - Producer - Cyberpunks Entertainment
Personal homepage: http://www.geocities.com/Hollywood/1698
Cyberpunks Entertainment: http://cyberpunks.uni.cc
Attachment:
DD_0013_experiment_02.zip
Description: Zip archive