Chapter 11: Glossary of C64 OS Terminology

The following is a list of terms used in C64 OS. Each term is accompanied by a brief explanation of its meaning, and many terms are cross linked to related terms.

Glossary Icon.


1351 mouse - A 2-button proportional mouse for the C64 and C128, released by Commodore in 1987. Supported by C64 OS with the correct pointer driver. (See also, driver, pointer.)

1541 Ultimate II+ - A multi-purpose oversized cartridge produced by Gideon's Logic. Provides many features, such as a 17xx REU (upto 16MB), GEORAM, Alternative KERNALs, and up to 2 highly compatible disk drives (1541, 1571, 1581) which backend on disk images stored on modern media. (See also, disk image, 1541/1571/1581, RAM, GEORAM, KERNAL, REU (17xx).)

1541/1571/1581 - Legacy floppy disk drives produced by Commodore. The 1541 uses single-sided 5.25" disks with a storage capacity of 664 blocks. The 1571 is 1541 compatible but can write double-sided 5.25" disks with a storage capacity of 1328 blocks. The 1581 uses double density 3.5" disks with a storage capacity of 3160 blocks. These drives do not support subdirectories. (See also, block, legacy device, subdirectory.)

1581 device icon.

17xx REU - RAM Expansion Unit. (See, REU (17xx).)

6502/6510 - The 6502 is a classic 8-bit CPU designed in the 1970s that powers many home computers and game consoles from the late '70s and early '80s. The 6510 is an instruction-set compatible variant of the 6502 used in the Commodore 64. In the C64 it is clocked at approximately 1 MHz.


alias - An alias is a file that appears on the desktop in App Launcher, which can be used to open its corresponding C64 OS Application or Utility, or regular C64 software by means of a PRG alias and the PRG Runner Utility. (See also, App Launcher, PRG alias, Utility.)

anchor - A term used with selections. When a selected item is the anchor, the selection range can be extended above or below that anchor, but the anchor remains the fixed point. With discontiguous range selections, the anchor point can be moved to the edge of a new range. There can only ever be one anchor. (See also, selection.)

API - Application Programming Interface. An API is a published set of functions, routines, data structures, methods and/or properties that an Application (or other software) makes use of to acquire functionality provided by an operating system or one of its components.

App Launcher - One of two Homebase Applications in C64 OS. App Launcher has 5 configurable desktops, upon which aliases to other software can be added and arranged. (See also, alias, desktop, File Manager, home (Homebase).)

App Launcher Icon.

Application - An Application (with a capital A) is a special kind of C64 OS program. It has a bundle for resources that is stored in //os/applications/. One Application runs at a time. It defines the set of menus in the menu bar and sets the custom message in the status bar. (See also, bundle, menu bar, status bar.)

ASCII - American Standard Code for Information Interchange. A 7-bit character encoding standard first published in 1963. Commonly used on older PCs. Commodore 8-bit computers using PETSCII, an alternative character encoding requiring conversion to and from ASCII. (See also, PETSCII, text.)

assembly language - A programming language that uses easy-to-remember mnemonics for a CPU's instructions and standardized syntax to represent their various addressing modes. C64 OS was written entirely in 6502 assembly language. Assembly language provides the greatest flexibility in code optimization and behavior.

assign - An assign is an assignment of an Application or a Utility to a file type and extension. The Opener Utility is used to create and update assigns. The list of current assigns can be found in //os/settings/assigns/. (See also, Application, extension, file type, Opener, Utility.)


backdrop - These are low-resolution images that can be selected to appear behind the aliases on a desktop in App Launcher. A backdrop is a SEQ file containing 1000 bytes of screencodes, no more no less. Backdrops can be created with the screenedit tool. (See also, alias, App Launcher, desktop, screencodes, SEQ, tool.)

bank - A bank is a unit of memory that can be seen at a time by a chip. Usually a bank can be switched or swapped in some convenient way. The VIC-II can see 16KB at a time, and the C64's main memory can be considered to have 4 VIC-II banks. The 6510 CPU can see 64KB at a time, and a 17xx REU can be divided up and contain from 2 to 256 banks of 64KB. (See also, 6502/6510, CPU, REU (17xx), VIC-II.)

block - A block is a standard unit of storage on a C64 storage device. A block on disk is 256 bytes, however, due to the way the file system works, only 254 bytes per block can be used for data storage. (See also, cluster, file system.)

boot - This term comes from the word bootstrap and the idiom, to pick oneself up by one's bootstraps. A bootstrap loader is a small amount of code that starts off from nothing and gets everything else necessary loaded in. The verb to boot means to start up. (See also, booter.)

boot drive - The boot drive is the storage device upon which C64 OS's system files and booter are installed. (See also, boot, system device (system drive).)

booter - The program that boots C64 OS is called the booter. C64 OS has two booters, c64os is a BASIC program which must be in the root directory, and //os/:booter which is written in assembly and is also known as the KERNAL booter. (See also, boot, KERNAL, root directory.)

build The build number is a technical version number. It is stored in //os/settings/:build.t. It can be viewed using the About C64 OS Utility (starting with C64 OS v1.04). Click the version number to toggle to the build number. The build number is in the format {primary_version}.{secondary_version}.{YYMMDD} where YYMMDD is a 2-digit year, month and day when the current build of C64 OS was packaged up. E.g., 1.02.230105 means version 1.02, built on January 5, 2023. (See also, version.)

bundle - A bundle is a subdirectory that contains a specific set of structured files. A C64 OS Application consists of a bundle; a subdirectory that contains main.o, menu.m, about.t, icon.charset, etc. Bundles are useful for containing and organizing multiple resources that are stored as separate files. (See also, icon, subdirectory.)


CAR - A CAR file is a C64 Archive file. These files contain files and nested subdirectories. They store filenames in PETSCII, along with other CBM FS metadata. CAR files are created with the C64 Archiver Application, and can be extracted with the Installer Utility or the c64restore tool during a complete C64 OS installation. (See also, Application, install, metadata, PETSCII, subdirectory, tool, Utility.)

case sensitive/insensitive - Case refers to upper and lower case letters. Case sensitivity means the case matters, and upper and lower case letters cannot be interchanged. Commodore file systems are case sensitive. Two files may exist which differ only by case. And if a process searches for a file using case that isn't a perfect match the file will not be found. The FAT file system used on SD2IEC (for directories and files not .p00/.s00 wrapped) are case insensitive. Two files cannot co-exist in the same directory, with the same name, that differs only by case. (See also, directory, FAT (32/16), file system, p00, s00, SD2IEC.)

CGFX - (See, Commodore Grafix.)

channel - A channel is a communications pathway, typically associated with a number to keep multiple channels identified. C64 storage devices support 16 channels. 0 is dedicated to loading directories and program data, 1 is for saving program data. 15 is a special channel reserved for sending commands and retrieving command results and status information. Channels 2 to 14 are generic read/write channels. Commodore's documentation also sometimes refers to the C64 as having an input and an output channel. These channels are always assigned to a device. The keyboard device is assigned by default to the input channel, and the screen device is assigned by default to the output channel. (See also, command channel, device.)

character mode - The VIC-II chip has several native display modes. Two bitmap modes which require 8KB of memory to store bitmap data, plus 1KB to 2KB of memory to store color data. Manipulating bitmap mode is slow due to the large size of the bitmap data. The VIC-II also offers a character mode. Character mode requires a 2KB character set bitmap, 1KB of color data, and 1KB of character indexes called screencodes, for a total of just 4KB. Manipulating what is shown on screen is very fast because changing a single screencode changes what is displayed in an entire 8x8 pixel region of the screen. (See also, character set, native, screencodes, VIC-II.)

character set - A character set is a 2KB bitmap. Every 8 sequential bytes represent the bitmap data of an 8x8 pixel character. The C64 comes with two character sets in a 4KB ROM chip, sometimes called the character generator. C64 OS uses a custom character set stored in RAM from $D000 to $D7FF. A character set is sometimes called a charset. (See also, character mode, RAM, ROM.)

checksum - A checksum is a mathematical technique used to produce a maximally unique output number given an arbitrary quantity of input data. C64 OS (available in v1.02) includes a checksum library, which provides CRC8, CRC16 and CRC32 routines. These produce a 1 byte, 2 byte and 4 byte output number respectively. When the contents of a file are passed through a checksum routine a number is produced for that file. The algorithm is designed such that if any single byte of input is changed the output will be radically different. Although there are an infinite number of input streams that can produce any given checksum, it is highly unlikely that any accidental data corruption will result in the same checksum value. Thus, checksums can be used to reliably test for data integrity. (See also, library.)

class (Toolkit) - C64 OS includes an object-oriented user interface Toolkit. Object-oriented environments consist of a hierarchy of classes. A subclass descends from another and inherits the properties and behaviors of its parent class or superclass. The subclass has the ability to add new properties and new behaviors and to customize the behaviors of its parent. C64 OS includes 9 classes that are permanently memory resident, plus many more useful classes (a continually expanding set) that can be loaded at runtime by Applications and Utilities to build rich, powerful and consistent user interfaces with minimal coding effort. (See also, Toolkit.)

clipboard - The clipboard is a temporary holding place for a piece of data with an associated data type. C64 OS's clipboard data is stored in //os/clipboard/. The KERNAL has calls to allow an Application, Utility or something else, like a library, driver or Toolkit class, to write data to the clipboard. The KERNAL has other calls for reading the clipboard data in. By making use of the common clipboard API, different Applications and Utilities can exchange data even though they were never written with each other in mind. The clipboard provides a very powerful advantage to using and developing software for C64 OS. (See also, API, data type, KERNAL, library, place.)

