C64commander
Cross-platform app (Android/iOS/web) for managing and controlling a Commodore 64 Ultimate over your local network.
Install / Use
/learn @chrisgleissner/C64commanderREADME
C64 Commander
Control and manage a C64 Ultimate from Android, iOS, or a self-hosted web deployment on your local network.
<img src="./docs/site/play-store/feature-graphic-1024x500.png" alt="C64 Commander" width="600"/>Features
- Cross-platform: Native Android and iOS apps, plus a Docker-based web interface for macOS, Windows, or Linux.
- Dashboard: Machine controls, Telnet-backed quick actions, drive and printer shortcuts, SID mixer, and streams on a single page.
- Configuration: Browse and edit the full C64 Ultimate configuration tree.
- Playlists: Build playlists from local files, C64U storage, the High Voltage SID Collection (HVSC), or CommoServe search results. Autoplay, shuffle, and subsong selection.
- Disk management: Mount, unmount, and rotate multi-disk groups across drives.
- Diagnostics: Inspect activity logs, traces, latency, and connection health across App, REST, FTP, and Telnet activity.
Quick Start
Android
- Download the latest APK from Releases.
- Open the APK and allow installs from unknown sources if prompted.
- Tap Install.
iOS
- Set up SideStore.
- Download the latest IPA from Releases.
- In SideStore > My Apps, tap + and select the IPA.
SideStore refreshes the app signature automatically every 7 days.
Web (Docker)
The web version is self-hosted for LAN use. Requirements: Docker on Windows, macOS, or Linux. A Raspberry Pi Zero 2W or 4B with 512 MiB RAM or more is sufficient.
Install Docker: Docker Desktop (Windows/macOS) or Docker Engine (Linux). The image supports linux/amd64 and linux/arm64.
mkdir -p ./c64commander-config && chmod 0777 ./c64commander-config
docker run -d --name c64commander -p 8064:8064 \
-v ./c64commander-config:/config --restart unless-stopped \
ghcr.io/chrisgleissner/c64commander:<version>
Open http://<host-ip>:8064 in a browser.
If a network password is configured in Settings > Device > Network password, the web interface requires login with the same password.
First Connection
Ensure the C64 Ultimate is on your local network with required services enabled:

On the C64 Ultimate:
- Press CBM+Restore and open Network services & timezone.
- Enable:
- Web Remote Control Service - REST API used for most control and status operations
- FTP File Service - required for browsing and transferring files for playlists and disk collections
- Telnet Remote Menu Service - used for a small set of advanced operations not available via REST, such as power cycle
- Note the IP address from Wired Network Setup or WI-FI Network Setup.
In C64 Commander:
- Open Settings > Device > Connection.
- Enter the C64 Ultimate IP address or hostname.
- A green health indicator at the top right confirms the successful connection:

