psx.wiki

SPU Registers and Envelope

Reads the SPU's registers while it runs to measure key on and off, the ADSR envelope, volume sweeps, ENDX, IRQ9, capture and transfers.

SPU Registers and Envelope
MachineSCPH-5501
Programspuenv

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

Overview

Sound cannot be recorded by the console, so every measurement reads a register: the ADSR level, the current volumes, ENDX, SPUSTAT, the repeat address, I_STAT, and the capture buffers through DMA4. Times are system clock cycles counted by root counter 2 from the write that starts the step. One SPU sample is 768 cycles.1

Nothing is audible during the test. The main volume stays 0000h, SPUCNT bit 14 stays 0, and every sample except the capture tone is silent. The program has 15 groups, and each group restores the registers it touched and keys off every voice before it returns.1 The SPU page describes the unit, and the SPU registers, ADSR and ADPCM pages give the register layouts.

Results

State at Entry

As the program found the SPU, every voice had pitch 3FFFh and start address 0200h, and SPU_DELAY (1F801014h) read 200931E1h. SPUSTAT read 0005h sixteen times in a row.1 The unknown register 1DA0h reads AC00h most of the time and 0100h at other times: three of the first sixteen back-to-back reads gave 0100h, and two of sixteen reads 100000 cycles apart did the same.1

SPUCNT and SPUSTAT

SPUSTAT bits 5 to 0 follow SPUCNT bits 5 to 0 after a delay. A change took between 61 and 765 cycles to appear, and eight repeats of the same 8000h to 8010h step took between 83 and 728 cycles.1

Setting the transfer mode bits 5 and 4 to 10b (DMA write) sets SPUSTAT bits 9, 7 and 5 together, so SPUSTAT reads 02A0h. Setting them to 11b (DMA read) shows 0030h first. About 1600 cycles later SPUSTAT reads 01B0h with bits 8 and 7 on.1

SPUCNT bits 6, 8 and 10 to 13 change nothing in SPUSTAT. SPUCNT reads back what was written. A write of FFFFh to SPUSTAT reads back FFFFh at once and returns to 0000h about 689 cycles later.1

Key On and Key Off

KON took 3992 to 4582 cycles (five to six samples) to the first change of the ADSR level, whereas KOFF at 7FFFh changed the level within 39 to 69 cycles.1

KON on a voice that is already playing first sets the level to 0000h and starts the attack again. A KON while SPUCNT bit 15 is 0 produces no level change, and clearing bit 15 on a voice at 7FFFh drops its level to 3FFFh and then to 0000h.1

A value written to the ADSR level register reads back the written value. On a voice whose sustain never steps the value stays, and on a voice in a linear sustain the envelope continues from the written value.1

Attack

Attack linear shift 0 with step 0 rises in steps of 3800h and reaches 7FFFh in three steps. Each step after the first adds the full step and the last step clamps at 7FFFh.1

Table 1: Attack time to 7FFFh in cycles from KON
Mode Shift Step Cycles to 7FFFh
Linear 0 0 6771
Linear 2 0 11262
Linear 5 0 60459
Linear 8 0 453664
Linear 10 0 1801523
Linear 12 0 7193630
Exponential 0 0 6715
Exponential 4 0 51948
Exponential 8 0 790079
Exponential 12 0 12582662

Each shift above 11 doubles the time between steps. An exponential attack rises at the linear rate until the level passes 6000h and then at a quarter of that rate. At shifts 8 and 12 it therefore took about 1.75 times as long as the linear attack of the same shift. Shift 31 with step 3 never changed the level.1

Decay and Sustain Level

Decay stops at the first level at or below (SL + 1) x 800h: SL 0 stopped at 07FFh, SL 3 at 1FFFh and SL 7 at 3FFFh. With decay shift 0 the first decay step falls from 7FFFh straight to 3FFFh, so SL 7 to Eh all stopped at 3FFFh after one step. With SL Fh the level also fell one step and stopped: at 3FFFh with decay shift 0 and at 7FBFh with decay shift 8.1

Sustain

Sustain linear increase shift 0 reached 7FFFh 8093 cycles after KON, two steps after the decay ended. Setting bit 29 of the ADSR word gave the same times as leaving it clear.1

A linear sustain decrease goes below zero: with shift 0 the level read FFFFh before it read 0000h. Every sustain with shift 31 and step 3 left the level at 3FFFh for two million cycles.1

Release

Release begins within about 300 cycles of KOFF. Linear release shift 0 took the level from 7FFFh to 3FFFh in its first step and below zero to FFFFh in the next; the level then read 0000h from 1662 cycles after KOFF. Exponential release shift 0 halves the level at each step and ended at 10445 cycles.1

A KOFF during a slow attack releases from the level reached, so the level does not jump to 7FFFh first. After a release ends, the level stays at 0000h.1

Volume Sweep

A sweep runs on a voice that has never been keyed on, so the volume registers sweep by themselves. A fixed volume of 1234h appears in the current volume register 1E08h as 2468h, which is twice the written value.1

Table 2: Volume sweep times of voice 2 left
Register Start Change Cycles to the end
8000h 0000h Linear increase, shift 0 2131
8020h 0000h Linear increase, shift 8 449744
A020h 7FFEh Linear decrease, shift 8 393851
C020h 0000h Exponential increase, shift 8 785779
E000h 7FFEh Exponential decrease, shift 0 10876

With the phase bit set (9020h), a linear increase from 2000h ran downward through zero and stopped at 8000h. With the all-ones rate 7Fh the volume did not move.1

ENDX

ENDX bit 0 cleared between 795 and 2252 cycles after KON and set when the voice reached the block with the End flag. At pitch 1000h one block set ENDX after 16143 to 17602 cycles. Two blocks took about 37800 cycles and four blocks about 80800. ENDX can also be written: a write of 5555h reads back 5555h and then 0000h after 481 cycles as the voices update it.1

Pitches above 4000h run no faster than 4000h: four blocks set ENDX after 23953 to 23967 cycles at every pitch from 3FFFh to FFFFh. At pitch 0000h and 0001h the voice never reached its End flag.1

KON does not change the repeat address: right after KON it still read its old value. The loop start flag in the sample then set it; for a flag in block 0 this happened 1889 cycles after KON. A repeat address written while the voice is still in its first block is overwritten by the loop start flag, and one written later stays.1

IRQ9

A voice reading the IRQ address raises IRQ9: SPUSTAT bit 6 and I_STAT bit 9 both set, and the poll saw I_STAT about 200 cycles first. A voice stopped by End+Mute, and a voice released 100000 cycles before, still raised IRQ9 at its addresses, because such a voice keeps reading sound RAM. In the rows below the sample is four blocks at 4060h and plays at pitch 1000h.1

Table 3: IRQ9 time by IRQ address in cycles from KON
IRQ address SPUSTAT bit 6 I_STAT bit 9
4060h 1256 1057
4061h 6450 6251
4062h 318 116
4064h 40242 40043
4065h 49481 49216
4066h 318 116

Manual writes raise IRQ9 when a written halfword reaches the IRQ address. Writes that began 8 bytes before it raised IRQ9 from the fourth halfword on. DMA writes over the IRQ address did not raise IRQ9 in any of four tries. DMA reads raised it, including a read that ended just before the IRQ address.1

Capture Buffers

SPUSTAT bit 11 toggles every 196588 cycles, which is 256 samples, while transfer control is 0004h or 0008h. With transfer control 0000h, 0002h or 000Ch it never toggled.1

The capture buffers at the start of sound RAM raise IRQ9 when the IRQ address is set inside them. IRQ address 0000h to 01FFh hit once every 393000 cycles, and 0200h never hit.1

The voice 1 and voice 3 buffers hold the voice's output before its volume, so they carry the tone with the main and voice volumes at 0. The values with the ADSR level decayed to 3FFFh were the same as at 7FFFh. A released voice writes zeros.1

Noise mode at shift 15 changes every sample. Each lower noise shift halves the rate: 127 changes in 256 samples at shift 14, 32 at 12, 8 at 10 and 2 at 8.1

Transfers

The Fifo is 32 halfwords deep: of 40 halfwords written in one block, the first 32 reached sound RAM. A second manual block with no new transfer address continues where the first ended.1

The transfer type in 1F801DACh changes what a manual write stores. Type 2 stores every halfword, type 3 every second one and type 4 every fourth. Type 5 stored only the seventh halfword, and types 0, 1, 6 and 7 stored only the last.1

Table 4: DMA read by transfer type
Type Halfwords read
3 Each halfword followed by FFFFh or 0000h
4 Each halfword four times
5 Each halfword followed by 0000h, four times

Register Access

Unknown registers 1DBCh, 1DBEh, 1DA0h and 1E60h to 1E7Fh read back what is written. The high halves of PMON, NON, EON and ENDX also read back written values. Halfword reads from 1E80h to 1FFEh all returned FFFFh, and the console did not hang.1

32-bit stores to the ADSR low register lost the low half in 7 of 32 tries and never the high half. A 32-bit load and byte loads read the halves correctly. A byte store to an even SPU address writes the whole halfword from the register, and one to an odd address writes nothing.1

Runs

Run 5501a-card-b on 27 September 2026

Raw output: 00RUN.txt · 01STA.txt · 02CNT.txt · 03KON.txt · 04ATK.txt · 05DEC.txt · 06SUS.txt · 07REL.txt · 08SWP.txt · 09END.txt · 10IRQ.txt · 11CAP.txt · 12VCP.txt · 13XFR.txt · 14REG.txt · 15UNU.txt

00RUN.txt:

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
15 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 8001D338 PRId 00000002

01STA.txt:

===== 01 STA SPU STATE AT ENTRY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPU registers as this program found them, nothing written first.
1DA8h, the transfer Fifo, is not read (shown ----).
1C00: 0000 0000 0400 0C28 8088 DFF1 0000 14C4 0000 0000 0407 0C28 8087 DFF1 0000 14C4
1C20: 0000 0000 0800 0C28 8088 DFF1 0000 14C4 0000 0000 080E 0C28 8087 DFF1 0000 14C4
1C40: 0000 0000 08FA 0200 8C7A DFED 0000 034C 0000 0000 090B 0200 8C7A DFED 0000 034C
1C60: 0000 0000 02AB 0C28 8088 DFF1 0000 14C4 0000 0000 02B0 0C28 8087 DFF1 0000 14C4
1C80: 0000 0000 0A14 0200 8C7A DFED 0000 034C 0000 0000 0A27 0200 8C7A DFED 0000 034C
1CA0: 0000 0000 0BFC 0200 8C7A DFED 0000 034C 0000 0000 0C12 0200 8C7A DFED 0000 034C
1CC0: 0000 0000 08FA 0200 8C7A DFED 0000 034C 0000 0000 090B 0200 8C7A DFED 0000 034C
1CE0: 0000 0000 0A14 0200 8C7A DFED 0000 034C 0000 0000 0A27 0200 8C7A DFED 0000 034C
1D00: 0000 0000 0BFC 0200 8C7A DFED 0000 034C 0000 0000 0C12 0200 8C7A DFED 0000 034C
1D20: 0000 0000 0556 0C28 8088 DFF1 0000 14C4 0000 0000 0560 0C28 8087 DFF1 0000 14C4
1D40: 0000 0000 0A14 0200 8C7A DFED 0000 034C 0000 0000 0A27 0200 8C7A DFED 0000 034C
1D60: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D80: 0000 0000 0000 0000 0000 0000 FFFF FFFF 0000 0000 0000 0000 FFFF 003F FFFF 00FF
1DA0: AC00 E128 FFFE 0200 ---- C085 0004 0005 7FFF 7FFF 0000 0000 0000 0000 DFFF F7FF
1DC0: 033D 0231 7E00 5000 B400 B000 4C00 B000 6000 5400 1ED6 1A31 1D14 183B 1BC2 16B2
1DE0: 1A32 15EF 15EE 1055 1334 0F2D 11F6 0C5D 1056 0AE1 0AE0 07A2 0464 0232 8000 8000
1E00: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E20: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E40: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E60: F5FF F3FF BFFF 38DF 74BB FFEE BFF7 FFEF FFFF FD7D 6EFF 33B3 FC7F FFFF BFFF 7D8F
1DA0h read 16 times in a row: A000 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00
1DA0h read 16 times 100000 cycles apart: AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 A000 0100 AC00 AC00
SPUSTAT read 16 times 5000 cycles apart: 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0805 0805 0805
SPU_DELAY 1F801014h: 200931E1
Done.

02CNT.txt:

===== 02 CNT SPU SPUCNT TO STAT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT 5-0 is SPUCNT 5-0 applied a bit delayed (spx:726); bit 7 is like SPUCNT
bit 5 (spx:721); DMA read sets 9 and 7 late (spx:727-729). Times from the SPUCNT
write, cycles:value, for 20000 cycles or six changes; bit 11 (capture half) masked
out. Transfer address 30000h.
SPUCNT 8000 to 8010, SPUSTAT was 0000, changes: 630:0010
SPUCNT 8010 to 8000, SPUSTAT was 0010, changes: 588:0000
SPUCNT 8000 to 8020, SPUSTAT was 0000, changes: 61:02A0
SPUCNT 8020 to 8000, SPUSTAT was 02A0, changes: 651:0000
SPUCNT 8000 to 8030, SPUSTAT was 0000, changes: 299:0030 1860:01B0
SPUCNT 8030 to 8000, SPUSTAT was 01B0, changes: 351:0000
SPUCNT 8000 to 8001, SPUSTAT was 0000, changes: 759:0001
SPUCNT 8001 to 8000, SPUSTAT was 0001, changes: 66:0000
SPUCNT 8000 to 8002, SPUSTAT was 0000, changes: 302:0002
SPUCNT 8002 to 8000, SPUSTAT was 0002, changes: 351:0000
SPUCNT 8000 to 8004, SPUSTAT was 0000, changes: 353:0004
SPUCNT 8004 to 8000, SPUSTAT was 0004, changes: 409:0000
SPUCNT 8000 to 8008, SPUSTAT was 0000, changes: 411:0008
SPUCNT 8008 to 8000, SPUSTAT was 0008, changes: 467:0000
SPUCNT 8000 to 803F, SPUSTAT was 0000, changes: 530:003F 1271:01BF
SPUCNT 803F to 8000, SPUSTAT was 01BF, changes: 530:0000
SPUCNT 8000 to 8040, SPUSTAT was 0000, changes: none
SPUCNT 8040 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 8100, SPUSTAT was 0000, changes: none
SPUCNT 8100 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to BC00, SPUSTAT was 0000, changes: none
SPUCNT BC00 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 0000, SPUSTAT was 0000, changes: none
SPUCNT 0000 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8010 to 8020, SPUSTAT was 0010, changes: 645:02A0
SPUCNT 8020 to 8030, SPUSTAT was 02A0, changes: 467:00B0 1212:01B0
SPUCNT 8030 to 8010, SPUSTAT was 01B0, changes: 61:0010
SPUCNT 8000h to 8010h, cycles until SPUSTAT 5-0 = 10h, 8 times: 380 257 199 83 726 666 547 431
SPUCNT write BF00h reads BF00 at once, BF00 after 3000 cycles
SPUSTAT was 0000, write FFFFh reads FFFF at once, then: 579:0000
SPUSTAT write 0000h reads 0000 at once, then: none
Transfer control write FFFFh reads FFFF, write 0004h reads 0004
Done.

03KON.txt:

===== 03 KON SPU KEY ON OFF | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0, silent loop at 20000h, pitch 1000h. Cycles from the write.
KON to the first level change (attack linear shift 0 step 0): 5303 4576 4456 4343 4224 4168 4059 3992
KON to the second change: 6047 5342 5223 5104 4991 4929 4820 4758
KOFF at 7FFFh to the first change (release linear shift 0): 69 39 39 39 43 39 39 39
KON again at 3FFF, level: 1218:0000 5068:3800 5810:7000 6555:7FFF 7362:3FFF
KON again at 3FFF, level: 79:0000 3907:3800 4650:7000 5457:7FFF 6201:3FFF
KON again at 3FFF, level: 891:0000 4780:3800 5522:7000 6267:7FFF 7074:3FFF
KON again at 3FFF, level: 1294:0000 5124:3800 5924:7000 6668:7FFF 7413:3FFF
Attack linear shift 10: KON again at 2354, level: 399:2362 1143:0000 4975:000E 5775:001C 6519:002A 7264:0038
KON then KOFF back to back, level: 4442:3800 5184:7000 5929:7FFF 6736:3FFF
At 7FFFh, KOFF then KON back to back, level: 125:FFFF 810:0000 5401:3800 6207:7000 6951:7FFF 7751:3FFF
KON write 0001h reads 0001 (high 0000), 0001 after 5000; KOFF 0001h reads 0001 (high 0000); KON high FF00h reads FF00
KOFF high FF00h reads FF00
SPUCNT 0000h, KON attack linear shift 8, level: none
then SPUCNT 8000h (level was 0000), level: none ENDX low FFFF
At 7FFFh, SPUCNT to 0000h, level: 81:3FFF 620:0000
then SPUCNT 8000h (level was 0000), level: none
Sustain never stepping at 7FFFh, write level 1234h: reads 1234, then: none
Sustain linear increase shift 8, write level 1234h: reads 1234, then: 274:4A34 1020:7FFF 1820:3FFF 2564:4037 3309:406F 4116:40A7
Voice released to 0, write level 1234h: reads 1234, then: 675:D234 1417:0000
Voice 5, released, write level 8123h: reads 8123
Done.

04ATK.txt:

===== 04 ATK SPU ADSR ATTACK | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Attack: voice 0, ADSR low as shown (decay 0, sustain level Fh), sustain never
stepping. Level changes cycles:value from KON, the first rise above 6000h, the time
it reached 7FFFh, then eight readings.
Lin sh00 st0 (000F): 5200:3800 5971:7000 6763:7FFF | >6000 5971:7000 | end 6763
  every 2500: 0000 0000 - - - - - -
Lin sh00 st1 (010F): 4368:3000 5165:6000 5910:7FFF | >6000 5910:7FFF | end 5910
  every 2500: 0000 3000 - - - - - -
Lin sh00 st2 (020F): 4368:2800 5165:5000 5910:7800 6702:7FFF | >6000 5910:7800 | end 6702
  every 2500: 0000 2800 - - - - - -
Lin sh00 st3 (030F): 4372:2000 5174:4000 5919:6000 6669:7FFF | >6000 6669:7FFF | end 6669
  every 2500: 0000 2000 - - - - - -
Lin sh02 st0 (080F): 4421:0E00 5246:1C00 5996:2A00 6743:3800 | >6000 9036:6200 | end 11281
  every 5000: 0E00 7000 - - - - - -
Lin sh05 st0 (140F): 4417:01C0 5192:0380 5942:0540 6687:0700 | >6000 45889:6040 | end 60480
  every 25000: 2F40 6900 - - - - - -
Lin sh08 st0 (200F): 4417:0038 5186:0070 5942:00A8 6687:00E0 | >6000 340790:6008 | end 453685
  every 100000: 1B58 37C8 5470 70E0 - - - -
Lin sh10 st0 (280F): 4412:000E 5181:001C 5929:002A 6674:0038 | >6000 1352177:6008 | end 1801488
  every 300000: 151C 2A70 3FD2 5526 6A88 7FEA - -
Lin sh11 st0 (2C0F): 4412:0007 5181:000E 5929:0015 6674:001C | >6000 2700073:6001 | end 3598580
  every 500000: 11AA 2377 3544 4711 58DE 6AAB 7C78 -
Lin sh11 st3 (2F0F): 4412:0004 5181:0008 5929:000C 6674:0010 | >6000 4722985:6004 | end 6295049
  every 1000000: 1444 289C 3CF4 514C 65A4 79FC - -
Lin sh12 st0 (300F): 5129:0007 6710:000E 8257:0015 9813:001C | >6000 5396565:6001 | end 7193677
  every 1000000: 11B8 2385 3552 471F 58EC 6AB9 7C8D -
Lin sh13 st0 (340F): 5922:0007 9012:000E 12073:0015 15132:001C | >6000 - | end -
  every 1000000: 08DC 11C6 1AA9 2393 2C76 3560 3E43 472D
Lin sh14 st0 (380F): 5227:0007 11333:000E 17515:0015 23591:001C | >6000 - | end -
  every 1000000: 046E 08E3 0D58 11CD 163B 1AB0 1F25 239A
Lin sh16 st0 (400F): 8938:0007 33552:000E 58140:0015 82740:001C | >6000 - | end -
  every 1000000: 011F 023E 0356 0475 0594 06AC 07CB 08EA
Lin sh20 st0 (500F): 334679:0007 727895:000E 1121111:0015 1514271:001C | >6000 - | end -
  every 1000000: 000E 0023 0031 0046 0054 0069 0077 008C
Lin sh24 st0 (600F): 1505104:0007 7796544:000E 14088000:0015 | >6000 - | end -
  every 2000000: 0007 0007 0007 000E 000E 000E 000E 0015
Lin sh26 st2 (6A0F): 13750104:0005 | >6000 - | end -
  every 4250000: 0000 0000 0000 0005 0005 0005 0005 0005
Lin sh29 st2 (760F): 4859689:0005 30025513:000A | >6000 - | end -
  every 4250000: 0000 0005 0005 0005 0005 0005 0005 000A
Lin sh31 st2 (7E0F): 21129012:0005 | >6000 - | end -
  every 4250000: 0000 0000 0000 0000 0005 0005 0005 0005
Lin sh31 st3 (7F0F): none | >6000 - | end -
  every 2500000: 0000 0000 0000 0000 0000 0000 0000 0000
Exp sh00 st0 (800F): 4466:3800 5158:7000 5956:7E00 6716:7FFF | >6000 5158:7000 | end 6716
  every 2500: 0000 3800 - - - - - -
Exp sh04 st0 (900F): 4413:0380 5182:0700 5930:0A80 6675:0E00 | >6000 25180:6200 | end 52037
  every 25000: 5E80 7E00 - - - - - -
Exp sh08 st0 (A00F): 4416:0038 5191:0070 5941:00A8 6686:00E0 | >6000 340800:6008 | end 790097
  every 200000: 37C8 643E 7276 - - - - -
Exp sh09 st0 (A40F): 4429:001C 5198:0038 5946:0054 6691:0070 | >6000 677890:6008 | end 1575713
  every 375000: 34D4 629A 6FF2 7D4A - - - -
Exp sh10 st0 (A80F): 4430:000E 5199:001C 5947:002A 6692:0038 | >6000 1352195:6008 | end 3147783
  every 750000: 351A 62A8 7000 7D58 - - - -
Exp sh11 st0 (AC0F): 4360:0007 5163:000E 5936:0015 6709:001C | >6000 2700049:6001 | end 6292786
  every 1500000: 3544 62AF 7007 7D5F - - - -
Exp sh12 st0 (B00F): 5105:0007 6636:000E 8257:0015 9758:001C | >6000 5396534:6001 | end 12584226
  every 2000000: 2385 471F 62AF 6B92 747C 7D5F - -
Exp sh14 st0 (B80F): 5939:0007 12083:000E 18291:0015 24407:001C | >6000 - | end -
  every 2000000: 08E3 11CD 1AB0 239A 2C7D 3567 3E4A 4734
Done.

05DEC.txt:

===== 05 DEC SPU ADSR DECAY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Decay: voice 0, attack linear shift 0 step 0, decay shift and sustain level as
shown, sustain never stepping. Changes from KON, the first fall to (SL+1)*800h or
below (spx:540), then eight readings: where the level stops is the sustain level.
Dec 00 SL 0 (0000): 4781:3800 5517:7000 6285:7FFF 7053:3FFF | <=SL 9377:07FF | end -
  every 5000: 3800 07FF 07FF 07FF 07FF 07FF 07FF 07FF
