Control and manage a Commodore 64 Ultimate from Android, iOS, or a self-hosted web deployment on your local network.
- Cross-platform: Native Android and iOS apps, plus a Docker-based web interface for macOS, Windows, or Linux.
- Cross-device: Works with the C64 Ultimate, the Ultimate 64 (Elite I/II), and the Ultimate-II+(L) cartridge.
- Dashboard: Machine controls, Quick actions, drive and printer shortcuts, SID mixer, and streams on a single page.
- 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.
- Configuration: Browse and edit the full C64 Ultimate configuration tree.
- Diagnostics: Inspect activity logs, traces, latency, and connection health across App, REST, FTP, and Telnet activity.
- Device Switcher: Switch between devices and run parallel health checks.
Setup takes three steps: install the app, enable the C64 Ultimate's network services, then connect the two over your local network.
Install the app on a phone, tablet, or host that is on the same local network as the C64 Ultimate.
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. It needs Docker on Windows, macOS, or Linux; a Raspberry Pi Zero 2W or 4B with 512 MiB RAM or more is enough. Install Docker with 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 to load the app. If you later set a password in Settings > Device > Network password, the web interface requires that password to log in.
C64 Commander controls the device through its built-in network services, so turn these on first.
- On the C64 Ultimate, press C= and RESTORE together to open the menu, then select Network Services & Timezone.
- Enable the services the app relies on:
- Web Remote Control Service — the REST API used for most control and status operations. Required.
- FTP File Service — needed to browse and transfer files for playlists and disk collections.
- Telnet Remote Menu Service — used for a few advanced operations not available over REST, such as power cycle.
- Make sure the C64 Ultimate is on the same network as the device running C64 Commander. Note its IP address under Wired Network Setup or WI-FI Network Setup in case you need to enter it manually.
-
Start C64 Commander. When no reachable device is configured yet, it automatically scans the local network for C64 Ultimate devices.
-
From the discovered devices, tap Use to connect now, or Save to keep one for later. If a device is password-protected, the app prompts for its network password before connecting.
-
To scan again later, open Settings > Device > Connection and tap Discover devices.
-
If discovery does not find your device, enter its IP address or hostname manually under Settings > Device > Connection.
-
A green health indicator at the top right confirms a successful connection.
On later launches, C64 Commander reconnects to your saved device automatically. If a device needs a network password — or a saved password stops working — the app prompts for it and reconnects as soon as the correct password is entered.
Operational dashboard: machine controls, quick actions, light effects, drives, printer, SID mixer, streams, and configuration snapshots.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Turn your phone into a wireless controller for the C64 — an on-screen joystick and keyboard relayed to the machine over your network. Open it from the Remote Input quick action on Home, or the Remote Input button on Play while something is running.
Remote Input includes:
- Joystick - Analog, D-Pad, and Swipe controls, FIRE, autofire, port selection, and an immersive Game mode that simplifies the layout.
- Keys - a touchscreen C64 keyboard with direct access to common control, edit, function, and system keys.
Joystick support requires an Ultimate 64 with firmware 3.15 or above. Due to hardware limitations, it does not work on U2.
The following shows the Joystick tab in standard and Game mode.
![]() |
![]() |
The following shows the Keys tab using various display profiles, from small to large.
![]() |
![]() |
![]() |
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.
![]() |
![]() |
![]() |
Choose an import source, browse its contents, then add files to your playlist or disk collection.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
View drive state, mount and eject images, and manage disk collections with multi-disk group rotation.
![]() |
![]() |
![]() |
Browse and edit the full C64 Ultimate configuration: categories, items, sliders, toggles, and per-item refresh.
![]() |
![]() |
![]() |
Connection, appearance, diagnostics, playback defaults, HVSC integration, and device-safety controls.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Built-in guides for setup, workflows, and day-to-day usage.
![]() |
![]() |
![]() |
Tap the top-right status badge to open diagnostics.
Provides health checks, activity logs, trace inspection, filter editor, and latency analysis across App, REST, FTP, and Telnet contributors.
![]() |
![]() |
![]() |
Long-press the top-right status badge to open the device switcher.
The switcher shows all configured devices with real-time health status, allowing instant switching and quick identification of connectivity or device issues.
![]() |
![]() |
![]() |
The layout adapts automatically based on viewport width: Small (phones), Standard (large phones and small tablets), and Large (tablets and desktops). Override in Settings > Display Profile.
| Small display | Standard display | Large display |
|---|---|---|
|
|
|
C64 Commander can be operated with a hardware keyboard, D-pad/joystick, or numeric keypad.
The visible highlight shows the selected control; use Up/Down to move, OK/Enter to open a card or activate a control, and Back/Escape to leave a card, close a dialog, or go back. A soft-key guidance bar appears only while key navigation is active and clears immediately on touch/mouse input.
Disable it in Settings > Experimental > Keyboard and keypad navigation if a device should remain touch-only. Numeric-keypad T9 text entry is reserved for keypad-first mode; hardware keyboard typing remains literal.
- Confirm the C64 Ultimate and your device are on the same network.
- Verify the IP address or hostname in Settings > Device > Connection.
C64 Commander includes Device Safety controls under Settings > Device Safety to throttle REST and FTP traffic. REST mutations use a single in-flight lane; presets and advanced controls tune FTP concurrency and backoff behavior.
- Presets: Relaxed, Balanced (default), Conservative.
- Advanced controls: FTP concurrency, read coalescing, cooldowns, backoff strategy, circuit-breaker thresholds, discovery probe interval.
- The Relaxed preset can overwhelm some setups. Start with Balanced or Conservative.
- App expired: SideStore refreshes every 7 days automatically.
- Account/App ID limits: Remove unused sideloaded apps and retry.
- Install/signing errors: Re-download the IPA and verify its checksum.
- Telnet-backed controls: Power Cycle, Clear Flash, and other Telnet-only actions use the native socket bridge on iOS and Android. Support is discovered from the connected device's live Telnet menu graph, so device-specific gaps stay visible as disabled controls with inline explanation instead of disappearing.
Network security, web server configuration, authentication, and Linux auto-update are covered in docs/advanced.md.
The High Voltage SID Collection is an archive of C64 SID music. C64 Commander integrates HVSC for browsing, searching, and playing SID tunes with metadata and song-length support.
Thanks to Commodore for creating the Commodore 64 and to the creators of the C64 Ultimate for extending the platform with modern hardware.
C64 Commander uses many open-source libraries. Notices are generated via scripts/generate-third-party-notices.mjs and published as THIRD_PARTY_NOTICES.md.
GPL v3. See LICENSE.




















