clock - The clock is available at the right end of the menu bar. The visibility of the clock can be toggled by holding the COMMODORE key and clicking once on the right end of the menu bar. Double-clicking the clock opens either the Today Utility or the Time Utility. The Time Utility lets you configure properties of the clock such as 12 or 24 hour mode and whether or not the seconds indicator blinks. The Time Utility can also be used to change the current time and write it out to the device for the current RTC driver. (See also, menu bar, RTC, Utility.)

close (file) - In order to read data from a file, or write data to a file, the file must first be opened. An opened file must later be closed. Since C64 OS can only open a limited number of files at the same time, it is very important that files be closed when they are no longer required to be open. Closing files also frees up resources in the device on which the file is stored. (See also, open.)

cluster - On CMD and CBM file systems data is stored in 256-byte blocks. On IDE64 data is stored in 512-byte blocks. On FAT16 and FAT32 file systems, which is the native file system used by SD2IEC, the equivalent of a block is called a cluster. The cluster size used by a partition is set when it is formatted, and the cluster size can vary from partition to partition. The minimum cluster size is 512-bytes. The blocks free count reported in an SD2IEC directory is a count of free clusters. Two different files cannot share a cluster. Therefore every file must use a minimum of one cluster. Large cluster sizes allow the FAT file system to access greater total storage, but at the expense of wasting more space when storing small files. (See also, block, directory, FAT (32/16), file system, IDE64, native, partition, SD2IEC.)

CMD FD - The CMD FD is a 3.5" floppy disk drive produced by Creative Micro Designs during the 1990s. It has two models, the FD-2000 and the FD-4000. The 2000 reads and writes high density 2MB floppies, while the 4000 reads and writes even higher capacity 4MB floppy disks. Both drives are backwards compatible with Commodore's 1581 disk drive. CMD FD disks can be partitioned just like a CMD HD, and native mode partitions support nested subdirectories. (See also, 1541/1571/1581, CMD HD, native, partition, subdirectory.)

CMD FD device icon.

CMD HD - The CMD HD is a series of harddisk drives produced by Creative Micro Designs during the 1990s. It came in several models, 20, 40, 100, 200, etc. based on the size of the SCSI harddrive mechanism inside. The internal mechanism can be upgraded later, and other than that all models are the same. The CMD HD supports up to 255 partitions, and native mode partitions may be up to a maximum of 16MB, allowing the CMD HD to access up to 4GB of storage. Native mode partitions supported nested subdirectories. The CMD HD supports much faster access times when connected via a parallel cable to a CMD RAMLink. (See also, CMD FD, native, partition, RAMLink, SCSI, subdirectory.)

Harddrive device icon.

command channel - C64 storage devices support 16 channels, numbered 0 to 15. 15 is special; It is called the command channel. Commands sent to the drive's DOS are sent over the command channel, and the results are read back from the command channel. For example, to read a CMD HD, FD, RAMLink, IDE64 or SD2IEC's realtime clock (RTC), a command (e.g., "t-ra") can be sent over channel 15. The result read back is the date and time. The commands that can be sent over the command channel depend on the features supported by the DOS that is on that device. (See also, channel, RTC.)

Commodore Grafix - Commodore Grafix (CGFX) is a new universal Commodore 64 graphics file format. It is a RIFF/CGFX container with support for different native and non-native video modes, metadata, format and frame size information. Additionally it supports multiple frames for panoramas, matrices for 3D models and look-around scenes, and short animations up to 256 frames. The standard file extension is .cgx (See also, data type loader.)

COMMODORE (key) - The COMMODORE key is found at the lower left corner of the C64's keyboard. It has numerous purposes from the READY prompt. In C64 OS it is used as a general purpose modifier key. It can be combined with other keys to trigger menu options, or with mouse clicks to modify the result of the click. For example, COMMODORE-clicking a scroll bar's up or down button causes the content to scroll all the way to the top or bottom, respectively. (See also, modifier keys.)

component - A C64 OS component is a small program that is loaded and run during boot up. The booter references //os/settings/:components.t for a list of components to be loaded and the order to load them. Each line also includes a code allowing for components to specify if they are to be left in memory, run immediately and then purged from memory, or loaded temporarily but deferred from running until all other components have been loaded. The list of components allows the C64 OS boot up process to be customized. Some components are only necessary if certain hardware is being used. (See also, boot, booter, load (file/directory), settings file.)

CONTROL (key) - The CONTROL key is found on the left side second row down of the C64's keyboard. It has numerous purposes from the READY prompt. In C64 OS it is used as a general purpose modifier key. It can be combined with other keys to trigger menu options, or with mouse clicks to modify the result of the click. For example, CONTROL-clicking the title bar of a Utility toggle's that Utility in and out of window shade. (See also, modifier keys, Utility, window shade.)

control (Toolkit) - A Toolkit control is any instance of a class that descends from the TKCtrl class. This includes, push buttons, cycle buttons, radio buttons, checkboxes, rating control, scroll bars, text input fields, etc. All controls support mouse and keyboard events, hold a piece of data (number or string,) and store information about what to call when the control is triggered. Controls also maintain state, active/inactive, enabled/disabled, first key, etc. (See also, class (Toolkit), event, Toolkit.)

copy job - A copy job is a special job data structure that is provided by an Application to the Copy Utility. It provides the Utility with a set of instructions for source and destination information, validation callback and other settings used for performing a multi-file and recursive copy operation. (See also, job, Utility.)

CPU - The Central Processing Unit. The CPU is the microprocessor that interprets and executes program code. The C64's CPU is the 6510, a variant of the 6502. (See also, 6502/6510.)

CPU busy indicator - If a process (an Application, a Utility, a library or any other code) causes the CPU to be occupied, preventing it from passing through the operating system's main event loop, the CPU busy indicator becomes active and starts animating. The CPU busy indicator is displayed as a small ticking clockface in the upper left corner of the screen, overtop of the Utilities menu icon. The CPU busy indicator can be disabled using the Configure Tool. (See also, CPU, icon, library, tool, Utilities menu.)


datacheck - datacheck is a tool found in //os/c64tools/. It is written in BASIC and can be used to view the binary contents of a file from the READY prompt. It is useful for seeing hidden characters such as line endings and spaces in settings and other files. (See also, settings file, state file, tool.)

data type - A C64 OS data type is a two-level (generic/specific) description of how some data is formatted. There is a very limited set of generic types, text, audio, image, video, etc. Each generic type can have up to 256 subtypes. For example, text/plain, text/mtext, text/xml, etc. File's often hold data that has a data type. The data type of a file is identified by its filename extension. Extensions are mapped to data types. Data types should not be confused with file types. (See also, extension, file type, text.)

data type loader - A data type loader is a special purpose program designed to open a file of a certain file type and filename extension, by which the file's data type is identified. The data type loader then allocates memory and loads, and optionally decodes, the contents of the file into the allocated memory. C64 OS ships with a number of data type loaders for common graphics file formats. (See also, data type, data type saver, extension, file type, load (file/directory).)

data type saver - A data type saver is a special purpose program designed to save a file of a certain file type and filename extension, by which the file's data type is identified. The data type saver takes structured memory and saves, and optionally encodes, the data in memory into a file. C64 OS includes data type savers for common graphics file formats. (See also, data type, data type loader, extension, file type.)

desktop - The desktop in C64 OS is provided by App Launcher. Unlike on a Mac or Windows PC, the desktop is not used for storing arbitrary files. The C64 OS desktop is more like the springboard of a smartphone. You can customize its backdrop and hint color, and you can add aliases to Applications, Utilities and PRG Aliases to regular C64 Software. The desktop is a colorful and customizable place from which you launch into other software. (See also, alias, App Launcher, Application, hint color, place.)

detected devices table - C64 OS detects supported (and unsupported) storage devices during boot up. A table is constructed for every device number, indicating if the device number is occupied and by what device type. C64 OS software should consult this table for device presence and type identification. C64 OS software should not attempt to detect devices manually. The Drives Utility can be used at anytime to rescan the bus and update the detected devices table, allowing drives to be turned on or off without rebooting. (See also, boot, device, Utility.)

device - Both C64 OS and the C64's KERNAL represent I/O hardware using a set of device numbers. The keyboard is 0, the datasette is 1, RS-232 over the User Port is 2, and the screen is 3. Devices 4 and 5 are for printers on the IEC serial bus. Devices 6 and 7 are for plotters on the IEC serial bus. Devices 8 through 30 are for disk drives, hard drives, SD Card drives, and other storage devices. Storage devices are typically on the IEC serial bus, but some special high speed drives are connected to the expansion port. Other input devices such as mouse, joystick, light pen, or KoalaPad, and other output devices such as the SID or digital audio devices are not represented in the C64's official devices scheme. (See also, IEC (serial bus, IEEE-488), joystick, KERNAL, KoalaPad, light pen, RS-232, SID.)

device status - After a request is made to a storage device, the result of the request is returned over the device's command channel. This result is called the device status. Each status consists of a status code, followed by an english language description of the code, followed by one, two or sometimes more additional numbers. The default operating status of a storage device is 00, OK. There is a standard set of status numbers used by all devices, and there are some custom numbers used by different devices. By convention, any status number less than 20 is not an error. All status numbers 20 or greater represent some kind of error. (See also, channel, command channel, device, status bar.)

DIR - (See, subdirectory.)

directory - A directory is a list of files that exist in one conceptual place. The directory includes several important pieces of information: the partition number, the directory title, the files in the directory, and the blocks free count for this partition. Each file is shown with several pieces of information: the file's size in blocks, the filename, the file type, the lock status, and optionally a date/time stamp, hidden flag, etc. (See also, block, file type, partition, place.)

disk image - A disk image is a file that contains a byte-for-byte copy of each block of all the tracks and sectors of a disk. A disk image can be written back out to an original disk, or it can be used to backend modern disk drive recreations, such as a 1541 Ultimate II+, a pi1541, or with VICE. Disk images can also be written to emulation partitions on CMD devices, or mounted by SD2IEC to create a kind of temporary emulation partition. Popular disk images are known by their file extension, D64 for 1541, D71 for 1571, D81 for 1581 or DNP for CMD Native partitions. (See also, 1541/1571/1581, 1541 Ultimate II+, block,extension, native, partition, pi1541, SD2IEC, VICE.)

