The system software of the Commodore 64 has been extensively reverse-engineered. Next to disassemblies of the ROM, several “memory maps” have been published: tables that document system variables in the first kilobyte of RAM, and how to tweak the system software with
POKE. Now, I’m presenting the Ultimate C64 Memory Map: A C64 memory reference that shows eight sources side-by-side.
I recently got involved in the Commander X16 project. I would like to give an overview of the project and the vision behind it from my perspective.
The monitor built into the Final Cartridge III is one of the best ones for the C64. Some of its unique features are:
An unmodified Commodore 1541 disk drive cannot transfer the raw bits of a whole track to the computer it is attached to: The Commodore Serial Bus is too slow to transmit the data in real time as it arrives from the read head, and the drive only has 2 KB of RAM, which is not enough to buffer the 8 KB of a whole track.
My side-by-side C64 ROM disassembly/commentary page has been completely redone!
You might think the DOS ROM of the Commodore 1541 disk drive has been analyzed to death. But here are two new resources:
Most Commodore 64 users had a 1541 disk drives, but there were always also third part options. Most of them claimed full 1541 compatibility, which sounds impossible without using the same ROM. Let’s analyze the ROMs of some third party drives!
Over the years, the ROM source code of many Commodore computers and peripherals has appeared. I have been collecting them in a git repository here:
The Commodore Datasette recording format is heavily optimized for data safety and can compensate for many typical issues of cassette tape, like incorrect speed, inconsistent speed (wow/flutter), and small as well as longer dropouts. This makes the format more complex and way less efficient than, for example, “Turbo Tape” or all other custom formats used by commercial games. Let’s explore the format by writing a minimal tape loader for the C64, optimized for size, which can decode correct tapes, but does not support error correction.