https://github.com/amiantos/c64-ultimate-toolbox
Native macOS app for streaming, viewing, and controlling your Commodore 64 Ultimate device with real-time CRT shader effects.
https://github.com/amiantos/c64-ultimate-toolbox
commodore commodore-64 commodore-64-ultimate crt-shader macos swift
Last synced: 24 days ago
JSON representation
Native macOS app for streaming, viewing, and controlling your Commodore 64 Ultimate device with real-time CRT shader effects.
- Host: GitHub
- URL: https://github.com/amiantos/c64-ultimate-toolbox
- Owner: amiantos
- License: mpl-2.0
- Created: 2026-03-08T23:05:53.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-01T16:01:18.000Z (26 days ago)
- Last Synced: 2026-04-01T22:37:11.994Z (26 days ago)
- Topics: commodore, commodore-64, commodore-64-ultimate, crt-shader, macos, swift
- Language: Swift
- Homepage: https://discuss.bradroot.me/tags/c/projects/13/c64-ultimate-toolbox/36
- Size: 5.15 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-swift-macos-apps - C64 Ultimate Toolbox - ultimate-toolbox?style=flat&label=" /> <img align="bottom" height="13" src="https://img.shields.io/github/last-commit/amiantos/c64-ultimate-toolbox?style=flat&label=" /> - Companion toolbox for Commodore 64 Ultimate devices with file management, BASIC editing, and live display control. (Other / Text)
README
# C64 Ultimate Toolbox
A native macOS app for streaming, viewing, and controlling your [Commodore 64 Ultimate](https://www.commodore.net) device — with real-time CRT shader effects, REST API integration, and keyboard forwarding.

More screenshots: [BASIC Prompt](screenshots/C64%20Ultimate%20Toolbox%20Screenshot%201.png) · [CRT Effects (Amber)](screenshots/C64%20Ultimate%20Toolbox%20Screenshot%202.png)
## Features
- **Two connection modes** — Viewer Mode passively listens for streams; Toolbox Mode connects via REST API for full device control
- **Live video and audio** — Real-time UDP video and audio streaming with audio balance control
- **CRT shader effects** — Metal-based post-processing with scanlines, bloom, phosphor afterglow, shadow masks, barrel distortion, and vignette
- **8 built-in presets** — Clean, Home CRT, P3 Amber, P1 Green, Crisp, Warm Glow, Old TV, Arcade
- **Custom presets** — Save, modify, and delete your own CRT configurations
- **Toolbox controls** — Start/stop streams, load SID/PRG/CRT files, reset/reboot/power off, access the Ultimate menu
- **Keyboard forwarding** — Type on your Mac keyboard and have it appear on the C64, with an on-screen strip for C64-specific keys
- **Screenshot and video recording** — Capture the CRT-processed output with synchronized audio
- **Password support** — Connect to password-protected devices
- **Zero dependencies** — Pure Apple frameworks (Metal, Network, AVFoundation, SwiftUI)
## Requirements
- macOS 14.6 or later
- Xcode 26 (to build)
- A Commodore 64 Ultimate device on the local network
- Toolbox Mode requires firmware 3.11+ with REST API enabled
## Download
- [Download C64 Ultimate Toolbox for macOS 14.6 and later](https://amiantos.s3.amazonaws.com/c64-ultimate-toolbox-v1.0.zip)
- Or, [Purchase C64 Ultimate Toolbox on the App Store](https://apps.apple.com/us/app/c64-ultimate-toolbox/id6760209871?mt=12) for automatic updates.
## Building
Open `C64 Ultimate Toolbox.xcodeproj` in Xcode and build. No package dependencies to resolve.
## Usage
### Viewer Mode
1. Start the VIC Stream and Audio Stream on your C64U, pointed at your Mac's IP address
2. Launch the app and click **Listen** under Viewer Mode
3. Click the video to access audio and CRT filter controls
⚠️ For more detailed setup help check this: [Quick Start Guide](https://discuss.bradroot.me/t/c64-ultimate-toolbox-quick-start-guide/80)
### Toolbox Mode
1. Enable **FTP File Service** and **Web Remote Control Service** in your C64U's Network Services menu
2. Launch the app and enter your C64U's IP address under Toolbox Mode
3. Click **Connect** — streams start automatically
4. Click the video to access device controls, file runners, keyboard forwarding, and more
### Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Disconnect | ⌘D |
| Volume Up/Down | ⌘↑ / ⌘↓ |
| Mute | ⇧⌘M |
| Take Screenshot | ⇧⌘S |
| Start/Stop Recording | ⇧⌘R |
## How It Works
The app communicates with the C64U over multiple channels:
- **HTTP REST API** — Device info, stream control, file loading, machine control, keyboard injection (Toolbox Mode)
- **UDP port 11000** — Video stream (4-bit indexed color, converted to RGBA)
- **UDP port 11001** — Audio stream (16-bit stereo PCM at ~48kHz)
Video frames are assembled from UDP packets, converted from the C64's 4-bit palette to RGBA, then rendered through a Metal CRT shader pipeline at the window's native resolution.
## Links
- [Quick Start Guide](https://discuss.bradroot.me/t/c64-ultimate-toolbox-quick-start-guide/80)
- [Devlog](https://discuss.bradroot.me/t/c64u-viewer-c64-ultimate-toolbox-devlog/78)
- [Support Forum](https://discuss.bradroot.me/tags/c/projects/13/c64-ultimate-toolbox/36)
## License
[Mozilla Public License 2.0](LICENSE)