Written and Maintained by Gregory Nacu

C64 OS: USER'S GUIDE

Last modified: Jul 08, 2019

Applications and Utilities

This section of the user's guide describes the features and use–cases for most of the C64 OS applications and utilities that make up the core system.

App Launcher

App Launcher Icon.
Name App Launcher
Class Home Base
Type Service Application
Bundle Path //os/services/app launcher/

App Launcher is a customizable desktop–like environment for launching C64 OS applications and utilities. It is a hybrid of a traditional operating system's desktop with the iOS springboard. It is not designed for managing files. For that, refer to File Manager.

App Launcher has 5 desktops. The current desktop can be switched by choosing the desired desktop from the view menu. Alternatively, the keyboard shortcuts COMMODORE+1…5 select the corresponding desktop.

Each desktop can be configured with up to 32 aliases. An alias is a link that can be double–clicked open open the application or utility that corresponds with the alias's label. Each alias can have its own color, and aliases can be freely positioned around the desktop. An alias to the same application or utility can appear on more than one desktop, and can have a unique color and position per desktop. Within a desktop there can be only one alias to a given application or utility.

Creating and deleting aliases

To add an alias to the desktop, choose Add Alias from the edit menu. The Files utility opens. Navigate to the applications, services, or utilities folders in the system folder. Pick an application or utility and open that bundle. An alias to that application or utility will be created on the current desktop.

To delete an alias select the alias by clicking it. Choose Delete from the edit menu. More than one alias can be deleted at the same time. Mouse down on part of the desktop and drag to create a selection box. Hold the COMMODORE key to extend a previous selection. Choosing delete from the edit menu will delete all selected aliases.

Aliases can be copied from one desktop to another. Select the aliases to copy, then choose Copy To → Desktop X from the edit menu, where X is the destination desktop. The copied aliases retain their color and position. If an alias being copied already exists on the destination desktop, it will not be copied. The original will retain its color and position.

Aliases can also be moved from one desktop to another. The process is identical to copying, but the original aliases are deleted after they are copied. To move aliases, choose Move To → Desktop X.

Customize aliases

An alias may be moved by dragging it to a new location on the desktop. Multiple aliases can be moved at the same time. Mouse down on the desktop and drag a selection box. Use the COMMODORE key to extend selections. While more than one alias is selected, moving one of the selected aliases will move them all. If an alias is dropped in such a way that no part of it would be visible on the desktop, it will revert to its original position.

An alias may have its color changed. Choose Colors from the edit menu. The Colors utility opens. Select an alias to customize. The current color of the selected alias will be selected automatically in the Colors utility. Pick another color and the alias will adopt that color. More than one alias can have its color changed at the same time. Select more than one alias, pick a color from the Colors utility and all selected aliases adopt that color.

Application and OS Information

To get version and copyright information about C64 OS, choose About C64 OS from the file menu.

It is also possible to use App Launcher to get version and copyright information, as well as view the custom icon, of an application. Select just one application alias. Then choose About App from the edit menu. The About This App utility opens. Utilities are simpler than apps. It is not possible to read copyright and version info about a utility the way it is for an application.

Customize the desktop

Each desktop can have a monochrome PETSCII art backdrop. The file format consists of exactly 1000 bytes of Screen Codes in a SEQ data file. The screen codes are rendered according to the custom character set in use by C64 OS, and PETSCII files designed for the standard C64 Character ROM may not render as expected.

The backdrop PETSCII file for each desktop is stored as X.p in the system folder's desktops folder, where X is the desktop number. I.e. 1.p is the backdrop file for desktop 1. These files can be manually or automatically installed. To automatically install a backdrop, choose Change Backdrop from the edit menu. The Files utility opens. Find a SEQ file, with a .p extension, that is 1000 bytes long, and open that file. It will be copied to the desktops folder, and overwrite the corresponding backdrop file for the current desktop.

Each desktop can have a hint color. This color is used by the border and background of the desktop. To change the hint color, choose Colors from the edit menu. The Colors utility opens. Make sure no aliases are selected. The Colors utility will highlight the current hint color of this desktop. Pick a color to change the hint color.

Advanced features

Changes to the color and position of aliases are only performed in memory, and they are flagged as needing to be saved to disk. When changing desktops, quiting back to BASIC, or launching an application, unsaved changes are saved automatically. To manually save changes choose Save from the edit menu.

