Obviously the register at 0x88000000 has something to do with triggering the rendering process. Here is the sequence of DMA transfers for two consecutive frames in dayto2pe. This is in the first tunnel of the medium-level track. In the second frame, the first of a series of texture uploads via VROM are performed (to prepare the haunted house scene). Note that in both cases, 0x88000000 is written twice and apart from the VROM texture upload, the two frames are indistinguishable:
- Code: Select all
Frame 1:
Real3D DMA copy (PC=00002838, LR=000030A4): 001016A0 -> 980010C8, 4
Real3D DMA copy (PC=00002838, LR=000030A4): 001016A4 -> 980010CC, 4
Real3D DMA copy (PC=00002838, LR=000030A4): 001016A8 -> 980010D0, 4
Real3D DMA copy (PC=00002A3C, LR=000030A4): 001A88D4 -> 9802CC2C, 88D8 (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C2358 -> 98038738, 2614 (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C7BA0 -> 9803AD4C, 2F0 (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 0010502C -> 980017F8, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 00105030 -> 980017D4, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 00105034 -> 980017D8, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 00105028 -> 980017D0, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8180 -> 9803B03C, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C81DC -> 9803B098, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8238 -> 9803B0F4, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8294 -> 9803B150, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C82F0 -> 9803B1AC, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C834C -> 9803B208, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C83A8 -> 9803B264, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8404 -> 9803B2C0, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8460 -> 9803B31C, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C84BC -> 9803B378, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8518 -> 9803B3D4, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8574 -> 9803B430, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C85D0 -> 9803B48C, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C862C -> 9803B4E8, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8688 -> 9803B544, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C86E4 -> 9803B5A0, 5C (byte reversed)
Real3D DMA copy (PC=00002A3C, LR=000030A4): 00660010 -> 8E000000, E80
Real3D DMA copy (PC=00002D00, LR=00001A60): 00661D10 -> 8E001D00, 1000
Real3D DMA copy (PC=00002D00, LR=00001A60): 0066AA10 -> 8E00AA00, 120
Real3D DMA copy (PC=00002D00, LR=00001A60): 0066B040 -> 8E00B030, 1260
Real3D DMA copy (PC=00002D00, LR=00001A60): 00662D10 -> 8E002D00, F78
Real3D DMA copy (PC=00002D00, LR=00001A60): 006736B0 -> 8E0136A0, 13C
Real3D DMA copy (PC=00002D00, LR=00001A60): 006742B0 -> 8E0142A0, 320
Real3D DMA copy (PC=00002838, LR=000030A4): 0073EF88 -> 88000000, 4 (byte reversed)
Real3D DMA copy (PC=00002838, LR=000030A4): 0073EF88 -> 88000000, 4 (byte reversed)
Frame 2:
Real3D DMA copy (PC=00002838, LR=000030A4): 001016A0 -> 980010C8, 4
Real3D DMA copy (PC=00002838, LR=000030A4): 001016A4 -> 980010CC, 4
Real3D DMA copy (PC=00002838, LR=000030A4): 001016A8 -> 980010D0, 4
Real3D DMA copy (PC=00002838, LR=000030A4): 0055F2D0 -> 90000000, C (byte reversed)
Real3D VROM texture upload
Real3D DMA copy (PC=00002A3C, LR=000030A4): 001C2358 -> 98038738, 2614 (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C7BA0 -> 9803AD4C, 2F0 (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 0010502C -> 980017F8, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 00105030 -> 980017D4, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 00105034 -> 980017D8, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 00105028 -> 980017D0, 4
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8180 -> 9803B03C, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C81DC -> 9803B098, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8238 -> 9803B0F4, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8294 -> 9803B150, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C82F0 -> 9803B1AC, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C834C -> 9803B208, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C83A8 -> 9803B264, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8404 -> 9803B2C0, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8460 -> 9803B31C, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C84BC -> 9803B378, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8518 -> 9803B3D4, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8574 -> 9803B430, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C85D0 -> 9803B48C, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C862C -> 9803B4E8, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C8688 -> 9803B544, 5C (byte reversed)
Real3D DMA copy (PC=00002D00, LR=00001A60): 001C86E4 -> 9803B5A0, 5C (byte reversed)
Real3D DMA copy (PC=00002A3C, LR=000030A4): 00660010 -> 8E000000, E80
Real3D DMA copy (PC=00002D00, LR=00001A60): 00661D10 -> 8E001D00, 1000
Real3D DMA copy (PC=00002D00, LR=00001A60): 0066AA10 -> 8E00AA00, 120
Real3D DMA copy (PC=00002D00, LR=00001A60): 0066B040 -> 8E00B030, 1260
Real3D DMA copy (PC=00002D00, LR=00001A60): 00662D10 -> 8E002D00, F78
Real3D DMA copy (PC=00002D00, LR=00001A60): 006736B0 -> 8E0136A0, 13C
Real3D DMA copy (PC=00002D00, LR=00001A60): 006742B0 -> 8E0142A0, 320
Real3D DMA copy (PC=00002838, LR=000030A4): 0073EF88 -> 88000000, 4 (byte reversed)
Real3D DMA copy (PC=00002838, LR=000030A4): 0073EF88 -> 88000000, 4 (byte reversed)
But why is it written twice? Hmm... Need to investigate.