Dec 00 SL 3 (0003): 4344:3800 5177:7000 5936:7FFF 6698:3FFF | <=SL 7457:1FFF | end -
  every 5000: 3800 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF
Dec 00 SL 7 (0007): 4355:3800 5206:7000 5868:7FFF 6647:3FFF | <=SL 6647:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL B (000B): 4446:3800 5198:7000 5966:7FFF 6734:3FFF | <=SL 6734:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL E (000E): 4355:3800 5206:7000 5883:7FFF 6647:3FFF | <=SL 6647:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL F (000F): 4446:3800 5198:7000 5974:7FFF 6750:3FFF | <=SL - | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 02 SL 7 (0027): 4446:3800 5143:7000 5914:7FFF 6682:6FFF | <=SL 10566:3971 | end -
  every 12500: 3971 3971 3971 3971 3971 3971 3971 3971
Dec 04 SL 7 (0047): 4342:3800 5144:7000 5903:7FFF 6668:7BFF | <=SL 22788:3FA2 | end -
  every 25000: 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2
Dec 06 SL 7 (0067): 4449:3800 5141:7000 5911:7FFF 6680:7EFF | <=SL 74308:3F8E | end -
  every 75000: 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E
Dec 08 SL 0 (0080): 4443:3800 5127:7000 5895:7FFF 6663:7FBF | <=SL 1051231:07FE | end -
  every 250000: 446A 23B3 1272 094D 07FE 07FE 07FE 07FE
Dec 08 SL 7 (0087): 4446:3800 5143:7000 5914:7FFF 6682:7FBF | <=SL 275555:3FF1 | end -
  every 200000: 4DD1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1
Dec 08 SL F (008F): 4446:3800 5143:7000 5923:7FFF 6702:7FBF | <=SL - | end -
  every 50000: 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF
Dec 10 SL 7 (00A7): 5187:3800 5883:7000 6647:7FFF 7415:7FEF | <=SL 1049653:3FFA | end -
  every 500000: 5C8A 4243 3FFA 3FFA 3FFA 3FFA 3FFA 3FFA
Dec 11 SL 7 (00B7): 4342:3800 5144:7000 5903:7FFF 6668:7FF7 | <=SL 2001994:3FFF | end -
  every 1000000: 5B62 400E 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 7 (00C7): 4390:3800 5219:7000 5900:7FFF 6691:7FF7 | <=SL 3997211:3FFF | end -
  every 2000000: 5B4A 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 0 (00C0): 4388:3800 5092:7000 5887:7FFF 6674:7FF7 | <=SL 13958161:0800 | end -
  every 4250000: 3D6F 1BC4 0B13 07FF 07FF 07FF 07FF 07FF
Dec 13 SL 7 (00D7): 4405:3800 5127:7000 5914:7FFF 7446:7FF7 | <=SL 7988459:3FFF | end -
  every 2000000: 6C40 5B3E 4CA7 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 15 SL 7 (00F7): 4388:3800 5104:7000 5891:7FFF 16694:7FF7 | <=SL - | end -
  every 2000000: 7AEF 75D7 70C7 6C39 67C4 634F 5F0A 5B38
Done.

06SUS.txt:

===== 06 SUS SPU ADSR SUSTAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sustain: voice 0, attack linear shift 0 step 0, decay shift 0, sustain level 7
(4000h), then the sustain as shown. The watch starts at the first reading of 4000h
or less after 7FFFh ("from"): changes, the first rise above 6000h, the time it
reached 7FFFh (increase) or 0 (decrease), eight readings. Times from KON.
Sus lin inc sh00 st0 (0000): 7257:77FF 8079:7FFF | >6000 7257:77FF | end 8079
  every 2500 from 6518: - - - - - - - -
Sus lin inc sh04 st0 (0400): 8246:437F 9020:46FF 9765:4A7F 10514:4DFF | >6000 15171:62FF | end 22110
  every 12500 from 7435: 77FF - - - - - - -
Sus lin inc sh08 st0 (0800): 8248:4037 9022:406F 9767:40A7 10516:40DF | >6000 120389:6027 | end 232485
  every 100000 from 7437: 5C6F 78DF - - - - - -
Sus lin inc sh08 st3 (08C0): 8295:401F 9064:403F 9819:405F 10564:407F | >6000 204835:601F | end 400741
  every 200000 from 7499: 607F - - - - - - -
Sus lin inc sh08 st0 b29 (2800): 8259:4037 9033:406F 9778:40A7 10527:40DF | >6000 120400:6027 | end 232496
  every 100000 from 7448: 5C6F 78DF - - - - - -
Sus lin inc sh11 st0 (0B00): 8259:4006 9028:400D 9784:4014 10529:401B | >6000 906808:6004 | end 1805315
  every 500000 from 7462: 51CC 6399 7566 - - - - -
Sus lin inc sh12 st0 (0C00): 8949:4006 10534:400D 12084:4014 13634:401B | >6000 1806118:6004 | end 3603274
  every 1000000 from 7451: 51CC 6399 7566 - - - - -
Sus lin inc sh16 st0 (1000): 17408:4006 42027:400D 66623:4014 91203:401B | >6000 - | end -
  every 1000000 from 7462: 411E 4236 4355 4474 4593 46AB 47CA 48E9
Sus lin dec sh00 st0 (4000): 8248:FFFF 9064:0000 | >6000 8248:FFFF | end 9064
  every 2500 from 7437: - - - - - - - -
Sus lin dec sh08 st0 (4800): 8259:3FBF 9033:3F7F 9778:3F3F 10527:3EFF | >6000 204056:FFFF | end 204823
  every 100000 from 7448: 1F7F - - - - - - -
Sus lin dec sh08 st3 (48C0): 7043:3FD7 7817:3FAF 8563:3F87 9313:3F5F | >6000 321072:FFEF | end 321839
  every 200000 from 6242: 175F - - - - - - -
Sus lin dec sh12 st0 (4C00): 7977:3FF7 9563:3FEF 11112:3FE7 12659:3FDF | >6000 3152243:FFFF | end 3153007
  every 1000000 from 6470: 2BA7 174F 02F7 - - - - -
Sus exp inc sh08 st0 (8800): 7154:4037 7923:406F 8679:40A7 9424:40DF | >6000 119215:6027 | end 566990
  every 200000 from 6358: 6655 748D - - - - - -
Sus exp inc sh10 st0 (8A00): 8295:400D 9064:401B 9819:4029 10564:4037 | >6000 457563:600B | end 2253164
  every 500000 from 7499: 60EB 69D5 72B8 7BA2 - - - -
Sus exp inc sh12 st0 (8C00): 9043:4006 10570:400D 12076:4014 13690:401B | >6000 1806156:6004 | end 8992376
  every 2000000 from 7499: 60EB 69CE 72B8 7B9B - - - -
Sus exp dec sh00 st0 (C000): 8295:1FFF 9064:0FFF 9819:07FF 10614:03FF | >6000 - | end 18245
  every 2500 from 7499: 07FF 00FF 001F 0001 - - - -
Sus exp dec sh08 st0 (C800): 8237:3FDF 9006:3FBF 9760:3F9F 10505:3F7F | >6000 - | end 1601824
  every 500000 from 7441: 1138 0414 007B - - - - -
Sus exp dec sh12 st0 (CC00): 9000:3FFB 10536:3FF7 12037:3FF3 13664:3FEF | >6000 - | end 13114200
  every 2000000 from 7434: 2CBD 1E52 1426 0CFD 07E7 02D1 - -
Sus lin inc sh31 st3 (1FC0): none | >6000 - | end -
  every 250000 from 6813: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st3 (5FC0): none | >6000 - | end -
  every 250000 from 6644: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp inc sh31 st3 (9FC0): none | >6000 - | end -
  every 250000 from 6644: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp dec sh31 st3 (DFC0): none | >6000 - | end -
  every 250000 from 6644: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st2 (5F80): none | >6000 - | end -
  every 250000 from 6644: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Done.

07REL.txt:

===== 07 REL SPU ADSR RELEASE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Release: voice 0 held at 7FFFh (attack shift 0, sustain level Fh, sustain never
stepping), then KOFF. Changes from KOFF, the first fall to 4000h, the time it
reached 0, eight readings.
Rel lin sh00 (1FC0): 334:3FFF 903:FFFF 1667:0000 | <=4000 334:3FFF | end 1667
  every 2500: - - - - - - - -
Rel lin sh04 (1FC4): 298:3FFF 1283:3BFF 2056:37FF 2834:33FF | <=4000 298:3FFF | end 13604
  every 12500: 03FF - - - - - - -
Rel lin sh08 (1FC8): 303:3FBF 873:3F7F 1657:3F3F 2430:3EFF | <=4000 303:3FBF | end 196755
  every 125000: 173F - - - - - - -
Rel lin sh11 (1FCB): 297:3FF7 867:3FEF 1640:3FE7 2419:3FDF | <=4000 297:3FF7 | end 1573018
  every 1000000: 1747 - - - - - - -
Rel lin sh12 (1FCC): 295:3FFF 1394:3FF7 3002:3FEF 4514:3FE7 | <=4000 295:3FFF | end 3146355
  every 1000000: 2BA7 174F 02F7 - - - - -
Rel lin sh13 (1FCD): 297:3FFF 3696:3FF7 6768:3FEF 9840:3FE7 | <=4000 297:3FFF | end 6292811
  every 1000000: 35D7 2BAF 217F 1757 0D27 02FF - -
Rel lin sh16 (1FD0): 302:3FFF 19752:3FF7 44304:3FEF 68881:3FE7 | <=4000 302:3FFF | end -
  every 1000000: 3EBF 3D77 3C2F 3AEF 39A7 385F 3717 35D7
Rel exp sh00 (1FE0): 298:3FFF 555:1FFF 1224:0FFF 1997:07FF | <=4000 298:3FFF | end 10436
  every 2500: 07FF 007F 000F 0001 - - - -
Rel exp sh04 (1FE4): 303:3FFF 1193:3DFF 1969:3C0F 2745:3A2E | <=4000 303:3FFF | end 165522
  every 25000: 1722 0857 02E4 0102 0051 0015 - -
Rel exp sh08 (1FE8): 298:3FFF 1491:3FDF 2281:3FBF 3054:3F9F | <=4000 298:3FFF | end 1595166
  every 375000: 1814 08B1 02CB 007C - - - -
Rel exp sh11 (1FEB): 299:3FFF 1321:3FFB 2125:3FF7 2818:3FF3 | <=4000 299:3FFF | end 6553912
  every 2000000: 1E54 0CFE 02D2 - - - - -
Rel exp sh12 (1FEC): 294:3FFF 553:3FFB 1904:3FF7 3465:3FF3 | <=4000 294:3FFF | end 13105528
  every 2000000: 2CBD 1E50 1424 0CFC 07E6 02D0 - -
Attack linear shift 12 cut at 3552 by KOFF, release linear shift 8: 893:3512 1678:34D2 2437:3492 3198:3452 | <=0800 139954:07D2 | end 165300
  every 250000: - - - - - - - -
Level after the release, 200000 cycles: none
Release linear shift 8, second KOFF at 0000: none | <=0800 - | end 305
  every 125000: - - - - - - - -
Done.

08SWP.txt:

===== 08 SWP SPU VOLUME SWEEP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sweeps on voice 2's volume, voice 2 never keyed on. The start is set as a fixed
volume 5000 cycles before (spx:574-577). Current volume 1E08h (spx:650). Changes
from the sweep write, the time it reached 7FFFh (increase) or 0 (decrease).
Fixed volume 1234h, cycles until 1E08h changes: 399:2468 90:2468 726:2468 666:2468
Fixed volume 4000h (bit 14, spx:560 range) reads 1E08h 8000
V2L from 0000 reg 8000 (reads 8000): 602:3800 1377:7000 2127:7FFF | x - | end 2127
  every 2500: - - - - - - - -
V2L from 0000 reg 8010 (reads 8010): 348:0380 1067:0700 1817:0A80 2567:0E00 | x - | end 27936
  every 12500: 3B80 7380 - - - - - -
V2L from 0000 reg 8020 (reads 8020): 345:0038 960:0070 1714:00A8 2559:00E0 | x - | end 449507
  every 100000: 1CA8 3918 5588 71F8 - - - -
V2L from 0000 reg 8023 (reads 8023): 348:0020 1074:0040 1921:0060 2671:0080 | x - | end 785982
  every 200000: 20A0 4120 61A0 - - - - -
V2L from 0000 reg 802C (reads 802C): 505:0007 1184:000E 1934:0015 2779:001C | x - | end 3594645
  every 500000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8030 (reads 8030): 1210:0007 2690:000E 4239:0015 5786:001C | x - | end 7189724
  every 1000000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8040 (reads 8040): 10664:0007 35177:000E 59760:0015 84367:001C | x - | end -
  every 1000000: 011F 0237 0356 0475 0594 06AC 07CB 08EA
V2L from 7FFE reg A020 (reads A020): 513:7FBE 1293:7F7E 2043:7F3E 2791:7EFE | x - | end 393751
  every 125000: 573E 2E7E 05FE - - - - -
V2L from 7FFE reg A030 (reads A030): 1511:7FF6 2991:7FEE 4541:7FE6 6091:7FDE | x - | end 6292194
  every 1000000: 6BA6 574E 42F6 2E9E 1A46 05EE - -
V2L from 0000 reg C020 (reads C020): 348:0038 869:0070 1717:00A8 2467:00E0 | x - | end 785778
  every 200000: 3918 6484 72CA - - - - -
V2L from 0000 reg C030 (reads C030): 607:0007 2143:000E 3649:0015 5263:001C | x - | end 12575051
  every 2000000: 239A 4734 62B6 6BA0 7483 7D6D - -
V2L from 7FFE reg E000 (reads E000): 352:3FFF 967:1FFF 1714:0FFF 2559:07FF | x - | end 10952
  every 2500: 07FF 00FF 001F 0003 - - - -
V2L from 7FFE reg E020 (reads E020): 501:7FBE 1273:7F7E 2023:7F3E 2773:7EFE | x - | end 1863655
  every 500000: 2323 0925 01DA - - - - -
V2L from 7FFE reg E030 (reads E030): 1028:7FF6 2564:7FEE 4175:7FE6 5684:7FDE | x - | end -
  every 2000000: 5B31 3FEA 2CAD 1E47 141B 0CF7 07E1 02CA
V2L from 2000 reg 9020 (reads 9020): 353:1FC0 871:1F80 1716:1F40 2468:1F00 | x - | end -
  every 250000: CE80 8000 8000 8000 8000 8000 8000 8000
V2L from C000 reg 8020 (reads 8020): 600:C038 1369:C070 2121:C0A8 2966:C0E0 | x - | end 674170
  every 250000: 0718 4E68 - - - - - -
V2L from C000 reg B020 (reads B020): 359:C038 876:C070 1626:C0A8 2471:C0E0 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 2000 reg B020 (reads B020): 616:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 7FFE reg F020 (reads F020): 358:7FBE 1177:7F7E 1927:7F3E 2677:7EFE | x - | end -
  every 500000: 2323 0925 01DA 0000 0000 0000 0000 0000
V2L from 2000 reg 807F (reads 807F): none | x - | end -
  every 250000: 2000 2000 2000 2000 2000 2000 2000 2000
V2L from 2000 reg B07F (reads B07F): 359:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2R from 0000 reg 8020 (reads 8020): 358:0038 878:0070 1630:00A8 2385:00E0 | x - | end 449318
  every 100000: 1CA8 3918 5588 71F8 - - - -
V0L from 0000 reg 8020 (reads 8020): 702:0038 1482:0070 2236:00A8 3087:00E0 | x - | end 450043
  every 100000: 1C70 38E0 5550 71F8 - - - -
Done.

09END.txt:

===== 09 END SPU ENDX LOOPS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0. S1, S2, S4: one, two, four blocks, the last End+Repeat. Cycles from KON
until ENDX bit 0 reads 0 (0: it never read 1 after KON), and until it reads 1
(0: not within the limit).
S1 pitch 1000, ENDX bit 0 clear, set: 1634,16948 853,16210 800,16151 2192,17542
S2 pitch 1000, ENDX bit 0 clear, set: 927,37745 851,37727
S4 pitch 1000, ENDX bit 0 clear, set: 931,80761 851,80745
S4 pitch 0800, ENDX bit 0 clear, set: 927,157573
S4 pitch 2000, ENDX bit 0 clear, set: 933,42406
S4 pitch 3FFF, ENDX bit 0 clear, set: 927,23955
S4 pitch 4000, ENDX bit 0 clear, set: 937,23963
S4 pitch 4001, ENDX bit 0 clear, set: 871,23954
S4 pitch 8000, ENDX bit 0 clear, set: 935,23966
S4 pitch FFFF, ENDX bit 0 clear, set: 929,23966
S1 pitch 0100, ENDX bit 0 clear, set: 927,200595
S1 pitch 0001, ENDX bit 0 clear, set: 879,0
S1 pitch 0000, ENDX bit 0 clear, set: 57,0
S4+8 pitch 1000, ENDX bit 0 clear, set: 57,68487
ENDX low FFFF, write 0000h reads 0000, then: 11886:FFFE 19522:FFFF
ENDX write 5555h reads 5555, then: 476:0000 7391:FFFE 15057:FFFF
ENDX high 00FF
L (loop start at block 1), repeat was 4000: right after KON 4000, then: 18812:4082
S4 (loop start at block 0), repeat was 4100: right after KON 4100, then: 1890:4060
M (End+Mute at block 1), repeat 4100: ENDX set at 38166:0001, level then 0000, repeat 4100
M, level from 20000 cycles after KON: 37967:0000
L, repeat 40E0 written 2000 cycles after KON (reads 40E0), 150000 later: 4082
L, repeat 40E0 written 200000 cycles after KON (reads 40E0), 200000 later: 40E0, 400000 later: 40E0
Start written during play reads 4020
Done.

10IRQ.txt:

===== 10 IRQ SPU IRQ9 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0 keyed on, IRQ address as shown, cycles from KON to SPUSTAT bit 6 and to
I_STAT bit 9 (0 = not within the limit). S4 at 4060h, four blocks of 10h bytes.
S4 pitch 1000 IRQ 4060: SPUSTAT.6 at 2047, I_STAT.9 at 1780
S4 pitch 1000 IRQ 4061: SPUSTAT.6 at 6453, I_STAT.9 at 6254
S4 pitch 1000 IRQ 4062: SPUSTAT.6 at 311, I_STAT.9 at 44
S4 pitch 1000 IRQ 4064: SPUSTAT.6 at 40237, I_STAT.9 at 39975
S4 pitch 1000 IRQ 4065: SPUSTAT.6 at 49488, I_STAT.9 at 49289
S4 pitch 1000 IRQ 4066: SPUSTAT.6 at 315, I_STAT.9 at 116
S4 pitch 0400 IRQ 4064: SPUSTAT.6 at 150837, I_STAT.9 at 150638
S4 pitch 4000 IRQ 4064: SPUSTAT.6 at 322, I_STAT.9 at 123
S4 noise pitch 1000 IRQ 4064: SPUSTAT.6 at 40254, I_STAT.9 at 40055
S4 pitch 0000 IRQ 4064: SPUSTAT.6 at 0, I_STAT.9 at 0
M (End+Mute at block 1) with the repeat address set before KON to P (4100h):
M, IRQ at P pitch 1000 IRQ 4100: SPUSTAT.6 at 40180, I_STAT.9 at 39981
M, repeat P, IRQ at M block 0, IRQ 40A0, hits: 1656 3156 4704 6240 7776; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 2380:0000
S1 released 100000 cycles before, level 0000, IRQ at S1: SPUSTAT.6 at 159
S1 looping, IRQ 4020, hits: 618 2157 3702 5238 6774; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 1378:0000
S4 looping, IRQ 4064, hits: 41453 42990 44535 46071 47607; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 42211:0000
Manual writes of k halfwords from 61FF (8 bytes before the IRQ address 6200):
 k=1 SPUSTAT.6 0 I_STAT.9 0 k=2 SPUSTAT.6 0 I_STAT.9 0 k=3 SPUSTAT.6 0 I_STAT.9 0 k=4 SPUSTAT.6 1 I_STAT.9 1
 k=5 SPUSTAT.6 1 I_STAT.9 1 k=6 SPUSTAT.6 1 I_STAT.9 1 k=7 SPUSTAT.6 1 I_STAT.9 1 k=8 SPUSTAT.6 1 I_STAT.9 1
DMA write 64 bytes from 32 before the IRQ address: SPUSTAT.6 0
DMA write 64 bytes ending just before it: SPUSTAT.6 0
DMA write 64 bytes from 8 after it: SPUSTAT.6 0
DMA read 64 bytes from 32 before it: SPUSTAT.6 1
DMA read 64 bytes ending just before it: SPUSTAT.6 1
DMA write over it with IRQ9 enable clear, then enabled: SPUSTAT.6 0
IRQ address write 1234h reads 1234
Done.

11CAP.txt:

===== 11 CAP SPU CAPTURE TIMING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT bit 11 (spx:716, :723-725) over 1.2 million cycles; then capture IRQs
(spx:848-856), timed from a rise of bit 11, with bit 11 at each hit (h/l).
Transfer control 0004, SPUSTAT bit 11 changes: 61276:0000 257840:0800 454492:0000 651076:0800 847664:0000 1044316:0800
Transfer control 0000, SPUSTAT bit 11 changes: none
Transfer control 0008, SPUSTAT bit 11 changes: 153966:0800 350618:0000 547202:0800 743790:0000 940442:0800 1137026:0000
Transfer control 000C, SPUSTAT bit 11 changes: none
Transfer control 0002, SPUSTAT bit 11 changes: none
IRQ 0000, transfer control 0004, from bit 11 rising, hits: 69786l 463002l 856218l 1249434l
IRQ 0040, transfer control 0004, from bit 11 rising, hits: 393144h 786326h 1179576h 1572758h
IRQ 0080, transfer control 0004, from bit 11 rising, hits: 196511l 589761l 982943l 1376193l
IRQ 00C0, transfer control 0004, from bit 11 rising, hits: 393124h 786306h 1179556h 1572738h
IRQ 0100, transfer control 0004, from bit 11 rising, hits: 196536l 589718l 982968l 1376150l
IRQ 0180, transfer control 0004, from bit 11 rising, hits: 196463l 589713l 982895l 1376145l
IRQ 01FF, transfer control 0004, from bit 11 rising, hits: 193483h 586675h 979881h 1373097h
IRQ 0001, transfer control 0004, from bit 11 rising, hits: 199569l 592785l 986001l 1379217l
IRQ 0100, transfer control 0000, from bit 11 rising (no rise seen), hits: none
IRQ 0100, transfer control 0008, from bit 11 rising, hits: none
IRQ 0200, transfer control 0004, from bit 11 rising, hits: none
Done.

12VCP.txt:

===== 12 VCP SPU CAPTURE NOISE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The first half (256 samples) of a capture buffer, read by DMA right after SPUSTAT
bit 11 rises. Tone T: block 0 shift 4 filter 0 nibbles 0..F, block 1 shift 4
filter 1, looped. ADSR held at 7FFFh unless shown. Volumes 0, main volume 0.
Voice 1 T pitch 1000h, 255 changes in 256:
  01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1 0062 00DB 014C 01B7
  021B 0278 02D0 0322 036F 0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29
  FDC7 FD6A FD14 FD4A FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82
  FE01 FE81 FF00 FF80 FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88
Voice 1 T pitch 0800h, 255 changes in 256:
  FD42 FD82 FDC2 FE01 FE41 FE81 FEC1 FF00 FF40 FF80 FFC0 FFFF 003F 007E 00BE 00FE
  013E 017D 01BD 01FD 023C 027C 02BC 02FC 0321 024B FFBC FD30 FC5D FC83 FCC2 FD03
