Creating My C64 Development Setup

After “saving my work” based on page 20 of the Commodore Programmer’s Guide in this smartphone image,

Told my wife I “saved” this and she didn’t get the joke lol…

I am definitely looking forward to having a real storage device for my Commodore systems! It’s kinda handy to be able to save stuff, but I will get there eventually I am sure.

Beyond that, for writing software using the Commodore 64, I don’t really need anything else. However, there are a few minor things that I want to get to dramatically improve and expand the experience. For the sake of clarity, I will list and describe each part of my setup!

Commodore 64C
I chose the Commodore 64 model C over the other Commodore machines for a number of reasons, such as:

  1. PETs are way too expensive for me!
  2. 22 column display… sorry VIC20, but I gotta have more!
  3. The C16 is usually cheaper than C64s and it comes with an improved version of BASIC, but it has other shortcomings that make the 64 a better choice.
  4. The 128 has too many options and rabbit holes for me to fall into and get distracted by, while also having more hardware to go wrong.
  5. Finally, the model C is more ergonomic than the “breadbin” style 64, which is important for long term use.

Sure I would love to sit at a PET and program character graphics games in BASIC 7 on a green screen in true “I was still in the womb when this thing was new” fashion, but I just can’t afford to get and upgrade my desired 80 column PET. So, I will happily live with making games and other software on the 64 instead!

I like the 64 over the 128 for it’s focus – it’s only one machine, with one set of abilities and that lets me focus on learning and using all of those abilities. Absolutely, I would prefer to program in 80 columns, but at the end of the day programming on a 40 column display isn’t so bad. I mean, it could be the 22 columns of the VIC20, right? 🙂

The graphics and sound capabilities, especially the hardware sprites, are also a nifty aspect of the Commodore 64 that I look forward to using. As far as what is out there, in my opinion it’s really an ideal development platform for the average person who enjoys this sort of thing.

Monitor: Old Samsung 19″ 4:3 LCD TV
First of all, the answer to the question, “Why this particular model of television?” is, “because it was only $20 and it works!”. My desk space is limited and I want as little crap and wires cluttering it up as possible, so this TV is perfect in that regard. It allows me to use the composite or s-video input for the Commodore 64 and the svga input for my Compaq Deskpro DOS/Win98 desktop. Is it ideal? Nope. Will it suffice? Absolutely! Also a bonus is that it’s a TV, so it has built in speakers. It’s also large, which is fantastic for my old-man eyes!

Disk Drive: SD2IEC
An SD2IEC device is an SD Card to Commodore serial port device, which is essentially a standard SD card reader that works on most Commodore computers. These are ideal for content creators, as even a super old 16MB SD could hold hundreds of BASIC files! More than that though, an SD2IEC is able to host whole disk images and it is compatible with some fast loader cartridges that are used to speed up the loading time of programs. What this means for me is that it will be easy to back up all of my programs to Google drive and to share my BASIC code on GitHub by simply sticking the SD card into my Chromebook or my desktop PC. Heck, I could even keep an “off site backup” on an SD card in my back shed or attached to a kite or something… 🙂

Epyx FastLoad Cartridge
Perhaps the most popular of the disk read speed enhancing cartridges of yesteryear, this puppy will load programs about 5 times faster even using the SD2IEC! Conveniently it also has a machine language monitor built in, though it does lack some features that may prove useful in the future.

Commodore BASIC 2.0
For the time being, I am going to be working within BASIC. Once I have a firm grasp of the architecture, I will move into including machine language within my BASIC programs.

Simons’ BASIC
This extension to Commodore BASIC, created by 16 year old David Simon in 1983, adds a wide variety of functionality that will be helpful when creating more advanced BASIC programs. The down side of using these extension is that they require the user to have the Simons’ BASIC cartridge as well. However, in today’s age of SD card readers, custom cartridges, and apathy towards ancient copyrights, this isn’t really much of a concern for me – If I make something cool that requires Simons’ BASIC, people will find a way to use what I made. Personally, I would like to obtain a real cartridge (and manual!) though.

Macro Assembler Development System
Created by Commodore in 1982 and available on www.lyonlabs.com, this Assembly language suit of software will likely be what I use to create professional-style games on the C64. I don’t have any experience with the software, nor have I programmed in Assembly or Machine language, so there is the possibility that I will use a different program for this when I get there.

Lumafix
Lumafix is a basic hardware mod that helps clean up the video out of the VICII chip. It’s primarily used to remove the vertical lines present on many 64s, especially model C’s like mine. It also clears up s-video signal issues that effect LCD displays. Breadbox64.com has a detailed review. If you have a look at the before and after images, it will be clear to you why I want this mod: Text is WAAAAAY easier to read and as a programmer, I will be reading a lot of text!

EasyFlash Cartridge
Eventually I will complete a game that is worthy of being sold on a cartridge, so I think it would be great fun to have one of these EasyFlash carts that, amongst other things, make it very easy to create your own bootable cartridge.

Linux Desktop / Chromebook
All of my documentation and sharing with the outside world is accomplished using GNU/Linux or ChromeOS, because it’s really the best tool for the job. Sure, I could hook the C64 up to the Internet, but that’s really more trouble than it’s worth and my intention is not to use the C64 as my main computer, but as a tool for creating content, kind of like a sewing machine really. So, I will be writing about my creations and posting said creations using my Chromebook for the most part, as I don’t really need to fire up the big o’l desktop for that. I’ll also be using VICE to test any important software in the emulator before publishing it.

Windows Desktop
Technically the same physical piece of hardware as my Linux desktop, my Windows desktop may occasionally be used for access to CBM.prg Studio, a modern Commodore 64 programming IDE created by Arthur Jordison. While this awesome software can be used to greatly simplify the production of games for the Commodore 64, it makes the process feel pretty much the same as making any other software on a modern PC. Indeed, that’s the whole point. I don’t plan on using this software much, if at all, because it bypasses the part of making software on the C64 that I like – actually using the C64 to make the software, like we did in the past! That said, it might be handy for creating sprites – we’ll see! At one time I did consider forging real Commodore hardware just using CBM.prg Studio with VICE, but I figured if I was going to use my PC to program, then I may as well just program for the PC… So real hardware, real software for that hardware, and everything that entails it is for me!

Conclusion
At this time all I have is the C64, the monitor, and the Epix Fastloader cartridge, but in time I will acquire the other pieces – first of which will be an SDC2IEC drive when we can afford one (the low value of the Canadian dollar, combined with shipping and duty charges, more than doubles their price for me). The LumaFix will help my old eyes significantly and it should be duty-free due costing less than $20, so that is nice. The EasyFlash and Simons’ BASIC cartridges will remain optional parts of my development arsinal for at least the remainder of 2018 on the other hand.

I look forward to seeing how all of these plans and preparations play out as I gain more experience programming on the Commodore 64; I’ve done a lot of research, but I can’t tell the future!

Take care and thanks for reading!

My eldest daughter, Neillia, programming in the Semi-Nerdly Command Center just like me!

Note: I am NOT affiliated with any product or service linked from this page. The links are provided for your convenience.