Category Archives: Coding

Galactic Rasterbar Power

Today I am releasing a new C64 Demo: Galactic Rasterbar Power.

PRG file: Galactic Rasterbar Power.prg
Music only: Phosphor Advance.sid

screen shot

Galactic Rasterbar Power screen shot

I coded this demo in my spare time to accomplish a few goals:

  • Broaden my understanding of 6502/6510 assembly and the C64 memory map
  • Learn more about the VIC-II and how it works along with the CPU
  • Create some interesting multicolor bitmap graphics for my C64
  • Master the raster bar demo effect that I have always really enjoyed
    • And by extension, understand and implement cycle-exact code
  • Make a demo that works equally well on PAL and NTSC hardware.
  • Write some music for the SID chip, and make it work on both major revisions of the SID
  • As a bonus: make the raster bar effect look absolutely perfect in VICE debug borders.

Continue reading

And 30 years later, I coded up an intro…

30 years (ish) ago, I got my first computer: a Commodore 64.

I learned to program with it. But I stuck with BASIC while I had the C64. I always wanted to learn assembler and write super-fast and fancy games, but I just never did. I didn’t have a monitor cartridge or even know what books to use.

Anyway, I decided that late is better than never. And since OVGE is coming up in less than two months, I decided to make an “OVGE Intro” on my C64.

You can download the prg file here: ovge 2013.prg. Hopefully you have real NTSC Commodore hardware you can run it on. If not, load it up in VICE, and be sure to set the video emulation to NTSC (it defaults to PAL). Update! I did a proper PAL fix, so it will run on NTSC or PAL machines just fine! (I also corrected the music attribution; I had text from previous song I did not use.)

It’s by no means a modern-quality demo, but it has some effects I always wanted to achieve way back in the day.

Developing for the C64 today is so much easier than it was in the 80s. Using cross-development tools, all of the work was done on my Windows PC (I just used Notepad++ to write the assembler code and ACME to build it) and testing was done in VICE. Of course, I put it on a real C64 for viewing the best results.

Here is a quick capture I did and uploaded to YouTube. Unfortunatly, it is not smooth in this video, though it runs perfectly on the real thing.