Well hello there! If you are looking to get up and running writing computer programs in machine code on your Commodore 64, you’ve found the right blog post! In fact, this is something that I’m trying to learn myself at the moment, and I’ve been having somewhat of a hard time getting to “hello, world.”
So here are the three key pieces of information that I’ve discovered thus far…
- THE COMMODORE 64 MACRO ASSEMBLER DEVELOPMENT SYSTEM is the name of the official assembler program from Commodore for the C64. There are other assemblers out there you can try as well, but this was the actual assembler that Commodore put out for people to be able to write machine language programs for their machine. However, if you happen to read Commodore’s Commodore 64 Programmer’s Reference Guide they call it something else in that book. So don’t waste your time looking for the 64MON Assembler Cartridge mentioned in that book. I personally was never able to find any of these cartridges on eBay, and had trouble finding any information at all regarding 64MON. However, I found plenty of information regarding THE COMMODORE 64 MACRO ASSEMBLER DEVELOPMENT SYSTEM so I suggest using it instead of hunting for the mysterious 64MON Cartridge.
- An assembly language aficionado I discovered on YouTube advised that the Commodore 64 Programmer’s Reference Guide isn’t a very good book for learning assembly language. However, I found that the beginning of the manual for THE COMMODORE 64 MACRO ASSEMBLER DEVELOPMENT SYSTEM the author(s) mention several better books for getting started with assembly-language/machine-code programming for the MOS Technology 6502/6510 microprocessor.
- And last but not least, the best book I’ve found is actually for kids: Assembly Language for Kids Commodore 64 by William B. Sanders. Most importantly his book actually talks about getting to “hello, world” using three different assembler programs.
So there you have it. Those are the three things you need to get started writing machine code on your Commodore 64. My goal tonight was to actually get to “hello, world” myself… but it’s about time for bed! But before falling asleep I really wanted to make sure to jot down this information for my own personal reference and maybe anyone else who is trying to get in to assembly language programming on the C64.
Also, I wanted to try and upload some of these old manuals here to my blog for archival/reference purposes. They are also available on Archive.org, but I figured hosting them here as well can’t hurt. (Having a little bit of trouble uploading large PDFs here to WordPress, so for now, I’ve including links below)
- THE COMMODORE 64 MACRO ASSEMBLER DEVELOPMENT SYSTEM (MANUAL)
- THE COMMODORE 64 MACRO ASSEMBLER DEVELOPMENT SYSTEM (SOFTWARE)
- ASSEMBLY LANGUAGE FOR KIDS COMMODORE 64 by William B. Sanders