Voice 1 T pitch 2000h, 255 changes in 256:
  FD4A 007E 017D 027C 024B FC83 FD82 FE81 FF80 007E 017D 027C 024B FC83 FD88 FEC5
  FFE1 00DB 01B7 0278 0322 0392 024F 010F FFF7 FF01 FE29 FD6A FD4A 007E 017D 027C
Voice 1 T pitch 1000h, ADSR decayed to sustain level 7, 255 changes in 256:
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
  FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1
Its level 3FFF
Voice 1 released, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Voice 3 T pitch 1000h, 255 changes in 256:
  036F 0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29 FDC7 FD6A FD14 FD4A
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
CD left, no CD playing, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
CD right, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Noise (spx:680-696): voice 1 noise mode, SPUCNT noise shift and step as shown.
Noise shift 15 step 3, 255 changes in 256:
  2410 C823 1046 208C C11C 0236 046D 08DB 11B7 236F C6E1 0DC1 1B84 3708 EE13 DC28
  384E F09E E13C C278 04F0 09E0 13C1 2783 CF09 1E11 3C22 F846 F08D E11B C236 046C
Noise shift 15 step 0, 255 changes in 256:
  2ED5 DDAC 3B57 F6B0 ED61 DAC2 3583 EB08 D610 2C1F D841 3080 E103 C207 040E 081C
  1039 2073 C0EA 01D2 03A6 074C 0E9A 1D34 3A69 F4D5 E9AB D358 26AE CD60 1ABE 357D
Noise shift 14 step 0, 128 changes in 256:
  2196 C330 C330 065F 065F 0CBF 0CBF 197F 197F 32FE 32FE E5FE E5FE CBFD CBFD 17F8
  17F8 2FF1 2FF1 DFE5 DFE5 3FC9 3FC9 FF95 FF95 FF2A FF2A FE55 FE55 FCAB FCAB F957
Noise shift 12 step 0, 31 changes in 256:
  2DBE 2DBE 2DBE 2DBE 2DBE 2DBE 2DBE 2DBE DB80 DB80 DB80 DB80 DB80 DB80 DB80 DB80
  36FE 36FE 36FE 36FE 36FE 36FE 36FE 36FE EDFE EDFE EDFE EDFE EDFE EDFE EDFE EDFE
Noise shift 10 step 0, 8 changes in 256:
  C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C
  C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C C30C 0618 0618 0618 0618
Noise shift 8 step 0, 2 changes in 256:
  C75E C75E C75E C75E C75E C75E C75E C75E C75E C75E C75E C75E 0EBA 0EBA 0EBA 0EBA
  0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA 0EBA
Noise shift 4 step 0, 0 changes in 256:
  3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB
  3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB 3AEB
Done.

13XFR.txt:

===== 13 XFR SPU TRANSFERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Scratch at 30000h (6000h), filled with EEEEh before each row, read back by DMA
with transfer control 0004h. Halfwords written: A000h, A001h, ...
Transfer address write 6000h reads 6000, after 8 manual 6000, after DMA 6000
Fifo 1DA8h reads A007 A007
4 manual, then 4 more (A008h..) with no new address: A000 A001 A002 A003 A008 A009 A00A A00B EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
4 manual, then 4 written to the Fifo in Manual Write mode: A000 A001 A002 A003 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
40 halfwords into the Fifo (32 deep, spx:741): A000 A001 A002 A003 A004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E A00F A010 A011 A012 A013 A014 A015 A016 A017 A018 A019 A01A A01B A01C A01D A01E A01F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 0 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 1 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 2 manual 8: A000 A001 A002 A003 A004 A005 A006 A007 EEEE EEEE
Type 3 manual 8: A000 A002 A004 A006 EEEE EEEE EEEE EEEE EEEE EEEE
Type 4 manual 8: A003 A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 5 manual 8: A006 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 6 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 7 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA write of B000h, B001h, ..: B000 B002 B004 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA read of C000h, C001h, ..: C000 0000 C001 0000 C002 0000 C003 0000 C004 FFFF C005 FFFF EEEE FFFF EEEE 0000 EEEE 0000 EEEE 0000
Type 4 DMA read of C000h, C001h, ..: C000 C000 C000 C000 C001 C001 C001 C001 C002 C002 C002 C002 C003 C003 C003 C003 C004 C004 C004 C004
Type 5 DMA read of C000h, C001h, ..: C000 0000 C000 0000 C000 0000 C000 0000 C001 0000 C001 0000 C001 0000 C001 0000 C002 0000 C002 FFFF
Manual Write of 1, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 744:0010
Manual Write of 4, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 314:0010
Manual Write of 16, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 196:0410 998:0010
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Done.

14REG.txt:

===== 14 REG SPU REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
1DBCh-1DBFh and 1E60h-1E7Fh (spx:1108-1121), written and read back, put back.
1DBCh DFFF F7FF, 1E60h..: F5FF F3FF BFFF 38DF 74BB FFEE BFF7 FFEF FFFF FD7D 6EFF 33B3 FC7F FFFF BFFF 7D8F
Unknown 1DBC: was DFFF, write 1234 reads 1234
Unknown 1DBE: was F7FF, write FEDC reads FEDC
1E60h.. written inverted, reads: 0A00 0C00 4000 C720 8B44 0011 4008 0010 0000 0282 9100 CC4C 0380 0000 4000 8270
Unknown 1DA0h 1DA0: was AC00, write 5A5A reads 5A5A
Voice 5 registers written FFFFh:
 volume L 1C50: was 0000, write 7FFF reads 7FFF
 volume L sweep 1C50: was 0000, write FFFF reads FFFF
 pitch 1C54: was 1000, write FFFF reads FFFF
 start 1C56: was 4000, write FFFF reads FFFF
 ADSR low 1C58: was 000F, write FFFF reads FFFF
 ADSR high 1C5A: was 1FC0, write FFFF reads FFFF
 repeat 1C5E: was 4000, write FFFF reads FFFF
Voice flag registers (bits 24-31 not used, spx:660, :666, :683; PMON bit 0 :382):
 PMON low 1D90: was 0000, write FFFF reads FFFF
 PMON high 1D92: was 0000, write FFFF reads FFFF
 NON high 1D96: was 0000, write FFFF reads FFFF
 EON high 1D9A: was 0000, write FFFF reads FFFF
 ENDX high 1D9E: was 00FF, write FFFF reads FFFF
 CD volume L 1DB0: was 7FFF, write 8765 reads 8765
 extern volume R 1DB6: was 0000, write 8765 reads 8765
 reverb volume L 1D84: was 0000, write 8001 reads 8001
 mBASE 1DA2: was FFFE, write 1234 reads 1234
Main volume L sweep A020 reads A020, current main volume 1DB8h 0000 0000
32-bit stores to 1C58h, 32 tries: low half wrong 6, high half wrong 0
1C58h lw 1357ABCD, lbu 1C58h CD 1C59h AB 1C5Ah 57
sb 12345678h to 1C54h: 5678; to 1C55h over 1111h: 1111
Done.

15UNU.txt:

===== 15 UNU SPU UNUSED 1E80 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Halfword reads of 1F801E80h..1F801FFEh; lbu and lw of 1F801E80h last.

192 of 192 read FFFFh
lbu 1E80h: FF
lw 1E80h: FFFFFFFF
lw 1E7Ch: 7D8FBFFF
Done.

Run 5501a-card-g on 27 September 2026

Raw output: 00RUN.txt · 01STA.txt · 02CNT.txt · 03KON.txt · 04ATK.txt · 05DEC.txt · 06SUS.txt · 07REL.txt · 08SWP.txt · 09END.txt · 10IRQ.txt · 11CAP.txt · 12VCP.txt · 13XFR.txt · 14REG.txt · 15UNU.txt

00RUN.txt:

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
15 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 8001D338 PRId 00000002

01STA.txt:

===== 01 STA SPU STATE AT ENTRY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPU registers as this program found them, nothing written first.
1DA8h, the transfer Fifo, is not read (shown ----).
1C00: 0000 0000 0400 0C28 8088 DFF1 0000 14C4 0000 0000 0407 0C28 8087 DFF1 0000 14C4
1C20: 0000 0000 0800 0C28 8088 DFF1 0000 14C4 0000 0000 080E 0C28 8087 DFF1 0000 14C4
1C40: 0000 0000 08FA 0200 8C7A DFED 0000 034C 0000 0000 090B 0200 8C7A DFED 0000 034C
1C60: 0000 0000 02AB 0C28 8088 DFF1 0000 14C4 0000 0000 02B0 0C28 8087 DFF1 0000 14C4
1C80: 0000 0000 0A14 0200 8C7A DFED 0000 034C 0000 0000 0A27 0200 8C7A DFED 0000 034C
1CA0: 0000 0000 0BFC 0200 8C7A DFED 0000 034C 0000 0000 0C12 0200 8C7A DFED 0000 034C
1CC0: 0000 0000 08FA 0200 8C7A DFED 0000 034C 0000 0000 090B 0200 8C7A DFED 0000 034C
1CE0: 0000 0000 0A14 0200 8C7A DFED 0000 034C 0000 0000 0A27 0200 8C7A DFED 0000 034C
1D00: 0000 0000 0BFC 0200 8C7A DFED 0000 034C 0000 0000 0C12 0200 8C7A DFED 0000 034C
1D20: 0000 0000 0556 0C28 8088 DFF1 0000 14C4 0000 0000 0560 0C28 8087 DFF1 0000 14C4
1D40: 0000 0000 0A14 0200 8C7A DFED 0000 034C 0000 0000 0A27 0200 8C7A DFED 0000 034C
1D60: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D80: 0000 0000 0000 0000 0000 0000 FFFF FFFF 0000 0000 0000 0000 FFFF 003F FFFF 00FF
1DA0: AC00 E128 FFFE 0200 ---- C085 0004 0805 7FFF 7FFF 0000 0000 0000 0000 DFFF F7FF
1DC0: 033D 0231 7E00 5000 B400 B000 4C00 B000 6000 5400 1ED6 1A31 1D14 183B 1BC2 16B2
1DE0: 1A32 15EF 15EE 1055 1334 0F2D 11F6 0C5D 1056 0AE1 0AE0 07A2 0464 0232 8000 8000
1E00: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E20: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E40: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E60: F5FF F3FF BFFF 29DF 74BB FFFE BFF7 FFFF FFFF FDFD 6EFF 3BB3 FC7F FFFF BFFF 7D8F
1DA0h read 16 times in a row: AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 0100 0100 0100 AC00 AC00 AC00
1DA0h read 16 times 100000 cycles apart: AC00 AC00 AC00 AC00 AC00 0100 AC00 AC00 AC00 0100 AC00 AC00 AC00 0100 AC00 AC00
SPUSTAT read 16 times 5000 cycles apart: 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005
SPU_DELAY 1F801014h: 200931E1
Done.

02CNT.txt:

===== 02 CNT SPU SPUCNT TO STAT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT 5-0 is SPUCNT 5-0 applied a bit delayed (spx:726); bit 7 is like SPUCNT
bit 5 (spx:721); DMA read sets 9 and 7 late (spx:727-729). Times from the SPUCNT
write, cycles:value, for 20000 cycles or six changes; bit 11 (capture half) masked
out. Transfer address 30000h.
SPUCNT 8000 to 8010, SPUSTAT was 0000, changes: 642:0010
SPUCNT 8010 to 8000, SPUSTAT was 0010, changes: 593:0000
SPUCNT 8000 to 8020, SPUSTAT was 0000, changes: 759:02A0
SPUCNT 8020 to 8000, SPUSTAT was 02A0, changes: 409:0000
SPUCNT 8000 to 8030, SPUSTAT was 0000, changes: 63:0030 1621:01B0
SPUCNT 8030 to 8000, SPUSTAT was 01B0, changes: 293:0000
SPUCNT 8000 to 8001, SPUSTAT was 0000, changes: 645:0001
SPUCNT 8001 to 8000, SPUSTAT was 0001, changes: 702:0000
SPUCNT 8000 to 8002, SPUSTAT was 0000, changes: 707:0002
SPUCNT 8002 to 8000, SPUSTAT was 0002, changes: 702:0000
SPUCNT 8000 to 8004, SPUSTAT was 0000, changes: 758:0004
SPUCNT 8004 to 8000, SPUSTAT was 0004, changes: 760:0000
SPUCNT 8000 to 8008, SPUSTAT was 0000, changes: 61:0008
SPUCNT 8008 to 8000, SPUSTAT was 0008, changes: 295:0000
SPUCNT 8000 to 803F, SPUSTAT was 0000, changes: 293:003F 1848:01BF
SPUCNT 803F to 8000, SPUSTAT was 01BF, changes: 293:0000
SPUCNT 8000 to 8040, SPUSTAT was 0000, changes: none
SPUCNT 8040 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 8100, SPUSTAT was 0000, changes: none
SPUCNT 8100 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to BC00, SPUSTAT was 0000, changes: none
SPUCNT BC00 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 0000, SPUSTAT was 0000, changes: none
SPUCNT 0000 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8010 to 8020, SPUSTAT was 0010, changes: 592:02A0
SPUCNT 8020 to 8030, SPUSTAT was 02A0, changes: 409:00B0 1212:01B0
SPUCNT 8030 to 8010, SPUSTAT was 01B0, changes: 61:0010
SPUCNT 8000h to 8010h, cycles until SPUSTAT 5-0 = 10h, 8 times: 328 257 142 143 722 666 550 431
SPUCNT write BF00h reads BF00 at once, BF00 after 3000 cycles
SPUSTAT was 0000, write FFFFh reads FFFF at once, then: 631:0000
SPUSTAT write 0000h reads 0000 at once, then: none
Transfer control write FFFFh reads FFFF, write 0004h reads 0004
Done.

03KON.txt:

===== 03 KON SPU KEY ON OFF | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0, silent loop at 20000h, pitch 1000h. Cycles from the write.
KON to the first level change (attack linear shift 0 step 0): 5308 4519 4460 4343 4238 4176 4109 3934
KON to the second change: 6056 5287 5228 5109 5004 4943 4875 4700
KOFF at 7FFFh to the first change (release linear shift 0): 69 39 39 39 39 39 39 39
KON again at 3FFF, level: 1162:0000 5012:3800 5760:7000 6504:7FFF 7306:3FFF
KON again at 3FFF, level: 1588:0000 5418:3800 6160:7000 6963:7FFF 7712:3FFF
KON again at 3FFF, level: 366:0000 4247:3800 4989:7000 5792:7FFF 6541:3FFF
KON again at 3FFF, level: 774:0000 4658:3800 5406:7000 6150:7FFF 6952:3FFF
Attack linear shift 10: KON again at 2354, level: 399:2362 1142:0000 5025:000E 5773:001C 6517:002A 7319:0038
KON then KOFF back to back, level: 4387:3800 5188:7000 5937:7FFF 6681:3FFF
At 7FFFh, KOFF then KON back to back, level: 125:3FFF 1514:0000 5344:3800 6146:7000 6888:7FFF 7691:3FFF
KON write 0001h reads 0001 (high 0000), 0001 after 5000; KOFF 0001h reads 0001 (high 0000); KON high FF00h reads FF00
KOFF high FF00h reads FF00
SPUCNT 0000h, KON attack linear shift 8, level: none
then SPUCNT 8000h (level was 0000), level: none ENDX low FFFF
At 7FFFh, SPUCNT to 0000h, level: 81:3FFF 446:0000
then SPUCNT 8000h (level was 0000), level: none
Sustain never stepping at 7FFFh, write level 1234h: reads 1234, then: none
Sustain linear increase shift 8, write level 1234h: reads 1234, then: 269:4A34 1074:7FFF 1818:3FFF 2621:4037 3370:406F 4114:40A7
Voice released to 0, write level 1234h: reads 1234, then: 617:D234 1418:0000
Voice 5, released, write level 8123h: reads 8123
Done.

04ATK.txt:

===== 04 ATK SPU ADSR ATTACK | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Attack: voice 0, ADSR low as shown (decay 0, sustain level Fh), sustain never
stepping. Level changes cycles:value from KON, the first rise above 6000h, the time
it reached 7FFFh, then eight readings.
Lin sh00 st0 (000F): 5205:3800 5974:7000 6771:7FFF | >6000 5974:7000 | end 6771
  every 2500: 0000 0000 - - - - - -
Lin sh00 st1 (010F): 4350:3000 5142:6000 5887:7FFF | >6000 5887:7FFF | end 5887
  every 2500: 0000 3000 - - - - - -
Lin sh00 st2 (020F): 4364:2800 5156:5000 5901:7800 6693:7FFF | >6000 5901:7800 | end 6693
  every 2500: 0000 2800 - - - - - -
Lin sh00 st3 (030F): 4348:2000 5140:4000 5885:6000 6639:7FFF | >6000 6639:7FFF | end 6639
  every 2500: 0000 2000 - - - - - -
Lin sh02 st0 (080F): 4414:0E00 5233:1C00 5990:2A00 6740:3800 | >6000 9011:6200 | end 11357
  every 5000: 0E00 7000 - - - - - -
Lin sh05 st0 (140F): 4405:01C0 5174:0380 5922:0540 6677:0700 | >6000 45851:6040 | end 60453
  every 25000: 2F40 6900 - - - - - -
Lin sh08 st0 (200F): 4410:0038 5184:0070 5929:00A8 6683:00E0 | >6000 340807:6008 | end 453704
  every 100000: 1B58 37C8 5470 70E0 - - - -
Lin sh10 st0 (280F): 4405:000E 5174:001C 5922:002A 6677:0038 | >6000 1352270:6008 | end 1801477
  every 300000: 151C 2A70 3FD2 5526 6A88 7FEA - -
Lin sh11 st0 (2C0F): 4419:0007 5193:000E 5951:0015 6701:001C | >6000 2700088:6001 | end 3598600
  every 500000: 11AA 2377 3544 4711 58DE 6AAB 7C78 -
Lin sh11 st3 (2F0F): 4402:0004 5076:0008 5926:000C 6676:0010 | >6000 4722975:6004 | end 6295041
  every 1000000: 1444 289C 3CF4 514C 65A4 79FC - -
Lin sh12 st0 (300F): 5217:0007 6691:000E 8245:0015 9799:001C | >6000 5396489:6001 | end 7193601
  every 1000000: 11B8 2385 3552 471F 58EC 6AB9 7C86 -
Lin sh13 st0 (340F): 4405:0007 7489:000E 10549:0015 13613:001C | >6000 - | end -
  every 1000000: 08E3 11C6 1AB0 2393 2C7D 3560 3E4A 472D
Lin sh14 st0 (380F): 9739:0007 15935:000E 22027:0015 28204:001C | >6000 - | end -
  every 1000000: 046E 08DC 0D51 11C6 163B 1AA9 1F1E 2393
Lin sh16 st0 (400F): 7436:0007 32049:000E 56632:0015 81219:001C | >6000 - | end -
  every 1000000: 011F 023E 0356 0475 0594 06AC 07CB 08EA
Lin sh20 st0 (500F): 38211:0007 431416:000E 824588:0015 1217804:001C | >6000 - | end -
  every 1000000: 0015 0023 0038 004D 005B 0070 007E 0093
Lin sh24 st0 (600F): 3962633:0007 10254153:000E | >6000 - | end -
  every 2000000: 0000 0007 0007 0007 0007 000E 000E 000E
Lin sh26 st2 (6A0F): 16212234:0005 | >6000 - | end -
  every 4250000: 0000 0000 0000 0005 0005 0005 0005 0005
Lin sh29 st2 (760F): 7320307:0005 32486171:000A | >6000 - | end -
  every 4250000: 0000 0005 0005 0005 0005 0005 0005 000A
Lin sh31 st2 (7E0F): 23589663:0005 | >6000 - | end -
  every 4250000: 0000 0000 0000 0000 0000 0005 0005 0005
Lin sh31 st3 (7F0F): none | >6000 - | end -
  every 2500000: 0000 0000 0000 0000 0000 0000 0000 0000
Exp sh00 st0 (800F): 4464:3800 5161:7000 5958:7E00 6717:7FFF | >6000 5161:7000 | end 6717
  every 2500: 0000 3800 - - - - - -
Exp sh04 st0 (900F): 4413:0380 5195:0700 5945:0A80 6691:0E00 | >6000 25206:6200 | end 52055
  every 25000: 5E80 7E00 - - - - - -
Exp sh08 st0 (A00F): 4320:0038 5095:0070 5850:00A8 6695:00E0 | >6000 340704:6008 | end 790005
  every 200000: 37C8 643E 7276 - - - - -
Exp sh09 st0 (A40F): 4423:001C 5202:0038 5952:0054 6697:0070 | >6000 677908:6008 | end 1575728
  every 375000: 34D4 629A 6FF2 7D4A - - - -
Exp sh10 st0 (A80F): 4428:000E 5202:001C 5947:002A 6701:0038 | >6000 1352230:6008 | end 3147818
  every 750000: 351A 62A8 7000 7D58 - - - -
Exp sh11 st0 (AC0F): 4361:0007 5158:000E 5931:0015 6704:001C | >6000 2700048:6001 | end 6294347
  every 1500000: 3544 62A8 7000 7D5F - - - -
Exp sh12 st0 (B00F): 5193:0007 6723:000E 8241:0015 9745:001C | >6000 5396511:6001 | end 12579614
  every 2000000: 2385 471F 62B6 6B99 7483 7D66 - -
Exp sh14 st0 (B80F): 5938:0007 12082:000E 18186:0015 24406:001C | >6000 - | end -
  every 2000000: 08E3 11CD 1AB0 239A 2C7D 3567 3E4A 4734
Done.

05DEC.txt:

===== 05 DEC SPU ADSR DECAY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Decay: voice 0, attack linear shift 0 step 0, decay shift and sustain level as
shown, sustain never stepping. Changes from KON, the first fall to (SL+1)*800h or
below (spx:540), then eight readings: where the level stops is the sustain level.
Dec 00 SL 0 (0000): 4692:3800 5524:7000 6294:7FFF 7062:3FFF | <=SL 9282:07FF | end -
  every 5000: 3800 07FF 07FF 07FF 07FF 07FF 07FF 07FF
Dec 00 SL 3 (0003): 4341:3800 5184:7000 5949:7FFF 6708:3FFF | <=SL 7467:1FFF | end -
  every 5000: 3800 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF
Dec 00 SL 7 (0007): 4342:3800 5192:7000 5958:7FFF 6726:3FFF | <=SL 6726:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL B (000B): 4449:3800 5201:7000 5975:7FFF 6743:3FFF | <=SL 6743:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL E (000E): 4449:3800 5201:7000 5977:7FFF 6743:3FFF | <=SL 6743:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL F (000F): 4449:3800 5201:7000 5977:7FFF 6753:3FFF | <=SL - | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 02 SL 7 (0027): 4342:3800 5142:7000 5908:7FFF 6667:6FFF | <=SL 10548:3971 | end -
  every 12500: 3971 3971 3971 3971 3971 3971 3971 3971
Dec 04 SL 7 (0047): 4345:3800 5141:7000 5900:7FFF 6659:7BFF | <=SL 22784:3FA2 | end -
  every 25000: 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2
Dec 06 SL 7 (0067): 4451:3800 5148:7000 5907:7FFF 6768:7EFF | <=SL 74287:3F8E | end -
  every 75000: 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E
Dec 08 SL 0 (0080): 4352:3800 5134:7000 5894:7FFF 6653:7FBF | <=SL 1051108:07FE | end -
  every 250000: 446A 23B3 1268 094D 07FE 07FE 07FE 07FE
Dec 08 SL 7 (0087): 4342:3800 5142:7000 5908:7FFF 6667:7FBF | <=SL 275435:3FF1 | end -
  every 200000: 4DD1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1
Dec 08 SL F (008F): 4342:3800 5142:7000 5918:7FFF 6691:7FBF | <=SL - | end -
  every 50000: 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF
