theflyingape / quikman_8k

Commodore VIC20: memory expanded version using modern 6502 assembler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

quikman_8k

Commodore VIC20: memory expanded version using modern 6502 assembler

Requires the use of 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!

With the double-buffering in place, the game play is smoother because of the flicker-free animation. But the extra address space allowed expansion of the game’s core to include:

  • 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
  • starting fruit level
  • an interlude
  • pressing the STOP key aborts the current game in progress; at the menu, it returns the machine back to BASIC

I suppose the theme for all of this is VIC 20 was different — a trailblazer for affordable home computing — and a flame should burn forever marking it as a pioneering leader in that space. So us “aging geeks” continue to pour what’s left of our diminishing IQ into a piece of hardware that has less memory than one contact kept in a cellphone — a genuine human attempt to perpetuate validation that VIC 20 could do “just about anything”, despite its handicap against that next Commodore model which ultimately made a permanent mark in history as “people” know it.

About

Commodore VIC20: memory expanded version using modern 6502 assembler

License:Artistic License 2.0


Languages

Language:Assembly 91.9%Language:C++ 6.8%Language:Batchfile 0.8%Language:Shell 0.4%Language:C 0.1%