DMA - DMA stands for direct memory access. It is a process whereby a device connected to the C64's expansion port asserts the bus access line, which temporarily halts the CPU, and then takes over the data and address bus to gain direct access to the C64's RAM. (See also, CPU, memory (main), RAM, REC, REU (17xx).)

document - A document is a kind of file. Not every file is a document, some files contain program code or other program resources. A file is considered a document if it contains information that was created by user input using an Application, such as a text editor, a word processor, spreadsheet, presentation software, etc. (See also, Application, text.)

driver - A driver is a special purpose program designed to access information from a hardware device and convert it to and from a generic internal representation. A classic example of a driver is for reading from an input devices, such as a mouse, joystick, light pen, etc. Although different hardware devices, they all perform the same internal function, moving the pointer. (See also, device, joystick, light pen, pointer.)


event - C64 OS is an event-driven operating system. There are several types of events which trigger program behaviors. Pointer events, such as button down, button up, button click, button double-click, mouse wheel movements, mouse dragging, etc. Keyboard events, such as a regular key being pressed (creates a low-level printable key event), or a key being pressed in combination with modifier keys (creates a low-level key command event). Events can be also generated internally, such as a timer that expires or data arriving from a network. (See also, modifier keys, timer.)

exception - An exception is an unexpected condition deep inside a C64 OS process. The exception changes the flow of a computer program. If the program handles the exception, it can gracefully recover and deal with the problem. But if an exception is not handled, it rises up to the level of the operating system which terminates the program by presenting the red "Splat!" dialog box with a frowning face.

Frowny face on the Splat! dialog.

extension - An extension is a short code, from 1 to 6 characters appended (postfix) or prepended (prefix) to a filename using a dot. For example, tree house.koa has the name tree house with a koa extension. A prefixed extension example is ptr.1351 port2, the name is 1351 port2 the extension is ptr. A filename extension is used to indicate the file's data type. By C64 OS convention, a runnable program has a PRG file type with no extension. A PRG file type with an extension is some kind of data file. (See also, data type, file type, PRG.)


Fast App Switching - Fast App Switching is a technology in C64 OS that was introduced in version 1.05. With a 17xx-compatible REU, banks can be configured to serve as Fast App Switching slots. When changing Applications the current Application is frozen into the REU, and if the Application being switched to is in the REU already it is switched to very quickly and restored to the state it was in when it was frozen. (See also, Application, REU (17xx).)

Fast Reboot - Fast Reboot is a feature of Fast App Switching. When you quit to BASIC, from either App Launcher or File Manager, or if you drop to the READY prompt via the Switcher Utility, the current Application is frozen to the REU. When rebooting C64 OS, the boot procedure checks if C64 OS is already in the REU. If it is, the last Application you were in is restored from the REU very quickly. (See also, Application, Fast App Switching, Quit to BASIC.)

Fastload - EPYX Fastload is a popular speedloader cartridge from 1984. Since C64 OS uses the KERNAL ROM for all disk accesses, without a speedloader of some kind its loads, reads and writes are going to be stock-speed (i.e., slow.) The original EPYX Fastload cartridge does not support SD2IEC. However, the Fastload Reloaded cartridge does. The reloaded firmware is a modified version of the original. Original Fastload cartridges can be updated by replacing the ROM chip with the newer version. (See also, JiffyDOS, KERNAL, load (file/directory), ROM, SD2IEC.)

FAT (32/16) - FAT stands for File Allocation Table and is the file system used on MS-DOS and older versions of Windows. It is no longer the standard file system used by Windows, but because of its age and wide support it is used as the default file system on commercial SD Cards. SD2IEC reads and writes FAT file systems natively. FAT32 and FAT16 are 32-bit and 16-bit versions of the file system. Both are supported by SD2IEC. (See also, file system, native, SD2IEC.)

favorites - A favorite is a place you frequently want to access. From File Manager any directory in any partition of any device can be added to the list of favorites. Favorites are displayed in the lower section of the left sidebar of File Manager. Favorites created using File Manager are also available from within any Application via the left sidebar of the Open and Save Utilities. The sidebar supports up to 15 favorites. (See also, device, directory, File Manager, partition, place.)

file lock - On CBM file systems (1541, 1571, and 1581) there is a special lock bit on a file's entry in the directory. A locked file cannot be scratched. However, it can be overwritten using the @-overwrite DOS command, or by selecting the Allow Overwrite option in the Save Utility. CMD file systems (CMD HD, FD and RAMLink) and IDE64 support file lock. SD2IEC supports file locking inside mounted disk images. SD2IEC also supports file locking of regular files if you have installed firmware version 63+. A locked file shows with a lock icon after its file size in File Manager. The locked status of a file can be toggled with the File Info Utility. (See also, 1541/1571/1581, CMD FD, CMD HD, disk image, icon, RAMLink, FAT (32/16), File Manager, file system, IDE64, mount, SD2IEC, scratch, Utility.)

File Manager - One of two Homebase Applications in C64 OS. File Manager has 4 tabs allowing you to be in up to 4 places at once. Files and subdirectories can be recursively scratched, or recursively copied and/or moved between any two directories, and partitions of any two devices. File Manager can also be used to open documents in assigned Applications and Utilities. (See also, App Launcher, assign, document, home (Homebase), partition, place, scratch, subdirectory.)

File Manager Icon.

file reference - A file reference is a C64 OS structure that contains all the necessary information to locate a file: its device number, partition number, path within that partition, and filename. The in-memory file reference can also be used to fetch and store the file's size in blocks. Additionally, the in-memory structure can be converted to a serialized format for displaying on screen or saving to a file. The serialized format (dev#:part#:filename:path) can be unserialized back into the in-memory structure. Serialized example:

10:2:Hi there.txt://documents/examples/

(See also, device, partition, path.)

file system - A file system (FS) is a means of organizing data on a storage device. Different file systems have different features, such as support for subdirectories, different maximum numbers of files in a directory, case sensitivity, ability to scan efficiently through a large file, date and time stamping, etc.

The Commodore File System (CBM FS) used on 1541, 1571 and 1581 do not support subdirectories, do not support date/time stamping, have fairly low limits on the number of files that can be in the main directory, and scanning through files is slow and inefficient.

The file system used on CMD devices (CMD FS) is based upon CBM FS, but extends it with date and time stamping, multiple partitions, subdirectories, and larger limits on the number of files per directory.

IDE64's FS is based loosely on CMD FS, but increases the maximum storage capacity of a partition, adds support for links, hiding files, efficient scanning through large files, and fast file moving within a partition.

SD2IEC uses a FAT FS, this is a PC-based file system with special features added for backwards compatibility with C64-specific needs. It adds case-insensitivity, the ability to mount disk images, large partition sizes, the ability to efficiently scan files, and other features.

(See also, block, cluster, directory, disk image, FAT (32/16), file lock, mount, partition.)

file type - A file type should not be confused with a data type. A file type is special to CBM file systems and their descendants. There are a limited number of file types, PRG, REL, SEQ and USR. These file type codes are listed in a standard directory and are identified by the left-most column of a file list in the C64 OS File Manager and Open and Save Utilities. These indicate how the file's data is stored, not what the file's data contents are. (See also, data type, file system, PRG, REL, SEQ, USR.)

float - A floating point number in C64 OS is stored and represented in the same format as C64 BASIC, and the BASIC ROM's routines are used to perform mathematical operations on them. A float is 5 bytes. 4 bytes (32 bits) are used for precision, and a 5th is used for sign and the position of the decimal point. A C64 OS floating point number can range from -1.70141183e+38 to 1.70141183e+38. The smallest number between 0 and 1 is 2.93873588E-39.

focus - Focus is used to describe which elements of a user interface keyboard events will be directed to. Because user interface elements are nested, focus can exist simultaneously at multiple levels, and is usually indicated by a difference of color. Out of focus elements have a low-contrast color, while focused elements have a more vibrant or higher contrast color. For example, when a Utility is in focus its title bar is a different color than its panel body, but when it's out of focus the title bar is the same color as the panel body. A set of tabs shows which tab is selected using color. A list with a selected item shows the item in the selected color when in focus, or in a muted color when the list is not in focus. A text field changes color and has a visible text input cursor when it is in focus. (See also, event, theme.)

fullscreen (gfx) - The primary C64 OS UI is in character mode for speed and memory efficiency. However, C64 OS also supports bitmap mode at the KERNAL and library level. Whenever bitmap graphics data is available a small up arrow appears beside the free memory indicator in the status bar. A global keyboard shortcut, COMMODORE+← (this can be customized,) toggles into and out of fullscreen graphics mode. Keyboard shortcuts to menu options continue to work even while in fullscreen graphics mode. (See also, character mode, COMMODORE (key), splitscreen (gfx), KERNAL, library, shortcut, status bar.)


game controller - In C64 OS, a game controller is distinct from the pointer input device. There can simultaneously be a pointer input driver and a game controller driver enabled at the same time. The game controller driver can read in data from 2 or 4 game ports and updates the state information 50 (PAL) or 60 (NTSC) times a second for 8 digital buttons per controller. Up, down, left, right, fire 1, fire 2, select and start. A game should only read from the operating system's game controller status values. The user chooses the driver that suits the 4-player adapter and/or controller interfaces physically connected to the computer. (See also, driver, pointer.)

GEORAM - A GEORAM is a simple 256-byte window-paged expansion memory device. It is not compatible with a 17xx REU, however with an appropriate port expander a 17xx REU and a GEORAM can be used at the same time. An original GEORAM has 512KB of memory, clones are available with 1MB, 2MB, or up to a maximum of 4MB. GEORAM has some advantages and some disadvantages when compared with a 17xx REU. (See also, RAM, REC, REU (17xx).)

