What changed
The music collection now represents all 15 musical cues identified in the supplied Japanese ROM: 12 normal-bank cues and three finite intro-bank cues, including the Japanese Seattle introduction. Sound effects, sampled voice clips, instrument samples and the separate US-intro variant are outside this music collection.
Each cue has a lossless FLAC download and an MP3 compatibility recording. Original score data, instruments and samples are captured through the cartridge’s native upload routines, then rendered by the accurate S-DSP core at 32,000 Hz, stereo signed 16-bit PCM. There is no replacement music, gain change, normalization, resampling, fade or crossfade.
Repeat Off plays from the selected cue through the last cue, then stops. Repeat Track plays a normal cue’s opening once, then repeats its observed native region; finite cues repeat from their beginning. Repeat All plays each canonical recording once and wraps to the first. Compatibility playback reports that its Track mode repeats the whole recording instead of using frame-accurate native points.
The player adds Previous/Next, seeking, restart, mute/volume, search, keyboard controls and supported media-session actions. Audio starts after a direct Play action. Existing preferences retain their storage key; an older boolean repeat preference migrates to Repeat Track. The compact layout keeps the transport controls within the initial desktop and 390-pixel mobile viewport.
The original 59.9-second morgue recording remains byte-for-byte unchanged under Earlier recovered passage. It is excluded from the canonical soundtrack count and the normal Repeat All queue. Its captured repeat boundary remains explicitly unverified.
Versioned audio/v1 URLs retain immutable recording hashes. The release includes explicit scoped audio MIME types and current-page/metadata cache revalidation, with matching player, stylesheet and track-manifest query versions. Source inventory, native render traces, sample dimensions, hashes and limits are linked from the collection.
The music has its own 1.0.0 release. Original-player wrapper 1.4.1 only replaces its stale one-recording paragraph with a count-neutral description. All game scripts, cache tokens, walkthrough rules, save paths, ROM/runtime bytes and the unfinished native 0.13.0 reconstruction remain unchanged. The earlier wrapper records and articles are retained.
Verification
The independent source audit checked the exact 12 normal plus three intro bank/song pairs and 496 valid room headers against the Japanese ROM, with dialogue, combat, death and intro callers accounting for the musical inventory.
Host-only opcode observation records original sequence completion and reload clocks without altering emulated instructions, RAM, DSP registers or cycles. Whole continuous PCM from all 15 cues is bit-identical with production 1024-frame observation, 137-frame observation and disabled observation; event clocks also match across observed block sizes.
All 12 native-loop cuts use observed all-channel sequence ends plus the four-frame DSP output-buffer latency, including the original timer/reload interval. Splice steps remain within their own continuously rendered adjacent-sample distribution. The three finite cues retain their natural DSP release; only the remaining inaudible tail at or below the one-LSB floor is trimmed.
All 15 FLAC files decode bit-exactly to their captured signed 16-bit PCM. Exact local checks verify 30 FLAC/MP3 files totaling 157,111,970 bytes, including FLAC sample rate, channels, frame count and duration. The old 7,677,000-byte WAV and its metadata remain unchanged.
The supported browser decoded all 15 final lossless files at their declared source rate and dimensions. Offline rendering checked the opening and two native-region wraps for each looping cue: 24 wraps with maximum sample error zero. Every recording also rendered to its finite end followed by 64 exact silent frames and a natural ended event. The proof binds the final player-module and track-manifest hashes.
The playback suite passed 22 focused tests and 38 markup/control checks. Audio-header and bounded-path validation passed eight tests; source/render/browser evidence guards passed 12; the music-only original-wrapper successor passed 25 checks, including refusal of unrelated HTML, script/cache, RAM-source, rule, ROM and earlier-history changes.
The release gate checks all 250 native reconstruction files and the frozen native ZIP, the Japanese ROM and all 47 pinned runtime files, and the hashes of 19 earlier Shadowrun articles and their original-wrapper source records. These are preservation and release checks, not a new game-engine milestone.
Actual final-browser transport checks verified a native Shady Conversation wrap without changing the cue, Repeat Off stopping after Ending, Repeat All advancing from Ending to Main Theme, and a finite Main Theme repeating itself in Track mode. Pause and position persisted while searching and clearing results. On the final 390 × 844 layout, Play and Repeat remained visible at initial scroll, with no horizontal overflow, autoplay or console errors.
Limits
This is the complete verified Japanese musical-cue inventory, not a collection of every sound effect, voice sample or external regional variant. Conventional English cue titles are descriptive metadata checked against source contexts, not strings embedded in the cartridge.
Native S-DSP, BRR and echo phases can differ on successive live game repeats. The player repeats a captured native iteration with verified source boundaries and an ordinary waveform splice; it does not claim that every live hardware cycle is bit-identical to the recording.
Source-rate Web Audio supports the verified loop region. MP3/HTML-media compatibility playback can contain codec delay and repeats the entire recording. No sample-exact MP3-loop claim is made.
Browser audio decoding and offline PCM rendering do not establish original-hardware output timing, physical-controller play, a full Japanese-game campaign or game-save durability. The JavaScript reconstruction remains incomplete at version 0.13.0.