SPU Registers and Envelope: Difference between revisions
| Revision as of 05:11, 23 October 2026 RemmyLee (Hardware tests: 72 more test pages, listed on the main page by area; RUN.toml no longer published) | Revision as of 05:49, 23 October 2026 RemmyLee (Hardware tests: the last 15 test pages (timers, SPU, CPU, GPU, DMA, CD-ROM, GTE), See also links both ways; uncited clock claim removed) | ||
| Line 14: | Line 14: | ||
| 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.[^h] The [SPU](/hardware/spu/) page describes the unit, and the [SPU registers](/hardware/spu/registers/), [ADSR](/hardware/spu/adsr/) and [ADPCM](/hardware/spu/adpcm/) pages give the register layouts. | 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.[^h] The [SPU](/hardware/spu/) page describes the unit, and the [SPU registers](/hardware/spu/registers/), [ADSR](/hardware/spu/adsr/) and [ADPCM](/hardware/spu/adpcm/) pages give the register layouts. | ||
| + | See also: | ||
| + | |||
| + | - [SPU Voice Flags and Interrupts](/tests/spu-voice-flags-interrupts/) | ||
| + | - [SPU Envelope Grid and GPU Fill Timing](/tests/spu-envelope-grid-gpu-fill/) | ||
| + | |||
| ## Results | ## Results | ||
| ### State at Entry | ### 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.[^h] | + | 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.[^h] 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.[^h] |
| − | 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.[^h] | ||
| − | |||
| ### SPUCNT and SPUSTAT | ### SPUCNT and SPUSTAT | ||