go menu - A go menu lets you quickly jump to some other convenient place. The App Launcher's go menu lets you change to another desktop or to switch to File Manager. The File Manager's go menu lets you navigate up the current directory path, jump directly to the system directory, Applications directory or Utilities directory, or switch to App Launcher. Additionally, File Manager's go menu lets you quickly jump to one of four user-defined places: Documents, Games, Music, or Pictures. (See also, App Launcher, desktop, directory, File Manager, path, place, system card.)

GUI - A GUI is a graphical user interface, in contradistinction to a CLI or command-line interface. Although C64 OS's primary user interface uses the VIC-II's character mode for speed and memory efficiency, it is conceptually a GUI. Commands are issued by using a mouse to choose menu options, click buttons, drag scroll bars, move floating panels by dragging them, etc., rather than typing commands into an endlessly scrolling terminal-like interface. (See also, character mode, VIC-II.)


hint color - App Launcher provides 5 configurable desktops. Each desktop can have a custom backdrop and a single hint color. The hint color is applied to the foreground color of the backdrop and to the screen's border (overriding the border color defined by the theme.) The backdrop's background color is global, and determined by the current theme. (See also, App Launcher, backdrop, desktop, theme.)

HiRes - HiRes, or High Resolution, is a native graphics mode supported by the VIC-II. It has 320x200 pixels of resolution, arranged in 8x8 pixel cells. Each cell can have two colors from the VIC-II's fixed palette of 16 colors. Each pixel in the cell can take either of those two colors. A fullscreen HiRes image takes 9KB of data; 8KB of bitmap data, plus 1KB of color data. (See also, MultiColor, native, VIC-II.)

home (Homebase) - The model of C64 OS is as follows: Upon booting you are taken first to the Homebase Application. From Homebase you launch into another Application. From that Application you choose Go Home from the menu options, which returns you to Homebase. C64 OS has two different homebase Applications: App Launcher and File Manager. These are conceptually two modes of Homebase. From either you can switch to the other using its go menu. (See also, App Launcher, Application, boot, File Manager, go menu.)


I2C (serial bus) - I2C is an acronym for Inter-Integrated Circuit, a serial bus protocol for communication between low-speed peripheral ICs and a microprocessor or microcontroller. The protocol was invented in 1982 by Philips, but is now widely used with Arduino and its many peripheral devices. C64 OS has an I2C library that implements the I2C protocol over 2 lines of the User Port. There are different versions of this library, one that uses lines compatible with a GEOS I2C implementation and another preferred for use with C64 OS that can be used simultaneously with RS-232 over the User Port. Additional versions of this library may be offered in the future using different lines, such as over the cassette port for compatibility with Mister64. Some drivers, such as the I2C RTC driver, communicate over I2C abstractly by relying on the library to provide the bus communications. (See also, library, RS-232, RTC, version.)

icon - An icon is a small graphical picture used to represent something else. C64 OS's main character set reserves 18 characters to be custom defined. C64 OS provides a standard icon library, a collection of 1x1 character icons (8x8 pixels) offering a variety of useful symbols for Applications and Utilities. Such as, a trash bin, a wifi symbol, a floppy disk, a joystick, and many others. Applications also define an icon, but their icons are 3x3 characters (24x24 pixels.) An Application's icon is shown when the App is launching and can be viewed later with About This App. (See also, Application, bundle, character set, joystick.)

IDE - IDE stands for Integrated Drive Electronics and was developed in the 1980s by Western Digital and Compaq. It combines a hard drive storage mechanism with a control board in the same compact unit. IDE was later called ATA (Advanced Technology Attachment) and later called PATA or Parallel ATA to distinguish it from SATA or Serial ATA. IDE storage devices can be used on a Commodore 64 by means of the IDE64 cartridge. (See also, IDE64.)

IDE64 - IDE64 is a family of mass storage devices for the C64. It connects to the C64 via the cartridge port. Early versions provide a 40-pin IDE terminal connector, to which up to 2 IDE devices (hard drives, CD-ROMs, Zip Drives, etc.) can be connected. IDE64 uses IDEDOS which requires the hard drive to be partitioned and formatted with a custom file system. Later versions include a compact flash card socket which allows use of a CF Card in place of an IDE hard drive. (See also, file system, IDE, modern device, partition.)

Harddrive device icon.

IEC (serial bus, IEEE-488) - The Commodore PET uses a parallel IEEE-488 bus for communications with storage devices. The Commodore VIC-20, C64, C128 and others use a serial version of IEEE-488 known more commonly as the IEC bus. This bus is used for storage devices, such as 15xx disk drives, CMD HD, CMD FD, and SD2IEC. It is also used for printers and printer adapters. IEC bus communications on a stock C64 are notoriously slow. Using a custom protocol, such as the one provided by JiffyDOS, dramatically increases IEC serial bus transfer speeds. (See also, 1541/1571/1581, CMD FD, CMD HD, JiffyDOS, SD2IEC.)

image - Although graphics files are sometimes referred to as images, image is often used to mean disk image. (See also, disk image.)

install - Software is installed when it is copied from a small temporary device such as floppy disk to a larger more permanent device such as a hard drive. An installation can also be from a compact format such as an archive or image file into an assortment of files ready to be used. C64 OS software and updates are distributed in C64 Archiver (.CAR) format and are installed using the Installer Utility. (See also, CAR, device, disk image, image, Utility.)


JiffyDOS - JiffyDOS is a replacement ROM set for the KERNAL ROM in the C64 and the DOS ROM in 1541, 1571 and 1581 disk drives. JiffyDOS is a highly compatible speedloader that accelerates disk access to drives that have had their DOS updated to JiffyDOS. The JiffyDOS protocol comes built-in with SD2IEC, CMD HD and FD. JiffyDOS also adds numerous productivity boosting features to BASIC, such as a two-drive file copier, text and BASIC program listings, DOS wedge, and more. JiffyDOS is still commercially available today. Although not a requirement, JiffyDOS is strongly recommended for use with C64 OS. (See also, 1541/1571/1581, CMD FD, CMD HD, KERNAL, load (file/directory), ROM, SD2IEC, text.)

job - A job is a special structure that an Application provides to a Utility to instruct the Utility what to do. The Utility then carries out the job and reports completion back to the Application with a job complete message. Jobs include, copying, moving or scratching a set of files and/or subdirectories. Open and save jobs are used for coordinating an Application with the Open and Save Utilities. (See also, Application, message, Utility, save job, scratch, subdirectory.)

joystick - A joystick is a digital input device. It is often used as a game controller, with up, down, left, right and fire buttons. C64 OS supports up to 4 joysticks for game controllers with up to 8 buttons each (up, down, left, right, select, start, fire 1, fire 2.) A joystick can also be used as a pointer input device, to control the mouse pointer. However, using a real mouse for this provides a faster and more satisfying experience. (See also, 1351 mouse, driver, game controller, pointer.)


KERNAL - KERNAL is Commodore's spelling of kernel. The C64's KERNAL is on an 8KB ROM chip. JiffyDOS is a replacement for the C64's original KERNAL ROM. C64 OS extends the C64's KERNAL, by loading files from the system directory during boot up. A KERNAL is the lowest-level component of an operating system and helps manage memory and other system resources. The C64 OS KERNAL is divided into 10 modules. (See also, boot, JiffyDOS, load (file/directory), module, ROM, system card.)

KoalaPad - The KoalaPad is an drawing tablet device first introduced for the Commodore 64 in 1983. C64 OS includes a KoalaPad pointer driver, which allows the use of a KoalaPad in place of a mouse. The KoalaPad driver in C64 OS is unlike how most other C64 software uses it. In C64 OS the KoalaPad behaves more like the trackpad of a modern laptop. Movement of the pointer is relative, proportional and accelerated, rather than coordinate mapped. (See also, 1351 mouse, driver, pointer.)


legacy device - A legacy device is a storage device for the C64 that does not have support for subdirectories or multiple partitions. All the Commodore-brand disk drives, 1541, 1571, and 1581 are classified as legacy devices. The C64 OS system directory cannot be installed on a legacy device, for two reasons; The storage capacity is too low and they do not support subdirectories. (See also, 1541/1571/1581, install, modern device, partition, subdirectory, system card.)

library - A library is a collection of useful and related routines. A library is not a program in and of itself, but provides common functionality to many different programs. In C64 OS, libraries are shared; If multiple processes need to use the same library at the same time, only one copy of the library is loaded into memory. Libraries are installed in //os/library/. (See also, install.)

light pen - A light pen is a special kind of input device that can be touched to the screen to keep the pointer directly beneath the pen tip. C64 OS includes a driver for using a light pen as a pointer input device. Light pens only work on CRT monitors that draw the image using a real raster beam. (See also, device, driver, pointer.)

load (file/directory) - Loading is the process of reading data into memory from a storage device. The C64 KERNAL has special load routines which communicate with storage devices on channel 0. Channel 0 is dedicated for loading PRG files, which begin with a 2-byte load address header, or for loading a directory listing. (See also, channel, device, directory, KERNAL, PRG.)

loader - The loader is a C64 OS component, found in //os/library/. It is responsible for loading a new Application into memory. It performs some cleanup on behalf of the previous Application and some setup on behalf of the loading Application. (See also, Application, component, library.)

lock - (See, file lock.)

logical file - A logical file is a numbered communications channel between the C64 and a device. Each open logical file number is associated with a device number and a secondary address. The meaning of the secondary address varies depending on the device. C64 OS uses the C64 KERNAL for communication with devices, and therefore supports 10 logical files open at the same time. (See also, channel, device, KERNAL.)


mass-storage device - (See, modern device.)

