How were Commodore 64 games developed?

Started by
24 comments, last by Zlodo 11 years, 5 months ago
Commercial software for the C64 tended to be pure assembly code. Obfuscating basic wasn't really viable and the programmers were able to squeeze alot more out of their hardware in assembly. When you have tiny floppy disks it makes more sense to store the data in binary format rather than in plain text for the basic interpreter.

As for images, again, resource constraints it wasn't exactly viable to save an image file and stick it somewhere, the filesystem itself would take a little too much space. They tended to be hardcoded graphics.
Advertisement

Today some game are still developed for it (selfsell: Look at my journal, I'm building a game in several steps here)
It's way easier today with all the cross assemblers and information on your fingertips.

(selfsell2: I also recommend C64Studio, a Visual Studio like IDE, that attaches to WinVICE to allow debugging)


Nice Cthulhu reference in your sig :-)
But isn't the unholy one using pure DirectX call instead of SDL?
My blogs:

http://www.osrebel.com <-- En Français
L'information libre et la joie d'apprendre

http://www.osrebel.com/english <-- English Version
Free information and the joy of learning

I reckon the first few years of the C64's life games were written on the C64 itself, but then written on a more powerful machine in its later years such as the Commodore Amiga. Just a guess though...


Dos based PCs were used on a few commercial games. Retro Gamer magazine (http://www.retrogamer.net/) has had several articles dealing with commercial C64 game development.

The most common way was on the C64 though. PCs were expensive, and a lot of games were developed by "bedroom coders" as contractors.

Check out Super Play, the SNES inspired Game Engine: http://www.superplay.info

In the beginning of the C64 there were only two available methods of writing your programs. Use the embedded basic and/or the Commodore Macro Assembler which was purchased separately. Many games were written with a combination of the two items where basic was used as a "script" language and time critical code was written in assembly and loaded in the free memory just above the basic interpreter ROM but below the kernel ROM. If I remember correctly the memory was 32k of free memory, minus 0 block of 256 bytes for optimal CPU usage and another 768 bytes of OS/Basic usage so all "effective" memory started at 1024. (I think it may have been 2048, can't remember positively.)

Anyway, eventually other assemblers were made available, languages, etc. But most of your most memorable games probably used the Commodore supplied tools because they were solid and simply worked.

Of anything which I remember of my days on the C64, the only one which stands out anymore: Hex EA == NOP instruction on the 65x series chips. As many times as I've worked for EA (they pay REALLY well), that's pretty much appropriate, NOP. :)

If you want further details of C64 dev, let me know, I can probably even dig up some old 6502 assembly source files assuming they are readable after all these years.
A few people still code C64 games and demos as personal challenges.

Some tools:

http://www.cc65.org/
http://www.1541ultimate.net/content/index.php
http://6502.org/tools/asm/
http://www.8bitventures.com/mssiah/

This company still publishes C64 software:

http://www.psytronik.net/main/index.php
For people curious about the 6502, here is a very impressive web-based transistor level simulation of a 6502:
http://www.visual6502.org

This topic is closed to new replies.

Advertisement