From Yabause
Jump to: navigation, search

The SCU(System Control Unit) basically acts as a sort of Memory Management Unit for the various chips and RAM in the system. It also contains a rather nice DSP that can be used to handle complex math and DMA transfers between various RAM and registers.

Address Name 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 What's there
0x25FE0000 D0R
0x25FE0004 D0W
0x25FE0008 D0C
0x25FE000C D0AD
0x25FE0010 D0EN
0x25FE0014 D0MD
0x25FE0020 D1R
0x25FE0024 D1W
0x25FE0028 D1C
0x25FE002C D1AD
0x25FE0030 D1EN
0x25FE0034 D1MD
0x25FE0040 D2R
0x25FE0044 D2W
0x25FE0048 D2C
0x25FE004C D2AD
0x25FE0050 D2EN
0x25FE0054 D2MD
0x25FE0060 DSTP
0x25FE0070 DSTA
0x25FE0080 PPAF
0x25FE0084 PPD
0x25FE0088 PDA
0x25FE008C PDD
0x25FE0090 T0C
0x25FE0094 T1S
0x25FE0098 T1MD
0x25FE00A0 IMS
0x25FE00A4 IST
0x25FE00B0 ASR0
0x25FE00B4 ASR1
0x25FE00B8 AREF
0x25FE00C4 RSEL
0x25FE00C8 VER

Indirect DMA notes

The way you set up Indirect DMA is almost the same as regular DMA. You just have to set the DMA mode bit of the DXMD register to 1 instead. And then setup an array storing your transfer count, write address and read address(in that order) and write the address to this array to the DXW register.