Thursday, December 31, 2009

YUP Commodore 64 Demo - Introduction

Yes, it's true. The demoscene's youngest group is making a demo on the demoscene's oldest machine :) . Why, you might be wondering?

1. The C64's CPU is a MOS 6510. It's basically a 6502 but with an extra 6-bit I/O port. The instruction set for this ~1mhz tiny titan contains only 56 instructions (mostly 8-bit with some [limited] 16-bit support; as was the case with many microprocessors of its time) and very few addressing modes...not to mention a wonderful list of illegal opcodes supported by many assemblers out there :) . This is an extremely nice little processor to program.

More info on the MOS 65xx processors can be found here: http://www.masswerk.at/6502/6502_instruction_set.html

2. The color palette is completely different from most of the 8-bit computers at the time. Most of the C64's competitors used a typical "generic" 8-colors-at-two-brightness-settings sort of palette, just like in less-recent versions of MS-Paint...also like the Sinclair ZX Spectrum, whose palette can be seen here:



But strangely, when the C64's video chip (the VIC-II) was designed, they completely threw out convention and went their own unique direction for colors...well, except for black and white :) . This lovely palette can be seen here:



Thanks to the guys at http://www.retro-sanctuary.com/ for those images, by the way.

3. Well, um...I don't really have a third reason. I guess I could admit that I have a soft spot for vintage computers...but that's too cheesy, right? :)

So, yeah. We're doin' it. And no, we're not coding it for PAL machines, because I'm from the US where NTSC is the only way to go. Progress has been painfully slow, as [thus far] I've done all the development myself. This includes music, code, and graphics (if you'd even call crappy hardcoded bitmaps graphics)...though, I'm proud to say I've managed to do some nice technical things that most beginners in the C64 scene are too afraid to even attempt :) . All in all it's been a fun ride, except for music developmet. Mainly, this is because the only cross-development tracker for the C64 currently is a program called GoatTracker. Originally, it was written for DOS, and later it was ported to Windows, taking its confusing and dated user interface along with it. Maybe I'll end up doing my own someday to make this process more bearable. On the code side, I've been using Notepad++, C64Asm, and batch files for assembling. This works pretty well..though I'll most likely switch to an assembler like ACME, which supports scripting so I won't have to unroll speed-critical loops by hand. I suppose a couple screenshots for you wouldn't hurt, either:





...Nothing too impressive, really...mainly because I really didn't show you much at all ;) Not to mention that first screenshot is nowhere near finished...but I like the colors, so why not show it? :)

I suppose that's all for now. Wish us luck in finishing this beast someday :)

2 comments:

  1. Hooray for c64 demo coding.

    Boo to NTSC.

    Hooray for new blog.

    I'll be watching this blog closely for techy details mate. :)

    Voltage

    ReplyDelete
  2. Dear I'm excited for your vintage endeavors.. I like the colors
    The best it's quite interesting to get used to
    I will dominate pixel art !

    ReplyDelete