After making a change to the position or color of aliases, before changes are saved to disk, changes can be undone by reloading the current desktop's aliases from disk. Choose Reload from the edit menu.

Copied aliases are written to disk immediately. When moving aliases, the copies are written to disk immediately, but the aliases from the current desktop are only flagged for delete. Thus, immediately after performing a Move To, reloading the desktop changes the behaviour of the Move To to the functional equivalent of Copy To.

The status bar, when toggled to application mode, indicates the number of currently selected aliases.

You can quickly select all aliases or unselect all by choosing Select All, or Unselect All from the edit menu. Or by using their keyboard shortcuts COMMODORE+A and SHIFT+COMMODORE+A.

Hacker's Note

Aliases can be created and edited either programmatically or by hand.

Every alias is in its own file, stored in the numbered subfolder of the desktops folder. The name of the file is exactly the label that shows up on the desktop, and it's also a match for the name of the application or utility that it opens.

Alias files are just SEQ text files, you can edit them in a PETSCII text editor. Every file contains exactly these 4 bytes:

Offset Description Value Range
0 Horizontal Position 0…w (PETSCII) for 0…39
1 Veritcal Position 0…h (PETSCII) for 0…25
2 Alias Color 0…? (PETSCII) for 0…15
3 Alias Kind u=utility, a=applicaiton

TIPs for a fast workflow

  • Use different hint colors to help you remember which desktop you're on.
  • Reserve one desktop where you max out the number of aliases possible, for quick access to nearly everything.
  • To quickly duplicate a desktop: Select All (COMMODORE+A), then Copy To → Desktop X (CONTROL+COMMODORE+X)
  • Group aliases together by theme.
  • Color–code groups of aliases to help distinguish one group from another.
  • Design a PETSCII art backdrop with labeled boxes for alias groups.
  • Make desktop aliases to utilities you haven't put in the system's utility menu.

File Manager

File Manager Icon.
Name File Manager
Class Home Base
Type Service Application
Bundle Path //os/services/file manager/

Documentation in progress…


Utilities: Data Operators

The following utilities are loosly grouped together, because they are designed to operate on the data of the application in a generic and reusable way.

Where ever possible, applications should rely on data operating utilites to perform their function or implement that feature in the application. When a new application is being written, care and thought should be taken into considering what data operating features of this app could be reworked into a self–standing utility. Doing so has several benefits:

  • Reduces the memory footprint and load time of the application
  • Increases usability and interface consistency between applications
  • Features for one app improve the functionality of other applications
  • Improves hack– and customizability. Users can substitute utilities.

The color picker is an obvious example. Applications that need the user to pick a color do not need to implement a color picking UI. They can simply launch the Colors utility. An enterprising developer could distribute an alternative Colors utility, one that is smaller, or lays out the colors differently, or has better customizability. As long as it is named the same and receives and delivers the same messages, the two are interoperable. Users can choose which they prefer, or even write their own.

Colors

Colors utility.
Name Colors
Class Data Operator
Type Utility
Path //os/utilities/Colors

The Colors utility lists the 16 colors of the C64 in two columns. It includes the color swatch and the name of the color in a label. Clicking a on a color selects that color and sends a color selection message command to the application.

The Colors utility can be closed at any time by clicking its close widget. Alternatively, a double–click on a color will send the color selection message command, and then automatically close the Colors utility.

When an application's color–related context changes, it sends a color selection message to the utility. The Colors utility handles this message by selecting the color.

Keyboard Shortcuts

While the Colors utility is open, it enables the same keyboard shortcuts that are typically used from the READY prompt to select a color. CONTROL+1…8 select the first column of colors, as they appear on the number keys on the C64 keyboard. COMMODORE+1…8 select the second column of colors, as they appear on the number keys of some C64 keyboards.

Message Handling

The Colors utility must handle the following messages types:

Message Constant Description Value Range
MC_COL Color $00…$0F, $FF (Mixed Colors)

The Colors utility should check for this message in the open message command, to get the initial color selection. It must send this command every time the user selects a color. And it should handle receiving this command, and present to the user the color it receives.


This is the end of the C64 OS User's Guide, for casual users. The following sections are for programmers and those users who are interested in a deeper technical explanation of some of the features and capabilities of C64 OS.

Next Section: C64 OS Apps and Utils

Table of Contents



This is document is continually updated.

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