We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

N-SPC Engine/Nintendo/Sound Module and Burn-In Test

From SnesLab
Jump to: navigation, search

Go back to N-SPC Engine/Nintendo

Sound Module and Burn-In Test refers to a unique N-SPC/Kankichi-kun build created for testing the SPC700 hardware used in at least two different test cartridges.

Game Name VCMD Table Location ($E0 and up) ROM Offset
Aging Cassette/Sound Module and Burn-In Test 0x0EE9, relative to 0x0E29 0x0380BA (Aging Cassette)
0x038792 (SNES Burn-In Test Cartridge)

The raw build sorting notes can be found here for all variants by Nintendo.

Voice Command Format

VCMD ID Description Arguments
$00 Phrase Termination/End of Subroutine
$01-$7F Note Duration (xy)
$80-$C7 Note
$C8 Tie
$C9 Rest
$CA-$DD Percussion
$DE Instrument xx
$DF Panning %xyzzzzz
$E0 Panning Fade xx yy
$E1 Vibrato On xx yy zz
$E2 Vibrato Off
$E3 Song Volume xx
$E4 Song Volume Fade xx yy zz
$E5 Tempo xx
$E6 Tempo Fade xx yy
$E7 Global Absolute Transposition xx
$E8 Single Channel Absolute Transposition xx
$E9 Tremolo On xx yy zz
$EA Tremolo Off
$EB Volume xx
$EC Volume Fade xx yy
$ED Subroutine xx xx yy
$EE Vibrato Fade In xx
$EF Note Pitch Envelope To xx yy zz
$F0 Note Pitch Envelope From xx yy zz
$F1 Note Pitch Envelope Off
$F2 Fine Tune xx
$F3 Echo On Bits and Volume %xxxxxxxx yy zz
$F4 Echo Off
$F5 Echo Parameter Setup xx yy zz
$F6 Echo Volume Fade xx yy zz
$F7 Pitch Slide to Note xx yy zz
$F8 Percussion Patch Base Redefine xx
$F9 NOP ??
$FA Channel Mute
$FB Fast Forward On
$FC Fast Forward Off
$FD Main Volume Fade xx yy
$FE Mute Right Main Volume xx
$FF Noise Clock %???xxxxx

TODO use template for the above table for standard VCMDs

TODO VCMD documentation via templating

TODO new music VCMDs (the standard set is offset backwards by two IDs, and three new VCMDs are added on)

Communication with the SNES

All of the commands used are identical to the source N-SPC/Kankichi set with a set of new commands

Command ID Description Register Values & Arguments
$00 Stop Music $00 ?? ?? ??
$01-?? Play Music xx ?? ?? ??
$80 Run All Tests $80 ?? ?? ??
$90 Memory Write Test $90 ?? ?? ??
$91 TODO identify test $91 ?? ?? ??
$92 TODO identify test $92 ?? ?? ??
$93 TODO identify test $93 ?? ?? ??
$F0 Pause Music $F0 ?? ?? ??
$F1 Continue Music $F1 ?? ?? ??
$FF Load New Data $FF ?? xx xx

TODO new commands