===== 07 FSP FU SPU ENV FIFO | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000400 Envelope counter, one for all voices or one each: voices 0 and 1 attack linear shift 16 step 0, keyed on 1500 cycles apart; cycles from voice 0's KON. Voice 0 keyed on at 0, voice 1 at 1645; first level changes, voice 0: 8029 32589 57229 81797; voice 1: 8029 32589 57229 81797; levels then 002A 002A Voice 0 keyed on at 0, voice 1 at 1602; first level changes, voice 0: 17900 42452 67011 91564; voice 1: 17900 42452 67011 91564; levels then 002A 002A Voice 0 keyed on at 0, voice 1 at 1602; first level changes, voice 0: 17900 42452 67011 91564; voice 1: 17900 42452 67011 91564; levels then 002A 002A ADSR level times the sample: tone T on voice 1, pitch 1000h, held at 7FFFh; the level register written, then the voice 1 capture buffer (first 16 samples). Level as it stands, 255 changes in 256: FD4A FF98 007E 00FE 017D 01FD 027C 02FC 024B FD30 FC83 FD03 FD82 FE01 FE81 FF00 Level read 3FFF Level written 4000h, reads 4000 Level 4000h, 255 changes in 256: 024C FD30 FC83 FD03 FD82 FE01 FE81 FF00 FF80 FFFF 007F 00FE 017E 01FD 027D 02FC Level written 7FFFh, reads 7FFF Level 7FFFh, 255 changes in 256: FF00 FFFF 00FD 01FC 02FB 03FA 04F9 05F8 0497 FA60 F907 FA06 FB11 FC50 FD8A FEAF FIFO drain: halfwords B000h, B001h, .. to scratch at 30000h (filled EEEEh) by one DMA block of 16 words, a wait, SPUCNT transfer mode Stop, then read back by DMA. Wait 0 cycles after the DMA ended: 8 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 100 cycles after the DMA ended: 9 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 200 cycles after the DMA ended: 10 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 300 cycles after the DMA ended: 14 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 400 cycles after the DMA ended: 18 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 500 cycles after the DMA ended: 22 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 600 cycles after the DMA ended: 26 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 700 cycles after the DMA ended: 30 of 32 halfwords written, 0 still EEEEh, first B000 last 5555 Wait 800 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 900 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1000 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1100 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1200 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1300 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1400 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1500 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Wait 1600 cycles after the DMA ended: 32 of 32 halfwords written, 0 still EEEEh, first B000 last B01F Start address one 8 byte unit past a block (spuenv END's S4+8 case): tone T on voice 1, pitch 1000h, start and repeat as given; the voice 1 capture buffer. Start 40C0h (the block), 66 changes in 256: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Start 40C1h (one unit in), 255 changes in 256: 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 Done.