M Network's BurgerTime for the Atari 2600 is a decent game. It was one of the first games I played on an Atari 2600 emulator back in the late 1990's. But it is not without it's issues. The chef moves quite sluggishly, the graphics are bit on the bland side, and the controls could do with some improving. The graphics were a compromise made when the game was developed to avoid as much flicker as possible. The only time the game flickered was during the use of pepper (which wasn't too bad) and when a bonus item is shown (which was bad since it was a 2 frames on/2 frames off interleaved with the hotdog).
Not too long ago, I spent some time working thru a disassembly I created of the game. I tweaked the "finished" burger colors and doubled the speed of the chef. The game became much easier to play, maybe a little too easy. But there was a really nasty bug that emerged (or became easier to trigger). When dropping more than a couple of burger pieces at the same time, an infinite loop would be triggered which would black out the screen and freeze on whatever musical note was playing at the time.
So after seeing a couple of people discussing the issues, I've decided to take on the challenge of creating a better version/conversion/port of the game for the Atari 2600. I figured the best way was to start from scratch.
My main goal is to create a more accurate arcade version while still working within the limitations of the Atari 2600.
What I've done so far:
- I have programmed in the graphics for the first level from the Arcade version. I'm currently using an asymmetric kernel for the displaying the level. The level and ladders are colored based off the first write to PF1.
- The burger pieces are properly colored within the level and there can be four different pieces on a line. They are still just colored rectangles but being properly colored helps them stand out better. I still need to figure out a way to show them after being stepped on by the chef.
- I'm currently using DPC (the Pitfall 2 chip not the more recent DPC+) to be able to display 2 sprites updated as a 1-line Kernel. Currently only 1 of the sprites has their color updated every line. The other is just a solid color. I don't quite have enough cycles to do both.
- I'm working on a round-the-corner algorithm for the joystick control to help ease the movement of the player thru the level.
- I plan to use the 20/30 Hz flicker routine (seen in the Pac-Man 4k remakes) to display upto 6 detailed sprites.
The display kernel is 5 lines long.
- One line for the level platform or ladder piece.
- A blank line for figuring out what burger pieces are displayed.
- Three lines for displaying the burger pieces.
Time-wise, I'm not sure how long this will take since I'm only working on it sporadically. But I'm going to try to give updates maybe once a month.
That's basically it. I've attached a screenshot of what I have so far running in Stella.