HEARO

> Music player for vintage DOS PCs.

NetISA suite app. 286 minimum. 24 audio devices, MDA through SVGA. Trackers, MIDI, WAV, and chiptunes play on the host. Compressed formats and streaming go through the NetISA card’s ESP32 in v1.1. Foundation phase done; nothing built yet because Watcom is not installed on this machine.

Status

2026-04-24. Source tree complete in hearo/. Not compiled. Open Watcom V2 install is the next step.

What is in the tree:

Boot screen

One line per detected component, status word right justified, unlocked features indented under the component that enabled them. Last line: feature count.

Unlock matrix

Each detected expansion enables specific features. Around 70 rules. Each rule is one row in a table: name, description, requirement string, pure-function check against hw_profile_t. Adding a feature is one line.

Detection

Eight modules, each one self-contained so a misbehaving probe can be turned off in one place.

Per-device probe protocols: docs/hearo-soundcard-reference.md.

Video tiers

WorkstationSVGA 1024x768x256
EnhancedSVGA 800x600x256
StandardSVGA 640x480x256
ClassicVGA 320x200x256
LegacyEGA 640x350x16
MinimalMDA / Hercules text

Text-mode tier (Minimal) is what shipped in v1.0. Graphical tiers are scaffolded only; real Mode 13h / VESA framebuffer code is v1.3.

Hall of Recognition

Plain text file (HEARO.HAL). Hardware first-seen dates, lifetime stats. Editable with any text editor.

Install an FPU, the next boot says it is new. A year later the boot screen says so on the same calendar day. No achievements or scores.

Format support

Host: MIDI (SMF), WAV (PCM 8/16/24), MOD/S3M/XM/IT, SID, AY, NSF, GBS, SPC.

ESP32 (v1.1+): MP3, FLAC, Opus, Vorbis, AAC, WMA, ALAC.

Streaming (v1.1+): Icecast/SHOUTcast, Bandcamp, SomaFM, Internet Archive, Nectarine Demoscene Radio, ModArchive.

Compressed formats decode on the ESP32 because real-time MP3 decode below a fast 486 does not work. Without the NetISA card those extensions are greyed out in the file browser.

Math

Roadmap

Suite

HEARO is one of nine NetISA suite apps. Shared INI config grammar, Hall file format, boot-screen layout, command-line conventions (/SAFE, /REDETECT, /STUBNET).

CATHODEWeb browser
DISCORDChat client
CLAUDELLM client
COURIEREmail (OAuth2)
CRATECloud filesystem
KIOSKPackage manager
CHIMETime sync
HEAROMusic player
RADIOXT streaming

Hardware

Floor286 + 1MB + MDA
Standard386 + 4MB + VGA + AdLib
Workstation486 + 8MB + SVGA + SB16
Maximum486DX2+ 16MB + 1024 + GUS
DOS3.3+
LicenseMIT

286 is the floor. V20 + 8087 + 640K + CGA/EGA + AdLib/SB gets a degraded path that still plays trackers and MIDI. RADIO is the lighter sibling for true XT-class machines.

Technical

PlatformMS-DOS (real + DPMI)
BinariesHEARO.EXE + HEAROXM.EXE
ToolchainOpenWatcom V2
StandardC89/C90
Source~10K lines, 35 modules
LicenseMIT

HEARO.EXE: real mode, large model, 286+. HEAROXM.EXE: 32-bit flat, DOS/4GW, 386+. Both ship together; 32-bit preferred when available, 16-bit is the universal fallback.

Layout: docs/hearo-design.md, docs/hearo-soundcard-reference.md. hearo/src/ (35 modules: detect, unlock, ui, math, config, platform, stub). hearo/test/ (six test programs). hearo/data/unlocks.def. hearo/scripts/ (DOSBox-X screenshot toolkit). hearo/Makefile.

FAQ

Will it run on my 286?
Yes. 286 + 1 MB + MDA + PC Speaker is the floor. Text-mode UI works on every adapter from MDA up.
What audio devices are supported?
Twenty-four. PC Speaker, Tandy/PCjr PSG, Covox, Disney Sound Source, AdLib (OPL2), AdLib Gold (OPL3 + 12-bit DAC), Sound Blaster 1.x / 2.0 / Pro / Pro 2 / 16 / 16 ASP / AWE32 / AWE64, Gravis UltraSound Classic / MAX / ACE / PnP, MPU-401 with SysEx-identified MT-32 / CM-32L / SC-55 / SC-55mkII / SC-88 / SC-88 Pro / DB50XG / SCB-55, Ensoniq SoundScape, Pro Audio Spectrum 16, ESS AudioDrive, Turtle Beach MultiSound. Probe protocols in the soundcard reference.
Does HEARO play MP3 / FLAC / Opus?
Yes, on the ESP32. Compressed formats decode on the NetISA card and arrive at the host as PCM. Native formats decode on the host. Without a NetISA card, compressed extensions are greyed out. v1.0 ships native-only; v1.1 turns on the ESP32 path.
How does the Hall of Recognition work?
Plain text file. Each boot, HEARO compares detection against the previous fingerprint and appends new components with their first-seen date. Stats accumulate (hours played, tracks, boot count, peak features). Just a record.
What unlocks the FFT spectrum analyzer?
Any FPU. Without an FPU, you get a 64-bin bipartite-table FFT. Fast enough for a 286.
What does the NetISA card do for HEARO?
Streaming and compressed-format decode. v1.0 native-only; v1.1 turns on Internet radio (Icecast/SHOUTcast), Bandcamp, SomaFM, Internet Archive, ModArchive, plus MP3/FLAC/Opus/Vorbis/AAC.
Does it work in DOSBox-X, 86Box, PCem?
Yes. Standard BIOS calls + direct VRAM. Audio detection works in DOSBox-X with the standard SB + GUS emulation.
License?
MIT. Same as the rest of the suite.
Where is the source?
tonyuatkins-afk/NetISA/hearo

Links