===== 06 DMW DMA MIDWAY | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 1F801DAA CHCR, MADR, BCR and DICR polled while a transfer runs: a row each time one changes (t is timer 2's low 16 bits). DICR flags need bit 23 and bit 16+n (dmachannels.txt:184-186); bits 0-6 may give a flag per slice (dmachannels.txt:174-177). SPU write 16 words x 8, CHCR 01000201, DICR 00000000: poll t: CHCR MADR BCR DICR 0 539: 01000201 0011A458 00070010 00000000 3 1646: 01000201 0011A498 00060010 00000000 6 2718: 01000201 0011A498 00050010 00000000 7 3082: 01000201 0011A4D8 00050010 00000000 10 4150: 01000201 0011A518 00040010 00000000 13 5224: 01000201 0011A558 00030010 00000000 16 6280: 01000201 0011A598 00020010 00000000 19 7358: 01000201 0011A5D8 00010010 00000000 23 8708: 00000201 0011A618 00000010 00000000 done after 23 polls SPU write 16 words x 8, CHCR 11000201 (bit 28): poll t: CHCR MADR BCR DICR 0 527: 01000201 0011A458 00070010 00000000 4 1916: 01000201 0011A498 00060010 00000000 7 2982: 01000201 0011A4D8 00050010 00000000 10 4049: 01000201 0011A518 00040010 00000000 13 5117: 01000201 0011A558 00030010 00000000 17 6470: 01000201 0011A598 00020010 00000000 20 7539: 01000201 0011A5D8 00010010 00000000 24 8901: 00000201 0011A618 00000010 00000000 done after 24 polls SPU write 16 words x 8, DICR 00900000 (bit 23, bit 20): poll t: CHCR MADR BCR DICR 0 520: 01000201 0011A458 00070010 00900000 3 1618: 01000201 0011A458 00060010 00900000 4 1982: 01000201 0011A498 00060010 00900000 6 2758: 01000201 0011A4D8 00050010 00900000 10 4109: 01000201 0011A518 00040010 00900000 13 5182: 01000201 0011A558 00030010 00900000 17 6531: 01000201 0011A598 00020010 00900000 20 7599: 01000201 0011A5D8 00010010 00900000 23 8657: 00000201 0011A618 00000010 90900000 done after 23 polls I_STAT bit 3 after: 1 SPU write 16 words x 8, DICR 00900010 (bit 4 too, a flag per slice?): poll t: CHCR MADR BCR DICR 0 523: 01000201 0011A458 00070010 90900010 3 1621: 01000201 0011A458 00060010 90900010 4 1983: 01000201 0011A498 00060010 90900010 6 2766: 01000201 0011A4D8 00050010 90900010 10 4122: 01000201 0011A518 00040010 90900010 13 5184: 01000201 0011A558 00030010 90900010 17 6538: 01000201 0011A598 00020010 90900010 20 7603: 01000201 0011A5D8 00010010 90900010 24 8953: 00000201 0011A618 00000010 90900010 done after 24 polls I_STAT bit 3 after: 1 SPU write 16 words x 8, DICR 00900010, I_STAT bit 3 in the last column: poll t: CHCR MADR BCR I_STAT&8 0 525: 01000201 0011A458 00070010 00000008 4 1910: 01000201 0011A498 00060010 00000008 7 2984: 01000201 0011A4D8 00050010 00000008 10 4040: 01000201 0011A518 00040010 00000008 13 5118: 01000201 0011A558 00030010 00000008 17 6467: 01000201 0011A598 00020010 00000008 20 7542: 01000201 0011A5D8 00010010 00000008 23 8613: 01000201 0011A618 00000010 00000008 24 8979: 00000201 0011A618 00000010 00000008 done after 24 polls SPU read 16 words x 8, CHCR 01000200: poll t: CHCR MADR BCR DICR 0 526: 01000200 0011A458 00070010 00000000 4 1911: 01000200 0011A498 00060010 00000000 7 2979: 01000200 0011A4D8 00050010 00000000 10 4050: 01000200 0011A518 00040010 00000000 13 5117: 01000200 0011A558 00030010 00000000 17 6481: 01000200 0011A598 00020010 00000000 20 7540: 01000200 0011A5D8 00010010 00000000 23 8620: 01000200 0011A618 00000010 00000000 24 8987: 00000200 0011A618 00000010 00000000 done after 24 polls GPU write 16 words x 8 to VRAM, CHCR 01000201: poll t: CHCR MADR BCR DICR 0 545: 01000201 0015B618 00000010 00000000 1 942: 00000201 0015B618 00000010 00000000 done after 1 polls GPU list 8 nodes of 15 NOPs, DICR 00840004 (bit 2, a flag per entry?): list at 116278, nodes 64 bytes apart poll t: CHCR MADR BCR DICR 0 591: 01000401 00FFFFFF 00000000 84840004 1 986: 00000401 00FFFFFF 00000000 84840004 done after 1 polls Done.