Everything the beeper does
A 48K has one bit of sound hardware -- bit 4 of port $FE -- and every noise in the game is made by toggling it and counting. BEEP does the toggling; the routines below choose the pitch and how long to hold it. These recordings are the game's own code running: each routine was called on a machine of its own and the writes to port $FE captured. Nothing here is synthesised or approximated. There are two ways a sound gets started. Most are called directly and run to completion inside the call, which is why they are all a few milliseconds long -- the game is not doing anything else while they play. The rest are spawned as actors and glide over many frames; see the note on the architecture page.
Walking
The two tones at the pace they are really played: a step every eight frames, 159 ms apart, alternating low and high. Almost all of it is silence, which is what makes it read as footsteps rather than a tone. 958.5 ms, 49 edges — SOUND_FOOTSTEP.
Footstep, the low one
$6004 -- four cycles of half-period $60, from the branch at $A3DB. 2.6 ms, 8 edges, 1357 to 1360 Hz — $A3AA.
Footstep, the high one
$4004, from the branch at $A3D3. SOUND_FOOTSTEP alternates the two. 1.7 ms, 8 edges, 2002 to 2009 Hz — $A3AA.
The pip at the start of a life
Played by FLASH_SCORE every sixteenth step of the 104-frame flash of the score that begins every life. 93.0 ms, 192 edges, 1026 to 1028 Hz — SOUND_LIFE_PIP.
A weapon's flight ends
Played by SPIN_WEAPON when the axe, spell or sword expires or hits, and at the end of every burst. Its starting pitch comes from $5E25, the number of creatures in the room, so it is never quite the same twice. 6.3 ms, 32 edges, 1878 to 3715 Hz — SOUND_WEAPON_GONE.
A weapon bounces
Played by SPIN_WEAPON when any of the three weapons turns round at a wall. 6.1 ms, 8 edges, 575 Hz — SOUND_BOUNCE.
The serf fires
Sixteen calls to BEEP with the pitch walked upwards, from SERF_FIRE. 16.3 ms, 32 edges, 516 to 8838 Hz — SOUND_SWEEP_UP.
The wizard fires
Eight steps with the pitch complemented, from WIZARD_FIRE. 14.0 ms, 16 edges, 520 to 556 Hz — SOUND_SWEEP_DOWN.
The knight fires
Twelve steps with the pitch walked down, from KNIGHT_FIRE. 5.9 ms, 24 edges, 959 to 31818 Hz — SOUND_SWEEP_A41B.
A rasp
119 edges in eight milliseconds with the gaps swinging wildly -- not a note at all: the ROM's first 48 bytes sent to the speaker. Played when a timed door slams or opens and when a trapdoor opens or closes. 4.8 ms, 119 edges, 843 to 40698 Hz — SOUND_NOISE_BURST.
One cycle of BEEP
The smallest sound the game can make: a single square wave. 0.2 ms, 2 edges, 2002 Hz — BEEP.