I next started to work on the snowball and melt trail routines. Right away I ran into another crash situation on real hardware but, unlike before, it wasn't related to having an LDA #xx command immediately after a branch. batari worked on the problem and discovered a bug in the DPC+ driver. While fixing that, he also figured out a way to make it so that LDA #xx could appear after a branch; though that problem would crop up again on what we would term evil 7800s.
While I was using HMOVE to control the melt trail, I incorrectly had used the ball for the snowball which resulted in odd colors and the ability for it to vanish in the iceblocks/platforms.
I then changed the snowball to use missile0, it looked much better though had occasional color issues based on it's y position relative to the snowman. I also investigated using the ball object as a free-roaming platform, but determined it couldn't be done as there weren't enough cycle times to update it during the repositioning of the fireballs nor during the 2 scanlines directly above a platform due to the cycles needed to update NUSIZ0 and HMP0 in order for the melt trail to work. I decided instead to use the ball object as a single elevator in each zone, it's range would be from just above the ice to just below the platform above.
Next up was the score and lives/level display. In the initial routine the lives/level would flicker so the colors could all be updated. While it worked, I wasn't sold on the use of flicker.
I then remembered a suggestion cd-w had made a few weeks prior about changing NUSIZ mid-scanline, so I rewrote the lives/level routine to use that instead.
One problem with that I'd planned to draw the carrot nose with a missile, but that wasn't compatible with the new method. supercat came up with the solution of using the playfield to draw the nose.
Note: in all ROM images use the left joystick to move the snowman, and its firebutton to melt the snowman. The melt trail logic is only enabled for the top 3 zones, and they're hard coded to test the melt trail as centered, left, and right. Use the right joystick moves fireballs. Turn volume down when using a real Atari.
Blog entry covers September 28 - October 6, 2010
- 1
0 Comments
Recommended Comments
There are no comments to display.