Dec 10 SL 7 (00A7): 5182:3800 5879:7000 6638:7FFF 7499:7FEF | <=SL 1049620:3FFA | end -
  every 500000: 5C8A 4243 3FFA 3FFA 3FFA 3FFA 3FFA 3FFA
Dec 11 SL 7 (00B7): 4448:3800 5150:7000 5917:7FFF 6685:7FF7 | <=SL 2001955:3FFF | end -
  every 1000000: 5B62 400E 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 7 (00C7): 4389:3800 5114:7000 5901:7FFF 6688:7FF7 | <=SL 3997187:3FFF | end -
  every 2000000: 5B4A 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 0 (00C0): 4385:3800 5203:7000 5892:7FFF 6684:7FF7 | <=SL 13958208:0800 | end -
  every 4250000: 3D6F 1BC4 0B13 07FF 07FF 07FF 07FF 07FF
Dec 13 SL 7 (00D7): 4387:3800 5216:7000 5900:7FFF 7432:7FF7 | <=SL 7988512:3FFF | end -
  every 2000000: 6C40 5B3E 4CA7 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 15 SL 7 (00F7): 4385:3800 5212:7000 5893:7FFF 10514:7FF7 | <=SL - | end -
  every 2000000: 7AEF 75D7 70BF 6C32 67C4 634F 5F04 5B32
Done.

06SUS.txt:

===== 06 SUS SPU ADSR SUSTAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sustain: voice 0, attack linear shift 0 step 0, decay shift 0, sustain level 7
(4000h), then the sustain as shown. The watch starts at the first reading of 4000h
or less after 7FFFh ("from"): changes, the first rise above 6000h, the time it
reached 7FFFh (increase) or 0 (decrease), eight readings. Times from KON.
Sus lin inc sh00 st0 (0000): 7309:77FF 8028:7FFF | >6000 7309:77FF | end 8028
  every 2500 from 6470: - - - - - - - -
Sus lin inc sh04 st0 (0400): 8255:437F 9027:46FF 9777:4A7F 10522:4DFF | >6000 15160:62FF | end 21999
  every 12500 from 7444: 77FF - - - - - - -
Sus lin inc sh08 st0 (0800): 8247:4037 9021:406F 9779:40A7 10529:40DF | >6000 120364:6027 | end 232462
  every 100000 from 7442: 5C6F 78DF - - - - - -
Sus lin inc sh08 st3 (08C0): 8302:401F 9076:403F 9834:405F 10584:407F | >6000 204848:601F | end 400740
  every 200000 from 7497: 607F - - - - - - -
Sus lin inc sh08 st0 b29 (2800): 8251:4037 9020:406F 9770:40A7 10525:40DF | >6000 120355:6027 | end 232553
  every 100000 from 7450: 5C6F 78DF - - - - - -
Sus lin inc sh11 st0 (0B00): 8247:4006 9021:400D 9779:4014 10529:401B | >6000 906796:6004 | end 1805308
  every 500000 from 7442: 51CC 6399 7566 - - - - -
Sus lin inc sh12 st0 (0C00): 8953:4006 10533:400D 12083:4014 13633:401B | >6000 1806117:6004 | end 3603173
  every 1000000 from 7442: 51CC 6399 7566 - - - - -
Sus lin inc sh16 st0 (1000): 23594:4006 48202:400D 72803:4014 97379:401B | >6000 - | end -
  every 1000000 from 7497: 411E 4236 4355 4474 458C 46AB 47CA 48E2
Sus lin dec sh00 st0 (4000): 8251:FFFF 8970:0000 | >6000 8251:FFFF | end 8970
  every 2500 from 7450: - - - - - - - -
Sus lin dec sh08 st0 (4800): 8379:3FBF 9151:3F7F 9901:3F3F 10646:3EFF | >6000 204161:FFFF | end 204928
  every 100000 from 7568: 1F7F - - - - - - -
Sus lin dec sh08 st3 (48C0): 6991:3FD7 7760:3FAF 8510:3F87 9265:3F5F | >6000 321130:FFEF | end 321893
  every 200000 from 6190: 175F - - - - - - -
Sus lin dec sh12 st0 (4C00): 7885:3FF7 9465:3FEF 11015:3FE7 12565:3FDF | >6000 3152139:FFFF | end 3152905
  every 1000000 from 6364: 2BA7 174F 02F7 - - - - -
Sus exp inc sh08 st0 (8800): 7160:4037 7929:406F 8679:40A7 9434:40DF | >6000 119315:6027 | end 566987
  every 200000 from 6359: 6655 748D - - - - - -
Sus exp inc sh10 st0 (8A00): 8242:400D 9011:401B 9759:4029 10514:4037 | >6000 457496:600B | end 2253150
  every 500000 from 7441: 60EB 69D5 72B8 7BA2 - - - -
Sus exp inc sh12 st0 (8C00): 9006:4006 10542:400D 12049:4014 13659:401B | >6000 1806137:6004 | end 8992315
  every 2000000 from 7450: 60EB 69CE 72B8 7B9B - - - -
Sus exp dec sh00 st0 (C000): 8251:1FFF 9020:0FFF 9770:07FF 10575:03FF | >6000 - | end 18229
  every 2500 from 7450: 07FF 00FF 001F 0001 - - - -
Sus exp dec sh08 st0 (C800): 8193:3FDF 8967:3FBF 9725:3F9F 10475:3F7F | >6000 - | end 1601782
  every 500000 from 7388: 1138 0414 007B - - - - -
Sus exp dec sh12 st0 (CC00): 8947:3FFB 10475:3FF7 11981:3FF3 13499:3FEF | >6000 - | end 13114035
  every 2000000 from 7388: 2CBD 1E52 1426 0CFD 07E7 02D1 - -
Sus lin inc sh31 st3 (1FC0): none | >6000 - | end -
  every 250000 from 6930: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st3 (5FC0): none | >6000 - | end -
  every 250000 from 6641: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp inc sh31 st3 (9FC0): none | >6000 - | end -
  every 250000 from 6703: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp dec sh31 st3 (DFC0): none | >6000 - | end -
  every 250000 from 6703: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st2 (5F80): none | >6000 - | end -
  every 250000 from 6703: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Done.

07REL.txt:

===== 07 REL SPU ADSR RELEASE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Release: voice 0 held at 7FFFh (attack shift 0, sustain level Fh, sustain never
stepping), then KOFF. Changes from KOFF, the first fall to 4000h, the time it
reached 0, eight readings.
Rel lin sh00 (1FC0): 333:3FFF 903:FFFF 1662:0000 | <=4000 333:3FFF | end 1662
  every 2500: - - - - - - - -
Rel lin sh04 (1FC4): 298:3FFF 1284:3BFF 2057:37FF 2830:33FF | <=4000 298:3FFF | end 13615
  every 12500: 03FF - - - - - - -
Rel lin sh08 (1FC8): 303:3FBF 983:3F7F 1761:3F3F 2537:3EFF | <=4000 303:3FBF | end 196859
  every 125000: 173F - - - - - - -
Rel lin sh11 (1FCB): 298:3FF7 871:3FEF 1649:3FE7 2425:3FDF | <=4000 298:3FF7 | end 1572935
  every 1000000: 1747 - - - - - - -
Rel lin sh12 (1FCC): 296:3FFF 1486:3FF7 2992:3FEF 4503:3FE7 | <=4000 296:3FFF | end 3146436
  every 1000000: 2BA7 174F 02F7 - - - - -
Rel lin sh13 (1FCD): 302:3FFF 3688:3FF7 6760:3FEF 9832:3FE7 | <=4000 302:3FFF | end 6292803
  every 1000000: 35D7 2BAF 217F 1757 0D27 02FF - -
Rel lin sh16 (1FD0): 302:3FFF 1392:3FF7 25952:3FEF 50504:3FE7 | <=4000 302:3FFF | end -
  every 1000000: 3EB7 3D6F 3C27 3AE7 399F 3857 3717 35CF
Rel exp sh00 (1FE0): 298:3FFF 550:1FFF 1224:0FFF 2000:07FF | <=4000 298:3FFF | end 10429
  every 2500: 07FF 007F 000F 0001 - - - -
Rel exp sh04 (1FE4): 303:3FFF 1186:3DFF 1959:3C0F 2732:3A2E | <=4000 303:3FFF | end 165547
  every 25000: 1722 0857 02E4 0102 0051 0015 - -
Rel exp sh08 (1FE8): 298:3FDF 867:3FBF 1640:3F9F 2413:3F7F | <=4000 298:3FDF | end 1593681
  every 375000: 17FA 08A7 02C7 007A - - - -
Rel exp sh11 (1FEB): 298:3FFF 1536:3FFB 2337:3FF7 3140:3FF3 | <=4000 298:3FFF | end 6554116
  every 2000000: 1E54 0CFE 02D2 - - - - -
Rel exp sh12 (1FEC): 294:3FFF 553:3FFB 2016:3FF7 3573:3FF3 | <=4000 294:3FFF | end 13105636
  every 2000000: 2CBD 1E52 1424 0CFC 07E6 02D0 - -
Attack linear shift 12 cut at 3552 by KOFF, release linear shift 8: 909:3512 1595:34D2 2456:3492 3223:3452 | <=0800 139885:07D2 | end 165226
  every 250000: - - - - - - - -
Level after the release, 200000 cycles: none
Release linear shift 8, second KOFF at 0000: none | <=0800 - | end 303
  every 125000: - - - - - - - -
Done.

08SWP.txt:

===== 08 SWP SPU VOLUME SWEEP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sweeps on voice 2's volume, voice 2 never keyed on. The start is set as a fixed
volume 5000 cycles before (spx:574-577). Current volume 1E08h (spx:650). Changes
from the sweep write, the time it reached 7FFFh (increase) or 0 (decrease).
Fixed volume 1234h, cycles until 1E08h changes: 393:2468 83:2468 721:2468 723:2468
Fixed volume 4000h (bit 14, spx:560 range) reads 1E08h 8000
V2L from 0000 reg 8000 (reads 8000): 503:3800 1281:7000 2026:7FFF | x - | end 2026
  every 2500: - - - - - - - -
V2L from 0000 reg 8010 (reads 8010): 348:0380 1074:0700 1824:0A80 2670:0E00 | x - | end 27947
  every 12500: 3800 7380 - - - - - -
V2L from 0000 reg 8020 (reads 8020): 348:0038 1073:0070 1823:00A8 2575:00E0 | x - | end 449540
  every 100000: 1C70 3918 5588 71F8 - - - -
V2L from 0000 reg 8023 (reads 8023): 348:0020 974:0040 1724:0060 2473:0080 | x - | end 785826
  every 200000: 20A0 4120 61C0 - - - - -
V2L from 0000 reg 802C (reads 802C): 599:0007 1368:000E 2213:0015 2958:001C | x - | end 3594910
  every 500000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8030 (reads 8030): 1111:0007 2692:000E 4239:0015 5695:001C | x - | end 7189557
  every 1000000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8040 (reads 8040): 18407:0007 43020:000E 67527:0015 92109:001C | x - | end -
  every 1000000: 0118 0237 0356 0475 058D 06AC 07CB 08E3
V2L from 7FFE reg A020 (reads A020): 707:7FBE 1481:7F7E 2326:7F3E 3080:7EFE | x - | end 393995
  every 125000: 577E 2EBE 05FE - - - - -
V2L from 7FFE reg A030 (reads A030): 1409:7FF6 2978:7FEE 4534:7FE6 6095:7FDE | x - | end 6292112
  every 1000000: 6BA6 574E 42F6 2E9E 1A46 05EE - -
V2L from 0000 reg C020 (reads C020): 353:0038 972:0070 1721:00A8 2476:00E0 | x - | end 785817
  every 200000: 3918 6484 72CA - - - - -
V2L from 0000 reg C030 (reads C030): 607:0007 2136:000E 3646:0015 5153:001C | x - | end 12576529
  every 2000000: 239A 4734 62B6 6BA0 7483 7D6D - -
V2L from 7FFE reg E000 (reads E000): 358:3FFF 973:1FFF 1729:0FFF 2479:07FF | x - | end 10981
  every 2500: 07FF 00FF 001F 0003 - - - -
V2L from 7FFE reg E020 (reads E020): 504:7FBE 1178:7F7E 2023:7F3E 2773:7EFE | x - | end 1863637
  every 500000: 2323 0925 01DA - - - - -
V2L from 7FFE reg E030 (reads E030): 1027:7FF6 2561:7FEE 4171:7FE6 5681:7FDE | x - | end -
  every 2000000: 5B31 3FEA 2CAD 1E47 141B 0CF7 07E1 02CA
V2L from 2000 reg 9020 (reads 9020): 353:1FC0 971:1F80 1716:1F40 2568:1F00 | x - | end -
  every 250000: CE80 8000 8000 8000 8000 8000 8000 8000
V2L from C000 reg 8020 (reads 8020): 700:C038 1475:C070 2228:C0A8 2978:C0E0 | x - | end 674270
  every 250000: 0718 4E68 - - - - - -
V2L from C000 reg B020 (reads B020): 353:C038 873:C070 1628:C0A8 2373:C0E0 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 2000 reg B020 (reads B020): 716:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 7FFE reg F020 (reads F020): 509:7FBE 1278:7F7E 2034:7F3E 2779:7EFE | x - | end -
  every 500000: 2323 0925 01DA 0000 0000 0000 0000 0000
V2L from 2000 reg 807F (reads 807F): none | x - | end -
  every 250000: 2000 2000 2000 2000 2000 2000 2000 2000
V2L from 2000 reg B07F (reads B07F): 359:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2R from 0000 reg 8020 (reads 8020): 358:0038 978:0070 1730:00A8 2475:00E0 | x - | end 449418
  every 100000: 1CA8 3918 5588 71F8 - - - -
V0L from 0000 reg 8020 (reads 8020): 705:0038 1486:0070 2331:00A8 3086:00E0 | x - | end 450055
  every 100000: 1C70 38E0 5550 71F8 - - - -
Done.

09END.txt:

===== 09 END SPU ENDX LOOPS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0. S1, S2, S4: one, two, four blocks, the last End+Repeat. Cycles from KON
until ENDX bit 0 reads 0 (0: it never read 1 after KON), and until it reads 1
(0: not within the limit).
S1 pitch 1000, ENDX bit 0 clear, set: 1646,16958 851,16200 793,16143 2198,17548
S2 pitch 1000, ENDX bit 0 clear, set: 879,37753 851,37728
S4 pitch 1000, ENDX bit 0 clear, set: 935,80769 851,80736
S4 pitch 0800, ENDX bit 0 clear, set: 879,157599
S4 pitch 2000, ENDX bit 0 clear, set: 938,42410
S4 pitch 3FFF, ENDX bit 0 clear, set: 935,23961
S4 pitch 4000, ENDX bit 0 clear, set: 938,23964
S4 pitch 4001, ENDX bit 0 clear, set: 879,23967
S4 pitch 8000, ENDX bit 0 clear, set: 873,23902
S4 pitch FFFF, ENDX bit 0 clear, set: 935,23961
S1 pitch 0100, ENDX bit 0 clear, set: 938,200618
S1 pitch 0001, ENDX bit 0 clear, set: 929,0
S1 pitch 0000, ENDX bit 0 clear, set: 57,0
S4+8 pitch 1000, ENDX bit 0 clear, set: 57,68495
ENDX low FFFF, write 0000h reads 0000, then: 11888:FFFE 19520:FFFF
ENDX write 5555h reads 5555, then: 481:0000 7392:FFFE 15058:FFFF
ENDX high 00FF
L (loop start at block 1), repeat was 4000: right after KON 4000, then: 18757:4082
S4 (loop start at block 0), repeat was 4100: right after KON 4100, then: 1831:4060
M (End+Mute at block 1), repeat 4100: ENDX set at 38155:0001, level then 0000, repeat 4100
M, level from 20000 cycles after KON: 37904:0000
L, repeat 40E0 written 2000 cycles after KON (reads 40E0), 150000 later: 4082
L, repeat 40E0 written 200000 cycles after KON (reads 40E0), 200000 later: 40E0, 400000 later: 40E0
Start written during play reads 4020
Done.

10IRQ.txt:

===== 10 IRQ SPU IRQ9 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0 keyed on, IRQ address as shown, cycles from KON to SPUSTAT bit 6 and to
I_STAT bit 9 (0 = not within the limit). S4 at 4060h, four blocks of 10h bytes.
S4 pitch 1000 IRQ 4060: SPUSTAT.6 at 1256, I_STAT.9 at 1057
S4 pitch 1000 IRQ 4061: SPUSTAT.6 at 6450, I_STAT.9 at 6251
S4 pitch 1000 IRQ 4062: SPUSTAT.6 at 245, I_STAT.9 at 44
S4 pitch 1000 IRQ 4064: SPUSTAT.6 at 40238, I_STAT.9 at 39976
S4 pitch 1000 IRQ 4065: SPUSTAT.6 at 49418, I_STAT.9 at 49216
S4 pitch 1000 IRQ 4066: SPUSTAT.6 at 245, I_STAT.9 at 44
S4 pitch 0400 IRQ 4064: SPUSTAT.6 at 150835, I_STAT.9 at 150631
S4 pitch 4000 IRQ 4064: SPUSTAT.6 at 315, I_STAT.9 at 116
S4 noise pitch 1000 IRQ 4064: SPUSTAT.6 at 40244, I_STAT.9 at 39982
S4 pitch 0000 IRQ 4064: SPUSTAT.6 at 0, I_STAT.9 at 0
M (End+Mute at block 1) with the repeat address set before KON to P (4100h):
M, IRQ at P pitch 1000 IRQ 4100: SPUSTAT.6 at 40173, I_STAT.9 at 39974
M, repeat P, IRQ at M block 0, IRQ 40A0, hits: 1602 3162 4709 6243 7778; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 2382:0000
S1 released 100000 cycles before, level 0000, IRQ at S1: SPUSTAT.6 at 101
S1 looping, IRQ 4020, hits: 676 2215 3764 5300 6836; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 1436:0000
S4 looping, IRQ 4064, hits: 41452 42989 44538 46074 47610; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 42210:0000
Manual writes of k halfwords from 61FF (8 bytes before the IRQ address 6200):
 k=1 SPUSTAT.6 0 I_STAT.9 0 k=2 SPUSTAT.6 0 I_STAT.9 0 k=3 SPUSTAT.6 0 I_STAT.9 0 k=4 SPUSTAT.6 1 I_STAT.9 1
 k=5 SPUSTAT.6 1 I_STAT.9 1 k=6 SPUSTAT.6 1 I_STAT.9 1 k=7 SPUSTAT.6 1 I_STAT.9 1 k=8 SPUSTAT.6 1 I_STAT.9 1
DMA write 64 bytes from 32 before the IRQ address: SPUSTAT.6 0
DMA write 64 bytes ending just before it: SPUSTAT.6 0
DMA write 64 bytes from 8 after it: SPUSTAT.6 0
DMA read 64 bytes from 32 before it: SPUSTAT.6 1
DMA read 64 bytes ending just before it: SPUSTAT.6 1
DMA write over it with IRQ9 enable clear, then enabled: SPUSTAT.6 0
IRQ address write 1234h reads 1234
Done.

11CAP.txt:

===== 11 CAP SPU CAPTURE TIMING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT bit 11 (spx:716, :723-725) over 1.2 million cycles; then capture IRQs
(spx:848-856), timed from a rise of bit 11, with bit 11 at each hit (h/l).
Transfer control 0004, SPUSTAT bit 11 changes: 164876:0000 361484:0800 558126:0000 754724:0800 951308:0000 1147950:0800
Transfer control 0000, SPUSTAT bit 11 changes: none
Transfer control 0008, SPUSTAT bit 11 changes: 175089:0800 371731:0000 568329:0800 764913:0000 961555:0800 1158153:0000
Transfer control 000C, SPUSTAT bit 11 changes: none
Transfer control 0002, SPUSTAT bit 11 changes: none
IRQ 0000, transfer control 0004, from bit 11 rising, hits: 172727l 565919l 959125l 1352341l
IRQ 0040, transfer control 0004, from bit 11 rising, hits: 393136h 786328h 1179568h 1572760h
IRQ 0080, transfer control 0004, from bit 11 rising, hits: 196509l 589701l 982941l 1376133l
IRQ 00C0, transfer control 0004, from bit 11 rising, hits: 393136h 786328h 1179568h 1572760h
IRQ 0100, transfer control 0004, from bit 11 rising, hits: 196524l 589716l 982908l 1376148l
IRQ 0180, transfer control 0004, from bit 11 rising, hits: 196515l 589755l 982947l 1376187l
IRQ 01FF, transfer control 0004, from bit 11 rising, hits: 193491h 586707h 979923h 1373139h
IRQ 0001, transfer control 0004, from bit 11 rising, hits: 199576l 592792l 986008l 1379224l
IRQ 0100, transfer control 0000, from bit 11 rising (no rise seen), hits: none
IRQ 0100, transfer control 0008, from bit 11 rising, hits: none
IRQ 0200, transfer control 0004, from bit 11 rising, hits: none
Done.

12VCP.txt:

===== 12 VCP SPU CAPTURE NOISE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The first half (256 samples) of a capture buffer, read by DMA right after SPUSTAT
bit 11 rises. Tone T: block 0 shift 4 filter 0 nibbles 0..F, block 1 shift 4
filter 1, looped. ADSR held at 7FFFh unless shown. Volumes 0, main volume 0.
Voice 1 T pitch 1000h, 255 changes in 256:
  FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1 0062 00DB 014C 01B7 021B 0278 02D0 0322
  036F 0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29 FDC7 FD6A FD14 FD4A
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
  FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1
Voice 1 T pitch 0800h, 255 changes in 256:
  FDC2 FE01 FE41 FE81 FEC1 FF00 FF40 FF80 FFC0 FFFF 003F 007E 00BE 00FE 013E 017D
  01BD 01FD 023C 027C 02BC 02FC 0321 024B FFBC FD30 FC5D FC83 FCC2 FD03 FD43 FD88
Voice 1 T pitch 2000h, 255 changes in 256:
  FD4A 007E 017D 027C 024B FC83 FD82 FE81 FF80 007E 017D 027C 024B FC83 FD88 FEC5
  FFE1 00DB 01B7 0278 0322 0392 024F 010F FFF7 FF01 FE29 FD6A FD4A 007E 017D 027C
Voice 1 T pitch 1000h, ADSR decayed to sustain level 7, 255 changes in 256:
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
  FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1
Its level 3FFF
Voice 1 released, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Voice 3 T pitch 1000h, 255 changes in 256:
  036F 0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29 FDC7 FD6A FD14 FD4A
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
CD left, no CD playing, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
CD right, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Noise (spx:680-696): voice 1 noise mode, SPUCNT noise shift and step as shown.
Noise shift 15 step 3, 255 changes in 256:
  D414 2826 D04F 209D C13D 0278 04F1 09E3 13C7 278F CF21 1E41 3C82 F906 F20D E41B
  C838 106F 20DE C1C0 037E 06FD 0DFC 1BF9 37F2 EFE7 DFD0 3F9E FF3F FE7E FCFD F9FB
Noise shift 15 step 0, 255 changes in 256:
  DE0D 3C19 F835 F06B E0D7 C1AE 035B 06B7 0D70 1AE1 35C2 EB87 D70E 2E1B DC38 386F
  F0E0 E1C0 C380 0700 0E01 1C02 3805 F00D E01A C034 0067 00D0 01A1 0343 0686 0D0E
Noise shift 14 step 0, 128 changes in 256:
  E24A C495 C495 0929 0929 1252 1252 24A5 24A5 C94C C94C 1298 1298 2530 2530 CA62
  CA62 14C3 14C3 2987 2987 D310 D310 261F 261F CC42 CC42 1882 1882 3105 3105 E20C
