C64OS.com began as my outlet to blog about my adventures learning to code in 6502 and the progress I am making towards the development of an operating system called, simply, C64 OS.
After writing 30 blog posts, I realized that great posts about key topics quickly get buried beneath newer posts about topics that are less important. I needed a way to float the good ideas to the top. Additionally, I have wanted since the beginning to use the site as a way to recommend Commodore compatible peripherals and expansion hardware to new and returning users. When I returned after my several year hiatus it took a long time to gradually stumble upon all the great projects that are available for purchase. But it was hard to find a place to squeeze in that information such that it could be reliably found. I also realized that besides a tiny 10pt byline, there is nothing on the site that talks about who I am and what my history is. And lastly, I am working on my own C64 hardware project, a Commodore 64 all-in-one luggable. I intend for it to run C64 OS, but it will also make it easier for me to bring a C64 to where my friends are, to encourage them to play some rounds of shotgun with me, or enjoy some great demos. Well, I need a place to show this project too.
Every Commodore 64 comes with a built–in operating system. But it doesn't have a unified marketing name, and it hasn't changed significantly in nearly 35 years. The C64's operating system is made up of two ROM chips on the motherboard. These are, the KERNAL rom and the BASIC rom. Each chip occupies 8 kilobytes of space for a complete OS in a grand total of 16k. 1
It's sometimes hard to notice that this is an operating system, because they are so tightly integrated with the hardware that it just feels like the way the machine works. In fact, these two sets of code work beautifully together to implement all of the user experience when the C64 is first turned on.
The KERNAL provides much more than just low–level access to I/O devices. The KERNAL implements the C64's screen editor. This is what enables keypresses to produce text on the screen. The fact that the cursor moves one place to the right after each character is typed is implemented by the KERNAL rom.
PETSCII is a variant of ASCII used by Commodore 8-Bit computers. I often wondered why Commodore bothered to use a proprietary text encoding. The answer is because of the way the KERNAL works with the keyboard and the screen editor, and the way the character rom works with the VIC-II's video modes, and how BASIC interacts with the KERNAL. These components all come together in a tight and beautiful package that we're all familiar with as the C64's blue screen of life.
The problem is that many of the basic assumptions from 35 years ago about how a computer should work are woefully insufficient for a modern computing experience.
The primary design goal of C64 OS is to be true to the hardware. This means to work with it, the way the hardware wants to work. Not constantly fighting an uphill battle slowing the machine down trying to get it to do something it's not designed for.
First this means C64 OS is not pre–emptively multi–tasking. It is unashamedly unitasking. And second it is not attempting to ape the structure or the interaction model of any other operating system. C64 OS is not a unix clone, nor is it a Windows or Mac OS clone. It is an experience that feels like it belongs on a C64.
The goal is to provide a consistent user interface model against which applications and utilities can easily be written. C64 OS tries to get out of the way as much as possible, while providing modern amenities to help write more powerful, more capable and easier to use programs.
C64 OS is written 100% in ASM and prioritizes its goals arounding making the C64 feel fresh, fast and responsive.
The C64 is awesome, but one of the things that makes it so awesome is that there is a vibrant community of hardware expansion options. C64 OS is designed to work with as minimal hardware as possible, a C64, a 1541 disk drive and a 1351 or compatible mouse.
But the power comes in getting a few nice add-ons to bring your C64 into the
21st century.

A Commodore 64, of course.

A Commodore 128, is a great alternative.

A 1351 Mouse

A MicroMys 4 adaptor about
If you're not lucky enough to have a 1351, the MicroMys 4 adaptor is
available from Individual Computers for a very reasonable price. It'll convert
a standard PS/2 mouse into a 1351 compatible.
close

A JiffyDOS 64 ROM about
JiffyDOS is a fairly old product, but it should be considered an absolute essential
on every C64. It is installed internally, replacing the default KERNAL rom. Which
means it's not a dead simple plug in the back. But its compatibility and complete
integration are worth the effort. It adds a permenant DOS wedge at the READY prompt,
and when paired with drives that also support JiffyDOS it dramatically increases
the speed of IEC serial transfers.
JiffyDOS is available from Retro Innovations
for $20. It's a must have.
close

A uIEC/SD Drive about
A 1541 might be traditional, but the uIEC/SD is hard to beat. It lets you use a
standard SD card as a mass storage device. The uIEC feels like using a CMD HD,
except it costs a whole lot less, is much more reliable, quieter operation, and has
the benefit of being able to pull the card and plug it into your Mac or PC to
transfer data.
If you want to hook it up externally, no soldering required, get the optional
Deluxe Daughtercard. If you're adventuresome, good with your hands and want to save
a few dollars, you can skip the Daughtercard and mount the uIEC/SD inside the C64's
case.
Best yet, they're readily available from Retro Innovations
for just $60, Deluxe Daughtercard included.
close

1GB SD Cards about
Once you have a uIEC/SD Drive, the SD card becomes the new floppy.
SD cards are extremely common. A 1GB SD card costs less than $3 on eBay. And you
can buy them in lots of 10 for even less, each with a protective case. They come
pre-formatted for use on a Mac or PC, but that means they're preformatted for your
C64 too!
1GB on a C64 is a huge amount of space. But having several gives you the
flexibility to configure different working environments for your 64. You can
dedicate a 1GB card just for C64 OS, so it can liberally use temporary storage as
memory swap space, and more.
close

A 64NIC+ Ethernet Cartridge about
The 64NIC+ is a 10-Mbit ethernet cartridge, compatible with RR-Net. It already has
a variety of interesting software projects that make use of it so you can play
around with it right away. But it is going to play a central role C64 OS's mission
to make a C64 useful again.
RS-232 cartridges like SwiftLink or Turbo232 were once essential pieces to hook up
a fast modem and get your 64 on the net. But that was a long time ago, and modems
are dead. An ethernet cartridge is the new RS-232 cartridge. It's your ticket to
internet access on your C64.
These are available from Retro Innovations
for a very reasonable $55, including a case. Although you have to put the holes in
the case yourself.
close

An S-Video Converter about
The one shown here is a mini Portta Video Converter. It's very small, powered via a
USB cable which you can connect to any USB charger. It has two selectable inputs,
either composite video via one RCA jack, or mini-din S-Video. Newer C64s and C128s
output S-Video via two RCA jacks. But you can either buy or make cables that will
join these into a standard S-Video jack.
The video converter outputs 25-pin VGA. This very small, inexpensive converter
allows you to hook up your C64 or C128 to a myriad of more modern displays. Big and
small, light weight, wall mountable, you name it. There are many converters like
this one available at a range of prices and qualities. But, you do not need to use
a traditional Commodore-compatible 13" CRT monitor.
close

A Video to S-Video Cable about
While you're busy buying an S-Video to VGA converter, you may have noticed that your
C64 has two RCA cables that carry the Luma and Chroma signals, rather than a S-Video
jack. The C64 outputs S-Video compatible signals, but S-Video packages these two
signals via a single cable with a mini-din connector.
You can make one of these cables yourself. But why not grab one off eBay
for about $18 instead? I think these cables are handmade, but they're reliable and
professional at a very reasonable price.
close