A native macOS app for streaming, viewing, and controlling your Commodore 64 Ultimate device — with real-time CRT shader effects, REST API integration, and keyboard forwarding.
More screenshots: BASIC Prompt · CRT Effects (Amber)
- 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)
- 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 C64 Ultimate Toolbox for macOS 14.6 and later
- Or, Purchase C64 Ultimate Toolbox on the App Store for automatic updates.
Open C64 Ultimate Toolbox.xcodeproj in Xcode and build. No package dependencies to resolve.
- Start the VIC Stream and Audio Stream on your C64U, pointed at your Mac's IP address
- Launch the app and click Listen under Viewer Mode
- Click the video to access audio and CRT filter controls
- Enable FTP File Service and Web Remote Control Service in your C64U's Network Services menu
- Launch the app and enter your C64U's IP address under Toolbox Mode
- Click Connect — streams start automatically
- Click the video to access device controls, file runners, keyboard forwarding, and more
| Action | Shortcut |
|---|---|
| Disconnect | ⌘D |
| Volume Up/Down | ⌘↑ / ⌘↓ |
| Mute | ⇧⌘M |
| Take Screenshot | ⇧⌘S |
| Start/Stop Recording | ⇧⌘R |
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.