Noise shift 12 step 0, 32 changes in 256:
  D558 D558 2AAE 2AAE 2AAE 2AAE 2AAE 2AAE 2AAE 2AAE D560 D560 D560 D560 D560 D560
  D560 D560 2ABE 2ABE 2ABE 2ABE 2ABE 2ABE 2ABE 2ABE D580 D580 D580 D580 D580 D580
Noise shift 10 step 0, 8 changes in 256:
  DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD
  DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD DBFD 37F9 37F9
Noise shift 8 step 0, 2 changes in 256:
  D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA D3BA 2772 2772
  2772 2772 2772 2772 2772 2772 2772 2772 2772 2772 2772 2772 2772 2772 2772 2772
Noise shift 4 step 0, 0 changes in 256:
  1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF
  1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF 1DCF
Done.

13XFR.txt:

===== 13 XFR SPU TRANSFERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Scratch at 30000h (6000h), filled with EEEEh before each row, read back by DMA
with transfer control 0004h. Halfwords written: A000h, A001h, ...
Transfer address write 6000h reads 6000, after 8 manual 6000, after DMA 6000
Fifo 1DA8h reads A007 A007
4 manual, then 4 more (A008h..) with no new address: A000 A001 A002 A003 A008 A009 A00A A00B EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
4 manual, then 4 written to the Fifo in Manual Write mode: A000 A001 A002 A003 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
40 halfwords into the Fifo (32 deep, spx:741): A000 A001 A002 A003 A004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E A00F A010 A011 A012 A013 A014 A015 A016 A017 A018 A019 A01A A01B A01C A01D A01E A01F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 0 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 1 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 2 manual 8: A000 A001 A002 A003 A004 A005 A006 A007 EEEE EEEE
Type 3 manual 8: A000 A002 A004 A006 EEEE EEEE EEEE EEEE EEEE EEEE
Type 4 manual 8: A003 A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 5 manual 8: A006 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 6 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 7 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA write of B000h, B001h, ..: B000 B002 B004 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA read of C000h, C001h, ..: C000 0000 C001 0000 C002 0000 C003 0000 C004 FFFF C005 FFFF EEEE FFFF EEEE FFFF EEEE FFFF EEEE FFFF
Type 4 DMA read of C000h, C001h, ..: C000 C000 C000 C000 C001 C001 C001 C001 C002 C002 C002 C002 C003 C003 C003 C003 C004 C004 C004 C004
Type 5 DMA read of C000h, C001h, ..: C000 0000 C000 0000 C000 0000 C000 0000 C001 0000 C001 0000 C001 0000 C001 0000 C002 0000 C002 0000
Manual Write of 1, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 146:0410 938:0010
Manual Write of 4, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 323:0010
Manual Write of 16, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 198:0410 1005:0010
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Done.

14REG.txt:

===== 14 REG SPU REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
1DBCh-1DBFh and 1E60h-1E7Fh (spx:1108-1121), written and read back, put back.
1DBCh DFFF F7FF, 1E60h..: F5FF F3FF BFFF 29DF 74BB FFFE BFF7 FFFF FFFF FDFD 6EFF 3BB3 FC7F FFFF BFFF 7D8F
Unknown 1DBC: was DFFF, write 1234 reads 1234
Unknown 1DBE: was F7FF, write FEDC reads FEDC
1E60h.. written inverted, reads: 0A00 0C00 4000 D620 8B44 0001 4008 0000 0000 0202 9100 C44C 0380 0000 4000 8270
Unknown 1DA0h 1DA0: was AC00, write 5A5A reads 0100
Voice 5 registers written FFFFh:
 volume L 1C50: was 0000, write 7FFF reads 7FFF
 volume L sweep 1C50: was 0000, write FFFF reads FFFF
 pitch 1C54: was 1000, write FFFF reads FFFF
 start 1C56: was 4000, write FFFF reads FFFF
 ADSR low 1C58: was 000F, write FFFF reads FFFF
 ADSR high 1C5A: was 1FC0, write FFFF reads FFFF
 repeat 1C5E: was 4000, write FFFF reads FFFF
Voice flag registers (bits 24-31 not used, spx:660, :666, :683; PMON bit 0 :382):
 PMON low 1D90: was 0000, write FFFF reads FFFF
 PMON high 1D92: was 0000, write FFFF reads FFFF
 NON high 1D96: was 0000, write FFFF reads FFFF
 EON high 1D9A: was 0000, write FFFF reads FFFF
 ENDX high 1D9E: was 00FF, write FFFF reads FFFF
 CD volume L 1DB0: was 7FFF, write 8765 reads 8765
 extern volume R 1DB6: was 0000, write 8765 reads 8765
 reverb volume L 1D84: was 0000, write 8001 reads 8001
 mBASE 1DA2: was FFFE, write 1234 reads 1234
Main volume L sweep A020 reads A020, current main volume 1DB8h 0000 0000
32-bit stores to 1C58h, 32 tries: low half wrong 5, high half wrong 0
1C58h lw 1357ABCD, lbu 1C58h CD 1C59h AB 1C5Ah 57
sb 12345678h to 1C54h: 5678; to 1C55h over 1111h: 1111
Done.

15UNU.txt:

===== 15 UNU SPU UNUSED 1E80 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Halfword reads of 1F801E80h..1F801FFEh; lbu and lw of 1F801E80h last.

192 of 192 read FFFFh
lbu 1E80h: FF
lw 1E80h: FFFFFFFF
lw 1E7Ch: 7D8FBFFF
Done.

Run 5501a-card-g3 on 27 September 2026

Raw output: 00RUN.txt · 01STA.txt · 02CNT.txt · 03KON.txt · 04ATK.txt · 05DEC.txt · 06SUS.txt · 07REL.txt · 08SWP.txt · 09END.txt · 10IRQ.txt · 11CAP.txt · 12VCP.txt · 13XFR.txt · 14REG.txt · 15UNU.txt

00RUN.txt:

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
15 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 8010E9B4 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 8010F568 PRId 00000002

01STA.txt:

===== 01 STA SPU STATE AT ENTRY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPU registers as this program found them, nothing written first.
1DA8h, the transfer Fifo, is not read (shown ----).
1C00: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C20: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C40: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C60: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C80: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1CA0: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1CC0: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1CE0: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D00: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D20: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D40: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D60: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D80: 0000 0000 0000 0000 FFFF 00FF FFFF 00FF 0000 0000 0000 0000 0000 0000 FFFF 00FF
1DA0: AC00 FFFE FFFE 0200 ---- C085 0004 0805 0000 0000 0000 0000 0000 0000 DFFF F7FF
1DC0: 033D 0231 7E00 5000 B400 B000 4C00 B000 6000 5400 1ED6 1A31 1D14 183B 1BC2 16B2
1DE0: 1A32 15EF 15EE 1055 1334 0F2D 11F6 0C5D 1056 0AE1 0AE0 07A2 0464 0232 8000 8000
1E00: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E20: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E40: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E60: F5FF F3FF BFFF 29DF 74BB FFEE BFF7 FFFF FFFF FD7D 6EFF 3BB3 FC7F FFFF BFFF 7D8F
1DA0h read 16 times in a row: AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00
1DA0h read 16 times 100000 cycles apart: 0100 AC00 AC00 AC00 0100 AC00 AC00 AC00 0100 AC00 AC00 AC00 0100 AC00 AC00 A000
SPUSTAT read 16 times 5000 cycles apart: 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0005
SPU_DELAY 1F801014h: 200931E1
Done.

02CNT.txt:

===== 02 CNT SPU SPUCNT TO STAT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT 5-0 is SPUCNT 5-0 applied a bit delayed (spx:726); bit 7 is like SPUCNT
bit 5 (spx:721); DMA read sets 9 and 7 late (spx:727-729). Times from the SPUCNT
write, cycles:value, for 20000 cycles or six changes; bit 11 (capture half) masked
out. Transfer address 30000h.
SPUCNT 8000 to 8010, SPUSTAT was 0000, changes: 634:0010
SPUCNT 8010 to 8000, SPUSTAT was 0010, changes: 649:0000
SPUCNT 8000 to 8020, SPUSTAT was 0000, changes: 61:02A0
SPUCNT 8020 to 8000, SPUSTAT was 02A0, changes: 704:0000
SPUCNT 8000 to 8030, SPUSTAT was 0000, changes: 353:0030 1850:01B0
SPUCNT 8030 to 8000, SPUSTAT was 01B0, changes: 411:0000
SPUCNT 8000 to 8001, SPUSTAT was 0000, changes: 61:0001
SPUCNT 8001 to 8000, SPUSTAT was 0001, changes: 237:0000
SPUCNT 8000 to 8002, SPUSTAT was 0000, changes: 297:0002
SPUCNT 8002 to 8000, SPUSTAT was 0002, changes: 293:0000
SPUCNT 8000 to 8004, SPUSTAT was 0000, changes: 353:0004
SPUCNT 8004 to 8000, SPUSTAT was 0004, changes: 351:0000
SPUCNT 8000 to 8008, SPUSTAT was 0000, changes: 351:0008
SPUCNT 8008 to 8000, SPUSTAT was 0008, changes: 411:0000
SPUCNT 8000 to 803F, SPUSTAT was 0000, changes: 409:003F 1213:01BF
SPUCNT 803F to 8000, SPUSTAT was 01BF, changes: 411:0000
SPUCNT 8000 to 8040, SPUSTAT was 0000, changes: none
SPUCNT 8040 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 8100, SPUSTAT was 0000, changes: none
SPUCNT 8100 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to BC00, SPUSTAT was 0000, changes: none
SPUCNT BC00 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 0000, SPUSTAT was 0000, changes: none
SPUCNT 0000 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8010 to 8020, SPUSTAT was 0010, changes: 644:02A0
SPUCNT 8020 to 8030, SPUSTAT was 02A0, changes: 472:00B0 1281:01B0
SPUCNT 8030 to 8010, SPUSTAT was 01B0, changes: 119:0010
SPUCNT 8000h to 8010h, cycles until SPUSTAT 5-0 = 10h, 8 times: 382 257 199 83 722 666 547 492
SPUCNT write BF00h reads BF00 at once, BF00 after 3000 cycles
SPUSTAT was 0800, write FFFFh reads FFFF at once, then: 626:0800
SPUSTAT write 0000h reads 0000 at once, then: 657:0800
Transfer control write FFFFh reads FFFF, write 0004h reads 0004
Done.

03KON.txt:

===== 03 KON SPU KEY ON OFF | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0, silent loop at 20000h, pitch 1000h. Cycles from the write.
KON to the first level change (attack linear shift 0 step 0): 5299 4574 4460 4341 4236 4176 4109 4004
KON to the second change: 6099 5341 5228 5107 5002 4943 4870 4765
KOFF at 7FFFh to the first change (release linear shift 0): 69 39 39 39 39 39 39 39
KON again at 3FFF, level: 1160:0000 5010:3800 5810:7000 6555:7FFF 7304:3FFF
KON again at 3FFF, level: 1593:0000 5419:3800 6167:7000 6969:7FFF 7711:3FFF
KON again at 3FFF, level: 423:0000 4254:3800 5054:7000 5799:7FFF 6548:3FFF
KON again at 3FFF, level: 777:0000 4608:3800 5408:7000 6153:7FFF 6902:3FFF
Attack linear shift 10: KON again at 2354, level: 393:2362 1138:0000 4970:000E 5772:001C 6514:002A 7316:0038
KON then KOFF back to back, level: 4384:3800 5184:7000 5929:7FFF 6678:3FFF
At 7FFFh, KOFF then KON back to back, level: 125:3FFF 1575:0000 5401:3800 6149:7000 6951:7FFF 7693:3FFF
KON write 0001h reads 0001 (high 0000), 0001 after 5000; KOFF 0001h reads 0001 (high 0000); KON high FF00h reads FF00
KOFF high FF00h reads FF00
SPUCNT 0000h, KON attack linear shift 8, level: none
then SPUCNT 8000h (level was 0000), level: none ENDX low FFFF
At 7FFFh, SPUCNT to 0000h, level: 81:3FFF 385:0000
then SPUCNT 8000h (level was 0000), level: none
Sustain never stepping at 7FFFh, write level 1234h: reads 1234, then: none
Sustain linear increase shift 8, write level 1234h: reads 1234, then: 273:4A34 1077:7FFF 1819:3FFF 2621:4037 3366:406F 4115:40A7
Voice released to 0, write level 1234h: reads 1234, then: 619:D234 1420:0000
Voice 5, released, write level 8123h: reads 8123
Done.

04ATK.txt:

===== 04 ATK SPU ADSR ATTACK | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Attack: voice 0, ADSR low as shown (decay 0, sustain level Fh), sustain never
stepping. Level changes cycles:value from KON, the first rise above 6000h, the time
it reached 7FFFh, then eight readings.
Lin sh00 st0 (000F): 5286:3800 6061:7000 6751:7FFF | >6000 6061:7000 | end 6751
  every 2500: 0000 0000 - - - - - -
Lin sh00 st1 (010F): 4368:3000 5165:6000 5910:7FFF | >6000 5910:7FFF | end 5910
  every 2500: 0000 3000 - - - - - -
Lin sh00 st2 (020F): 4368:2800 5165:5000 5910:7800 6702:7FFF | >6000 5910:7800 | end 6702
  every 2500: 0000 2800 - - - - - -
Lin sh00 st3 (030F): 4372:2000 5174:4000 5919:6000 6669:7FFF | >6000 6669:7FFF | end 6669
  every 2500: 0000 2000 - - - - - -
Lin sh02 st0 (080F): 4421:0E00 5096:1C00 5896:2A00 6643:3800 | >6000 8936:6200 | end 11281
  every 5000: 1C00 7000 - - - - - -
Lin sh05 st0 (140F): 4421:01C0 5096:0380 5941:0540 6687:0700 | >6000 45800:6040 | end 60491
  every 25000: 3100 6900 - - - - - -
Lin sh08 st0 (200F): 4413:0038 5183:0070 5931:00A8 6682:00E0 | >6000 340786:6008 | end 453695
  every 100000: 1B58 37C8 5470 70E0 - - - -
Lin sh10 st0 (280F): 4415:000E 5188:001C 5939:002A 6693:0038 | >6000 1352192:6008 | end 1801515
  every 300000: 151C 2A70 3FD2 5526 6A88 7FEA - -
Lin sh11 st0 (2C0F): 4404:0007 5177:000E 5928:0015 6682:001C | >6000 2700065:6001 | end 3598680
  every 500000: 11AA 2377 3544 4711 58DE 6AAB 7C78 -
Lin sh11 st3 (2F0F): 4415:0004 5188:0008 5939:000C 6693:0010 | >6000 4722988:6004 | end 6295073
  every 1000000: 1444 289C 3CF4 514C 65A4 79FC - -
Lin sh12 st0 (300F): 5126:0007 6706:000E 8261:0015 9821:001C | >6000 5396517:6001 | end 7193627
  every 1000000: 11B8 2385 3552 471F 58EC 6AB9 7C86 -
Lin sh13 st0 (340F): 5925:0007 9015:000E 12076:0015 15141:001C | >6000 - | end -
  every 1000000: 08DC 11C6 1AA9 2393 2C76 3560 3E43 472D
Lin sh14 st0 (380F): 5122:0007 11229:000E 17404:0015 23580:001C | >6000 - | end -
  every 1000000: 046E 08E3 0D58 11CD 163B 1AB0 1F25 239A
Lin sh16 st0 (400F): 27436:0007 52050:000E 76552:0015 101140:001C | >6000 - | end -
  every 1000000: 0118 0237 034F 046E 058D 06AC 07C4 08E3
Lin sh20 st0 (500F): 156423:0007 549639:000E 942911:0015 1336127:001C | >6000 - | end -
  every 1000000: 0015 0023 0038 0046 005B 0069 007E 008C
Lin sh24 st0 (600F): 3292952:0007 9584456:000E 15875920:0015 | >6000 - | end -
  every 2000000: 0000 0007 0007 0007 000E 000E 000E 0015
Lin sh26 st2 (6A0F): 9246528:0005 | >6000 - | end -
  every 4250000: 0000 0000 0005 0005 0005 0005 0005 0005
Lin sh29 st2 (760F): 356121:0005 25521953:000A | >6000 - | end -
  every 4250000: 0005 0005 0005 0005 0005 0005 000A 000A
Lin sh31 st2 (7E0F): 16625398:0005 | >6000 - | end -
  every 4250000: 0000 0000 0000 0005 0005 0005 0005 0005
Lin sh31 st3 (7F0F): none | >6000 - | end -
  every 2500000: 0000 0000 0000 0000 0000 0000 0000 0000
Exp sh00 st0 (800F): 4366:3800 5158:7000 5956:7E00 6716:7FFF | >6000 5158:7000 | end 6716
  every 2500: 0000 3800 - - - - - -
Exp sh04 st0 (900F): 4412:0380 5185:0700 5936:0A80 6690:0E00 | >6000 25179:6200 | end 52030
  every 25000: 5E80 7E00 - - - - - -
Exp sh08 st0 (A00F): 4316:0038 5085:0070 5841:00A8 6686:00E0 | >6000 340689:6008 | end 790002
  every 200000: 37C8 643E 7276 - - - - -
Exp sh09 st0 (A40F): 4330:001C 5109:0038 5959:0054 6704:0070 | >6000 677910:6008 | end 1575691
  every 375000: 34D4 6293 6FF2 7D4A - - - -
Exp sh10 st0 (A80F): 4322:000E 5101:001C 5951:002A 6696:0038 | >6000 1352206:6008 | end 3147794
  every 750000: 3528 62A8 7000 7D58 - - - -
Exp sh11 st0 (AC0F): 4458:0007 5154:000E 5927:0015 6700:001C | >6000 2700050:6001 | end 6294374
  every 1500000: 3544 62A8 7000 7D5F - - - -
Exp sh12 st0 (B00F): 5097:0007 6734:000E 8243:0015 9744:001C | >6000 5396548:6001 | end 12582634
  every 2000000: 2385 471F 62AF 6B99 747C 7D66 - -
Exp sh14 st0 (B80F): 5947:0007 12091:000E 18207:0015 24317:001C | >6000 - | end -
  every 2000000: 08E3 11CD 1AB0 239A 2C7D 3567 3E4A 4734
Done.

05DEC.txt:

===== 05 DEC SPU ADSR DECAY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Decay: voice 0, attack linear shift 0 step 0, decay shift and sustain level as
shown, sustain never stepping. Changes from KON, the first fall to (SL+1)*800h or
below (spx:540), then eight readings: where the level stops is the sustain level.
Dec 00 SL 0 (0000): 4685:3800 5520:7000 6285:7FFF 7046:3FFF | <=SL 9367:07FF | end -
  every 5000: 3800 07FF 07FF 07FF 07FF 07FF 07FF 07FF
Dec 00 SL 3 (0003): 4345:3800 5177:7000 5936:7FFF 6696:3FFF | <=SL 7461:1FFF | end -
  every 5000: 3800 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF
Dec 00 SL 7 (0007): 4342:3800 5198:7000 5858:7FFF 6627:3FFF | <=SL 6627:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL B (000B): 4348:3800 5197:7000 5956:7FFF 6716:3FFF | <=SL 6716:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL E (000E): 4342:3800 5198:7000 5870:7FFF 6631:3FFF | <=SL 6631:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL F (000F): 4348:3800 5197:7000 5970:7FFF 6743:3FFF | <=SL - | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 02 SL 7 (0027): 4342:3800 5143:7000 5914:7FFF 6682:6FFF | <=SL 10566:3971 | end -
  every 12500: 3971 3971 3971 3971 3971 3971 3971 3971
Dec 04 SL 7 (0047): 4441:3800 5137:7000 5898:7FFF 6762:7BFF | <=SL 22889:3FA2 | end -
  every 25000: 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2
Dec 06 SL 7 (0067): 4345:3800 5141:7000 5911:7FFF 6680:7EFF | <=SL 74321:3F8E | end -
  every 75000: 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E
Dec 08 SL 0 (0080): 4339:3800 5127:7000 5895:7FFF 6663:7FBF | <=SL 1051190:07FE | end -
  every 250000: 446A 23B3 1272 094D 07FE 07FE 07FE 07FE
Dec 08 SL 7 (0087): 4342:3800 5143:7000 5914:7FFF 6682:7FBF | <=SL 275460:3FF1 | end -
  every 200000: 4DD1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1
Dec 08 SL F (008F): 4342:3800 5143:7000 5923:7FFF 6702:7FBF | <=SL - | end -
  every 50000: 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF
Dec 10 SL 7 (00A7): 5176:3800 5977:7000 6741:7FFF 7506:7FEF | <=SL 1049660:3FFA | end -
  every 500000: 5C8A 4243 3FFA 3FFA 3FFA 3FFA 3FFA 3FFA
Dec 11 SL 7 (00B7): 4441:3800 5137:7000 5898:7FFF 6762:7FF7 | <=SL 2001933:3FFF | end -
  every 1000000: 5B62 400E 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 7 (00C7): 4381:3800 5105:7000 5893:7FFF 6680:7FF7 | <=SL 3997218:3FFF | end -
  every 2000000: 5B4A 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 0 (00C0): 4381:3800 5194:7000 5878:7FFF 6668:7FF7 | <=SL 13958218:0800 | end -
  every 4250000: 3D6F 1BC4 0B13 07FF 07FF 07FF 07FF 07FF
Dec 13 SL 7 (00D7): 4385:3800 5214:7000 5895:7FFF 7427:7FF7 | <=SL 7988544:3FFF | end -
  every 2000000: 6C40 5B3E 4CA7 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 15 SL 7 (00F7): 4381:3800 5105:7000 5893:7FFF 10519:7FF7 | <=SL - | end -
  every 2000000: 7AEF 75D7 70BF 6C32 67C4 634F 5F04 5B32
Done.

06SUS.txt:

===== 06 SUS SPU ADSR SUSTAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sustain: voice 0, attack linear shift 0 step 0, decay shift 0, sustain level 7
(4000h), then the sustain as shown. The watch starts at the first reading of 4000h
or less after 7FFFh ("from"): changes, the first rise above 6000h, the time it
reached 7FFFh (increase) or 0 (decrease), eight readings. Times from KON.
Sus lin inc sh00 st0 (0000): 7258:77FF 8077:7FFF | >6000 7258:77FF | end 8077
  every 2500 from 6519: - - - - - - - -
Sus lin inc sh04 st0 (0400): 8301:437F 9075:46FF 9820:4A7F 10569:4DFF | >6000 15126:62FF | end 22067
  every 12500 from 7491: 77FF - - - - - - -
Sus lin inc sh08 st0 (0800): 8248:4037 9021:406F 9769:40A7 10520:40DF | >6000 120368:6027 | end 232485
  every 100000 from 7452: 5C6F 78DF - - - - - -
Sus lin inc sh08 st3 (08C0): 8213:401F 8992:403F 9842:405F 10587:407F | >6000 204865:601F | end 400676
  every 200000 from 7506: 607F - - - - - - -
Sus lin inc sh08 st0 b29 (2800): 8259:4037 9033:406F 9778:40A7 10527:40DF | >6000 120300:6027 | end 232503
  every 100000 from 7448: 5C6F 78DF - - - - - -
Sus lin inc sh11 st0 (0B00): 8300:4006 8975:400D 9820:4014 10566:401B | >6000 906767:6004 | end 1805384
  every 500000 from 7497: 51CC 6399 7566 - - - - -
Sus lin inc sh12 st0 (0C00): 9057:4006 10537:400D 12091:4014 13647:401B | >6000 1806121:6004 | end 3603231
  every 1000000 from 7452: 51CC 6399 7566 - - - - -
Sus lin inc sh16 st0 (1000): 11329:4006 35948:400D 60530:4014 85032:401B | >6000 - | end -
  every 1000000 from 7506: 411E 423D 4355 4474 4593 46AB 47CA 48E9
Sus lin dec sh00 st0 (4000): 8248:FFFF 8968:0000 | >6000 8248:FFFF | end 8968
  every 2500 from 7452: - - - - - - - -
