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/Punk Development

From SnesLab
Revision as of 02:07, 26 November 2020 by KungFuFurby (talk | contribs) (Adding command descriptions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Go back to N-SPC Engine

Punk Development has their own variant of N-SPC used in an untitled shooter. The variant doesn't actually support music, as the phrase format is non-existent here. Instead, there's one pointer and one channel's worth of track data per entry, and they're all sound effects dynamically allocated. The VCMD collection doesn't have anything past $FA, and $00 terminates the SFX if it's not in a subroutine.

Game Name VCMD Table Location ($E0 and up) ROM Offset
Untitled Shooter 0x0BDA, relative to 0x0B1A 0x048000

The raw build sorting notes can be found here.

Communication with the SNES

All of the commands are sent via CPUIO0($2140). The other registers are completely unused, and there isn't even a way to go get more data.

Command ID Description Register Values & Arguments
$00 Stop Sound $00 ?? ?? ??
$01-$09 Play SFX xx ?? ?? ??
$0A-$FF NOP ?? ?? ?? ??

NOP

Does absolutely nothing.

Stop Sound (Command $00)

Stops all SFX.

Play SFX (Command $01-$09)

Plays a piece of SFX using the standard N-SPC voice command format for music. These are dynamically allocated a channel.

TODO document the technically new voice command