At 07:02 PM 1/13/2004, you wrote:
Have you run a trace on this? At the start up you're producing 235
scanlines. Once the game starts you're doing 241 scanlines. I looks like
you're not doing enough scan lines for overscan.
Thomas found a block of code I took out that I didn't realize I
needed. That's what broke the display.
Even so, the final game is going to have more active scanlines than the
typical. I believe I originally calculated it to use 200 pixels rather
than 192. It might be a few more if you count the border lines.
Also, the gremlins seem stuck on the side of the screen. Is this the way
they act on the real VCS too?
I ripped out the gremlin movement routines in order to rewrite them so they
will (hopefully) use less code and less RAM.
As for optimizations...do you want suggestions on optimizing the code? It
sounds like you're not really concerned with that at this point.
Actually, I am very interested in optimizations. I've been trying to do
quite a bit since the last build I sent to the list.
One thing you might notice is how much RAM I have to reserve for the score
display. 12 bytes for the digit pointers.
Honestly, I'd rather have a sprite-based score ala Gunfight. If someone
were to be kind enough to replace my score with something like that I'd
greatly appreciate it :)
But otherwise what I've got works and at least I wrote it from
scratch. But if Manuel wanted to volunteer to swap my score out for a
Gunfight-like one, I'd love it. It would also help the game look closer to
the coinop that way.
The main optimization I'm doing right now, RAMwise, is isolating bytes for
the gremlins or cars that can be compressed down from 2 byte to 1. Anytime
I only need a number between 0 and 15 it's a good candidate.
I'm working on a set of general subroutines for manipulating nybbles. If
anyone on the list has some that work well, let me know. I like my
subroutines to always treat nybbles on the right-hand side and then I call
the subroutine to do smart reads and writes depending on X being 0 or 1 to
indicate left or right nybble. The subroutine handles the necessary
bitmasking, merging, and shifting.
----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/