I was trying to focus on optimizing the code, and I did a fair amount of
that, although I'm sure there is a lot more fat to trim, when I got really
impatient and decided to try adding sound.
I have videotape footage of the coinop Death Race which I used as a guide.
I am now simulating the DR gremlin-shriek, engine idle noise, and engine at
full throttle.
I allocate sound channels based on the player/missile that is supposed to
be generating the sound. M0/P0 uses AUDV0 and M1/P1 uses AUDV1. So if you
run over your own gremlin your engine noise cuts out in favor of the
scream, but if you run over the other player's gremlin then the scream will
cut out the engine noise of P1. This seems to match how the coinop works
and should sound good on Cybertech A/V mods.
If you've never seen the game or your memories are fuzzy you'll have to
take my word for it that the noises are pretty close.
I didn't hear a crash noise in the game when you hit a barrier but I intend
to add one. Beyond that I don't think I need any other sounds unless I'm
able to add in the ghost. I might want a very brief musical queue for the
ghost or powerups. But that will come much later.
The current build features primitive 16-degree movement but no
accel/decel. Reverse gear does work if you have a Y-cable or foot
controller. With the foot controller you would set two pedals for left and
right. Should work. I've been meaning to order one for testing. In the
meantime I've been using my handwired cable.
In the process or making these changes I have chopped out most of the
gremlin animation routines pending a rewrite so you have to go run over
them in the corners to hear the screams.
I also worked over the score and the gear indicators now match the gold
color of the timer. I think this helps them stand out from the score so
they don't get confused with fat 1 digits. I also managed to wedge in a
gradient here, not the score, just the timer and gear indicators. It's a
little hard to tell because it's only 5 interleaved strips but it's
probably worth it for the small amount of extra ROM it required.
Now, aside from feedback on the sound, I really have a problem with the
overscan/vblank. I think I'm going over the amount of CPU time I have
available but I'm not sure. The screen is flickering when I know it has a
lot to do (like process movement) so I'm suspicious.
I've got a problem because I've relied upon Thomas to do the dirty work of
keeping the screen synchronized and I've been focusing mostly on filling in
everything else, trying not to break anything. The thing is, I don't
really know how much headroom I have, or how to figure out how much
headroom I have. In this recent burst of development it's been entirely
done via the Cuttle Cart, no emulator. I tried running PCAtari and it's
now crashing on launch on my system.
What I'm thinking I may have to do is start moving blocks of code
around. I suspect that I have a lot of free processing time somewhere that
the code is doing nothing but looping over a timer object but I can't
really tell.
I'd appreciate any advice you can all offer.
--Glenn
Attachment:
DeathDerby.zip
Description: Zip archive