Last year, I re-discovered a Pac-Man clone I wrote way back in 1984 for the Commodore VIC 20. A month later, I enhanced the game, yet kept it within the memory constraints of a stock VIC 20 — quite the personal accomplishment and it received a few unexpected accolades afterward.
This past year, I moved on to other VIC 20 related projects, including a slick software sprite library and a sequel to Omega Race that implemented the new graphics handler. This past week, I returned to Quikman to retro-fit it with the improved video… and a few more features.
The result is Quikman+ requiring an additional 8k of memory expansion, mainly due to the software sprite’s requirement to double-buffer the video display. For those not familiar with the term “k”, it was short for “kilobyte” which is 1,024 bytes. Yes, read that again — a thousand bytes, not millions as in megabytes and certainly not billions as in gigabytes. So, eight of those are an additional 8,192 bytes over the 3,584 bytes available in a stock VIC 20. In 8-bit computing, that is a sizable amount to do some nifty programming. You can appreciate these meager numbers more if you compare it to a simple Windows cursor file in C:WindowsCursors — some of those simplest of icons would challenge the VIC 20’s ability to load it into memory!
- an opening splash screen (top)
- a gaming options menu (left)
- one or two player mode
- choice of arcade maze run: original Pac-Man or progression through the four Ms. Pac-Man mazes (sample of the first one below)
- starting fruit level
- pressing the STOP key aborts the current game in progress; at the menu, it returns the machine back to BASIC
A bonus feature was the inclusion of auto-detection code for the presence of a Mega-Cart. If this cartridge is plugged in, the game’s high score will be saved to its NVRAM, allowing its persistence to be retrieved by future games to try to beat. Cool!