Files
CydandClaude Fable 5 a0a4260fd4 Sound: dual-AWE32 EMU8000 emulation -- the pod has audio
Vendored 86Box EMU8000 core (GPL-2, emu8k.cpp/.h + shim) plus vweawe.cpp:
two cards at the production addresses (0x620/0x640 register triplets),
rear-card DSP/mixer stub at 0x240, synthesis on an autonomous render
thread with direct winmm output so sustained voices ride through
emulation-thread stalls (RIO staging retries) like the real silicon did.
WC sample-counter interpolation between render chunks keeps HMI SOS
busy-waits fast. VWE_AWE32/VWE_AWE_ROM/VWE_AWE_RAM_KB/VWE_AWE_SHIFT/
VWE_AWE_LEAD_MS/VWE_AWE_DUMP/VWE_AWE_LOG env knobs.

emulator/roms: the AWE32 1MGM GM ROM dumped from our own pod card (SF2)
plus the reconstructed raw image the emulated EMU8000 loads. The HMI
driver refuses the AUDIO*.RES SoundFont upload without it (banks declare
irom=1MGM) -- that was the root cause of the first silent runs; full
debug chain in SOUND-NOTES.md. Repo serves the pod-owner community only.

.gitignore: drop the ROM excludes and un-ignore ALPHA_1/ and sda4/
(committed separately).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 19:40:15 -05:00
..

Card ROMs

  • 1mgm.sf2 — the AWE32's 1MB "1MGM" General MIDI sample ROM, dumped from one of our own pod AWE32 cards (the cockpits each carried two, with 2x 30-pin DRAM SIMMs). Preserved here because the pod audio banks (ALPHA_1/REL410/BT/AUDIO/AUDIO*.RES) declare irom=1MGM, and the HMI SOS AWE32 driver refuses the SoundFont upload if the card has no GM ROM.
  • awe32.raw — the same content reconstructed as the raw 1MB ROM image the emulated EMU8000 loads (VWE_AWE_ROM=emulator\roms\awe32.raw): the SF2's smpl chunk (1,047,588 bytes) end-aligned into a zeroed 1MB buffer, with the 1MGM ID words (0x314D 0x474D) at word offsets 23. Rebuild with any RIFF parser if the SF2 changes; the recipe lives in SOUND-NOTES.md.

This archive and its contents are preserved for the pod-owner community and are not distributed outside it.