BBC Micro

BBC MICRO · AUDIO SERVICE ROMALPHA · USE AT YOUR OWN RISK

EAudio

A separate 16 KB MOS service ROM for music and sound effects on the BBC Micro family, played through the normal MOS SOUND system on the SN76489.

EAudio is game-agnostic. The game decides when something should sound; EAudio owns envelopes, channel allocation and music scheduling. Requests use OSWORD &C0 with an EAUD signature, so the MOS routes them on the host or across the Tube, with no IRQ hooks.

Download

Downloads arrive with the beta release.

EAudio 0.3. The usual slot is 5.

Contents

01 · Features

03 · Integration notes

A request is 64 bytes sent and 16 returned: bytes 2–5 are EAUD, byte 6 the command (replaced by 0 for success or 1 for an invalid request), byte 7 the &A5 acknowledgement, and bytes 8–15 the payload. Send INIT before anything else. The host uses &2900–&29FF for command state, notes, a MOS SOUND block and a bank-copy gate; reserve it in your memory map. Music scores are read through a RAM trampoline that restores the caller’s ROM bank. For a working BASIC example, see Breakout stage 8; Nightfall drives EAudio from its companion ROM’s frame callback.

Validation: ROM execution tests cover bank copy and restore, signed SOUND words, track looping and bounds, all 50 effect IDs and status. Emulator runs recorded real SN76489 audio from B-em. That is not a test on a physical speaker.