Written and Maintained by Gregory Nacu

C64 OS USER'S GUIDE

Last modified: Jun 21, 2021

Chapter 2: Installation

This chapter discusses the minimum and recommended hardware requirements to run C64 OS. In addition to real hardware, C64 OS can be installed on a Mac or PC running VICE.

The installation instructions vary slightly depending on the hardware you have. This guide does not teach you how to use the features of the drives but it does make recommendations that make installing C64 OS easy.


What you need to run C64 OS

A common base configuration for a Commodore 64—such as for a game or a demo competition—is the C64 itself plus a 1541 disk drive and typically a joystick. C64 OS's base requirements are very close to this, with the exception of storage.

Minimum Hardware Requirements

The whole concept of C64 OS is built around the organization of files into a logical hierarchy of subdirectories. The 1541, 1571 and 1581 do not support subdirectories. So, while C64 OS can make use of those devices for data storage, and can help you manage the data that is on your disks, a mass storage device with support for native CMD–style subdirectories is required for the system drive.

The IDE64 and a wide variety of SD2IEC devices are commercially available today. Check out the storage section of the Commodore 8–Bit Buyer's Guide for an overview of what drives available for purchase. Both of these devices families are fully supported and can be used as the C64 OS system drive.

Although the original CMD HD and RamLink are no longer commercially available, they are fully supported. The Rear Admiral ThunderDrive, a clone of the CMD HD, is also supported. A CMD FD 2000 or 4000 is technically supported, but all of the system files and installed Applications and Utilities must be contained on a single disk. It is possible to run C64 OS from a CMD FD, but only with a stripped down version of the system directory containing a reduced set of required drivers, libraries, Applications and Utilities. This guide does not cover the procedure for installation on a CMD FD.


  • A Commodore 64 or 64c computer
  • A Joystick
  • An SD2IEC drive* **
A C64 Breadbin. A standard C64 Joystick. One of many SD2IEC drives.

* C64 OS can access all your floppy disk drives, but a mass–storage device with support for native CMD–style subdirectories is required for the system drive.

** An SD2IEC is the least expensive of the supported storage device families. But, an IDE64 or CMD HD or RamLink can be used in place of an SD2IEC.


Recommended Hardware

C64 OS extends the C64 KERNAL ROM to maintain maximum compatibility with all standard storage devices. It does not implement its own speedloader. JiffyDOS is fully compatible with C64 OS and is highly recommended because the IEC routines in the stock C64 are notoriously slow. JiffyDOS strikes a balance between performance and compatibility that makes it ideal for use in an operating system.

JiffyDOS is also commercially available, and we want C64 OS to help drive a healthy commercial ecosystem for Commodore 64 compatible hardware.

The CMD RamLink provides the C64 with a JiffyDOS KERNAL. The CMD HD and SD2IEC both implement support for the JiffyDOS protocol and benefit from its use. If you are using an IDE64 you won't need JiffyDOS. The IDE64 provides its own speedloader and is very fast on its own.

C64 OS uses a mouse and menus based interface. Although it is possible to use a joystick, the joystick is a digital input device. A 1351 or compatible mouse is an analog and proportional input device. The experience of using a proportional input device is far superior to using a digital input device, and is therefore highly recommended.

Although the 1351 mouse itself is no longer commercially available, there are numerous adapters for PS/2 and USB mice that are 1351 compatible. Check out the input section of the Commodore 8–Bit Buyer's Guide for an overview of what mouse adapters are available for purchase.


  • A Commodore 64, 64c, 128 or 128D computer
  • A 1351 mouse or compatible adapter
  • An IDE64, SD2IEC, CMD HD or RamLink
  • JiffyDOS KERNAL
  • A Ram Expansion Unit
  • A ZiModem WiFi Modem
A C128. A 1351 Mouse. One of many SD2IEC drives.
JiffyDOS KERNAL ROM Upgrade. A 1541 Ultimate II+ provides an REU up to 16MB. Link232 WiFi, highspeed WiFi Modem with ZiModem firmware.

