A demo for the Ultimate 64, compiled with Oscar64, built around a song composed in the Heartbeat Soundtracker. The demo includes a full C port of the Heartbeat Soundtracker standalone player -- all SID and Ultimate Audio channels, tempo, modulation (vibrato, PWM, filter sweep, portamento) and in-pattern track commands -- driven from a single tick IRQ, plus a "wow factor" note visualiser.
v1.1.0: the player now comes from the ultimate-uci-oscar64 library for Oscar64, so other programs can use it too; the firmware settings load automatically; and the demo uses the Colodore palette, with the plasma and the scrolltext slowly changing colour.
Requirements
- Ultimate 64, Ultimate 64 Elite or Elite II with firmware 3.15 or newer (tested on an Elite II and an Elite).
- The required settings (turbo, 16 MB REU, Ultimate Audio, Command Interface, plus Heartbeat Soundtracker's own SID and mixer settings) are in heartbeat-demo.cfg, which the firmware loads automatically when you start the demo. It works on every model. It also changes the audio mixer and UltiSID settings; see the README if you prefer your own.
- Prefer the internal microSD slot over a USB drive. A C64U firmware bug causes many USB drives to randomly disconnect when Ultimate Audio channels are in use.
Installation
- Extract the ZIP to the root of an SD card (recommended) or USB drive. The ZIP contains the idi8b/heartbeat-demo/ folder, including both bundled songs -- extracting at the drive root creates the correct layout.
- In the Ultimate menu, navigate to idi8b/heartbeat-demo/ and run heartbeat-demo.prg from there, so heartbeat-demo.cfg next to it is loaded automatically.
The demo auto-detects hardware, loads the first song, and starts playback automatically. Press S on the visualiser screen to switch to the other bundled song at any time.
Visualiser and Test Harness
After hardware detection, the note visualiser shows a two-column VU-meter display (enough rows for all 31 possible channels: 7 Ultimate Audio channels plus up to 8 SID chips) driven live from the player's own event queue, plus a plasma background, a stylized pitch-histogram spectroscope, and an 8-sprite scrolling message.
A buttons.s-equivalent interactive test harness runs on the same screen: SPACE restarts the song, S switches songs, RUN/STOP silences all sound, A-O trigger sample FX 1-15, X stops the FX channel, RETURN exits to BASIC.
Credits
- Code: Xander Mol
- Demo framework: scaffolded from UltimateDemo2026
- Heartbeat Soundtracker player: (c) Aleksi Eeben / Eight Bit Shed, used and redistributed with permission -- see the repository's NOTICE.md
- Ultimate libraries: ultimate-uci-oscar64, based on the Ultimate II DOS library by Scott Hutter & Francesco Sblendorio
- Colodore palette: Philip "Pepto" Timmermann
- Compiler: Oscar64 by drmortalwombat
- Sprite scroller font: "Sprite Font" by hedning, from the demo World in Progress (1st place, Mixed category, Syntax Society Summerparty 2012)
- Songs: "Maniac" (Michael Sembello, from Flashdance, 1983), arranged by Xander Mol; Knight Rider theme (Glen A. Larson / Stu Phillips), arranged by Aleksi Eeben and bundled as example content with Heartbeat Soundtracker's own public evaluation release
Licensed under the GNU General Public License v3.0 (player/demo code; song files and third-party assets have their own terms -- see NOTICE.md).