The Radio
Application · 2026

The Radio

House Designs

Credits

Code
Scan / Desire, House Designs
Test
Mistral, RustBit / The Last Pirates

External links and files

Csdb

Youtube

The_Radio_bare.zip

The_Radio_source.zip

Description

Scan on 19 October 2026 THE RADIO - Internet Radio for the C64 Ultimate =============================================== Welcome to The Radio, by Scan of House Designs! Technical lowdown: ------------------ The Radio is an internet radio client written in 6502 assembly for C64 systems equipped with compatible Ultimate hardware. The C64 receives signed 8-bit mono PCM audio over UDP at approximately 48 kHz. A separate Python proxy running on a PC or server connects to the internet radio stations, converts the audio, and forwards the PCM stream, station list, station name and now-playing metadata to the C64. Audio packets arrive through the Ultimate Command Interface (UCI). The C64 copies the incoming samples into a 512 KB REU ring buffer, and Ultimate Audio plays the samples directly from REU memory. Playback starts after a 256 KB prebuffer has filled. No CPU turbo mode is used: the C64 runs at its normal 1 MHz speed. The Ultimate hardware handles network interfacing, REU storage and PCM playback rather than making the CPU generate the audio itself. Requirements: ------------- - Compatible C64 Ultimate-family hardware and firmware with: - Ultimate Command Interface (UCI) and UDP networking - REU enabled with at least 512 KB - Ultimate Audio enabled at $DF20-$DFFF - A working network connection - An independently running, correctly configured Python radio proxy reachable from the C64 over UDP port 6464 - Ultimate Audio audible through the appropriate audio output/mixer Important: The Radio does NOT connect directly to radio stations on its own. The Python proxy is an essential part of this setup. The proxy software and its configuration are not included in this README; they must be set up separately. Installing Python and FFmpeg on Windows: ---------------------------------------- The radio proxy needs Python and FFmpeg installed on the PC/server. On Windows 10/11, open PowerShell or Windows Terminal and install both using winget: winget install --id Python.Python.3.13 --exact winget install --id Gyan.FFmpeg --exact Close and reopen the terminal afterwards so any updated PATH settings take effect. Verify that both programs are available: python --version ffmpeg -version If Python is not recognized, try "py --version" or check the Windows App Execution Aliases / PATH configuration. If FFmpeg is not found, check the PATH and reopen the terminal (or sign out and back in). These commands install the runtimes, not the radio proxy itself. The proxy script, its Python dependencies and radio-station setup still need to be installed/configured separately. Tips for running: ----------------- - Back up your Ultimate configuration first. - From the Ultimate file browser, apply the included RunMe1st.cfg before loading the PRG. The intended settings are: [C64 and Cartridge Settings] Cartridge=None RAM Expansion Unit=Enabled REU Size=512 KB Map Ultimate Audio $DF20-DFFF=Enabled Command Interface=Enabled Cartridge=None disables the configured emulated cartridge; it does not mean removing the Ultimate-II+ hardware itself. Menu names and configuration support may vary with model/firmware. - Ensure that the Python radio proxy is already running, with the required stations configured and UDP traffic allowed by firewalls. - Start The Radio.prg. - At startup, the C64 displays the proxy IP address. Press RETURN to accept the default address, or type another IPv4 address and press RETURN. Use DEL to edit the address. - The program performs hardware and server checks before starting the radio. If a check fails, verify the Ultimate settings, the network and the proxy process. Controls: --------- On the main radio screen: S Open station browser F1 / F7 Previous / next station 1-9 Direct station presets (if available) , / . Volume down / up (hold to repeat) M Toggle mute H Help screen Joystick port 2 UP/DOWN Previous / next station Joystick port 2 LEFT/RIGHT Volume down / up Joystick port 2 short FIRE Open station browser Joystick port 2 FIRE ~1 sec Toggle mute In the station browser: UP / DOWN, F1 / F7 Move through stations Joystick UP / DOWN Move through stations RETURN / joystick FIRE Select highlighted station RUN/STOP Return without selecting On the help screen: RUN/STOP Return to radio A little backstory: ------------------- The Radio began as an experiment: could a C64 running at its normal 1 MHz receive live audio over UDP and play it through Ultimate Audio? The first steps were about getting streamed samples from the network into REU memory fast and reliably enough for continuous playback. From there came a larger ring buffer and prebuffering, followed by a radio-style PETSCII screen, now-playing titles, a station selector, volume controls, joystick support and recovery from interrupted streams. Acknowledgements: ----------------- Thanks to Commodore for the original C64, to Gideon for the Ultimate hardware and its ongoing development, to Mads Nielsen for Kick Assembler, and to everyone in the C64 community who keeps exploring what this machine can still do. Special thanks to Networking4all for generously providing the VM hosting resources for The Radio proxy. Their support makes it possible to keep the proxy available for networked C64 radio streaming.

Comments