Sus lin dec sh08 st0 (4800): 8370:3FBF 9144:3F7F 9889:3F3F 10638:3EFF | >6000 204167:FFFF | end 204934
  every 100000 from 7558: 1F7F - - - - - - -
Sus lin dec sh08 st3 (48C0): 8539:3FD7 9313:3FAF 10058:3F87 10807:3F5F | >6000 322608:FFEF | end 323375
  every 200000 from 7727: 175F - - - - - - -
Sus lin dec sh12 st0 (4C00): 9109:3FF7 10589:3FEF 12143:3FE7 13699:3FDF | >6000 3153301:FFFF | end 3154058
  every 1000000 from 7504: 2BA7 174F 02F7 - - - - -
Sus exp inc sh08 st0 (8800): 8416:4037 9091:406F 9936:40A7 10682:40DF | >6000 120495:6027 | end 568210
  every 200000 from 7613: 6655 748D - - - - - -
Sus exp inc sh10 st0 (8A00): 8259:400D 9033:401B 9778:4029 10527:4037 | >6000 457452:600B | end 2253051
  every 500000 from 7448: 60EB 69D5 72B8 7BA2 - - - -
Sus exp inc sh12 st0 (8C00): 9056:4006 10592:400D 12093:4014 13616:401B | >6000 1806109:6004 | end 8993854
  every 2000000 from 7506: 60E4 69CE 72B1 7B9B - - - -
Sus exp dec sh00 st0 (C000): 8300:1FFF 8975:0FFF 9820:07FF 10522:03FF | >6000 - | end 18269
  every 2500 from 7497: 07FF 00FF 001F 0001 - - - -
Sus exp dec sh08 st0 (C800): 8184:3FDF 8953:3FBF 9704:3F9F 10459:3F7F | >6000 - | end 1601768
  every 500000 from 7388: 1138 0414 007B - - - - -
Sus exp dec sh12 st0 (CC00): 9050:3FFB 10586:3FF7 12087:3FF3 13610:3FEF | >6000 - | end 13114219
  every 2000000 from 7497: 2CBD 1E52 1426 0CFD 07E7 02D1 - -
Sus lin inc sh31 st3 (1FC0): none | >6000 - | end -
  every 250000 from 6822: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st3 (5FC0): none | >6000 - | end -
  every 250000 from 6708: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp inc sh31 st3 (9FC0): none | >6000 - | end -
  every 250000 from 6703: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp dec sh31 st3 (DFC0): none | >6000 - | end -
  every 250000 from 6703: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st2 (5F80): none | >6000 - | end -
  every 250000 from 6703: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Done.

07REL.txt:

===== 07 REL SPU ADSR RELEASE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Release: voice 0 held at 7FFFh (attack shift 0, sustain level Fh, sustain never
stepping), then KOFF. Changes from KOFF, the first fall to 4000h, the time it
reached 0, eight readings.
Rel lin sh00 (1FC0): 333:3FFF 902:FFFF 1661:0000 | <=4000 333:3FFF | end 1661
  every 2500: - - - - - - - -
Rel lin sh04 (1FC4): 297:3FFF 1293:3BFF 2072:37FF 2845:33FF | <=4000 297:3FFF | end 13638
  every 12500: 03FF - - - - - - -
Rel lin sh08 (1FC8): 303:3FBF 873:3F7F 1657:3F3F 2430:3EFF | <=4000 303:3FBF | end 196687
  every 125000: 173F - - - - - - -
Rel lin sh11 (1FCB): 298:3FF7 865:3FEF 1640:3FE7 2413:3FDF | <=4000 298:3FF7 | end 1573043
  every 1000000: 1747 - - - - - - -
Rel lin sh12 (1FCC): 295:3FFF 1394:3FF7 2898:3FEF 4514:3FE7 | <=4000 295:3FFF | end 3146360
  every 1000000: 2BA7 174F 02F7 - - - - -
Rel lin sh13 (1FCD): 297:3FFF 3590:3FF7 6662:3FEF 9734:3FE7 | <=4000 297:3FFF | end 6292812
  every 1000000: 35D7 2BAF 217F 1757 0D27 02FF - -
Rel lin sh16 (1FD0): 302:3FFF 7440:3FF7 32000:3FEF 56552:3FE7 | <=4000 302:3FFF | end -
  every 1000000: 3EB7 3D6F 3C2F 3AE7 399F 385F 3717 35CF
Rel exp sh00 (1FE0): 298:3FFF 555:1FFF 1227:0FFF 2000:07FF | <=4000 298:3FFF | end 10446
  every 2500: 07FF 007F 000F 0001 - - - -
Rel exp sh04 (1FE4): 303:3FFF 1087:3DFF 1865:3C0F 2641:3A2E | <=4000 303:3FFF | end 165497
  every 25000: 1722 0857 02E4 0102 0051 0015 - -
Rel exp sh08 (1FE8): 298:3FFF 1597:3FDF 2373:3FBF 3146:3F9F | <=4000 298:3FFF | end 1595194
  every 375000: 1814 08B1 02CB 007C - - - -
Rel exp sh11 (1FEB): 297:3FFF 1314:3FFB 2115:3FF7 2919:3FF3 | <=4000 297:3FFF | end 6553905
  every 2000000: 1E54 0CFE 02D2 - - - - -
Rel exp sh12 (1FEC): 298:3FFF 559:3FFB 2013:3FF7 3468:3FF3 | <=4000 298:3FFF | end 13105600
  every 2000000: 2CBD 1E52 1424 0CFC 07E6 02D0 - -
Attack linear shift 12 cut at 3552 by KOFF, release linear shift 8: 893:3512 1678:34D2 2437:3492 3198:3452 | <=0800 139852:07D2 | end 165246
  every 250000: - - - - - - - -
Level after the release, 200000 cycles: none
Release linear shift 8, second KOFF at 0000: none | <=0800 - | end 313
  every 125000: - - - - - - - -
Done.

08SWP.txt:

===== 08 SWP SPU VOLUME SWEEP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sweeps on voice 2's volume, voice 2 never keyed on. The start is set as a fixed
volume 5000 cycles before (spx:574-577). Current volume 1E08h (spx:650). Changes
from the sweep write, the time it reached 7FFFh (increase) or 0 (decrease).
Fixed volume 1234h, cycles until 1E08h changes: 443:2468 25:2468 781:2468 605:2468
Fixed volume 4000h (bit 14, spx:560 range) reads 1E08h 8000
V2L from 0000 reg 8000 (reads 8000): 502:3800 1271:7000 2022:7FFF | x - | end 2022
  every 2500: - - - - - - - -
V2L from 0000 reg 8010 (reads 8010): 353:0380 1071:0700 1816:0A80 2566:0E00 | x - | end 27955
  every 12500: 3B80 7380 - - - - - -
V2L from 0000 reg 8020 (reads 8020): 348:0038 1068:0070 1813:00A8 2569:00E0 | x - | end 449489
  every 100000: 1CA8 3918 5588 71F8 - - - -
V2L from 0000 reg 8023 (reads 8023): 345:0020 967:0040 1827:0060 2572:0080 | x - | end 785912
  every 200000: 20A0 4120 61C0 - - - - -
V2L from 0000 reg 802C (reads 802C): 601:0007 1373:000E 2123:0015 2868:001C | x - | end 3594834
  every 500000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8030 (reads 8030): 1210:0007 2690:000E 4239:0015 5786:001C | x - | end 7189624
  every 1000000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8040 (reads 8040): 23031:0007 47632:000E 72227:0015 96815:001C | x - | end -
  every 1000000: 0118 0237 0356 046E 058D 06AC 07C4 08E3
V2L from 7FFE reg A020 (reads A020): 701:7FBE 1473:7F7E 2223:7F3E 2968:7EFE | x - | end 393921
  every 125000: 573E 2EBE 05FE - - - - -
V2L from 7FFE reg A030 (reads A030): 1511:7FF6 2990:7FEE 4544:7FE6 6094:7FDE | x - | end 6292211
  every 1000000: 6BA6 574E 42F6 2E9E 1A46 05EE - -
V2L from 0000 reg C020 (reads C020): 348:0038 869:0070 1614:00A8 2362:00E0 | x - | end 785778
  every 200000: 3918 6484 72CA - - - - -
V2L from 0000 reg C030 (reads C030): 607:0007 2143:000E 3649:0015 5159:001C | x - | end 12575051
  every 2000000: 239A 4734 62B6 6BA0 7483 7D6D - -
V2L from 7FFE reg E000 (reads E000): 352:3FFF 967:1FFF 1714:0FFF 2459:07FF | x - | end 10952
  every 2500: 07FF 00FF 001F 0003 - - - -
V2L from 7FFE reg E020 (reads E020): 501:7FBE 1170:7F7E 1918:7F3E 2773:7EFE | x - | end 1863550
  every 500000: 2323 0925 01DA - - - - -
V2L from 7FFE reg E030 (reads E030): 1037:7FF6 2573:7FEE 4183:7FE6 5701:7FDE | x - | end -
  every 2000000: 5B31 3FEA 2CAD 1E47 141B 0CF7 07E1 02CA
V2L from 2000 reg 9020 (reads 9020): 348:1FC0 965:1F80 1712:1F40 2567:1F00 | x - | end -
  every 250000: CE80 8000 8000 8000 8000 8000 8000 8000
V2L from C000 reg 8020 (reads 8020): 348:C038 874:C070 1619:C0A8 2366:C0E0 | x - | end 673542
  every 250000: 0750 4EA0 - - - - - -
V2L from C000 reg B020 (reads B020): 501:C038 1170:C070 1918:C0A8 2773:C0E0 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 2000 reg B020 (reads B020): 804:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 7FFE reg F020 (reads F020): 509:7FBE 1278:7F7E 2131:7F3E 2876:7EFE | x - | end -
  every 500000: 2323 0925 01DA 0000 0000 0000 0000 0000
V2L from 2000 reg 807F (reads 807F): none | x - | end -
  every 250000: 2000 2000 2000 2000 2000 2000 2000 2000
V2L from 2000 reg B07F (reads B07F): 504:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2R from 0000 reg 8020 (reads 8020): 358:0038 1078:0070 1830:00A8 2575:00E0 | x - | end 449623
  every 100000: 1C70 3918 5588 71F8 - - - -
V0L from 0000 reg 8020 (reads 8020): 348:0038 1174:0070 1919:00A8 2667:00E0 | x - | end 449599
  every 100000: 1C70 3918 5588 71F8 - - - -
Done.

09END.txt:

===== 09 END SPU ENDX LOOPS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0. S1, S2, S4: one, two, four blocks, the last End+Repeat. Cycles from KON
until ENDX bit 0 reads 0 (0: it never read 1 after KON), and until it reads 1
(0: not within the limit).
S1 pitch 1000, ENDX bit 0 clear, set: 1636,17020 857,16203 793,16145 2193,17543
S2 pitch 1000, ENDX bit 0 clear, set: 929,37802 852,37732
S4 pitch 1000, ENDX bit 0 clear, set: 877,80774 855,80751
S4 pitch 0800, ENDX bit 0 clear, set: 875,157596
S4 pitch 2000, ENDX bit 0 clear, set: 875,42348
S4 pitch 3FFF, ENDX bit 0 clear, set: 929,23957
S4 pitch 4000, ENDX bit 0 clear, set: 927,23959
S4 pitch 4001, ENDX bit 0 clear, set: 879,23905
S4 pitch 8000, ENDX bit 0 clear, set: 929,23957
S4 pitch FFFF, ENDX bit 0 clear, set: 927,23959
S1 pitch 0100, ENDX bit 0 clear, set: 927,200599
S1 pitch 0001, ENDX bit 0 clear, set: 877,0
S1 pitch 0000, ENDX bit 0 clear, set: 57,0
S4+8 pitch 1000, ENDX bit 0 clear, set: 57,68487
ENDX low FFFF, write 0000h reads 0000, then: 11839:FFFE 19543:FFFF
ENDX write 5555h reads 5555, then: 479:0000 7389:FFFE 15059:FFFF
ENDX high 00FF
L (loop start at block 1), repeat was 4000: right after KON 4000, then: 18752:4082
S4 (loop start at block 0), repeat was 4100: right after KON 4100, then: 1832:4060
M (End+Mute at block 1), repeat 4100: ENDX set at 38166:0001, level then 0000, repeat 4100
M, level from 20000 cycles after KON: 37909:0000
L, repeat 40E0 written 2000 cycles after KON (reads 40E0), 150000 later: 4082
L, repeat 40E0 written 200000 cycles after KON (reads 40E0), 200000 later: 40E0, 400000 later: 40E0
Start written during play reads 4020
Done.

10IRQ.txt:

===== 10 IRQ SPU IRQ9 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0 keyed on, IRQ address as shown, cycles from KON to SPUSTAT bit 6 and to
I_STAT bit 9 (0 = not within the limit). S4 at 4060h, four blocks of 10h bytes.
S4 pitch 1000 IRQ 4060: SPUSTAT.6 at 1255, I_STAT.9 at 1056
S4 pitch 1000 IRQ 4061: SPUSTAT.6 at 6456, I_STAT.9 at 6254
S4 pitch 1000 IRQ 4062: SPUSTAT.6 at 306, I_STAT.9 at 44
S4 pitch 1000 IRQ 4064: SPUSTAT.6 at 40234, I_STAT.9 at 39972
S4 pitch 1000 IRQ 4065: SPUSTAT.6 at 49475, I_STAT.9 at 49213
S4 pitch 1000 IRQ 4066: SPUSTAT.6 at 315, I_STAT.9 at 116
S4 pitch 0400 IRQ 4064: SPUSTAT.6 at 150828, I_STAT.9 at 150566
S4 pitch 4000 IRQ 4064: SPUSTAT.6 at 306, I_STAT.9 at 44
S4 noise pitch 1000 IRQ 4064: SPUSTAT.6 at 40183, I_STAT.9 at 39984
S4 pitch 0000 IRQ 4064: SPUSTAT.6 at 0, I_STAT.9 at 0
M (End+Mute at block 1) with the repeat address set before KON to P (4100h):
M, IRQ at P pitch 1000 IRQ 4100: SPUSTAT.6 at 40236, I_STAT.9 at 39974
M, repeat P, IRQ at M block 0, IRQ 40A0, hits: 1604 3101 4655 6196 7733; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 2383:0000
S1 released 100000 cycles before, level 0000, IRQ at S1: SPUSTAT.6 at 101
S1 looping, IRQ 4020, hits: 671 2209 3702 5239 6775; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 1430:0000
S4 looping, IRQ 4064, hits: 41455 43005 44502 46038 47574; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 42214:0000
Manual writes of k halfwords from 61FF (8 bytes before the IRQ address 6200):
 k=1 SPUSTAT.6 0 I_STAT.9 0 k=2 SPUSTAT.6 0 I_STAT.9 0 k=3 SPUSTAT.6 0 I_STAT.9 0 k=4 SPUSTAT.6 1 I_STAT.9 1
 k=5 SPUSTAT.6 1 I_STAT.9 1 k=6 SPUSTAT.6 1 I_STAT.9 1 k=7 SPUSTAT.6 1 I_STAT.9 1 k=8 SPUSTAT.6 1 I_STAT.9 1
DMA write 64 bytes from 32 before the IRQ address: SPUSTAT.6 0
DMA write 64 bytes ending just before it: SPUSTAT.6 0
DMA write 64 bytes from 8 after it: SPUSTAT.6 0
DMA read 64 bytes from 32 before it: SPUSTAT.6 1
DMA read 64 bytes ending just before it: SPUSTAT.6 1
DMA write over it with IRQ9 enable clear, then enabled: SPUSTAT.6 0
IRQ address write 1234h reads 1234
Done.

11CAP.txt:

===== 11 CAP SPU CAPTURE TIMING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT bit 11 (spx:716, :723-725) over 1.2 million cycles; then capture IRQs
(spx:848-856), timed from a rise of bit 11, with bit 11 at each hit (h/l).
Transfer control 0004, SPUSTAT bit 11 changes: 71999:0800 268631:0000 465215:0800 661809:0000 858455:0800 1055039:0000
Transfer control 0000, SPUSTAT bit 11 changes: none
Transfer control 0008, SPUSTAT bit 11 changes: 374:0000 196965:0800 393573:0000 590181:0800 786789:0000 983397:0800 1180005:0000
Transfer control 000C, SPUSTAT bit 11 changes: none
Transfer control 0002, SPUSTAT bit 11 changes: none
IRQ 0000, transfer control 0004, from bit 11 rising, hits: none
IRQ 0040, transfer control 0004, from bit 11 rising, hits: none
IRQ 0080, transfer control 0004, from bit 11 rising, hits: none
IRQ 00C0, transfer control 0004, from bit 11 rising, hits: none
IRQ 0100, transfer control 0004, from bit 11 rising, hits: none
IRQ 0180, transfer control 0004, from bit 11 rising, hits: none
IRQ 01FF, transfer control 0004, from bit 11 rising, hits: none
IRQ 0001, transfer control 0004, from bit 11 rising, hits: none
IRQ 0100, transfer control 0000, from bit 11 rising (no rise seen), hits: none
IRQ 0100, transfer control 0008, from bit 11 rising, hits: none
IRQ 0200, transfer control 0004, from bit 11 rising, hits: none
Done.

12VCP.txt:

===== 12 VCP SPU CAPTURE NOISE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The first half (256 samples) of a capture buffer, read by DMA right after SPUSTAT
bit 11 rises. Tone T: block 0 shift 4 filter 0 nibbles 0..F, block 1 shift 4
filter 1, looped. ADSR held at 7FFFh unless shown. Volumes 0, main volume 0.
Voice 1 T pitch 1000h, 255 changes in 256:
  01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1 0062 00DB 014C 01B7
  021B 0278 02D0 0322 036F 0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29
  FDC7 FD6A FD14 FD4A FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82
  FE01 FE81 FF00 FF80 FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88
Voice 1 T pitch 0800h, 255 changes in 256:
  FD42 FD82 FDC2 FE01 FE41 FE81 FEC1 FF00 FF40 FF80 FFC0 FFFF 003F 007E 00BE 00FE
  013E 017D 01BD 01FD 023C 027C 02BC 02FC 0321 024B FFBC FD30 FC5D FC83 FCC2 FD03
Voice 1 T pitch 2000h, 255 changes in 256:
  FD4A 007E 017D 027C 024B FC83 FD82 FE81 FF80 007E 017D 027C 024B FC83 FD88 FEC5
  FFE1 00DB 01B7 0278 0322 0392 024F 010F FFF7 FF01 FE29 FD6A FD4A 007E 017D 027C
Voice 1 T pitch 1000h, ADSR decayed to sustain level 7, 255 changes in 256:
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
  FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1
Its level 3FFF
Voice 1 released, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Voice 3 T pitch 1000h, 255 changes in 256:
  036F 0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29 FDC7 FD6A FD14 FD4A
  FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80
CD left, no CD playing, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
CD right, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Noise (spx:680-696): voice 1 noise mode, SPUCNT noise shift and step as shown.
Noise shift 15 step 3, 255 changes in 256:
  D72F 2E5D DCBC 3977 F2F0 E5E0 CBC2 1782 2F05 DE0D 3C19 F835 F06B E0D7 C1AE 035B
  06B7 0D70 1AE1 35C2 EB87 D70E 2E1B DC38 386F F0E0 E1C0 C380 0700 0E01 1C02 3805
Noise shift 15 step 0, 255 changes in 256:
  2FF1 DFE5 3FC9 FF95 FF2A FE55 FCAB F957 F2AE E55D CABC 1576 2AED D5DD 2BB8 D774
  2EE6 DDCE 3B9B F738 EE71 DCE3 39C4 F38A E714 CE29 1C52 38A4 F14B E296 C52D 0A59
Noise shift 14 step 0, 128 changes in 256:
  F68A ED15 ED15 DA2A DA2A 3453 3453 E8A8 E8A8 D151 D151 22A0 22A0 C542 C542 0A84
  0A84 1509 1509 2A12 2A12 D427 D427 284C 284C D09B D09B 2135 2135 C26D C26D 04D9
Noise shift 12 step 0, 31 changes in 256:
  D3EF D3EF D3EF D3EF D3EF D3EF D3EF D3EF 27DC 27DC 27DC 27DC 27DC 27DC 27DC 27DC
  CFBC CFBC CFBC CFBC CFBC CFBC CFBC CFBC 1F77 1F77 1F77 1F77 1F77 1F77 1F77 1F77
Noise shift 10 step 0, 8 changes in 256:
  1E01 1E01 1E01 1E01 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02
  3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02 3C02
Noise shift 8 step 0, 2 changes in 256:
  363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A
  363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A 363A
Noise shift 4 step 0, 0 changes in 256:
  31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD
  31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD
Done.

13XFR.txt:

===== 13 XFR SPU TRANSFERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Scratch at 30000h (6000h), filled with EEEEh before each row, read back by DMA
with transfer control 0004h. Halfwords written: A000h, A001h, ...
Transfer address write 6000h reads 6000, after 8 manual 6000, after DMA 6000
Fifo 1DA8h reads A007 A007
4 manual, then 4 more (A008h..) with no new address: A000 A001 A002 A003 A008 A009 A00A A00B EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
4 manual, then 4 written to the Fifo in Manual Write mode: A000 A001 A002 A003 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
40 halfwords into the Fifo (32 deep, spx:741): A000 A001 A002 A003 A004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E A00F A010 A011 A012 A013 A014 A015 A016 A017 A018 A019 A01A A01B A01C A01D A01E A01F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 0 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 1 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 2 manual 8: A000 A001 A002 A003 A004 A005 A006 A007 EEEE EEEE
Type 3 manual 8: A000 A002 A004 A006 EEEE EEEE EEEE EEEE EEEE EEEE
Type 4 manual 8: A003 A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 5 manual 8: A006 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 6 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 7 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA write of B000h, B001h, ..: B000 B002 B004 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA read of C000h, C001h, ..: C000 FFFF C001 FFFF C002 FFFF C003 FFFF C004 FFFF EEEE FFFF EEEE FFFF EEEE FFFF EEEE FFFF EEEE FFFF
Type 4 DMA read of C000h, C001h, ..: C000 C000 C000 C000 C001 C001 C001 C001 C002 C002 C002 C002 C003 C003 C003 C003 C004 C004 C004 C004
Type 5 DMA read of C000h, C001h, ..: C000 0000 C000 0000 C000 0000 C000 0000 C001 0000 C001 0000 C001 0000 C001 0000 C002 0000 C002 0000
Manual Write of 1, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 278:0010
Manual Write of 4, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 312:0010
Manual Write of 16, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 201:0410 948:0010
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 D005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 D005 A006 A007 A008 A009 A00A A00B A00C FFFF A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Done.

14REG.txt:

===== 14 REG SPU REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
1DBCh-1DBFh and 1E60h-1E7Fh (spx:1108-1121), written and read back, put back.
1DBCh DFFF F7FF, 1E60h..: F5FF F3FF BFFF 29DF 74BB FFEE BFF7 FFFF FFFF FD7D 6EFF 3BB3 FC7F FFFF BFFF 7D8F
Unknown 1DBC: was DFFF, write 1234 reads 1234
Unknown 1DBE: was F7FF, write FEDC reads FEDC
1E60h.. written inverted, reads: 0A00 0C00 4000 D620 8B44 0011 4008 0000 0000 0282 9100 C44C 0380 0000 4000 8270
Unknown 1DA0h 1DA0: was AC00, write 5A5A reads 5A5A
Voice 5 registers written FFFFh:
 volume L 1C50: was 0000, write 7FFF reads 7FFF
 volume L sweep 1C50: was 0000, write FFFF reads FFFF
 pitch 1C54: was 1000, write FFFF reads FFFF
 start 1C56: was 4000, write FFFF reads FFFF
 ADSR low 1C58: was 000F, write FFFF reads FFFF
 ADSR high 1C5A: was 1FC0, write FFFF reads FFFF
 repeat 1C5E: was 4000, write FFFF reads FFFF
