https://github.com/sandlbn/ultimate64-manager
Desktop application for managing Commodore 64 Ultimate, Ultimate64 and Ultimate-II+ devices
https://github.com/sandlbn/ultimate64-manager
c64 commodore commodore-64 retrocomputing ultimate-64
Last synced: 6 days ago
JSON representation
Desktop application for managing Commodore 64 Ultimate, Ultimate64 and Ultimate-II+ devices
- Host: GitHub
- URL: https://github.com/sandlbn/ultimate64-manager
- Owner: sandlbn
- Created: 2025-08-15T09:59:27.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-04-06T22:16:10.000Z (about 2 months ago)
- Last Synced: 2026-04-07T00:24:38.138Z (about 2 months ago)
- Topics: c64, commodore, commodore-64, retrocomputing, ultimate-64
- Language: Rust
- Homepage:
- Size: 32.3 MB
- Stars: 128
- Watchers: 13
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ultimate64 Manager
A cross-platform desktop application for managing **Commodore 64 Ultimate**, **Ultimate 64**, **Ultimate 64 Elite**, and **Ultimate-II+** devices. Browse files, mount disk images, stream VIC video/audio, play SID music, and edit device configuration.
[](https://buymeacoffee.com/sandlbn)

## Downloads
Prebuilt binaries for macOS, Windows, and Linux (AppImage) are available on the GitHub **Releases** page:
https://github.com/sandlbn/ultimate64-manager/releases
> **Required:** Enable the following services in the **Ultimate / Commodore menu** (not in this app): **Web Remote Control**, **FTP File Service**, **Ultimate DMA Service**, and **Ultimate Ident**.
> If these services are disabled, **Ultimate64 Manager** will not be able to connect.
## Features
- **Dual-Pane File Browser** – Local and remote file browsing side by side
- **FTP File Transfer** – Upload/download files via FTP with multi-file selection
- **Remote Directory Browser** – Browse the Ultimate filesystem without mounting disks
- **Disk Image Viewer** – Display **D64/D71 directory contents** (C64-style listing)
- **Disk Management** – Mount D64, D71, D81, G64, G71, G81 images to Drive A/B
- **Run Programs** – Direct load and run for PRG, CRT, and SID files
- **Supported File Types** – D64, D71, D81, G64, G71, G81, PRG, P00, CRT, SID, MOD, XM, S3M, TAP, T64, REU, ROM, BIN, CFG, ZIP, and firmware updates (U2L, U2P, U2R, U64, UE2)
- **Music Player** – Play SID and MOD files with playlist support
- Shuffle and repeat modes
- Subsong navigation for multi-tune SID files
- Song length database support (HVSC Songlengths.md5)
- True pause/resume (freezes C64)
- Configurable default song duration
- **Video Streaming** – Real-time VIC video with audio
- Fullscreen mode (double-click or Opt+F / Alt+F)
- Screenshot capture to Pictures folder
- Unicast and multicast support
- **Audio Streaming** – SID audio output via UDP
- **Memory Editor** – Read and write C64 memory in real-time
- Quick access to common locations (Screen, VIC-II, SID, CIA, Zero Page, etc.)
- Hex, ASCII, Decimal, Binary display modes
- Search for byte patterns or ASCII text
- Fill memory ranges
- Click-to-edit bytes
- **Configuration Editor** – Edit Ultimate configuration settings
- **Device Discovery** – Automatic network discovery of Ultimate devices
- **Backup & Restore** – Full configuration backup and restore
- **Machine Control** – Pause, Resume, Reset, Reboot, Power Off
- **Remote Keyboard Input** – For BASIC only
- **Assembly64 Browser** – Search the Assembly64 API (aggregates CSDB, HVSC, c64.org, OneLoad64, Gamebase64 and more)
- Filter by type, source, rating, recency, and sort order — no AQL knowledge required
- Save named searches and star favorites for one-click recall
- View release details with screenshot preview (CSDB-sourced entries) and file listings
- Run PRG, CRT, SID, and disk images directly on the device
- Mount disk images with drive (8/9) and mode (RO/RW) selection
- Extract ZIPs and run/mount their contents
- Open original CSDB release pages in the browser for scene comments
- **BASIC Editor** – Write, validate, and run C64 BASIC v2 programs from inside the app
- Syntax highlighting (line numbers · keywords · strings · REM · PETSCII codes)
- Validate before send — catches unbalanced quotes, descending line numbers, unknown control codes
- petcat-style PETSCII control codes (`{CLR}`, `{RVS ON}`, `{$93}`, …)
- Save tokenized .prg or load .bas text files
- One-click "Send & Run" with cancel button for in-flight transfers
- **Drag & Drop** – Drop any file onto the app window for a quick action dialog
- PRG/CRT/SID → Run on device · D64/D71/… → Mount on Drive A · BAS/TXT → Open in BASIC editor · anything → Upload to remote
- **Folder Favorites** – Star folders in the local and remote file browsers
- Toolbar dropdown jumps to a saved path; right-click for an inline context menu
- Right-click a file → "Reveal in Finder/Explorer" (macOS / Windows / Linux)
- **Editable path field** – `Cmd/Ctrl+L` focuses the path; type a path and press Enter to jump there. `~` expands to home on the local pane.
- **In-app Help overlay** – Press `?` from any tab to see every keybind in one place.
## Keyboard Shortcuts
### Global
| Shortcut | Action |
|----------|--------|
| `?` | Show keyboard shortcut overlay |
| `Opt+F` / `Alt+F` | Toggle video fullscreen |
| `ESC` | Close overlays / exit fullscreen / clear quick search |
| `Cmd/Ctrl+Z` / `Cmd/Ctrl+Shift+Z` | Memory editor undo / redo |
### File Browser (Total Commander-style)
| Shortcut | Action |
|----------|--------|
| `F2` | Rename selected file |
| `F3` | View file contents |
| `F4` | Edit selected file in OS default editor (local pane) |
| `F5` | Copy across panes |
| `F7` | Make new folder |
| `F8` | Delete selected |
| `Cmd/Ctrl+R` | Refresh active pane |
| `Tab` | Switch active pane |
| `Backspace` / `Cmd/Ctrl+←` / `Cmd/Ctrl+↑` | Go to parent folder |
| `↑` / `↓` | Move file cursor |
| `Enter` | Open folder · Run PRG/CRT/SID · Mount disk image |
| `Space` | Calculate folder size + toggle selection (local pane) |
| `Cmd/Ctrl+L` | Focus the path field (type a path, press Enter to navigate) |
| `a`–`z`, `0`–`9` | Quick search — type to jump to first matching file |
| `Cmd/Ctrl+A` | Select all in active pane |
## Song Length Database
The music player can use the HVSC **Songlengths.md5** database for accurate song durations.
You can download it from the Music Player tab or place it manually at:
- **Windows**: `%APPDATA%\ultimate64-manager\Songlengths.md5`
- **macOS**: `~/Library/Application Support/ultimate64-manager/Songlengths.md5`
- **Linux**: `~/.config/ultimate64-manager/Songlengths.md5`
## Screenshots
Screenshots are saved to:
- **Windows**: `Pictures\Ultimate64\`
- **macOS**: `~/Pictures/Ultimate64/`
- **Linux**: `~/Pictures/Ultimate64/`
## Building
### Prerequisites
- Rust 1.81+
- **Linux (audio support required for streaming):**
```bash
sudo apt-get update && sudo apt-get install -y libasound2-dev
```
- For macOS bundle:
```bash
cargo install cargo-bundle
```
### Build
```bash
# Clone
git clone https://github.com/sandlbn/ultimate64-manager.git
cd ultimate64-manager
# Build
cargo build --release
# macOS bundle
cargo bundle --release
```
## Enabling Video & Audio Streaming
Streaming requires a wired Ethernet connection. Wi-Fi is not supported.
## License
MIT License
## Acknowledgments
- [Ultimate64](https://github.com/GideonZ/1541ultimate) team
- [Ultimate64 Rust Library](https://github.com/mlund/ultimate64)
- [Iced](https://github.com/iced-rs/iced) GUI framework
- **Fredrik Åberg** for opening up the [Assembly64 API](https://hackerswithstyle.se/leet/swagger-ui/index.html)