Alternative Requirements

C64 OS can also be installed in the VICE emulator, and use VICE's support for an emulated 1351 mouse and CMD HD or IDE64.

  • A Mac or PC
  • The latest version of VICE
C64 VICE for Windows.


Make a Backup

A commercial copy of C64 OS ships on an SD Card. If you have a Mac or PC, you should make a backup of the contents of the SD Card first. Insert the card into an SD Card slot on your Mac or PC and copy all the files and directories to a folder for safe keeping.

Backups are for your personal use only. Help support software development on the Commodore 64, and don't share your backups. Developers — C64os.com

About .P00 and .S00 File Wrappers

There are two copies of C64 OS on the SD Card. One copy is contained within the .CAR file in the root directory. The other copy is already installed and ready to be run from an SD2IEC.

What is a CAR file?

CAR stands for "C64 Archive." It is a new archive format used by C64 OS that is similar to TAR used on Linux and Unix, but which encodes C64 specific file system features. Its main advantage over other C64 archiving formats is that it supports recursively archiving directory trees. This makes it an ideal format for the C64 OS installation archive, since C64 OS consists of an organized directory system.

The tool, carsearch, in the //os/c64tools/ directory can be used to view the contents of a .CAR file from the READY prompt. The carsearch tool is useful but only works on an SD2IEC, because it depends on SD2IEC's file seek feature.

The copy already installed on the SD Card consists of the booter file "c64os" in the root directory, and the contents of the "os" subdirectory. The files in the "os" subdirectory are in .P00/.S00 format. This is a wrapper format that allows files stored on a PC file system to retain C64–specific file system features such as PETSCII filenames and CBM file types.

When viewed on a C64 with an SD2IEC, .P00 and .S00 files are automatically and transparently unwrapped. However, they cannot be directly transferred from a PC or Mac to an IDE64 or CMD device because the transfer process will not unwrap them, and IDE64 and CMD devices do not natively unwrap .P00 and .S00 files. The .CAR file is used to making transferring the whole system to an IDE64 or CMD device, which is then unarchived during the installation process. The .P00 and .S00 wrappers are not used on the files within the CAR file, because CAR already encodes the the C64–specific file system features.



How to Install C64 OS

C64 OS can be installed on three main families of device: SD2IEC, IDE64 or a CMD HD or RamLink. C64 OS can also be installed on VICE. Follow the instructions for the device family you are installing to.


Installation on SD2IEC

If you have an SD2IEC and you want to use it as your C64 OS system drive, the card is already ready for use on your C64. Insert the card into your SD2IEC device.

Load and run "c64os" from the SD2IEC device. It does not have to be device #8.

Load and Run c64os.

If this installation has not yet been set up, the C64 OS Setup Tool is loaded and run automatically.

C64 OS Setup Tool.

C64 OS is already installed on the SD Card, but the booter needs to be set up for the correct device #, partition # and system directory name. Press "c" to setup the installed location.

C64 OS Setup Tool - Change Installed Location.

Press return to accept the default values for device # and partition #. Press return to accept the default of "os" for the system directory name. To confirm that these are correct and continue, press "y".

C64 OS Setup Tool - Final Option.

As the final option, press "q" to Quit to BASIC.

Although C64 OS is ready to be booted, some configuration is recommended for your specific hardware before you boot C64 OS for the first time. This is described in Chapter 3: Configuration and Settings.


Installation on IDE64

The SD Card contains two copies of C64 OS. One copy is already installed on the SD Card, ready for use on the C64 with an SD2IEC. The second copy is in the form of an installation archive file and an installer program.

If you have an SD2IEC but prefer to install C64 OS to IDE64, you can use SD2IEC to transfer the installation files to IDE64.

If you do not have an SD2IEC, you can transfer the files from Mac or PC to IDE64 via PCLink. Consult the IDE64 User's Guide for further information about using PCLink to transfer files.