Voice flag registers (bits 24-31 not used, spx:660, :666, :683; PMON bit 0 :382):
 PMON low 1D90: was 0000, write FFFF reads FFFF
 PMON high 1D92: was 0000, write FFFF reads FFFF
 NON high 1D96: was 0000, write FFFF reads FFFF
 EON high 1D9A: was 0000, write FFFF reads FFFF
 ENDX high 1D9E: was 00FF, write FFFF reads FFFF
 CD volume L 1DB0: was 0000, write 8765 reads 8765
 extern volume R 1DB6: was 0000, write 8765 reads 8765
 reverb volume L 1D84: was 0000, write 8001 reads 8001
 mBASE 1DA2: was FFFE, write 1234 reads 1234
Main volume L sweep A020 reads A020, current main volume 1DB8h 0000 0000
32-bit stores to 1C58h, 32 tries: low half wrong 6, high half wrong 0
1C58h lw 1357ABCD, lbu 1C58h CD 1C59h AB 1C5Ah 57
sb 12345678h to 1C54h: 5678; to 1C55h over 1111h: 1111
Done.

15UNU.txt:

===== 15 UNU SPU UNUSED 1E80 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Halfword reads of 1F801E80h..1F801FFEh; lbu and lw of 1F801E80h last.

192 of 192 read FFFFh
lbu 1E80h: FF
lw 1E80h: FFFFFFFF
lw 1E7Ch: 7D8FBFFF
Done.

Run 5501a-card-h on 28 September 2026

Raw output: 00RUN.txt · 01STA.txt · 02CNT.txt · 03KON.txt · 04ATK.txt · 05DEC.txt · 06SUS.txt · 07REL.txt · 08SWP.txt · 09END.txt · 10IRQ.txt · 11CAP.txt · 12VCP.txt · 13XFR.txt · 14REG.txt · 15UNU.txt

00RUN.txt:

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
15 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 8010E9B4 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 8010F568 PRId 00000002

01STA.txt:

===== 01 STA SPU STATE AT ENTRY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPU registers as this program found them, nothing written first.
1DA8h, the transfer Fifo, is not read (shown ----).
1C00: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C20: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C40: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C60: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1C80: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1CA0: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1CC0: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1CE0: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D00: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D20: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D40: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D60: 0000 0000 3FFF 0200 0000 0000 0000 0200 0000 0000 3FFF 0200 0000 0000 0000 0200
1D80: 0000 0000 0000 0000 FFFF 00FF FFFF 00FF 0000 0000 0000 0000 0000 0000 FFFF 00FF
1DA0: AC00 FFFE FFFE 0200 ---- C085 0004 0805 0000 0000 0000 0000 0000 0000 DFFF F7FF
1DC0: 033D 0231 7E00 5000 B400 B000 4C00 B000 6000 5400 1ED6 1A31 1D14 183B 1BC2 16B2
1DE0: 1A32 15EF 15EE 1055 1334 0F2D 11F6 0C5D 1056 0AE1 0AE0 07A2 0464 0232 8000 8000
1E00: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E20: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E40: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
1E60: F5FF F3FF BFFF 29DF 74BB FFFE BFF7 FFEF FFFF FD7D 6EFF 3BF3 FC7F FFFF BFFF 7D8F
1DA0h read 16 times in a row: 0100 0100 0100 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00
1DA0h read 16 times 100000 cycles apart: AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 AC00 0100 AC00 AC00 0100 AC00 AC00 AC00
SPUSTAT read 16 times 5000 cycles apart: 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005 0005
SPU_DELAY 1F801014h: 200931E1
Done.

02CNT.txt:

===== 02 CNT SPU SPUCNT TO STAT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT 5-0 is SPUCNT 5-0 applied a bit delayed (spx:726); bit 7 is like SPUCNT
bit 5 (spx:721); DMA read sets 9 and 7 late (spx:727-729). Times from the SPUCNT
write, cycles:value, for 20000 cycles or six changes; bit 11 (capture half) masked
out. Transfer address 30000h.
SPUCNT 8000 to 8010, SPUSTAT was 0000, changes: 635:0010
SPUCNT 8010 to 8000, SPUSTAT was 0010, changes: 641:0000
SPUCNT 8000 to 8020, SPUSTAT was 0000, changes: 61:02A0
SPUCNT 8020 to 8000, SPUSTAT was 02A0, changes: 652:0000
SPUCNT 8000 to 8030, SPUSTAT was 0000, changes: 293:0030 1853:01B0
SPUCNT 8030 to 8000, SPUSTAT was 01B0, changes: 295:0000
SPUCNT 8000 to 8001, SPUSTAT was 0000, changes: 703:0001
SPUCNT 8001 to 8000, SPUSTAT was 0001, changes: 702:0000
SPUCNT 8000 to 8002, SPUSTAT was 0000, changes: 765:0002
SPUCNT 8002 to 8000, SPUSTAT was 0002, changes: 760:0000
SPUCNT 8000 to 8004, SPUSTAT was 0000, changes: 758:0004
SPUCNT 8004 to 8000, SPUSTAT was 0004, changes: 61:0000
SPUCNT 8000 to 8008, SPUSTAT was 0000, changes: 295:0008
SPUCNT 8008 to 8000, SPUSTAT was 0008, changes: 351:0000
SPUCNT 8000 to 803F, SPUSTAT was 0000, changes: 356:003F 1914:01BF
SPUCNT 803F to 8000, SPUSTAT was 01BF, changes: 414:0000
SPUCNT 8000 to 8040, SPUSTAT was 0000, changes: none
SPUCNT 8040 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 8100, SPUSTAT was 0000, changes: none
SPUCNT 8100 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to BC00, SPUSTAT was 0000, changes: none
SPUCNT BC00 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8000 to 0000, SPUSTAT was 0000, changes: none
SPUCNT 0000 to 8000, SPUSTAT was 0000, changes: none
SPUCNT 8010 to 8020, SPUSTAT was 0010, changes: 652:02A0
SPUCNT 8020 to 8030, SPUSTAT was 02A0, changes: 467:00B0 1216:01B0
SPUCNT 8030 to 8010, SPUSTAT was 01B0, changes: 61:0010
SPUCNT 8000h to 8010h, cycles until SPUSTAT 5-0 = 10h, 8 times: 322 257 200 83 728 664 547 492
SPUCNT write BF00h reads BF00 at once, BF00 after 3000 cycles
SPUSTAT was 0000, write FFFFh reads FFFF at once, then: 689:0000
SPUSTAT write 0000h reads 0000 at once, then: none
Transfer control write FFFFh reads FFFF, write 0004h reads 0004
Done.

03KON.txt:

===== 03 KON SPU KEY ON OFF | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0, silent loop at 20000h, pitch 1000h. Cycles from the write.
KON to the first level change (attack linear shift 0 step 0): 4554 4582 4460 4343 4238 4176 4052 3992
KON to the second change: 5296 5350 5228 5109 5004 4943 4818 4760
KOFF at 7FFFh to the first change (release linear shift 0): 69 39 39 39 39 39 39 39
KON again at 3FFF, level: 1221:0000 5016:3800 5818:7000 6562:7FFF 7362:3FFF
KON again at 3FFF, level: 71:0000 3906:3800 4650:7000 5450:7FFF 6195:3FFF
KON again at 3FFF, level: 883:0000 4711:3800 5455:7000 6255:7FFF 7000:3FFF
KON again at 3FFF, level: 1235:0000 5065:3800 5865:7000 6610:7FFF 7359:3FFF
Attack linear shift 10: KON again at 2354, level: 403:2362 1144:0000 4973:000E 5773:001C 6518:002A 7267:0038
KON then KOFF back to back, level: 4445:3800 5188:7000 5937:7FFF 6739:3FFF
At 7FFFh, KOFF then KON back to back, level: 125:3FFF 1572:0000 5402:3800 6146:7000 6946:7FFF 7691:3FFF
KON write 0001h reads 0001 (high 0000), 0001 after 5000; KOFF 0001h reads 0001 (high 0000); KON high FF00h reads FF00
KOFF high FF00h reads FF00
SPUCNT 0000h, KON attack linear shift 8, level: none
then SPUCNT 8000h (level was 0000), level: none ENDX low FFFF
At 7FFFh, SPUCNT to 0000h, level: 81:3FFF 446:0000
then SPUCNT 8000h (level was 0000), level: none
Sustain never stepping at 7FFFh, write level 1234h: reads 1234, then: none
Sustain linear increase shift 8, write level 1234h: reads 1234, then: 269:4A34 1016:7FFF 1818:3FFF 2563:4037 3312:406F 4114:40A7
Voice released to 0, write level 1234h: reads 1234, then: 623:D234 1424:0000
Voice 5, released, write level 8123h: reads 8123
Done.

04ATK.txt:

===== 04 ATK SPU ADSR ATTACK | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Attack: voice 0, ADSR low as shown (decay 0, sustain level Fh), sustain never
stepping. Level changes cycles:value from KON, the first rise above 6000h, the time
it reached 7FFFh, then eight readings.
Lin sh00 st0 (000F): 5205:3800 5974:7000 6771:7FFF | >6000 5974:7000 | end 6771
  every 2500: 0000 0000 - - - - - -
Lin sh00 st1 (010F): 4350:3000 5142:6000 5887:7FFF | >6000 5887:7FFF | end 5887
  every 2500: 0000 3000 - - - - - -
Lin sh00 st2 (020F): 4364:2800 5156:5000 5901:7800 6693:7FFF | >6000 5901:7800 | end 6693
  every 2500: 0000 2800 - - - - - -
Lin sh00 st3 (030F): 4348:2000 5140:4000 5885:6000 6739:7FFF | >6000 6739:7FFF | end 6739
  every 2500: 0000 2000 - - - - - -
Lin sh02 st0 (080F): 4403:0E00 5227:1C00 5977:2A00 6728:3800 | >6000 9011:6200 | end 11262
  every 5000: 0E00 7000 - - - - - -
Lin sh05 st0 (140F): 4402:01C0 5176:0380 5926:0540 6676:0700 | >6000 45855:6040 | end 60459
  every 25000: 2F40 6900 - - - - - -
Lin sh08 st0 (200F): 4402:0038 5176:0070 5926:00A8 6676:00E0 | >6000 340767:6008 | end 453664
  every 100000: 1B58 37C8 5438 70E0 - - - -
Lin sh10 st0 (280F): 4420:000E 5095:001C 5950:002A 6701:0038 | >6000 1352211:6008 | end 1801523
  every 300000: 150E 2A70 3FD2 5526 6A88 7FEA - -
Lin sh11 st0 (2C0F): 4411:0007 5086:000E 5941:0015 6692:001C | >6000 2700091:6001 | end 3598603
  every 500000: 11AA 2377 3544 4711 58DE 6AAB 7C78 -
Lin sh11 st3 (2F0F): 4407:0004 5181:0008 5939:000C 6689:0010 | >6000 4722988:6004 | end 6295054
  every 1000000: 1444 289C 3CF4 514C 65A4 79FC - -
Lin sh12 st0 (300F): 5128:0007 6708:000E 8169:0015 9724:001C | >6000 5396532:6001 | end 7193630
  every 1000000: 11B8 2385 3552 471F 58EC 6AC0 7C86 -
Lin sh13 st0 (340F): 5931:0007 9016:000E 12075:0015 15135:001C | >6000 - | end -
  every 1000000: 08DC 11C6 1AA9 2393 2C76 3560 3E43 472D
Lin sh14 st0 (380F): 5213:0007 11319:000E 17501:0015 23583:001C | >6000 - | end -
  every 1000000: 046E 08E3 0D58 11CD 163B 1AB0 1F25 239A
Lin sh16 st0 (400F): 22827:0007 47435:000E 71948:0015 96535:001C | >6000 - | end -
  every 1000000: 0118 0237 0356 046E 058D 06AC 07C4 08E3
Lin sh20 st0 (500F): 28946:0007 422142:000E 815410:0015 1208626:001C | >6000 - | end -
  every 1000000: 0015 002A 0038 004D 005B 0070 007E 0093
Lin sh24 st0 (600F): 5526351:0007 11817725:000E | >6000 - | end -
  every 2000000: 0000 0000 0007 0007 0007 000E 000E 000E
Lin sh26 st2 (6A0F): 5193006:0005 30358850:000A | >6000 - | end -
  every 4250000: 0000 0005 0005 0005 0005 0005 0005 000A
Lin sh29 st2 (760F): 21462346:0005 | >6000 - | end -
  every 4250000: 0000 0000 0000 0000 0000 0005 0005 0005
Lin sh31 st2 (7E0F): 12570439:0005 | >6000 - | end -
  every 4250000: 0000 0000 0005 0005 0005 0005 0005 0005
Lin sh31 st3 (7F0F): none | >6000 - | end -
  every 2500000: 0000 0000 0000 0000 0000 0000 0000 0000
Exp sh00 st0 (800F): 4464:3800 5261:7000 5951:7E00 6715:7FFF | >6000 5261:7000 | end 6715
  every 2500: 0000 3800 - - - - - -
Exp sh04 st0 (900F): 4412:0380 5087:0700 5942:0A80 6693:0E00 | >6000 25198:6200 | end 51948
  every 25000: 5E80 7E00 - - - - - -
Exp sh08 st0 (A00F): 4407:0038 5181:0070 5939:00A8 6689:00E0 | >6000 340780:6008 | end 790079
  every 200000: 37C8 643E 7276 - - - - -
Exp sh09 st0 (A40F): 4322:001C 5091:0038 5945:0054 6696:0070 | >6000 677902:6008 | end 1575723
  every 375000: 34D4 629A 6FF2 7D4A - - - -
Exp sh10 st0 (A80F): 4428:000E 5202:001C 5960:002A 6710:0038 | >6000 1352306:6008 | end 3147794
  every 750000: 351A 62A8 7000 7D58 - - - -
Exp sh11 st0 (AC0F): 4361:0007 5158:000E 5931:0015 6704:001C | >6000 2700048:6001 | end 6292783
  every 1500000: 3544 62AF 7007 7D5F - - - -
Exp sh12 st0 (B00F): 5196:0007 6726:000E 8240:0015 9748:001C | >6000 5396529:6001 | end 12582662
  every 2000000: 2385 471F 62AF 6B99 747C 7D66 - -
Exp sh14 st0 (B80F): 5934:0007 12090:000E 18202:0015 24322:001C | >6000 - | end -
  every 2000000: 08E3 11CD 1AB0 239A 2C7D 3567 3E4A 4734
Done.

05DEC.txt:

===== 05 DEC SPU ADSR DECAY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Decay: voice 0, attack linear shift 0 step 0, decay shift and sustain level as
shown, sustain never stepping. Changes from KON, the first fall to (SL+1)*800h or
below (spx:540), then eight readings: where the level stops is the sustain level.
Dec 00 SL 0 (0000): 4692:3800 5524:7000 6294:7FFF 7062:3FFF | <=SL 9384:07FF | end -
  every 5000: 3800 07FF 07FF 07FF 07FF 07FF 07FF 07FF
Dec 00 SL 3 (0003): 4352:3800 5184:7000 5949:7FFF 6712:3FFF | <=SL 7480:1FFF | end -
  every 5000: 3800 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF 1FFF
Dec 00 SL 7 (0007): 4339:3800 5190:7000 5858:7FFF 6624:3FFF | <=SL 6624:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL B (000B): 4333:3800 5184:7000 5852:7FFF 6618:3FFF | <=SL 6618:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL E (000E): 4333:3800 5184:7000 5858:7FFF 6624:3FFF | <=SL 6624:3FFF | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 00 SL F (000F): 4339:3800 5190:7000 5864:7FFF 6643:3FFF | <=SL - | end -
  every 5000: 3800 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 02 SL 7 (0027): 4339:3800 5140:7000 5905:7FFF 6669:6FFF | <=SL 10542:3971 | end -
  every 12500: 3971 3971 3971 3971 3971 3971 3971 3971
Dec 04 SL 7 (0047): 4350:3800 5146:7000 5905:7FFF 6664:7BFF | <=SL 22789:3FA2 | end -
  every 25000: 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2 3FA2
Dec 06 SL 7 (0067): 4345:3800 5141:7000 5900:7FFF 6659:7EFF | <=SL 74282:3F8E | end -
  every 75000: 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E 3F8E
Dec 08 SL 0 (0080): 4333:3800 5115:7000 5874:7FFF 6635:7FBF | <=SL 1051183:07FE | end -
  every 250000: 4447 23B3 1268 094D 07FE 07FE 07FE 07FE
Dec 08 SL 7 (0087): 4446:3800 5143:7000 5908:7FFF 6667:7FBF | <=SL 275537:3FF1 | end -
  every 200000: 4DD1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1 3FF1
Dec 08 SL F (008F): 4446:3800 5143:7000 5918:7FFF 6691:7FBF | <=SL - | end -
  every 50000: 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF 7FBF
Dec 10 SL 7 (00A7): 5182:3800 5983:7000 6747:7FFF 7506:7FEF | <=SL 1049648:3FFA | end -
  every 500000: 5C8A 4243 3FFA 3FFA 3FFA 3FFA 3FFA 3FFA
Dec 11 SL 7 (00B7): 4339:3800 5140:7000 5905:7FFF 6669:7FF7 | <=SL 2001913:3FFF | end -
  every 1000000: 5B62 400E 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 7 (00C7): 4389:3800 5114:7000 5901:7FFF 6688:7FF7 | <=SL 3997187:3FFF | end -
  every 2000000: 5B4A 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 12 SL 0 (00C0): 4382:3800 5092:7000 5879:7FFF 6666:7FF7 | <=SL 13958152:0800 | end -
  every 4250000: 3D6F 1BC4 0B13 07FF 07FF 07FF 07FF 07FF
Dec 13 SL 7 (00D7): 4388:3800 5218:7000 5904:7FFF 7437:7FF7 | <=SL 7988486:3FFF | end -
  every 2000000: 6C40 5B3E 4CA7 3FFF 3FFF 3FFF 3FFF 3FFF
Dec 15 SL 7 (00F7): 4382:3800 5109:7000 5896:7FFF 10523:7FF7 | <=SL - | end -
  every 2000000: 7AEF 75D7 70BF 6C32 67C4 634F 5F04 5B32
Done.

06SUS.txt:

===== 06 SUS SPU ADSR SUSTAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sustain: voice 0, attack linear shift 0 step 0, decay shift 0, sustain level 7
(4000h), then the sustain as shown. The watch starts at the first reading of 4000h
or less after 7FFFh ("from"): changes, the first rise above 6000h, the time it
reached 7FFFh (increase) or 0 (decrease), eight readings. Times from KON.
Sus lin inc sh00 st0 (0000): 7272:77FF 8093:7FFF | >6000 7272:77FF | end 8093
  every 2500 from 6528: - - - - - - - -
Sus lin inc sh04 st0 (0400): 8311:437F 8991:46FF 9846:4A7F 10597:4DFF | >6000 15228:62FF | end 22078
  every 12500 from 7498: 77FF - - - - - - -
Sus lin inc sh08 st0 (0800): 8241:4037 9015:406F 9764:40A7 10514:40DF | >6000 120349:6027 | end 232447
  every 100000 from 7439: 5C6F 78DF - - - - - -
Sus lin inc sh08 st3 (08C0): 8248:401F 9022:403F 9774:405F 10524:407F | >6000 204884:601F | end 400676
  every 200000 from 7443: 607F - - - - - - -
Sus lin inc sh08 st0 b29 (2800): 8241:4037 9015:406F 9764:40A7 10514:40DF | >6000 120349:6027 | end 232447
  every 100000 from 7439: 5C6F 78DF - - - - - -
Sus lin inc sh11 st0 (0B00): 8241:4006 9015:400D 9764:4014 10514:401B | >6000 906781:6004 | end 1805293
  every 500000 from 7439: 51CC 6399 7566 - - - - -
Sus lin inc sh12 st0 (0C00): 9053:4006 10533:400D 12083:4014 13633:401B | >6000 1806117:6004 | end 3603275
  every 1000000 from 7442: 51CC 6399 7566 - - - - -
Sus lin inc sh16 st0 (1000): 11284:4006 35897:400D 60480:4014 85075:401B | >6000 - | end -
  every 1000000 from 7452: 411E 423D 4355 4474 4593 46AB 47CA 48E9
Sus lin dec sh00 st0 (4000): 8247:FFFF 8966:0000 | >6000 8247:FFFF | end 8966
  every 2500 from 7442: - - - - - - - -
Sus lin dec sh08 st0 (4800): 8369:3FBF 9148:3F7F 9898:3F3F 10649:3EFF | >6000 204174:FFFF | end 204937
  every 100000 from 7564: 1F7F - - - - - - -
Sus lin dec sh08 st3 (48C0): 8535:3FD7 9310:3FAF 10060:3F87 10816:3F5F | >6000 322673:FFEF | end 323439
  every 200000 from 7729: 175F - - - - - - -
Sus lin dec sh12 st0 (4C00): 9009:3FF7 10489:3FEF 12039:3FE7 13589:3FDF | >6000 3153195:FFFF | end 3153956
  every 1000000 from 7388: 2BA7 174F 02F7 - - - - -
Sus exp inc sh08 st0 (8800): 8418:4037 9192:406F 9950:40A7 10700:40DF | >6000 120584:6027 | end 568256
  every 200000 from 7613: 6655 748D - - - - - -
Sus exp inc sh10 st0 (8A00): 8248:400D 9022:401B 9774:4029 10524:4037 | >6000 457507:600B | end 2253110
  every 500000 from 7443: 60EB 69D5 72B8 7BA2 - - - -
Sus exp inc sh12 st0 (8C00): 8994:4006 10528:400D 12040:4014 13650:401B | >6000 1806136:6004 | end 8993838
  every 2000000 from 7439: 60E4 69CE 72B1 7B9B - - - -
Sus exp dec sh00 st0 (C000): 8311:1FFF 8991:0FFF 9846:07FF 10547:03FF | >6000 - | end 18274
  every 2500 from 7498: 07FF 00FF 001F 0001 - - - -
Sus exp dec sh08 st0 (C800): 8147:3FDF 8919:3FBF 9669:3F9F 10414:3F7F | >6000 - | end 1601740
  every 500000 from 7336: 1138 0414 007B - - - - -
Sus exp dec sh12 st0 (CC00): 8947:3FFB 10475:3FF7 12085:3FF3 13595:3FEF | >6000 - | end 13114139
  every 2000000 from 7388: 2CBD 1E52 1426 0CFD 07E7 02D1 - -
Sus lin inc sh31 st3 (1FC0): none | >6000 - | end -
  every 250000 from 6817: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st3 (5FC0): none | >6000 - | end -
  every 250000 from 6698: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp inc sh31 st3 (9FC0): none | >6000 - | end -
  every 250000 from 6698: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus exp dec sh31 st3 (DFC0): none | >6000 - | end -
  every 250000 from 6698: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Sus lin dec sh31 st2 (5F80): none | >6000 - | end -
  every 250000 from 6698: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
Done.

07REL.txt:

===== 07 REL SPU ADSR RELEASE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Release: voice 0 held at 7FFFh (attack shift 0, sustain level Fh, sustain never
stepping), then KOFF. Changes from KOFF, the first fall to 4000h, the time it
reached 0, eight readings.
Rel lin sh00 (1FC0): 333:3FFF 903:FFFF 1662:0000 | <=4000 333:3FFF | end 1662
  every 2500: - - - - - - - -
Rel lin sh04 (1FC4): 298:3FFF 1388:3BFF 2176:37FF 2852:33FF | <=4000 298:3FFF | end 13645
  every 12500: 03FF - - - - - - -