Pages
Home
Operational dashboard: machine controls, quick actions, light effects, drives, printer, SID mixer, streams, and configuration snapshots.
<table> <tr> <td><img src="docs/img/app/home/00-overview-light.png" alt="Home overview (Light)" width="360"/></td> <td><img src="docs/img/app/home/01-overview-dark.png" alt="Home overview (Dark)" width="360"/></td> <td><img src="docs/img/app/home/sections/02-quick-config-to-keyboard-light.png" alt="Home sections from quick config through keyboard light" width="360"/></td> </tr> <tr> <td><img src="docs/img/app/home/sections/03-quick-config-to-printers.png" alt="Home sections from quick config through printers" width="360"/></td> <td><img src="docs/img/app/home/sections/04-printers-to-sid.png" alt="Home sections from printers through SID" width="360"/></td> <td><img src="docs/img/app/home/sections/05-sid-to-config.png" alt="Home sections from SID through config" width="360"/></td> </tr> <tr> <td><img src="docs/img/app/home/dialogs/05-lighting-studio-medium.png" alt="Lighting Studio bottom sheet" width="360"/></td> <td><img src="docs/img/app/home/03-demo-mode-interstitial.png" alt="Demo Mode interstitial" width="360"/></td> <td><img src="docs/img/app/home/dialogs/01-save-ram-dialog.png" alt="Save RAM type selection" width="360"/></td> </tr> <tr> <td><img src="docs/img/app/home/dialogs/02-save-ram-custom-range.png" alt="Save RAM custom ranges" width="360"/></td> <td><img src="docs/img/app/home/dialogs/03-snapshot-manager.png" alt="Load RAM snapshot manager" width="360"/></td> <td><img src="docs/img/app/home/dialogs/04-restore-confirmation.png" alt="Load RAM restore confirmation" width="360"/></td> </tr> </table>Play
Build playlists for programs and songs sourced from the local device, C64U storage, HVSC, or CommoServe. Supports autoplay, shuffle, repeat, subsong selection, and automatic song length discovery.
<table> <tr> <td><img src="docs/img/app/play/01-overview.png" alt="Play overview" width="360"/></td> <td><img src="docs/img/app/play/sections/02-playlist.png" alt="Play playlist" width="360"/></td> <td><img src="docs/img/app/play/playlist/01-view-all.png" alt="Play playlist view all" width="360"/></td> </tr> </table>Browse & Import
Import files to playlists or disk collections from your local device, C64U storage, HVSC, or CommoServe.
<table> <tr> <td><img src="docs/img/app/play/import/01-import-interstitial.png" alt="Import source chooser" width="360"/></td> <td><img src="docs/img/app/play/import/02-c64u-file-picker.png" alt="C64U file browser" width="360"/></td> <td><img src="docs/img/app/play/import/03-local-file-picker.png" alt="Local folder import" width="360"/></td> </tr> <tr> <td><img src="docs/img/app/play/import/04-commoserve-search.png" alt="CommoServe search form" width="360"/></td> <td><img src="docs/img/app/play/import/05-commoserve-results-selected.png" alt="CommoServe results with selection" width="360"/></td> <td></td> </tr> </table>Disks
View drive state, mount and eject images, and manage disk collections with multi-disk group rotation.
<table> <tr> <td><img src="docs/img/app/disks/01-overview.png" alt="Disks overview" width="360"/></td> <td><img src="docs/img/app/disks/sections/02-disks.png" alt="Disks collection" width="360"/></td> <td><img src="docs/img/app/disks/collection/01-view-all.png" alt="Disks collection" width="360"/></td> </tr> </table>Configuration
Browse and edit the full C64 Ultimate configuration: categories, items, sliders, toggles, and per-item refresh.
<table> <tr> <td><img src="docs/img/app/config/01-categories.png" alt="Configuration categories" width="360"/></td> <td><img src="docs/img/app/config/sections/05-u64-specific-settings.png" alt="Configuration U64 specific" width="360"/></td> <td><img src="docs/img/app/config/sections/06-c64-and-cartridge-settings.png" alt="Configuration C64 and cartridge settings" width="360"/></td> </tr> </table>Settings
Connection, appearance, diagnostics, playback defaults, HVSC integration, and device-safety controls.
<table> <tr> <td><img src="docs/img/app/settings/sections/01-appearance.png" alt="Settings appearance" width="360"/></td> <td><img src="docs/img/app/settings/sections/02-connection.png" alt="Settings connection" width="360"/></td> <td><img src="docs/img/app/settings/sections/03-diagnostics.png" alt="Settings diagnostics" width="360"/></td> </tr> <tr> <td><img src="docs/img/app/settings/sections/04-play-and-disk.png" alt="Settings play and disk" width="360"/></td> <td><img src="docs/img/app/settings/sections/05-config.png" alt="Settings configuration" width="360"/></td> <td><img src="docs/img/app/settings/sections/07-device-safety.png" alt="Settings device safety" width="360"/></td> </tr> </table>Docs
Built-in guides for setup, workflows, and day-to-day usage.
<table> <tr> <td><img src="docs/img/app/docs/01-overview.png" alt="Docs overview" width="360"/></td> <td><img src="docs/img/app/docs/sections/01-getting-started.png" alt="Docs getting started" width="360"/></td> <td><img src="docs/img/app/docs/sections/05-swapping-disks.png" alt="Docs swapping disks" width="360"/></td> </tr> </table>Diagnostics
Accessible via the C64U connectivity badge in the top-right corner. Provides health checks, activity logs, trace inspection, filter editor, and latency analysis across App, REST, FTP, and Telnet contributors.
<table> <tr> <td><img src="docs/img/app/diagnostics/tools/01-menu.png" alt="Diagnostics overview" width="360"/></td> <td><img src="docs/img/app/diagnostics/activity/07-problems-only.png" alt="Diagnostics activity list" width="360"/></td> <td><img src="docs/img/app/diagnostics/filters/02-editor.png" alt="Diagnostics filter editor" width="360"/></td> </tr> </table>Display Profiles
The layout adapts automatically based on viewport width: Small (phones), Standard (large phones and small tablets), and Large (tablets and desktops). Override in **S
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
