Note that in "boot" state, the entire sys space is always enabled, which has the result of placing the prom addresses at 0. It puts almost everything else at lower addresses too, so boot should be turned off as soon as possible in the ROM code.
Here is the "sys0" block
3000_0000 Prom 0 3000_8000 Prom 1 3001_0000 Prom 2 3001_8000 Prom 3 (absent) 3080_0000 MBUT (8 bits) 3100_0000 MLOC (16 bits) 3180_0000 Switch (16 bits) 3200_0000 UART0 3280_0000 UART1 3300_0000 SRAMNow that I have read out the decode PALs I can augment the above:
3000_0000 sys0 block (the above) 3400_0000 sys1 block 3800_0000 sys2 block 3C00_0000 sys3 block
So, here is the sys1 block
3400_0000 clkctrl 3500_0000 clock 3600_0000 kbase 3700_0000 -- not used
The all important status register is the first thing is sys2 The ctrl register comes next.
3800_0000 status (16 bits) 3900_0000 ctrl (8 bits) 3a00_0000 mbprot (8 bits) 3b00_0000 mapInterestingly, 8 bit devices get connected to D31-D24 on the data bus. Also 16 bit devices get connected to D31-D16. It seems odd, but it is correct as per the 68020 manual.
Lastly, here is sys3:
3c00_0000 tdbase 3d00_0000 tdlimit 3e00_0000 sbase 3f00_0000 slimit
To work out multibus access addresses, we need to go up a layer and look at U72, the segment0 PAL. Tentatively, it looks like this:
4000_0000 mbusreq 5000_0000 mbusioFull details require the U27 PAL. Note that the above are each 256M address ranges.
Tom's Computer Info / [email protected]