Building and Hacking on the C64 KERNAL & BASIC with Modern Tools
The original Commodore 64 KERNAL and BASIC source code has been available for a while. It used to be built using Commodore’s assembler of a PET.
Some Assembly Required
The original Commodore 64 KERNAL and BASIC source code has been available for a while. It used to be built using Commodore’s assembler of a PET.

I happened to come across 50 original German GEOS 2.0 disks that were broken and sent in for replacement. In the first part, I covered the disks that were broken probably due to user error. Now let’s look at the read errors on the remaining disks. As it turns out, there might be a bug in GEOS that caused the boot disks to break!
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.
To my surprise, Hilaire Gagne, the author of “Anatomy of the 4040 Disk Drive”, commented on my blog post about the reconstruction of his book.

An empty ribbon of the 9-pin printer Commodore MPS 1550 C (which is mechanically identical with the Olivetti DM 105) can easily be refilled using stamp pad ink. Here is how:

The physical data format on a Commodore 1541 5¼-inch floppy disk as used by the C64 is completely defined in software. The drive’s operating system fits 170 KB on a disk. This article explores different strategies, each with its pros and cons, to fit up to 246 KB.

The Game Boy is turning 30. To celebrate this, I’m releasing the slides of my “Ultimate Game Boy Talk”, which you may use freely. (Please give credit & point me to derived content.)

Speedlink makes several versions of the Competition Pro joystick that have all the physical properties and the excellent switches of the original Competition Pro, but come with a USB interface:
My side-by-side C64 ROM disassembly/commentary page has been completely redone!

G64 files are C64/1541 disk images that contain all bits as they are physically laid out on the 5¼-inch floppy disk. Let’s visualize them!
The original Commodore TED (C16, C116, Plus/4) source code has recently appeared on zimmers.net. It is also available in my Commodore Source Code git repository.
You might think the DOS ROM of the Commodore 1541 disk drive has been analyzed to death. But here are two new resources:


In my quest to make the C16 more usable, i.e. more like the environment I’m used to, i.e. a C64 with a Final Cartridge III, I’ve ported the Final Cartridge III monitor to the TED series (C16, C116, Plus/4).
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!
The C128 source dump over at zimmers.net that appeared recently contains source for a version 2 kernel, which was never released. The known versions are 0 and 1. Let’s see whether we can reconstruct the ROM image!
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:

In the series about the variants of the Commodore Peripheral Bus family, this article covers the common layer 4: The “Commodore DOS” interface to disk drives.