memory (main) - Main memory refers to the 64KB of RAM that is directly addressable by the 6510 CPU. In C64 OS main memory is divided into several regions: workspace, Application, free/heap, KERNAL, buffers, high memory. High memory is beneath the KERNAL ROM and is used for graphics data or for a Utility. Currently available free memory can be seen in two of three mods of the status bar. (See also, 6502/6510, CPU, KERNAL, RAM, ROM, status bar, Utility, workspace memory.)

menu bar - The menu bar is a strip that runs along the top of the screen. It provides a set of top-level menus, with menu options for sending commands to the Application. The first menu on the left end of the menu bar is the Utilities menu. On the right end of the menu bar a clock is optionally displayed. The menu bar and menu system is a feature of the C64 OS KERNAL. (See also, clock, KERNAL, Utilities menu.)

menu definitions file - The menus of an Application are constructed by the loader when the Application is opened. A menu definitions file (menus.m) is stored in the Application bundle. The menu definitions file is designed to be human readable and editable in a text editor. It is also designed to be transformed in memory where the text was loaded, into a linked structure ready to be rendered by the menu system. (See also, Application, bundle, load (file/directory), loader, text, Utilities menu.)

message - A message is a standardized data structure that is sent between an Application and a Utility, or the system and an Application or Utility. Messages are loosely coupled, allowing unsupported message types to be handled gracefully. Supported message types have only a conceptual result, rather than a hard-coded and fixed effect. (See also, Application, Utility.)

metadata - Metadata is data about data. For example, a file contains data. But a file's name, its extension, its file type, date/time stamp, lock status, etc. are each pieces of data that are secondary and used to describe something about the file's data. (See also, extension, file lock.)

MicroMys - MicroMys is a mouse adapter for connecting PS/2 mice to your C64. MicroMys primarily behaves like a 1351 mouse and is therefore compatible with software that can use a 1351, but it also provides support for middle button clicks and mouse scroll wheel information. C64 OS includes a MicroMys mouse driver (available in v1.03) with support for the scroll wheel in Toolkit. (See also, 1351 mouse, driver, MouSTer, Toolkit.)

modal - Modal refers to a user interface that uses different modes which can be switched on or off, where each mode changes the way the system responds to the same input. Modal user interfaces are generally frowned upon and many modern designers think they should be avoided. C64 OS strives to not use modes. Typically you can take any action, at any time, and in any order to work towards solving a problem. There are some instances, however, where modes are enforced. During a recursive or multi-file copy, move or scratch operation, the corresponding Copy, Move and Scratch Utilities turn on a "modal" flag. Menus become disabled, clicks to areas of the screen outside the Utility are ignored, keyboard shortcuts are ignored, etc. until the long-running file job completes. (See also, job, recursion, scratch, shortcut, Utility.)

modern device - A modern device is a storage device for the C64 that has support for multiple partitions and subdirectories. CMD HD, FD and RAMLink, IDE64 and SD2IEC are all modern storage devices. C64 OS requires a modern storage device for its system directory because the system directory is divided into numerous nested subdirectories. (See also, CMD FD, CMD HD, IDE64, legacy device, partition, SD2IEC, subdirectory, system card.)

modifier keys - Modifier keys are special keys on the keyboard that when used in conjuction with non-modifier keys produce alternative results. The C64's modifier keys are the COMMODORE key, the CONTROL key, and the left and right SHIFT keys. When the COMMODORE or CONTROL key or both are used with some other non-modifier key, a low-level key command event is generated. The SHIFT keys can be used in conjunction with COMMODORE or CONTROL or both as a modifier for key command events, however, if SHIFT is the only modifier key used with a non-modifier key, a low-level printable key event is produced with an uppercase or similar value. (See also, COMMODORE (key), CONTROL (key), event, SHIFT (key).)

module - A module is a subunit of a more complex computer program. The module sets boundaries on the code such that calls between modules are limited to being made via an explicit programming interface. This allows you to make changes within a module without fear of breaking unexpected dependencies from outside the module. The C64 OS KERNAL is implemented as a set of 10 modules. Individual modules can be swapped with alternative versions at boot time depending on configurable settings and detected hardware. (See also, API, boot, KERNAL.)

mount - To mount means to attach a device or disk image with an alternative file system into a specific place in the existing file system. The Commodore 64 itself does not have a concept of a file system, however its storage peripheral devices do. Not every storage device supports mounting, however SD2IEC devices do. Disk image files on an SD2IEC can be mounted to the partition in which the file is stored. The disk image's file system completely takes over that partition. While the image is mounted, no other files in the partition outside the disk image can be accessed. For this reason, C64 OS only allows mounting disk images to partitions that are not the C64 OS system or boot partition. (See also, boot, disk image, file system, image, partition, place, SD2IEC, unmount.)

MouSTer - MouSTer is a mouse adapter for connecting USB mice to your C64. MouSTer primarily behaves like a 1351 mouse and is therefore compatible with software that can use a 1351, but it also provides support for additional configurable settings. Although MouSTer is mostly used for mice, it can also be used with USB-based game controllers and has options for mapping their buttons to the buttons of standard C64 joysticks. It includes support for other features such as rapid fire. (See also, 1351 mouse, driver, game controller, joystick, MicroMys.)

move job - A move job is a special job data structure that is provided by an Application to the Move Utility. It provides the Utility with a set of instructions for source and destination information, validation callback and other settings used for performing a multi-file and recursive move operation. (See also, job, recursion, Utility.)

MText - MText stands for marked text. It is a light-weight alternative to a markup language like HTML. MText is based on PETSCII but defines additional codes, undefined by PETSCII, for paragraph justification, themed text styles (normal, strong, and emphatic text), inline absolute text colors, dynamic horizontal rules and linked text (i.e., hyperlinks.) MText is interpreted natively but the TKText Toolkit class, and subsequently by any C64 OS software that uses that class. (See also, class (Toolkit), native, PETSCII, text, TextView, theme, Toolkit.)

MultiColor - MultiColor is a native graphics mode supported by the VIC-II. It has 160x200 pixels of resolution, arranged in 4x8 pixel cells, wherein each pixel is double the width of a HiRes pixel. Each cell can have any three colors from the VIC-II's fixed palette of 16 colors, or one background color defined globally for the entire screen. A fullscreen MultiColor image takes 10KB of data; 8KB of bitmap data, plus 1KB of screen matrix memory used for color data, plus 1KB of color ram data. (See also, fullscreen (gfx), HiRes, native, VIC-II.)


native - In a computer context, native means original or inherent to a system. For example, PETSCII is native to the C64, whereas ASCII is foreign. PETSCII does not require conversion to be displayed as intended, but ASCII does require conversion. The CMD storage devices have native partitions, which are the most natural and original to the CMD devices. They also support emulation partitions which layout the data as it is on various kinds of floppy disk. 6502/6510 assembly language is native to the C64 and runs extraordinarily fast. The C language is not native to the C64; It was designed with features in mind available on other CPUs that are not available to the 6510. IEC serial devices are native C64 peripherals which can be connected directly. Non-native devices require a hardware adapter of some sort. PS/2 and USB mice are not native to the C64, requiring MicroMys, MouSTer or similar adapters. (See also, 6502/6510, ASCII, assembly language, CMD HD, CPU, IEC (serial bus, IEEE-488), MicroMys, MouSTer, partition, PETSCII.)

natural sort - A sort algorithm puts items in either numeric or alphabetic order. The letters of the alphabet have numerically ordered byte values, therefore alphabetical order is a form of numerical order. However, when multi-digit numbers in a string are being sorted alphabetically, a primitive sort algorithm sorts them one digit at a time, resulting in: 1, 101, 11, 2000, 21, etc. A natural sort algorithm groups sequences of digits together and orders them by their full numeric value, resulting in: 1, 11, 21, 101, 2000, etc. C64 OS includes a sort library which implements a fast natural sorting algorithm, which is used in File Manager and elsewhere. (See also, File Manager, library.)


open job - An open job is a special job data structure that is provided by an Application to the Open Utility. It provides the Utility with a set of instructions for how to present the controls, what to do when a file is opened, and a validation callback for validating files as openable as they are selected. (See also, job, Utility.)

Opener - The Opener Utility is used whenever a file is opened using File Manager. Opener manages the assignment of file and data types to Applications and Utilities that are capable of opening those files. If no Application or Utility is assigned, it lets you choose one, optionally assign it to this file type and data type for the future, or open the file in a specific Application or Utility just this one time. (See also, Application, assign, data type, File Manager, file type, Utility.)


p00 - A file with the extension .p00 (or .pXX with any number from 00 to 99) is a file wrapped with a special header that carries CBM FS specific metadata. This format was first created for the PC64 emulator to allow files stored on a FAT file system to retain their CBM FS metadata. The "p" in "p00" represents the CBM File Type PRG. SD2IEC uses .p00 files and implicitly unwraps them. (See also, extension, file system, file type, metadata, PRG, s00, SD2IEC.)

page (memory) - The C64's main memory is 64KB, which can be addressed using two bytes, a high byte and a low byte. This field of memory can be conceived of as 256 pages of memory, where each page consists of 256 bytes of memory. In this model, the high address byte holds the page number and the low byte is an index into the page. The 6502/6510 CPU is more efficient when an index does not cross a page boundary. C64 OS provides a paged memory allocator which allocates memory in page-sized increments that are always page-aligned. A 256-byte page of memory is roughly analogous to a 256-byte block of disk storage. The paged memory allocator is roughly analogous to a disk's block allocation map or BAM. (See also, 6502/6510, block, CPU, memory (main).)

partition - A storage device has a medium upon which data is stored. The medium must be formatted and organized with a file system in order to be used. Some storage devices, especially those with a large storage medium, are able to segment the medium into numbered units called partitions. Each partition is then independently formatted. Different partitions can be formatted with different file systems. All the files in the same partition share a single volume of shared storage space, regardless of how those files are divided into subdirectories. The legacy storage devices do not support multiple partitions. (See also, device, file system, legacy device, modern device, partition, subdirectory.)

