Welcome to the Commodore programming area of the Modern C64 site!

I’ve been reviewing many different resources for programming on the Commodore 64 over the last few years and it has been a super-nostalgic experience for me, digging into a variety of sites and materials and discovering that a very large community still exists. This amazing support for the classic system (and all of the Commodore line of systems) has kept it alive, pushing it’s boundaries, and taking it to new places. Along with the huge surge in retro gaming over the last decade, we are at an interesting point for retro gaming, ON retro platforms. Part of the reason for this site is to scratch the itch that I’ve had now for many decades, to create my own retro computer game! But now I have the opportunity to take things to the next level and build it on the original system, or at least something like it – emulated or otherwise. My preference has been to use C64 Forever Plus edition (Vice-based) and The C64 “Maxi”, a full-size replica of the breadbox system originally released in 1982.

When I was younger, I had subscriptions to Ahoy! and Compute!’s Gazette magazines and I can recall typing in basic and machine code utilities and games, and having a feeling of accomplishment in the end — I had just given the computer some instructions and made something from nothing — and now I have this new tool to use or game to play! But, this was code that someone else had written. While this was fine, it wasn’t an original creation. I had taken a little time here and there to work on some of my own games in Basic but felt that machine language looked too complex and I just didn’t quite get all the was typing in. What I didn’t realize at the time — I was typing in the final product of a compiled machine language program. This wasn’t assembly language that was being typed, but instead the product of raw, native bytes following assembly, something the reader could enter into memory. So, I had a bit of a misunderstanding of how code was interpreted or compiled.


I eventually became a programmer in the late 90’s, coding primarily in C and Visual Basic, but I had never really taken the time to create my own programs on the C64/C128. I think this was because I had been ignoring sections in the magazines on how to code in machine language. My child-brain gravitated toward the awesome new games that I could play for free as long as I had bug-free code in front of me. Entering the code could be a challenge, and both magazine publishers provided programs (MLX and Automatic Proofreader in the case of Compute!’s Gazette) to be used for typing in code with checksums provided, so there were fewer errors. One had to have faith that the code printed in the magazine was error free and that wasn’t always the case. That said, more often than not everything was fine or the errata section in the next issue smoothed over any final bugs that didn’t make the cut in the prior month’s issue.

Again, there’s clearly been a new surge over the last decade in making modern games for Commodore computers! The tools and development environments available for programming are getting better and easier to use on modern (mostly Windows) systems. Toolsets like C64 Studio and 8-bit workshop. I’ll delve into these along the way. What we’ll do in this series of posts:

  1. We’ll start with Richard Mansfield’s first Machine Language tutorial from July 1983 issue of Compute!’s Gazette and continue through the series and learn all the things.
  2. Start out by using a C64 emulator (either VICE or full-on C64 Forever) to go through the code experiments and tutorials, along with bulleted explanations of the pages from the magazines.
  3. Use the tools from the articles for code entry and compiling assembler code.
  4. Attempt to work modern tools into the run-through of each of the Compute’s Gazette articles.

Leave a Reply

Your email address will not be published. Required fields are marked *