Rel lin sh08 (1FC8): 298:3FBF 973:3F7F 1749:3F3F 2525:3EFF | <=4000 298:3FBF | end 196840
  every 125000: 173F - - - - - - -
Rel lin sh11 (1FCB): 298:3FF7 867:3FEF 1641:3FE7 2417:3FDF | <=4000 298:3FF7 | end 1572902
  every 1000000: 1747 - - - - - - -
Rel lin sh12 (1FCC): 296:3FFF 1486:3FF7 3096:3FEF 4606:3FE7 | <=4000 296:3FFF | end 3146462
  every 1000000: 2BA7 174F 02F7 - - - - -
Rel lin sh13 (1FCD): 298:3FFF 3685:3FF7 6756:3FEF 9828:3FE7 | <=4000 298:3FFF | end 6292877
  every 1000000: 35D7 2BAF 217F 1757 0D27 02FF - -
Rel lin sh16 (1FD0): 297:3FFF 7431:3FF7 31991:3FEF 56559:3FE7 | <=4000 297:3FFF | end -
  every 1000000: 3EB7 3D6F 3C2F 3AE7 399F 385F 3717 35CF
Rel exp sh00 (1FE0): 298:3FFF 553:1FFF 1229:0FFF 2005:07FF | <=4000 298:3FFF | end 10445
  every 2500: 07FF 007F 000F 0001 - - - -
Rel exp sh04 (1FE4): 298:3FFF 1073:3DFF 1850:3C0F 2626:3A2E | <=4000 298:3FFF | end 165510
  every 25000: 1722 0857 02E4 0102 0051 0015 - -
Rel exp sh08 (1FE8): 299:3FFF 1489:3FDF 2265:3FBF 3038:3F9F | <=4000 299:3FFF | end 1595134
  every 375000: 1814 08B1 02C9 007C - - - -
Rel exp sh11 (1FEB): 298:3FFF 1320:3FFB 2121:3FF7 2928:3FF3 | <=4000 298:3FFF | end 6553928
  every 2000000: 1E54 0CFE 02D2 - - - - -
Rel exp sh12 (1FEC): 302:3FFF 558:3FFB 2012:3FF7 3466:3FF3 | <=4000 302:3FFF | end 13105597
  every 2000000: 2CBD 1E52 1424 0CFC 07E6 02D0 - -
Attack linear shift 12 cut at 3552 by KOFF, release linear shift 8: 797:3512 1585:34D2 2350:3492 3118:3452 | <=0800 139780:07D2 | end 165121
  every 250000: - - - - - - - -
Level after the release, 200000 cycles: none
Release linear shift 8, second KOFF at 0000: none | <=0800 - | end 303
  every 125000: - - - - - - - -
Done.

08SWP.txt:

===== 08 SWP SPU VOLUME SWEEP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Sweeps on voice 2's volume, voice 2 never keyed on. The start is set as a fixed
volume 5000 cycles before (spx:574-577). Current volume 1E08h (spx:650). Changes
from the sweep write, the time it reached 7FFFh (increase) or 0 (decrease).
Fixed volume 1234h, cycles until 1E08h changes: 452:2468 25:2468 729:2468 664:2468
Fixed volume 4000h (bit 14, spx:560 range) reads 1E08h 8000
V2L from 0000 reg 8000 (reads 8000): 605:3800 1380:7000 2131:7FFF | x - | end 2131
  every 2500: - - - - - - - -
V2L from 0000 reg 8010 (reads 8010): 353:0380 972:0700 1822:0A80 2568:0E00 | x - | end 27845
  every 12500: 3B80 7380 - - - - - -
V2L from 0000 reg 8020 (reads 8020): 504:0038 1288:0070 2033:00A8 2784:00E0 | x - | end 449744
  every 100000: 1C70 38E0 5588 71F8 - - - -
V2L from 0000 reg 8023 (reads 8023): 348:0020 974:0040 1724:0060 2473:0080 | x - | end 785875
  every 200000: 20A0 4120 61C0 - - - - -
V2L from 0000 reg 802C (reads 802C): 604:0007 1378:000E 2134:0015 2879:001C | x - | end 3594831
  every 500000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8030 (reads 8030): 1111:0007 2692:000E 4239:0015 5795:001C | x - | end 7189623
  every 1000000: 11CD 239A 3567 4734 5901 6ACE 7C9B -
V2L from 0000 reg 8040 (reads 8040): 23037:0007 47639:000E 72141:0015 96741:001C | x - | end -
  every 1000000: 0118 0237 0356 046E 058D 06AC 07C4 08E3
V2L from 7FFE reg A020 (reads A020): 613:7FBE 1393:7F7E 2144:7F3E 2899:7EFE | x - | end 393851
  every 125000: 573E 2EBE 05FE - - - - -
V2L from 7FFE reg A030 (reads A030): 1509:7FF6 2978:7FEE 4534:7FE6 6095:7FDE | x - | end 6292189
  every 1000000: 6BA6 574E 42F6 2E9E 1A46 05EE - -
V2L from 0000 reg C020 (reads C020): 348:0038 868:0070 1618:00A8 2370:00E0 | x - | end 785779
  every 200000: 3918 6484 72CA - - - - -
V2L from 0000 reg C030 (reads C030): 607:0007 2136:000E 3646:0015 5257:001C | x - | end 12575113
  every 2000000: 239A 4734 62B6 6BA0 7483 7D6D - -
V2L from 7FFE reg E000 (reads E000): 352:3FFF 872:1FFF 1617:0FFF 2366:07FF | x - | end 10876
  every 2500: 07FF 00FF 001F 0001 - - - -
V2L from 7FFE reg E020 (reads E020): 504:7FBE 1278:7F7E 2023:7F3E 2773:7EFE | x - | end 1863637
  every 500000: 2323 0925 01DA - - - - -
V2L from 7FFE reg E030 (reads E030): 1131:7FF6 2665:7FEE 4171:7FE6 5681:7FDE | x - | end -
  every 2000000: 5B31 3FEA 2CAD 1E47 141B 0CF7 07E1 02CB
V2L from 2000 reg 9020 (reads 9020): 353:1FC0 1071:1F80 1821:1F40 2568:1F00 | x - | end -
  every 250000: CE80 8000 8000 8000 8000 8000 8000 8000
V2L from C000 reg 8020 (reads 8020): 499:C038 1273:C070 2024:C0A8 2874:C0E0 | x - | end 674062
  every 250000: 0750 4E68 - - - - - -
V2L from C000 reg B020 (reads B020): 353:C038 873:C070 1628:C0A8 2473:C0E0 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 2000 reg B020 (reads B020): 716:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2L from 7FFE reg F020 (reads F020): 509:7FBE 1278:7F7E 2034:7F3E 2779:7EFE | x - | end -
  every 500000: 2323 0925 01DA 0000 0000 0000 0000 0000
V2L from 2000 reg 807F (reads 807F): none | x - | end -
  every 250000: 2000 2000 2000 2000 2000 2000 2000 2000
V2L from 2000 reg B07F (reads B07F): 510:0000 | x - | end -
  every 250000: 0000 0000 0000 0000 0000 0000 0000 0000
V2R from 0000 reg 8020 (reads 8020): 358:0038 978:0070 1730:00A8 2475:00E0 | x - | end 449518
  every 100000: 1CA8 3918 5588 71F8 - - - -
V0L from 0000 reg 8020 (reads 8020): 699:0038 1473:0070 2231:00A8 2981:00E0 | x - | end 450017
  every 100000: 1C70 38E0 5550 71F8 - - - -
Done.

09END.txt:

===== 09 END SPU ENDX LOOPS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0. S1, S2, S4: one, two, four blocks, the last End+Repeat. Cycles from KON
until ENDX bit 0 reads 0 (0: it never read 1 after KON), and until it reads 1
(0: not within the limit).
S1 pitch 1000, ENDX bit 0 clear, set: 1646,17016 851,16200 795,16143 2252,17602
S2 pitch 1000, ENDX bit 0 clear, set: 935,37809 853,37725
S4 pitch 1000, ENDX bit 0 clear, set: 935,80827 851,80736
S4 pitch 0800, ENDX bit 0 clear, set: 937,157599
S4 pitch 2000, ENDX bit 0 clear, set: 871,42341
S4 pitch 3FFF, ENDX bit 0 clear, set: 935,23961
S4 pitch 4000, ENDX bit 0 clear, set: 871,23953
S4 pitch 4001, ENDX bit 0 clear, set: 935,23961
S4 pitch 8000, ENDX bit 0 clear, set: 931,23960
S4 pitch FFFF, ENDX bit 0 clear, set: 937,23967
S1 pitch 0100, ENDX bit 0 clear, set: 937,200617
S1 pitch 0001, ENDX bit 0 clear, set: 934,0
S1 pitch 0000, ENDX bit 0 clear, set: 63,0
S4+8 pitch 1000, ENDX bit 0 clear, set: 64,68496
ENDX low FFFF, write 0000h reads 0000, then: 11889:FFFE 19579:FFFF
ENDX write 5555h reads 5555, then: 481:0000 7392:FFFE 15058:FFFF
ENDX high 00FF
L (loop start at block 1), repeat was 4000: right after KON 4000, then: 18757:4082
S4 (loop start at block 0), repeat was 4100: right after KON 4100, then: 1889:4060
M (End+Mute at block 1), repeat 4100: ENDX set at 38155:0001, level then 0000, repeat 4100
M, level from 20000 cycles after KON: 37904:0000
L, repeat 40E0 written 2000 cycles after KON (reads 40E0), 150000 later: 4082
L, repeat 40E0 written 200000 cycles after KON (reads 40E0), 200000 later: 40E0, 400000 later: 40E0
Start written during play reads 4020
Done.

10IRQ.txt:

===== 10 IRQ SPU IRQ9 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Voice 0 keyed on, IRQ address as shown, cycles from KON to SPUSTAT bit 6 and to
I_STAT bit 9 (0 = not within the limit). S4 at 4060h, four blocks of 10h bytes.
S4 pitch 1000 IRQ 4060: SPUSTAT.6 at 1256, I_STAT.9 at 1057
S4 pitch 1000 IRQ 4061: SPUSTAT.6 at 6450, I_STAT.9 at 6251
S4 pitch 1000 IRQ 4062: SPUSTAT.6 at 318, I_STAT.9 at 116
S4 pitch 1000 IRQ 4064: SPUSTAT.6 at 40242, I_STAT.9 at 40043
S4 pitch 1000 IRQ 4065: SPUSTAT.6 at 49481, I_STAT.9 at 49216
S4 pitch 1000 IRQ 4066: SPUSTAT.6 at 318, I_STAT.9 at 116
S4 pitch 0400 IRQ 4064: SPUSTAT.6 at 150830, I_STAT.9 at 150631
S4 pitch 4000 IRQ 4064: SPUSTAT.6 at 309, I_STAT.9 at 44
S4 noise pitch 1000 IRQ 4064: SPUSTAT.6 at 40251, I_STAT.9 at 40052
S4 pitch 0000 IRQ 4064: SPUSTAT.6 at 0, I_STAT.9 at 0
M (End+Mute at block 1) with the repeat address set before KON to P (4100h):
M, IRQ at P pitch 1000 IRQ 4100: SPUSTAT.6 at 40170, I_STAT.9 at 39971
M, repeat P, IRQ at M block 0, IRQ 40A0, hits: 1660 3212 4707 6242 7778; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 2437:0000
S1 released 100000 cycles before, level 0000, IRQ at S1: SPUSTAT.6 at 101
S1 looping, IRQ 4020, hits: 676 2215 3764 5300 6836; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 1436:0000
S4 looping, IRQ 4064, hits: 41398 42942 44494 46030 47566; SPUSTAT.6 read 0 after the first acknowledge (cycles from KON): 42213:0000
Manual writes of k halfwords from 61FF (8 bytes before the IRQ address 6200):
 k=1 SPUSTAT.6 0 I_STAT.9 0 k=2 SPUSTAT.6 0 I_STAT.9 0 k=3 SPUSTAT.6 0 I_STAT.9 0 k=4 SPUSTAT.6 1 I_STAT.9 1
 k=5 SPUSTAT.6 1 I_STAT.9 1 k=6 SPUSTAT.6 1 I_STAT.9 1 k=7 SPUSTAT.6 1 I_STAT.9 1 k=8 SPUSTAT.6 1 I_STAT.9 1
DMA write 64 bytes from 32 before the IRQ address: SPUSTAT.6 0
DMA write 64 bytes ending just before it: SPUSTAT.6 0
DMA write 64 bytes from 8 after it: SPUSTAT.6 0
DMA read 64 bytes from 32 before it: SPUSTAT.6 1
DMA read 64 bytes ending just before it: SPUSTAT.6 1
DMA write over it with IRQ9 enable clear, then enabled: SPUSTAT.6 0
IRQ address write 1234h reads 1234
Done.

11CAP.txt:

===== 11 CAP SPU CAPTURE TIMING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SPUSTAT bit 11 (spx:716, :723-725) over 1.2 million cycles; then capture IRQs
(spx:848-856), timed from a rise of bit 11, with bit 11 at each hit (h/l).
Transfer control 0004, SPUSTAT bit 11 changes: 146492:0000 343100:0800 539684:0000 736336:0800 932924:0000 1129508:0800
Transfer control 0000, SPUSTAT bit 11 changes: none
Transfer control 0008, SPUSTAT bit 11 changes: 101409:0800 297993:0000 494645:0800 691233:0000 887817:0800 1084469:0000
Transfer control 000C, SPUSTAT bit 11 changes: none
Transfer control 0002, SPUSTAT bit 11 changes: none
IRQ 0000, transfer control 0004, from bit 11 rising, hits: 154983l 548233l 941439l 1334655l
IRQ 0040, transfer control 0004, from bit 11 rising, hits: 393131h 786313h 1179563h 1572745h
IRQ 0080, transfer control 0004, from bit 11 rising, hits: 196524l 589716l 982966l 1376148l
IRQ 00C0, transfer control 0004, from bit 11 rising, hits: 393132h 786324h 1179574h 1572756h
IRQ 0100, transfer control 0004, from bit 11 rising, hits: 196514l 589696l 982946l 1376128l
IRQ 0180, transfer control 0004, from bit 11 rising, hits: 196514l 589696l 982946l 1376128l
IRQ 01FF, transfer control 0004, from bit 11 rising, hits: 193432h 586648h 979864h 1373080h
IRQ 0001, transfer control 0004, from bit 11 rising, hits: 199575l 592791l 986007l 1379223l
IRQ 0100, transfer control 0000, from bit 11 rising (no rise seen), hits: none
IRQ 0100, transfer control 0008, from bit 11 rising, hits: none
IRQ 0200, transfer control 0004, from bit 11 rising, hits: none
Done.

12VCP.txt:

===== 12 VCP SPU CAPTURE NOISE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The first half (256 samples) of a capture buffer, read by DMA right after SPUSTAT
bit 11 rises. Tone T: block 0 shift 4 filter 0 nibbles 0..F, block 1 shift 4
filter 1, looped. ADSR held at 7FFFh unless shown. Volumes 0, main volume 0.
Voice 1 T pitch 1000h, 255 changes in 256:
  FC83 FD03 FD88 FE28 FEC5 FF57 FFE1 0062 00DB 014C 01B7 021B 0278 02D0 0322 036F
  0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29 FDC7 FD6A FD14 FD4A FF98
  007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80 FFFF
  007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57 FFE1 0062
Voice 1 T pitch 0800h, 255 changes in 256:
  FD82 FDC2 FE01 FE41 FE81 FEC1 FF00 FF40 FF80 FFC0 FFFF 003F 007E 00BE 00FE 013E
  017D 01BD 01FD 023C 027C 02BC 02FC 0321 024B FFBC FD30 FC5D FC83 FCC2 FD03 FD43
Voice 1 T pitch 2000h, 255 changes in 256:
  007E 017D 027C 024B FC83 FD82 FE81 FF80 007E 017D 027C 024B FC83 FD88 FEC5 FFE1
  00DB 01B7 0278 0322 0392 024F 010F FFF7 FF01 FE29 FD6A FD4A 007E 017D 027C 024B
Voice 1 T pitch 1000h, ADSR decayed to sustain level 7, 255 changes in 256:
  FD4A FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00
  FF80 FFFF 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD88 FE28 FEC5 FF57
Its level 3FFF
Voice 1 released, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Voice 3 T pitch 1000h, 255 changes in 256:
  0392 02FE 024F 01AA 010F 007E FFF7 FF78 FF01 FE91 FE29 FDC7 FD6A FD14 FD4A FF98
  007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80 FFFF
CD left, no CD playing, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
CD right, 0 changes in 256:
  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Noise (spx:680-696): voice 1 noise mode, SPUCNT noise shift and step as shown.
Noise shift 15 step 3, 255 changes in 256:
  DCBC 3977 F2F0 E5E0 CBC2 1782 2F05 DE0D 3C19 F835 F06B E0D7 C1AE 035B 06B7 0D70
  1AE1 35C2 EB87 D70E 2E1B DC38 386F F0E0 E1C0 C380 0700 0E01 1C02 3805 F00D E01A
Noise shift 15 step 0, 255 changes in 256:
  3FC9 FF95 FF2A FE55 FCAB F957 F2AE E55D CABC 1576 2AED D5DD 2BB8 D774 2EE6 DDCE
  3B9B F738 EE71 DCE3 39C4 F38A E714 CE29 1C52 38A4 F14B E296 C52D 0A59 14B3 2966
Noise shift 14 step 0, 127 changes in 256:
  3453 3453 E8A8 E8A8 D151 D151 22A0 22A0 C542 C542 0A84 0A84 1509 1509 2A12 2A12
  D427 D427 284C 284C D09B D09B 2135 2135 C26D C26D 04D9 04D9 09B2 09B2 1365 1365
Noise shift 12 step 0, 32 changes in 256:
  CFBC 1F77 1F77 1F77 1F77 1F77 1F77 1F77 1F77 3EEE 3EEE 3EEE 3EEE 3EEE 3EEE 3EEE
  3EEE FDDE FDDE FDDE FDDE FDDE FDDE FDDE FDDE FBBC FBBC FBBC FBBC FBBC FBBC FBBC
Noise shift 10 step 0, 8 changes in 256:
  F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D
  F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D F00D E01B E01B E01B
Noise shift 8 step 0, 2 changes in 256:
  D8EF D8EF D8EF D8EF D8EF D8EF D8EF D8EF D8EF D8EF D8EF D8EF D8EF 31DD 31DD 31DD
  31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD 31DD
Noise shift 4 step 0, 0 changes in 256:
  C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C
  C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C C77C
Done.

13XFR.txt:

===== 13 XFR SPU TRANSFERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Scratch at 30000h (6000h), filled with EEEEh before each row, read back by DMA
with transfer control 0004h. Halfwords written: A000h, A001h, ...
Transfer address write 6000h reads 6000, after 8 manual 6000, after DMA 6000
Fifo 1DA8h reads A007 A007
4 manual, then 4 more (A008h..) with no new address: A000 A001 A002 A003 A008 A009 A00A A00B EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
4 manual, then 4 written to the Fifo in Manual Write mode: A000 A001 A002 A003 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
40 halfwords into the Fifo (32 deep, spx:741): A000 A001 A002 A003 A004 A005 A006 A007 A008 A009 A00A A00B A00C A00D A00E A00F A010 A011 A012 A013 A014 A015 A016 A017 A018 A019 A01A A01B A01C A01D A01E A01F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 0 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 1 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 2 manual 8: A000 A001 A002 A003 A004 A005 A006 A007 EEEE EEEE
Type 3 manual 8: A000 A002 A004 A006 EEEE EEEE EEEE EEEE EEEE EEEE
Type 4 manual 8: A003 A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 5 manual 8: A006 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 6 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 7 manual 8: A007 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA write of B000h, B001h, ..: B000 B002 B004 EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Type 3 DMA read of C000h, C001h, ..: C000 FFFF C001 FFFF C002 FFFF C003 FFFF C004 0000 C005 0000 EEEE 0000 EEEE FFFF EEEE FFFF EEEE FFFF
Type 4 DMA read of C000h, C001h, ..: C000 C000 C000 C000 C001 C001 C001 C001 C002 C002 C002 C002 C003 C003 C003 C003 C004 C004 C004 C004
Type 5 DMA read of C000h, C001h, ..: C000 0000 C000 0000 C000 0000 C000 0000 C001 0000 C001 0000 C001 0000 C001 0000 C002 0000 C002 0000
Manual Write of 1, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 220:0410 989:0010
Manual Write of 4, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 378:0010
Manual Write of 16, SPUSTAT (bit 11 masked) was 0000, from the SPUCNT write: 196:0410 937:0010
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 D005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
1F801014h 200931E1h, DMA read 128 bytes of D000h..:
  FFFF D000 D001 D002 D003 D004 D005 A006 A007 A008 A009 A00A A00B A00C A00D A00E
  A00F EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE EEEE
  FFFF EEEE EEEE EEEE EEEE EEEE EEEE EEEE
Done.

14REG.txt:

===== 14 REG SPU REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
1DBCh-1DBFh and 1E60h-1E7Fh (spx:1108-1121), written and read back, put back.
1DBCh DFFF F7FF, 1E60h..: F5FF F3FF BFFF 29DF 74BB FFFE BFF7 FFEF FFFF FD7D 6EFF 3BF3 FC7F FFFF BFFF 7D8F
Unknown 1DBC: was DFFF, write 1234 reads 1234
Unknown 1DBE: was F7FF, write FEDC reads FEDC
1E60h.. written inverted, reads: 0A00 0C00 4000 D620 8B44 0001 4008 0010 0000 0282 9100 C40C 0380 0000 4000 8270
Unknown 1DA0h 1DA0: was AC00, write 5A5A reads 5A5A
Voice 5 registers written FFFFh:
 volume L 1C50: was 0000, write 7FFF reads 7FFF
 volume L sweep 1C50: was 0000, write FFFF reads FFFF
 pitch 1C54: was 1000, write FFFF reads FFFF
 start 1C56: was 4000, write FFFF reads FFFF
 ADSR low 1C58: was 000F, write FFFF reads FFFF
 ADSR high 1C5A: was 1FC0, write FFFF reads FFFF
 repeat 1C5E: was 4000, write FFFF reads FFFF
Voice flag registers (bits 24-31 not used, spx:660, :666, :683; PMON bit 0 :382):
 PMON low 1D90: was 0000, write FFFF reads FFFF
 PMON high 1D92: was 0000, write FFFF reads FFFF
 NON high 1D96: was 0000, write FFFF reads FFFF
 EON high 1D9A: was 0000, write FFFF reads FFFF
 ENDX high 1D9E: was 00FF, write FFFF reads FFFF
 CD volume L 1DB0: was 0000, write 8765 reads 8765
 extern volume R 1DB6: was 0000, write 8765 reads 8765
 reverb volume L 1D84: was 0000, write 8001 reads 8001
 mBASE 1DA2: was FFFE, write 1234 reads 1234
Main volume L sweep A020 reads A020, current main volume 1DB8h 0000 0000
32-bit stores to 1C58h, 32 tries: low half wrong 7, high half wrong 0
1C58h lw 1357ABCD, lbu 1C58h CD 1C59h AB 1C5Ah 57
sb 12345678h to 1C54h: 5678; to 1C55h over 1111h: 1111
Done.

15UNU.txt:

===== 15 UNU SPU UNUSED 1E80 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Halfword reads of 1F801E80h..1F801FFEh; lbu and lw of 1F801E80h last.

192 of 192 read FFFFh
lbu 1E80h: FF
lw 1E80h: FFFFFFFF
lw 1E7Ch: 7D8FBFFF
Done.

References


  1. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af Hardware test run 20260928T0000Z-5501a-card-h on the SCPH-5501: spuenv output and the other files listed under that run.

Categories: Hardware tests