back to blog index | aday.net.au | github
AdLibitum at FM3 — Armada 1750 ESS FM (the long way round)
2026-08-05
**Names, quick:**
- **AdLibitum** = a rewrite and deconstruction to reimagine some registers — some software I forked and mutated on.
- **FM3** = the Clan Analogue gig. Live frequency modulation night. I'm on the bill as **Aday**.
FM3 — Clan Analogue
Clan Analogue presents **FM3** — featuring artists from *Sublime Wavelengths* ("the cosmic bliss of FM synthesis").
- **Where:** Brunswick Artists Bar, 316 Sydney Road
- **When:** Saturday 8th August, 8pm onwards
- **Entry:** Free (Moshtix is just the RSVP)
- **Lineup:** Acidalius · Sussiguala · Aday · Reductionist · DJ Koshowko
- **Also launching:** Reductionist — *Energy Field* (CAO63E)
- **Tickets:** free via Moshtix — Clan Analogue presents FM3
- **More:** clananalogue.org
Arriving to the room is my messy unchecked-code of the 'AdLibitum' stack into real ESS FM silicon — this isn't some softsynth nostalgia VST. Tagging along is the Game Boy (mGB) and a SammichSID.
How AdLibitum got to the Armada
I forked ijsf/at2 and wrote a VST to drive the only piece of FM hardware I actually have laying around: my **Compaq Armada 1750**, with an integrated **ESS AudioDrive ES1869** (or ES1869S).
Then I needed a way to drive it. So I wasted a few weeks on a serial cable implementation. It sucked. I gave up, rewrote a network receiver (**at2net** / FM31NET), installed Windows 98, and found an old network card. That turned out OK.
After that I spent ages figuring out AdLib Tracker files — `.a2m`, `.a2i`, and the instrument formats — and wrote a VST to handle the modulators so I could wire it up to more modern MIDI controllers. In this case a **Behringer X-Touch**. It sounds remarkably pleasant to listen to (and I hope the venue likes the sound of it too — it's such a classic chip!!). I've become a bit obsessed about it recently. So I've now got a powerful FM synth in the studio without hunting down a DX7 and learning how on earth you even work with that interface, or looking far and wide for a second-hand Sound Blaster… speaking of which, if anyone's got spare Sound Blasters kicking around and a motherboard with ISA ports and 8MB to 16MB of RAM on it, I'm interested ;)
I also really went back to roots on this. The instruments, patches, and sounds will be accompanied by other chiptune: my **Game Boy** running **mGB**, and a **SammichSID** (6581).
I was also listening to a lot of **Bobby Prince**, who passed away in June, and listening / reading about the musical limitations and software he would have worked with back in the early days around the Doom era. Huge respect. Amazing composer.
Shoutouts to internet stars: **OxygenStar** for igniting my todo list (I subscribed!) and planting a seed to get into AdLib Tracker II yonks ago. Also loved listening to some **Diode Milliampere** during some late nights of splicing serial cables. Go look those 2 up :)
**Licensing:** the AT2-derived fork path (at2net and related replay bits) will be released under **GPL v3**, same as AdLib Tracker II. AdLibitum's own upstream code stays under its existing licence (beerware / CC BY 4.0). Third-party pieces (Nuked-OPL3, mGB, etc.) keep their own. Repo: aday1/AdLibitum.
Chart below is how the AdLibitum desk talks to the Armada laptop.
AdLibitum VST stack · Clan Analogue FM3 gig
ARMADA 1750 · ESS FM
1999 Compaq Armada 1750. ESS ES1869 at 388h. Sixteen megs of RAM.
We do not stream audio to this laptop — we stream OPL register frames. Sound design is two operators,
feedback, envelopes, and an 18-voice channel budget.
╔══════════════════════════════════════════════════════════════════════╗
║ ░▒▓█ ADLIBITUM VST → ARMADA / ESS · GIG: CLAN ANALOGUE FM3 █▓▒░ ║
╚══════════════════════════════════════════════════════════════════════╝
┌──────────────────────────┐ TCP :3819 ┌──────────────────────────┐
│ ░ MODERN BOX ░ │ F0 ──▶ F1 ACK │ ░ ARMADA 1750 ░ │
│ │ ┌───────────────┐ │ │
│ REAPER + X-TOUCH │ │ [AA bk rg vl] │ │ Win98 · FM31LEAN │
│ FM Kit / FM Drivers ├───▶│ FM31NET wire │──────▶│ parse · mute/solo desk │
│ at2net (.a2m path) │ │ TCP_NODELAY │ │ OUT 388h / 38Ah │
│ Studio / modulators │ └───────────────┘ │ ESS AudioDrive sings │
└────────────┬─────────────┘ └────────────┬─────────────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ NUKE soft │ A/B fan-out optional │ 18 VOICES │
│ Nuked-OPL3 │◀───────────────────────────────────────▶│ mod + car │
└─────────────┘ └─────────────┘
┌──── GB mGB ────┐ ┌── SammichSID 6581 ──┐ ┌── GPL v3 AT2 fork (soon) ──┐
│ Teensy / cart │ │ chiptune bed │ │ at2net + ijsf/at2 lineage │
└────────────────┘ └─────────────────────┘ └───────────────────────────┘
serial weeks: suck ················ ethernet: go
PLAY DIODE fixes most sound issues (Armada wallpaper law)
ADLIBITUM VST
|
v
FM31NET :3819
[AA bk rg vl]
|
v
ARMADA 1750
Win98 FM31LEAN
OUT 388h / 38Ah
|
v
ES1869 · 18 voices
(+ NUKE soft A/B)
GB mGB · SID 6581
serial sucked · ethernet go
PLAY DIODE wallpaper law
Sound design for ESS FM
Limits are the instrument. No free sample pad. Kick and hat are FM patches that measure like drums — or they scream white.
| Knob | On the ES1869 | Why it matters live |
|---|---|---|
| Algorithm | FM (mod bends carrier) vs additive (both heard) | Bite vs organ/pad stack — the first decision |
| Feedback 0–7 | Modulator self-mod | ≥6 often noise; SAFE PASS walks melodic voices down |
| Mult ratio | Mod:car frequency multiplier | Bass gravity vs bell / metal harmonics |
| Waveform | 8 OPL3 waves (sine → square / log-saw) | Timbre palette — not Serum wavetables |
| ADSR + EG hold | Per-operator envelopes | Release ≤1 = drones that outlive the set |
| Carrier TL | Attenuation 0–63 (0 = loud) | Velocity / CC7 / CC11 dynamics live here |
| 18 voices | Channels 0–8 bank0, 9–17 bank1 | Arrangement = who owns a channel this bar |
Live desk moves
- One FM Kit + six FM Drivers on REAPER
- OUT = ARMADA (NUKE = laptop soft rehearse)
- Mod Mult / Level / Attack envelopes = real OPL units
- at2net for authentic .a2m effects (subz3ro / AT2)
- Fan-out A/B: same stream → Nuked + Armada
Why the laptop boots this way
Port truth
ESFM sounds like “Sound Blaster base 228.” I chased 228 for ages — also had AUTOEXEC.BAT wrong for a while there, and honestly forgot how CONFIG.SYS works. FM index was always 388 hex. Bank 0: 388/389. Bank 1: 38A/38B. Wonder if I should try this on FreeDOS next time…
VxD trap → FM METAL
ESS driver traps 388h and steals your writes. Fix: disable ES1869 in Device Manager, keep the NIC, run FM METAL (ESSCFG + ESSVOL + FM31NET).
We don’t stream audio to the Armada — we stream register writes. The ES1869 is the instrument.
Forked from ijsf/at2 (AdLib Tracker II / subz3ro lineage) — releasing AT2-derived bits under GPL v3. Soft rehearsal: Nuke.YKT / Nuked-OPL3. GB: trash80 / mGB · SID: SammichSID 6581. github.com/aday1/AdLibitum · aday.net.au
What ended up on the desk
- **AdLibitum** in REAPER — FM Kit + Drivers, modulators on the X-Touch, `OUT = ARMADA` when the laptop is live.
- **at2net** — AT2's own replay, pointed at the network instead of DOS ports, so `.a2m` effects stay honest (GPL v3 when it ships).
- **Game Boy + mGB** and **SammichSID** — chiptune hardware to share the mixer.
See you at **FM3** — free tickets on Moshtix. Bring a Sound Blaster if you've got a spare.