Note about PCLink

If you use PCLink, you must run the ideservd server program with the -P or --allprg option. This ensures that the files transferred to your IDE64 get set as PRG type files.

C64 OS must be installed in the root directory of an IDE64 partition. Transfer the four files from the root directory of the SD Card to the root directory of the partition on your IDE64 where you want to install C64 OS. Only two directory entries need to remain in the root directory after installation is complete.

Filename Purpose Notes
c64os C64 OS booter. Transfer to root directory of IDE64 partition.
c64os setup Installation setup program. Transfer to root directory of IDE64 partition.
restore.car Installation archive file. Transfer to root directory of IDE64 partition.
c64restore Installer program. Transfer to root directory of IDE64 partition.

Note about File Types

Confirm that all four files are of type PRG on the IDE64 before proceeding. If they are not PRG type files, something went wrong and installation will not proceed correctly.


Load and run "c64os" from the IDE64 device. It does not have to be device #8.

Load and Run c64os.

This runs the C64 OS Setup Tool.

C64 OS Setup Tool.

Press "f" to begin a fresh installation.

C64 OS Setup Tool - Fresh Installation.

Press return to accept the default device # which is the device that was used to load the Setup Tool.

The partition # is not autodetected. Use the "+" and "-" keys to match the partition # in which you will install C64 OS, and in which the installation files are located. Press return to accept the partition # and proceed with the installation.

The installer program is run automatically. It states that it is opening the restore.car file, and outputs the name of each directory and file that is extracted from the installation archive.

When the installer is complete, you are returned to the READY prompt. Although C64 OS is ready to be booted, some configuration is recommended for your specific hardware before you boot C64 OS for the first time. This is described in Chapter 3: Configuration and Settings.


Installation on CMD HD or RamLink

The SD Card contains two copies of C64 OS. One copy is already installed on the SD Card, ready for use on the C64 with an SD2IEC. The second copy is in the form of an installation archive file and an installer program.

If you have an SD2IEC but prefer to install C64 OS to a CMD HD or RamLink, you can use SD2IEC to transfer the installation files to the CMD device.

If you have an IDE64 but prefer to install C64 OS to a CMD HD or RamLink, you can use the IDE64 and PCLink to transfer the installation files to the CMD device.

If you do not have an SD2IEC or IDE64, an alternative method of transferring the installation files to your CMD HD or RamLink is required. SD2IEC is probably the easiest method for transferring files from a Mac or PC to a C64. SD2IEC devices are available in a variety of form factors and price points, most are reasonably inexpensive. Even if you prefer to use a CMD HD or RamLink as your C64 OS system drive, purchasing an SD2IEC is a solid investment.

C64 OS must be installed in the root directory of a CMD native partition, with at least 9000 blocks free. Transfer the four files from the root directory of the SD Card to the root directory of the partition of the CMD device where you want to install C64 OS. Only two directory entries need to remain in the root directory after installation is complete.

Filename Purpose Notes
c64os C64 OS booter. Transfer to root directory of CMD native partition.
c64os setup Installation setup program. Transfer to root directory of CMD native partition.
restore.car Installation archive file. Transfer to root directory of CMD native partition.
c64restore Installer program. Transfer to root directory of CMD native partition.

Load and run "c64os" from the CMD device. It does not have to be device #8.

Load and Run c64os.

This runs the C64 OS Setup Tool.

C64 OS Setup Tool.

Press "f" to begin a fresh installation.

C64 OS Setup Tool - Fresh Installation.

Press return to accept the default device # which is the device that was used to load the Setup Tool.

The partition # is not autodetected. Use the "+" and "-" keys to match the partition # in which you will install C64 OS, and in which the installation files are located. Press return to accept the partition # and proceed with the installation.

The installer program is run automatically. It states that it is opening the restore.car file, and outputs the name of each directory and file that is extracted from the installation archive.

