C64 OS USER'S GUIDE
Chapter 2: Installation
This chapter discusses the minimum and recommended hardware requirements to run C64 OS. In addition to original 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.
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 are available for purchase. IDE64 has only just become unavailable due to world-wide components shortage, hopefully this will be temporary. Both of these device 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* **
* 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. Check out the Commodore 8-Bit Buyer's Guide for a wide range of mass storage devices commercially available for the C64.
** 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.
An Epyx FastLoad Reloaded cartridge or other speedloader that SD2IEC supports is a practical requirement for reasonable load times.
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, C64c, Ultimate 64, C128 or C128D computer
- A 1351 mouse or compatible adapter
- An IDE64, SD2IEC, CMD HD or RamLink
- JiffyDOS KERNAL*
- A 17xx REU or compatible
- A ZiModem WiFi Modem (support coming in the future)
* An Epyx FastLoad Reloaded cartridge or other speedloader that SD2IEC supports can be used as an alternative to JiffyDOS, but C64 OS boots nearly 2X as fast with JiffyDOS as it does with FastLoad.
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
- VICE version 3.5 or greater
Make a Backup
A commercial copy of C64 OS ships on an SD card called the System Card. If you have a Mac or PC, you should make a backup of the contents of the System 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 — OpCoders Inc.
About .P00 and .S00 File Wrappers
There are two copies of C64 OS on the System 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. See Appendix I: C64 Tools → Car Search.
The copy already installed on the System 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 make it easy to transfer the whole system to an IDE64 or CMD device, where it 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
- Installation on IDE64
- Installation on CMD HD or RamLink
- Installation on VICE
- Installation on 1541, 1571, 1581, Pi1541, 1541 Ultimate, Ultimate 64, etc.
Installation on SD2IEC
If you have an SD2IEC and you want to use it as your C64 OS system drive, the System Card comes 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.
If this installation has not yet been set up, the C64 OS Setup Tool is loaded and run automatically.
C64 OS is already installed on the System Card, but the booter needs to be set up for the correct device #, partition # and system directory name. Press "c" to set up the 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".
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.
Understanding SD2IEC Blocks Free Calculation
The C64 OS distribution System Card has been divided into two partitions, each formatted with the FAT16 or FAT32 file system. The cluster size on the System Card is 512 bytes. This is two times the 256-byte block size that is standard on Commodore disk drives and CMD storage devices.
SD2IEC reports blocks free as the number of available 512-byte clusters. But the block size of a file in the directory listing is in Commodore standard 256-byte blocks. This can lead to some confusion. It is important to be aware that these two numbers are not in the same units.
Installation on IDE64
The System Card contains two copies of C64 OS. One copy is already installed on the System Card, ready for use on the C64 with an SD2IEC. The second copy is in the form of an installation archive file and the installer tools.
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 System 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.
This runs the C64 OS Setup Tool.
Press "f" to begin a fresh installation.
Press RETURN to accept the default device # which is the device that was used to load the Setup Tool.
Press RETURN to accept the default device #. Press RETURN to accept the default partition # and proceed with the installation. The default device and partition numbers are autodetected as the current device and partition when the Setup Tool was loaded.
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 System Card contains two copies of C64 OS. One copy is already installed on the System Card, ready for use on the C64 with an SD2IEC. The second copy is in the form of an installation archive file and the installer tools.
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 are installing to a virtual CMD HD via VICE, be sure to review the Installation on VICE instructions first. These instructions guide you to the point of having copied the C64 OS installation files to the virtual CMD HD.
If you do not have an SD2IEC or IDE64, and you're not using VICE, 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 System 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.
This runs the C64 OS Setup Tool.
Press "f" to begin a fresh installation.
Press RETURN to accept the default device #. Press RETURN to accept the default partition # and proceed with the installation. The default device and partition numbers are autodetected as the current device and partition when the Setup Tool was loaded.
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
C64 OS is able to run on almost a stock C64, but requires a storage device with support for native subdirectories. VICE emulates a C64, so the only additional requirement is for VICE to have access to a storage device, real or emulated, with support for subdirectories. VICE version 3.5 added support for the CMD HD.
C64 OS ships as two bundles. The Starter Bundle (16 MB System Card) contains the installation archive and tools that can be used to install C64 OS on a real CMD HD or to a virtual CMD HD that has been created, configured and partitioned under VICE. The Standard Bundle (64 MB System Card) contains a pre-configured CMD HD hard drive image, with two partitions, and C64 OS has already been installed.
VICE instructions come in two tutorials: Simplified and Advanced.
If you're following the advanced instructions, after the installation archive and tools have been transferred to the hard drive image, installation proceeds in the identical manner to the instructions given above for CMD HD.
The instructions also cover configuring a virtual 1351 mouse as the C64 OS input device.
Simplified: Set up VICE with a pre-configured CMD HD hard drive image
Advanced: Set up VICE for CMD HD and configure a hard drive image from scratch
Installation on 1541, 1571, 1581, Pi1541, 1541 Ultimate, Ultimate 64, etc.
C64 OS is able to run on almost a stock C64, but requires a storage device with support for native subdirectories. Please see minimum hardware requirements.
C64 OS cannot be installed on a 1541, 1571 or 1581 disk for two major reasons; they are much too small, and they don't support CMD-style native subdirectories. A base installation of C64 OS is around 2MB, and consists of over 1000 files organized in more than 50 subdirectories.
A trimmed down version of C64 OS could be installed on an FD-2000 disk, but only by judiciously excluding drivers, libraries, Applications and Utilities that come in the base installation but that are not strictly necessary.
A Pi1541, 1541 Ultimate, Ultimate 64's built-in drives, and other similar solutions are modern replacements for legacy floppy disk drives. Although C64 OS can access and make use of these drives, the C64 OS system directory itself cannot be installed and run from any of these storage devices.
About the 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 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 more information about the system directory, see Chapter 8: File System → System Directory
During installation and set up three other files must be in the root directory; the installation archive (restore.car), the installer program (c64restore) and the installation setup program (c64os setup). After installation is complete, clean copies of "c64os", "c64restore" and "c64os setup" can be found 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 set up is complete you can scratch (delete) these three files from the root directory.
Filename | Purpose | Notes |
---|---|---|
restore.car | Installation archive file. | May be scratched, if backed up. |
c64restore | Installer program. | Can be scratched. A backup is found in //os/c64tools/ |
c64os setup | Installation setup program. | Can be scratched. A backup is found in //os/c64tools/ |
The booter knows where C64 OS is installed
The booter ("c64os") is a self-modifying BASIC program. In its initial or clean state it assumes that C64 OS has not yet been installed, so it automatically loads and runs the C64 OS Setup Tool. The Setup Tool auto-detects the device # from which it was loaded, and auto-detects the current partition # from which device it was loaded. The default system directory is filled in as "os" because that is what the installer creates.
After accepting the auto-detected 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.)
Without JiffyDOS:
load"1//:c64os",12
With JiffyDOS:
↑1//:c64os
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. And yet, the booter will still successfully boot C64 OS. This robustness is intentional, and it is possible because the booter has explicit knowledge of where C64 OS is installed.
How to change the 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. If you've already scratched the original Setup Tool, it is not necessary to copy it to the root directory, it can be loaded and run from the c64tools directory.
To do this, change to the partition where C64 OS is installed, then load and run the Setup Tool, like this: (specifying the correct device #, partition # and path for your installation location.)
Without JiffyDOS:
open15,8,15,"cp1":close15 load"//os/c64tools/:c64os setup",8 run
With JiffyDOS:
@cp1 ↑//os/c64tools/:c64os setup
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:
Without JiffyDOS:
open15,8,15 print#15,"cp1" print#15,"cd//" print#15,"r:os1.2=os" close15 load"//os1.2/c64tools/:c64os setup",8 run
With JiffyDOS:
@cp1 @cd// @r:os1.2=os ↑//os1.2/c64tools/:c64os setup
When the Setup Tool asks you for the system directory name, type in "os1.2". The Setup Tool takes the details you specify, confirms that an instance of C64 OS is installed there, then 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.
For more advanced installations, such as how to install multiple copies of C64 OS for different versions or configurations, see Chapter 8: File System → Multiple Installations
Next Chapter: Configuration and Settings
Table of Contents
This document is subject to revision updates.
Last modified: Oct 06, 2022