heartbeat-demo
Note visualiser: two-column VU meters, plasma background, spectroscope, sprite scrolltext

heartbeat-demo

2026-07-30
GitHub

Ultimate 64 demo built around a Heartbeat Soundtracker song, with a full C player port and a note-reactive visualiser.

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.

Requirements

  • Ultimate 64 (U64 or U64 Elite II) with firmware configured:
    • Turbo Mode: F2 -> Turbo Mode -> U64 Turbo Registers
    • REU: 16 MB -- F2 -> C64 settings -> REU -> 16 MB
    • Ultimate Audio: F2 -> C64/Cart settings -> Audio
    • Command Interface (UCI): F2 -> UCI Settings -> Enable
  • Ready-made firmware config presets are bundled in the download (config/Heartbeat-C64U.cfg and config/Heartbeat-U64E2.cfg) to set all of the above in one step -- see the README for details and a settings-backup warning before loading either.
  • 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

  1. 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.
  2. In the Ultimate menu, navigate to idi8b/heartbeat-demo/ and load heartbeat-demo.prg.

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
  • UCI/DOS library: Scott Hutter & Francesco Sblendorio
  • 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).


ML Show Meatloaf LOAD commands Send file directly to Meatloaf device Download file
NameTypeSize
heartbeat-demo-v1.0.1.zipZIP2.01 MB

1 file