psx.wiki

SPU Voice After End and Mute

Uses IRQ9 to find which sound RAM blocks a voice reads after an End+Mute block sends it to its repeat address.

SPU Voice After End and Mute
MachineSCPH-5501
ProgramSXSPUEND

This is an old revision of this page, as edited by RemmyLee at 05:11, 23 October 2026. Edit this revision | Latest revision

Overview

Voice 0 starts at sample M, whose block 0 has flags 00h and whose block 1 has flags 01h (End+Mute). Before key on, its repeat address is set to R. R is four silent blocks with flags 04h, 00h, 00h and 03h, so it loops on itself. The pitch is 1000h, at which one block takes 28 samples or 21504 cycles, and the envelope is held.1

The IRQ address is set in turn to M's first block (M0), to the first three blocks of R (R0, R1, R2) and to its last block (R3), and to an address no block reaches (X). After key on, the probe counts system clock cycles on root counter 2 until SPUSTAT bit 6 sets. It waits up to 400000 cycles and makes two rounds for each address.1

Results

After the End+Mute block the voice jumps to its repeat address and keeps reading sound RAM from there, block after block. IRQ9 at R0 hit 40972 and 40173 cycles after key on. In the second round R1 hit at 61887 and R2 at 83413. Each hit came one block after the one before.1

Table 1: IRQ9 hits in cycles from key on
Address Block Round 1 Round 2
4200h M0 2027 1828
4220h R0 40972 40173
4222h R1 553 61887
4224h R2 506 83413
4226h R3 835 741
4280h X none none

The hits under 1000 cycles at R1, R2 and R3 came before the voice had left M's first block. The address no block reaches never raised IRQ9.1 The SPU Registers and Envelope test found that a voice stopped by End+Mute raises IRQ9 at its repeat address; this probe shows that it goes on to the blocks after it.

Runs

Raw output: SXSPUEND.txt

SXSPUEND.txt:

SXDEV I_MASK at init AE420100
SXSPUEND start
SXSPUEND IRQ M0 4200 round 1: 2027
SXSPUEND IRQ M0 4200 round 2: 1828
SXSPUEND IRQ R0 4220 round 1: 40972
SXSPUEND IRQ R0 4220 round 2: 40173
SXSPUEND IRQ R1 4222 round 1: 553
SXSPUEND IRQ R1 4222 round 2: 61887
SXSPUEND IRQ R2 4224 round 1: 506
SXSPUEND IRQ R2 4224 round 2: 83413
SXSPUEND IRQ R3 4226 round 1: 835
SXSPUEND IRQ R3 4226 round 2: 741
SXSPUEND IRQ X 4280 round 1: none
SXSPUEND IRQ X 4280 round 2: none
SXSPUEND end PASS

References


  1. ^ a b c d Hardware test run 20261015T1946Z-5501a-link on the SCPH-5501: SXSPUEND.txt.

Categories: Hardware tests