path - On a modern storage device the path is a way to specify the order of nested subdirectories leading to a place. An absolute path starts with two slashes (//) to indicate the root directory. A relative path starts with one slash (/) to indicate that the path begins in the current directory. Path components are appended by specifying the subdirectory name followed by a single slash. A path always ends with a slash. Example absolute path:


Example relative path (if the current path were already //os/):


(See also, directory, modern device, place, root directory, subdirectory.)

Peek - Peek is originally a BASIC command that can be used to read the value from a memory address. Peek is also a C64 OS Utility which can be used to view the contents of memory, one page at a time. (See also, memory (main), page (memory), Utility.)

PETSCII - PET Standard Code for Information Interchange. PETSCII is an alternative to ASCII, which was developed by Commodore for the PET computer in 1977. Unlike ASCII, PETSCII is an 8-bit character encoding which has some advantages when used on a computer with limited resources. In addition to the character encoding, PETSCII is also closely associated with the default character set that shipped in a ROM on the PET. Variants of the PET's character set are used on all Commodore 8-bit computers. (See also, ASCII, character set, MText, ROM, text.)

pi1541 - Pi1541 is an adapter board which can be connected to a Raspberry Pi to create a cycle-exact 1541 disk drive implementation, which backends on disk image files rather than physical disk media. In addition to being a faithful 1541 implementation it also supports some SD2IEC functionality. (See also, disk image, SD2IEC.)

1541 device icon.

place - A place in storage means the combination of a device number, a partition number and a directory path in that partition. The Places Utility lets you define the four customizable places in File Manager's go menu: Documents, Games, Music, and Pictures. You can also use File Manager to save the place of the current tab to the list of favorite places. Favorite places show up in the left sidebar of the Open and Save Utilities even when these Utilities are opened within other Applications. (See also, device, directory, favorites, File Manager, go menu, path, partition.)

pointer - A graphical user interface makes use of an on-screen pointer. The pointer is moved by means of a hardware device, usually a mouse, which is interfaced to the operating system via a pointer driver. C64 OS comes bundled with numerous pointer drivers for 1351 mouse, joystick, light pen, KoalaPad and more. The appearence of the pointer can be changed using the Mouse Utility. Each pointer selected with the Mouse Utility comes from a file found in //os/pointers/. These files can be modified to provide an alternative to the set that comes bundled. (See also, 1351 mouse, driver, GUI, joystick, KoalaPad, light pen, pointer.)

PRG - PRG is a CBM FS file type. It consists of a sequential stream of binary data that is prepended with a 2-byte header. The header indicates where in memory the data was saved from and to where it should be put back into memory when loaded. PRG files usually store program data, hence the name, but can also be used for certain kinds of data that need to be in a very specific place in memory, such as graphics data files and SID music. (See also, file system, file type, load (file/directory), memory (main), SID.)

PRG alias - There are a number of ways that a regular C64 program can be loaded and run, and several hardware configuration issues that can prevent a program from loading or running correctly. A PRG alias is a small file containing metadata about a C64 program. PRG alias files can be opened with the PRG Runner Utility, which uses the metadata to test that the PRG can be loaded and run under the current hardware conditions. It can also make some hardware changes, such as swapping device numbers or mounting disk images or swaplists. Then it loads the PRG file, does a controlled reboot and runs the program. (See also, device, disk image, load (file/directory), metadata, mount, PRG, swap.)


Quantum Link (Q-Link) - Quantum Link was a North American online service specifically for the Commodore 64 and 128. The service was accessed with dial-up modems from 300 to 2400 baud. It provided mail, chat, news and file sharing, along with some other services. Q-Link became America Online in 1989 and access to the original Q-Link ended in 1995. Q-Link was revived and rebuilt as Q-Link Reloaded in the 2000s, and can be accessed via the internet with a modern WiFi modem. (See also, WiFi modem.)

Quit to BASIC - To safely leave C64 OS and return to BASIC, choose Quit to BASIC from the options menu of either App Launcher or File Manager. If you are not in one of those Applications, choose Go Home from the current Application's menus. Alternatively, open the Switcher Utility from the Utilities menu and click the READY. button in the line which says: Drop to READY. If you have enabled Fast App Switching the current state of C64 OS is frozen to the REU and you can return to exactly where you left off very quickly via Fast Reboot. (See also, Application, Fast App Switching, Fast Reboot, home (Homebase), Utilities menu.)


RAM - Random Access Memory. (See, memory (main).)

RAMLink - The RAMLink is a high-speed storage device that was produced by CMD from 1990 to 2001. Its storage medium is power- (and battery-) backed 30-pin RAM simms with a maximum storage capacity of 16MB. The RAMLink has a parallel port which can be connected to the parallel port on a CMD HD to greatly accelerate transfer rates to and from the CMD HD. C64 OS can be installed and booted from a RAMLink. (See also, boot, CMD HD, device, install, modern device, RAM.)

RAMLink device icon.

REC - REC stands for RAM Expansion Controller and is a chip produced by Commodore that lies at the heart of the 17xx RAM Expansion Units. The REC chip can be instructed to move data very quickly between main memory and external memory using DMA. (See also, DMA, memory (main), RAM, REU (17xx).)

recents - Recents are files which have recently been opened. The TKPlaces class, which appears in the left sidebar of the File Manager and Open and Save Utilities, automatically manages recent files. A separate list of recently opened files is maintained per Application. The list of recents and favorites can be toggled by clicking the Recents/Favorites header. The list of recents can hold up to 15 recently accessed files. (See also, class (Toolkit), favorites, File Manager, Toolkit.)

recursion - Recursion is the ability of computer software to repeat a pattern of functionality in a nested context. For example, to scratch a directory containing files and subdirectories, the software can first scratch the files, then move into the first subdirectory and repeat an identical pattern within that subdirectory. When the pattern finds the deepest nested subdirectory, which itself has no more subdirectories, it returns to the parent directory and finally removes the now-empty subdirectory from which it just returned. The result is the ability to scratch an entire directory tree with a single command. C64 OS provides both low-level support and usable features for recursively copying, moving and scratching directory trees. (See also, directory, File Manager, scratch, subdirectory.)

REL - REL is a CBM FS file type. It stores data on the disk in a non-linear record-based fashion. It is useful for creating certain kinds of databases or index card systems. REL files are an uncommon file format, but they are supported by legacy devices, CMD HD, FD and RAMLink, as well as IDE64. REL support is incomplete on SD2IEC. The C64 OS File Manager does not support copying REL files between devices. (See also, file type, IDE64, legacy device.)

restore archive - C64 Archiver is an Application for C64 OS that can be used to create C64 Archive (CAR) files. Archive files come in more than one type: general, install and restore. A restore archive contains a complete copy of a C64 OS system directory. A restore archive cannot be extracted using the Installer Utility, but is instead extracted using the c64restore tool which is loaded and run automatically by the C64 OS Setup Tool during a fresh installation of C64 OS. (See also, CAR, install, load (file/directory), system card, tool.)

RESTORE (key) - The Commodore 64 has a special key, above the RETURN key, called RESTORE. Pushing this key triggers a low-level non-maskable interrupt (NMI) in the 6510 CPU. This causes the CPU to interrupt its current process and execute an interrupt service routine configured for the NMI. This can be used to do a variety of things. In C64 OS, when STOP+RESTORE are used together, the current Application is quit and the user is returned to Homebase. If the user is already at Homebase, the current Homebase Application is reloaded. (See also, 6502/6510, Application, CPU, home (Homebase).)

REU (17xx) - REU stands for RAM Expansion Unit. Commodore made several versions of REU 1700, 1750 and 1764, with 128KB, 512KB and 256KB of expansion RAM respectively. The 17xx REU makes use of the REC chip to perform DMA transfers for moving data very quickly between main memory and expanded memory. C64 OS has KERNAL level support for REUs, and can take advantage of REUs for accelerating file transfers and screen redrawing. C64 OS will continue to take advantage of REUs in new ways in subsequent versions. Although a GEORAM is a form of RAM expansion unit, it is not compatible with 17xx REUs, and uses a different technique for accessing extra memory. (See also, DMA, GEORAM, KERNAL, RAM, REC, memory (main), version.)

ROM - ROM stands for Read Only Memory. A ROM chip is a kind of memory chip that stores data which cannot be changed. Unlike a RAM chip which loses its memory contents when power is removed, a ROM chip retains its contents even without power. When the C64 is turned on, its ROM chips, (BASIC, KERNAL and character set ROMs,) are responsible for providing the familiar blue READY prompt. (See also, character set, KERNAL, RAM.)

root directory - A subdirectory is a directory that is nested within a parent directory. The root directory is the one directory on a partition that is not nested within a parent directory. Legacy devices support only a root directory; they do not support subdirectories. (See also, directory, legacy device, partition, subdirectory.)

RS-232 - RS-232 is an asynchronous bi-directional serial communications standard. It is used for connecting the Commodore 64 to other RS-232 peripherals. The C64's KERNAL supports RS-232 communications as a first class device, with speeds from 300 to 2400 baud over the User Port. The User Port's RS-232 implementation uses a non-standard 0V to 5V, rather than the standard -12V to 12V, but can be fitted with an adapter. Higher speed RS-232 communications are possible over the User Port with more efficient custom routines. The highest RS-232 communication speeds are possible with a cartridge, such as SwiftLink, Link232, Turbo232 and others. These cartridges add a dedicated UART chip for handling the sensitive communications timing. (See also, device, KERNAL, WiFi modem.)

RTC - RTC stands for realtime clock. The C64 does not include a built-in realtime clock, but can retrieve the current date and time from any of a number of external RTC chips. The CMD HD, FD and RAMLink all include an RTC chip, as does the IDE64, 1541 Ultimate II+ and the Ultimate64. Some SD2IEC devices include an RTC but most do not. It is also possible to connect an arduino based RTC module to the C64 using the I2C bus protocol. (See also, 1541 Ulimate, CMD FD, CMD HD, I2C (serial bus), IDE64, RAMLink, SD2IEC, Ultimate64.)


s00 - A file with the extension .s00 (or .sXX with any number from 00 to 99) is a file wrapped with a special header that carries CBM FS specific metadata. This format was first created for the PC64 emulator to allow files stored on a FAT file system to retain their CBM FS metadata. The "s" in "s00" represents the CBM file type SEQ. SD2IEC uses .s00 files and implicitly unwraps them. (See also, extension, FAT (32/16), file system, file type, metadata, p00, SD2IEC, SEQ.)

save job - A save job is a special job data structure that is provided by an Application to the Save Utility. It provides the Utility with a set of instructions for how to present the controls, what to do when a file is saved, and a validation callback for validating filenames as saveable, and what to do with overwriting an existing file. (See also, job, Utility.)

scratch - Scratch is the original CBM FS terminology used to mean removing or deleting a file from a disk. When CMD HD DOS extended the file system with support for subdirectories they used the term remove for directories, but retained scratch for files. C64 OS uses the term scratch to apply to both files and subdirectories. (See also, CMD HD, file system, subdirectory.)

scratch job - A scratch job is a special job data structure that is provided by an Application to the Scratch Utility. It provides the Utility with a set of instructions for what to scratch and a validation callback for validating filenames as scratchable. (See also, job, scratch, Utility.)

screencodes - Screencodes are byte values stored in screen matrix memory, which are used directly by the VIC-II chip as numeric indexes into the character set bitmap. They are not PETSCII codes even though they result in PETSCII characters appearing on the screen. (See also, backdrop, character set, PETSCII, VIC-II.)

screengrab - C64 OS has a configurable global keyboard shortcut for saving the contents of the screen to a timestamped file in //os/screengrabs/. The screengrab only captures the contents of the character-mode UI. It does not include graphics data or splitscreen. Screengrabs can be viewed with the tool petsciiview found in //os/c64tools/. Image Viewer can be used to view screenshots, (starting in C64 OS v1.04.) (See also, character mode, shortcut, splitscreen (gfx), tool.)

SCSI - SCSI stands for Small Computer Systems Interface and is used for interfacing peripheral devices to computers. Typically hard drives, CD-ROM drives or scanners. The CMD HD communicates with SCSI devices and bridges them to the C64 via the IEC serial port and CMD HD DOS commands. The CMD HD typically works with a SCSI hard drive mechanism as its storage medium, although this can be replaced by a modern SD2SCSI interface card. The CMD HD also has a DB25 connector for external SCSI devices. C64 software exists to use a SCSI CD-ROM drive connected to this port, for transferring data and playing audio CDs. (See also, CMD HD, IEC (serial bus, IEEE-488), modern device.)

SD2IEC - SD2IEC is a modern storage device with support for partitions and subdirectories. It backends on SD Card storage media. SD Cards are formatted with the FAT 16 or FAT 32 file system. Various compatibility modes are available for handling the differences between FAT FS and CBM FS, such as the ability to automatically wrap and unwrap files with .p00 and .s00 wrappers. C64 OS can be installed on and boot from an SD2IEC. (See also, FAT (32/16), file system, install, modern device, p00, partition, s00.)

SD2IEC device icon.

selection - C64 OS has many different user interface elements that in some way support selection. The Themes Utility has a common theme-able element for selections and this color is applied to all of these different contexts. For example, dragging a selection box around aliases in App Launcher, selecting multiple files in a table in the File Manager, selecting an item in the Utilities Utility list, selecting text in a text input field, pressing down on a scroll bar's nub to drag it, mousing down on a tab to change to that tab, these all share the same selection themed color. (See also, theme, Toolkit, UI.)

SEQ - SEQ is a CBM FS file type. It consists of a sequential stream of data. The data does not have to be text or human readable, it can be binary data. SEQ files are like PRG files but without the 2-byte load address header. You can't load a SEQ type file. (See also, file type, load (file/directory), PRG.)

services - Applications are found in //os/applications/. Applications can be installed and uninstalled by copying them into and out of the applications directory. However, some Applications are critically important to making C64 OS work and should never be uninstalled. These are called services, or service Applications, and are found instead in //os/services/. (See also, App Launcher, File Manager, install.)

settings file - Settings files end with the extension ".t", they are always in a human readable/editable text format. These files are found in //os/settings/. Settings files are not created automatically and must not be scratched. If you are going to manually edit a settings file, make a backup copy of it first. If the edited version leads to problems, restore the file from its backup or compare the file to its backup to see what might be wrong. (See also, datacheck, extension, scratch, state file, text.)

SHIFT (key) - There are two SHIFT keys found near both ends of the row of the C64's keyboard above the space bar. The LEFT-SHIFT and RIGHT-SHIFT keys are independent. For normal capitalization or punctuation, either SHIFT key may be used. When used with the the cursor keys, LEFT-SHIFT and RIGHT-SHIFT behave differently. Only RIGHT-SHIFT can be used to invert the directions of the cursor keys, allowing you to produce four directions, UP, DOWN, LEFT and RIGHT. The LEFT-SHIFT key can be used in conjunction with these four directions to create and extend selections. When either the COMMODORE or CONTROL keys are used, only the LEFT-SHIFT key can be used as an additional modifier for that key command event. LEFT-SHIFT (but not RIGHT-SHIFT) can also be used to modify mouse clicks. (See also, COMMODORE (key), CONTROL (key), modifier keys, selection.)

shortcut - A shortcut is a key command event used to activate either a menu option or some other element of the UI. A shortcut should not be confused with an alias. (See also, alias, event, menu bar, modifier keys, UI.)

SID - The SID chip is responsible for producing sound and music on the C64. SID stands for Sound Interface Device. Adding a second SID chip for stereo sound and more voices is a common C64 upgrade. Music files that control the SID chip are also referred to as SIDs. (See also, VIC-II.)

splitscreen (gfx) - The primary C64 OS UI is in character mode for speed and memory efficiency. However, C64 OS also supports bitmap mode at the KERNAL and library level. Whenever bitmap graphics data is available a small up arrow icon appears beside the free memory indicator in the status bar. The status bar can be dragged up and positioned on any screen row to split the screen. The character mode UI is active in the upper half and the bitmap graphics UI is available below the split. (See also, character mode, fullscreen (gfx), icon, KERNAL, library, status bar, UI.)

splitter (Toolkit) - Splitter is a common name for the TKSplit Toolkit class. It provides a bar, either horizontal or vertical, that splits the screen with other Toolkit objects on either side of the split. The splitter bar can be dragged to give more space for one side and less to the other. Splitters should not be confused with the graphics splitscreen. (See also, class (Toolkit), splitscreen (gfx), Toolkit.)

state file - State files end with the extension ".i", they are in a binary format not suitable for being manually edited or opened in a text editor. Global state files are stored in //os/settings/, and local state files are stored inside Application bundles. All state files are auto-generating, and can therefore safely be scratched. (See also, Application, bundle, extension, scratch, settings file.)

status bar - The status bar is a strip that runs along the bottom of the screen. It provides three modes which can be cycled by clicking the bar. Drive status mode shows the most recent status message from the last accessed drive. Open/selected file mode shows the file reference to the currently open or selected file. In both of these modes the right end of the status bar shows the currently available memory, which can be double clicked to open a memory-related Utility. The third status bar mode is the Application custom message. This mode uses the full width of the bar to show whatever the current Application wants to show. When bitmap graphics are available a small up arrow appears beside the available memory indicator. The status bar can be dragged up to reveal the graphics in splitscreen. (See also, file reference, selection, splitscreen (gfx).)

subdirectory - A subdirectory is a directory that exists nested within a parent directory. Legacy devices do not support subdirectories, modern devices do. A subdirectory appears as an item within its parent directory with the file type DIR. (See also, directory, file type, legacy device, modern device.)

swap - Storage devices can be assigned device numbers from 8 to 30. Some C64 software, particularly older software, is hardcoded to only access a specific device number, usually 8. To accommodate this software, devices can have their numbers swapped. Although devices have an internally configured device number, they can be assigned a different device number through software. For example, device 9 could be changed to device 8. But if there is already a device on 8, it can be changed to device 9. The two devices have then swapped device numbers. (See also, device, PRG alias.)

System Card - C64 OS ships on an SD Card. A Commodore 64 can have more than one SD2IEC device connected at the same time, but C64 OS is booted from only one of those devices. The card from which C64 OS is booted is called the System Card. It is imperative that you not remove the System Card, as C64 OS expects to always have access to the system directory. (See also, boot, SD2IEC, system card.)

Commercial C64 OS System Card, 64MB.

system directory - C64 OS v1.0 consists of nearly 1000 files distributed across a tree of around 50 nested subdirectories. All of these files and subdirectories are organized within a single directory called the system directory. The system directory must be located in the root directory of a partition. The default name of the system directory is "os", but this name can be changed. This makes it possible to have more than one system directory installed in the same partition. (See also, directory, install, partition, root directory, subdirectory, system card.)

system device (system drive) - The system device, sometimes called the system drive, is the device upon which the system directory is found. Using the Drives Utility it is possible to turn other devices on and off without needing to reboot C64 OS. It is not possible to turn off the system drive, because C64 OS requires access to the system directory at all times. (See also, system directory.)

system partition - C64 OS can only be installed on a modern storage device, because these have support for subdirectories. All modern devices also support partitions. The system partition is the one in which the system directory is found. Disk images can be mounted to SD2IEC partitions. However, an image cannot be mounted in the system partition because that would prevent C64 OS from having access to the system directory. A commercial C64 OS System Card comes with two partitions: Partion 1 "C64 OS" and Partition 2 "IMAGES". Storing disk images in the IMAGES partition is recommended. It allows them to be mounted without disturbing the system partition. (See also, disk image, image, modern device, mount, partition, SD2IEC, subdirectory, System Card, system card.)


text - Text is a kind of data that is meant to be read by a human. Text can be encoded in more than one way. PCs traditionally use ASCII, while Commodore 8-bit computers use an ASCII-variant called PETSCII (or sometimes PET-ASCII.) C64 OS has KERNAL-level support for ASCII-PETSCII conversion which is used by the TextView Utility for viewing either PETSCII or ASCII texts. (See also, ASCII, KERNAL, PETSCII, MText, TextView.)

text wrap (soft wrapping, hard wrapping) - Text wrapping is how a long text file is split into multiple lines. Hard wrapped text has special codes at fixed positions within the text to indicate where one line should end and the next begin. Hard wrapped text is pre-formatted for a specific screen width and can be problematic for the C64 if that width exceeds ~39 characters. Soft wrapped text only indicates with codes where one paragraph ends and the next begins. Software is then used to wrap the text to best fit the width of the display. Soft wrapping is much more computationally expensive than hard wrapping but provides a better and more customized reading experience. C64 OS includes library and Toolkit support for soft wrapping. (See also, library, MText, text, TextView, Toolkit.)

TextView - TextView is a Utility for viewing text files. File Manager has a menu option with keyboard shortcut for opening the selected file in TextView. TextView can do on-the-fly conversion from ASCII to PETSCII and supports soft and hard wrapped text. (See also, ASCII, PETSCII, shortcut, text, text wrap, Utility.)

theme - A theme is a set of colors for all of the different customizable user interface elements, which are designed to have a pleasing appearence when used together. C64 OS comes with two built-in themes, Daylight and Midnight (light and dark themes), plus the ability to create a custom theme using the Themes Utility. The built-in and custom themes are specified by files in //os/settings/ which allows you to modify even the built-in themes. (See also, Toolkit, UI, Utility.)

time - Time of day clock. (See, clock.)

timer - Timers are a low-level feature of C64 OS that Applications and Utilities use for setting up timed events. C64 OS is a single-tasking, event-driven OS, but timers can be used to allow different processes to interleave their events giving a form of multitasking. For example, the Memory Utility can be left open. It scans the memory page allocation table and updates its display of memory usage with a timer. As you use the Application below, you see changes to memory usage reflected in the Utility. (See also, event, page (memory), Utility.)

TMP - TMP is acronym for Turbo Macro Pro. (See, Turbo Macro Pro.)

tool - In C64 OS parlance, a tool is a program that is designed to be run from the C64's READY prompt. A tool is, therefore, not a C64 OS program. The tools directory (//os/c64tools/) contains many small useful programs to help with programming, data and device management. (See also, subdirectory, system card.)

Toolkit - Toolkit is part of the C64 OS KERNAL. Toolkit is an object-oriented user interface framework. It includes several built-in user interface classes, and many more classes that can be loaded by an Application or Utility that needs them. Classes snap together like lego pieces providing sophisticated and consistent behavior across the system. Toolkit gives Applications a powerful user interface with minimal coding effort. (See also, class (Toolkit), GUI, KERNAL, UI.)

tracking - Tracking refers to the speed and acceleration of the mouse pointer. Mouse tracking in C64 OS always makes use of acceleration to make it easier to move the pointer over large distances. The tracking speed can be set with the Configuration Tool (//os/settings/:configure) or with the Mouse Utility. (See also, 1351 mouse, pointer, tool, Utility.)

Turbo Macro Pro - Turbo Macro Pro is a popular 6502 assembler which runs directly on the C64. C64 OS was developed using Turbo Macro Pro on a Commodore 128. A version of Turbo Macro Pro, with REU support, is included in the c64tools directory making it possible to create new C64 OS software right from your C64. The C64 OS Programmer's Guide treats Turbo Macro Pro as a first class citizen for software development. (See also, 6502/6510, assembly language, pointer, REU (17xx), tool.)


UCI - UCI is an acronym for Ultimate Command Interface. It is an optional register-based API for communicating with the advanced hardware features of a 1541 Ultimate II+ or Ultimate64. C64 OS includes an RTC driver that communicates over UCI to read and write the realtime clock of 1541 Ulimate II+ and Ultimate64. (See also, 1541 Ultimate II+, API, driver, RTC, Ultimate64.)

UI - UI is an acronym for User Interface. Popular user interfaces include the command line interface (CLI) or graphical user interface (GUI). A user interface defines the means and metaphors by which a user interacts with the computer, starting and stopping programs, giving the computer input and receiving output. C64 OS uses a graphical user interface, implemented priimarily, though not exclusively, using the VIC-II's character mode with a custom character set. (See also, character mode, character set, GUI, VIC-II.)

Ultimate64 - The Ultimate64 is a new FPGA implementation of a Commodore 64. It fits into a standard C64 or C64c case and uses a real C64 keyboard and peripherals. It has the functionality of a 1541 Ultimate II+ built in, plus other features such as CPU acceleration, video and audio streaming, etc. It puts 2 USB ports, an ethernet port and an HDMI port in the place of the standard User Port. The original User Port can be added via an adapter board attached to a terminal header with a ribbon cable. C64 OS is fully compatible with Ultimate64 and can take advantage of many of its features. (See also, 1541 Ultimate II+, CPU.)

unmount - Unmounting is the opposite of mounting. After a disk image has been mounted it can later be unmounted. (See also, disk image, mount.)

USR - USR is a file type in CBM and compatible file systems. It stands for user defined. Files of USR type may be structured in any way, including in non-linear ways that are not understood by the drive's built-in DOS. For example, GEOS VLIR files have a tree-like structure of linked blocks on disk, and are accordingly marked with the USR file type. For this reason, the C64 OS Copy Utility cannot copy USR files. It skips over them instead. (See also, file type, PRG, REL, SEQ.)

Utilities menu - The Utilities menu is found in the top-left corner of the screen. It is always the left-most option in the menu bar. It looks like three horizontal bars. The contents of the Utilities menu is populated during boot up from the file //os/settings/:utilities.m which is structured as a menu definitions file. The Utilities menu allows you to open any Utility from within any Application. (See also, boot, menu bar, menu definitions file, Utility.)

Utility - A Utility is a small C64 OS program which display itself in a floating panel and can be opened simultaneously with any C64 OS Application. Utilities are sometimes stand-alone programs providing their own useful function, and they are sometimes designed to provide auxiliary functionality to an Application. Utilities allow different Applications to share functionality, without it having to be rewritten within each Application. (See also, Application, Utilities menu.)


version - C64 OS as a whole has a version number which is shown on the boot screen and can be viewed later using the About C64 OS Utility. The version number is stored in //os/settings/:version.t. The version consists of a primary version number and a secondary version number separated by a dot. Primary version numbers represent major changes. The secondary version number runs from 00 to 99, with small changes incrementing the number by 1, and larger changes raising the number to the next 10. Some incremements from .00 to .99 may be skipped. (See also, build.)

VIC-II - The VIC-II is the video chip used in the Commodore 64. It was produced in a PAL version and a couple of NTSC versions. VIC stands for Video Interface Controller. It is responsible for the amazing effects seen in C64 demos, but also for the limitations imposed on the C64 OS user interface, such as a single background color common to the whole screen. (See also, SID.)

VICE - VICE is the Versatile Commodore Emulator. It is a featureful multi-Commodore 8-bit emulator that runs on many different computer platforms. C64 OS can be installed and run within recent versions of VICE, by installing to a virtual CMD HD or IDE64 storage device. (See also, CMD HD, IDE64, install.)


WiFi modem - A WiFi modem is a networking device which presents itself to the Commodore 64 as a traditional dial-up modem. It is connected to the computer by RS-232, either over the User Port or in the form of a SwiftLink or Turbo232 cartridge. The modem connects to a WiFi router and performs TCP/IP packet handling internally. Hayes commands can be used to open a network socket connection, which then behaves like a direct modem-to-modem connection. WiFi modems can be used to connect to internet-based BBSes, Q-Link Reloaded, or also to implement modern networking services. (See also, Q-Link, RS-232.)

window shade - A real window shade is affixed at the top of a window and can be pulled down or drawn up. A Utility panel (a kind of window) can be rolled up into its title bar, just like a window shade. Hold CONTROL and click the title bar, or right-click the title bar (available in v1.03) to toggle window shade on or off. (See also, CONTROL (key), Utility.)

workspace memory - The C64's main memory is divided into several regions. The first 2.25KB of memory ($0000 to $08FF) are reserved as a special workspace for the KERNAL ROM, the BASIC ROM, the C64 OS KERNAL, libraries, drivers and toolkit classes. This area is statically allocated, and its use is documented in //os/docs/:memory.t (See also, class (Toolkit), driver, KERNAL, library, memory (main), ROM.)


XMODEM - XMODEM is a simple file transfer protocol developed by Ward Christensen. It allows files to be transmitted between two computers connected directly to one another using modems. (See also, YMODEM, ZMODEM)


YMODEM - YMODEM is a simple file transfer protocol developed by Chuck Forsberg, as an extension of XMODEM. It allows files to be transmitted between two computers connected directly to one another using modems. (See also, XMODEM, ZMODEM)


ZMODEM - ZMODEM is an inline file transfer protocol developed by Chuck Forsberg in 1986. It dramatically improves on the efficiency of XMODEM and YMODEM. It allows files to be transmitted between two computers connected directly to one another using modems. (See also, XMODEM, YMODEM)

Table of Contents

This document is subject to revision updates.

Last modified: Nov 30, 2023