When the installer is complete, you are returned to the READY prompt. Although C64 OS is ready to be booted, some configuration is recommended for your specific hardware before you boot C64 OS for the first time. This is described in Chapter 3: Configuration and Settings.


Installation on VICE

VICE Installation Instructions Coming Soon.


Changing Installation Location

Everything in C64 OS is organized in a sensible directory tree, all contained in a single system directory. The system directory is named "os", by default, and it must reside in the root directory of its partition. Additionally, the booter program named "c64os" must also remain in the root directory.

Documentation References to the System Directory

Although the name of the system directory can be changed, be aware that path examples found throughout the C64 OS User's Guide and Programmer's Guide refer to the system directory's default name. Like this:

//os/settings/
//os/desktop/2/

For installation and setup there are three other files that must be in the root directory. These files are the installation archive (restore.car), the installer program (c64restore) and the installation setup program (c64os setup). After installation is complete, copies of "c64restore" and "c64os setup" have been put in the c64tools directory in the system directory (//os/c64tools/).

If you have made a backup—as was recommended earlier in this chapter—then after installation and setup is complete you can scratch (delete) these three files from the root directory.

Filename Purpose Notes
restore.car Installation archive file. If backed up, can be scratched.
c64restore Installer program. If backed up, can be scratched.
c64os setup Installation setup program. If backed up, can be scratched.

The booter knows where C64 OS is installed

The first time the booter is loaded and run, it automatically loads and runs the C64 OS Setup Tool. The setup tool auto–detects the device # from which it was loaded, but it cannot reliably auto–detect the partition from which it was loaded. The default is filled in as "1" because that is the most common partition #. Additionally, the default system directory is filled in as "os" because that is what the installer created.

After accepting the defaults, the device #, partion # and system directory name are embedded into the booter program itself. By design, the booter's ability to successfully boot C64 OS is very robust. For example, regardless of the current partition and directory, the booter can be loaded like this: (where the partition # and device # are specified appropriately for your installation location.)

load"1//:c64os",12

After the booter is in memory, it is possible to change to another path, partition or device number, and even to list a directory (using JiffyDOS's @$, for example) before running the booter. The booter will still successfully boot C64 OS. This robustness is possible because it has explicit knowledge of where C64 OS is installed.

How to change installation location

There are several ways that the installation location of C64 OS could change:

  • The system device # is changed
  • The system directory name is changed
  • The system directory is moved or copied to a different partition

If any of these are changed, it is necessary to load and run the C64 OS Setup Tool, and specify the new device #, partition #, and system directory name. The setup tool updates the booter with the new information. It is not necessary to copy the setup tool to the root directory, it can be loaded and run from the c64tools directory. Change to the partition where C64 OS is installed, load and run the setup tool, like this: (specifying the correct device #, partition # and path for your installation location.)

open15,8,15,"cp1":close15
load"//os/c64tools/:c64os setup",8
run

If you want to change the installation location, change the actual installation location first, then at the end use the setup tool to specify the new location details. For example, perhaps you would like the system directory name to include its version number. From the READY prompt, first rename the system directory from "os" to "os1.2", then load and run the setup tool. Like this:

open15,8,15,"cp1":close15
open15,8,15,"cd//":close15
open15,8,15,"r:os1.2=os":close15
load"//os1.2/c64tools/:c64os setup",8
run

When the setup tool asks you for the system directory name, type in "os1.2". The Setup Tool takes the details you specify and confirms that C64 OS is installed at that location before it updates the booter.

Information for Programmers

Although you can rename the C64 OS system directory and it will run correctly with an alternative name, if you plan to do C64 OS programming—on your C64—the installation against which you assemble and run your code should use the default name "os".

This is because some programming headers and macros are required to specify the full path, and for this reason are hardcoded to use the default system directory name. Further information about C64 OS software development can be found in the C64 OS Programmer's Guide.


Next Chapter: Configuration and Settings

Table of Contents



This document is continually updated.

Refer to the last modified date at the top of this document for the most recent changes.