I stopped developing for the Commodore 64 in 1993. Since then a lot has happened:
Back in late 80’s ~ beginning of 90’s:
- I did all my coding using the Commodore 128’s MONITOR command
- That means no text editor, no compiler, no linker. Similar to the debug.com command that used to be in DOS
- Since I didn’t use a text editor, I put all my comments in a notepad (I still have that notepad somewhere)
- I used the Commodore 128’s SPRDEF as the Sprite editor
- I used my own character editor called vchar… (later I created a similar one for DOS and Linux)
- I did some basic graphics using a graphics editor… but I can’t remember which one
- I didn’t know any other C64 developer, so I did everything kind of isolated
- My sources of information were Commodore Magazine, Tu Micro Commodore and some books
- I reversed engineer some games / demos in order to learn tricks
- I had a 300 bps modem but I didn’t find any good C64 BBS
- I did some cracks for a local company that was “publishing” (AKA pirating) games. In exchange they were providing me games. To put things into perspective it was impossible (I mean IMPOSSIBLE) to get original games in Argentina back then.
- I knew some basic tricks like how to use more than 8 sprites, how to open the top and bottom borders, some raster effects… but nothing very advanced.
- I loaded all my programs / games using the disk drive, which was much faster than the datasette, but still very slow
- I had a fast-loader cartridge to accelerate the disk drive loading times. It also had a rudimentary MONITOR.
- Although Argentina was using the PAL-N standard I had a NTSC Commodore 128. In Argentina we also had the Argentinean Commodore, called Drean Commodore, which was a PAL-N machine assembled in Argentina
And now, in 2015:
- You have different cross-assemblers like:
- And native assemblers like (the native assemblers were available back then, I simply didn’t know of their existence):
- Many editors like:
- CharPad (a level editor using characters for Windows. Works with Wine)
- SpritePad (a sprite editor for Windows. Works with Wine)
- HermIRES (a PC/Mac/Linux graphics editor)
- GoatTracker (a music tracker)
- You even have complete IDEs like:
- Cross-crunchers (compressors) like:
- All the existing C64 tricks are documented here (if it is not there, then it doesn’t exist):
- How to open the side borders
- Sprite multiplexers
- 3d effects
- and much much more
- Many tutorials. A good place to start is here:
- All books and magazines from the old days were scanned and are available here:
- Active community:
- Lemon64 (English)
- Commodore Mania (Spanish)
- An active demo scene:
- New games… yes people are still releasing new games for the C64, and selling them!
- Even recent popular games were ported (demakes) to the C64:
- Canabalt (C64nabalt)
- Super Crate Box (Super Bread Box)
- Super Hexagon (Micro Hexagon)
- Cartridges that support loading games from SD memory cards… no more disk drives or datasettes. These cartridges act as fast loaders among other things:
- Great Emulators (they emulate everything, including VIC bugs, undocumented opcodes, etc.):
- Multi system TVs… (one TV both for PAL and NTSC machines)
- And probably many other things that I’m forgetting
As a reminder, the Commodore 64 was released in 1982! It is impressive all the things that can be done in a 30+ years old computer!
What I’m doing right now is to code a Unicycle game for the C64. I noticed that I needed a good map editor (CharPad is a very good one, but it doesn’t look good on the Mac), so I started one called VChar64. I can re-invent the wheel as many times as I want since I’m doing this for fun :). I’m also documenting my c64 discoveries here: c64-tips-n-tricks. I might never finish this game, since time is very limited. But for me, the goal is to enjoy the ride.
Also, my development environment is:
- Cross-Assembler: KickAssembler
- Cross-Cruncher: Exomizer
- Text Editor: Vim with KickAssembler syntax highlighting
- Emulator: VICE
- Commodore 64 PAL + Turbo Chamaleon + PC monitor
- Commodore 128 NTSC + 1571 disk drive + Commodore 1802 monitor
Stay tuned for more c64 news!
7 thoughts on “Coding for the Commodore 64: What changed in the last 25 years”
Hey Ricardo, that’s a great article, which I added a post on my site. I hope to read more of your experience about Commodore development soon. We are looking for materials like that to be hosted as a sub-blog at http://www.vintageisthenewold.com. If you are interested and add your C64 related posts there as well, let me know.
@pgarcia: Thanks. Sure, let’s keep in touch. I don’t have too much time to blog about what I’m doing, but every now and then I write something.
My development Environment for creating ‘Phase Out’ was:
Development IDE: CBM Prg Studio 2.4 for Windows
Graphics: Pixen and ProjectOne
@Ernst: Congratz for Phase Out. Nice game!.
And yes, I forgot to add CMB Prg Studio to the list of IDEs… (and I forgot WUDSN IDE as well).