Unpredictable Things | Contents Index | Prev Next |
Address Content W.8bit W.16bit W.32bit 00000000h-00xFFFFFh Main RAM OK OK OK 1F800000h-1F8003FFh Scratchpad OK OK OK 1F801000h-1F801023h MEMCTRL (w32) (w32) OK 1F80104xh JOY_xxx (w16) OK CROP 1F80105xh SIO_xxx (w16) OK CROP 1F801060h-1F801063h RAM_SIZE (w32) (w32) OK (with crash) 1F801070h-1F801077h IRQCTRL (w32) (w32) OK 1F8010x0h-1F8010x3h DMAx.ADDR (w32) (w32) OK 1F8010x4h-1F8010x7h DMAx.LEN OK OK OK 1F8010x8h-1F8010xFh DMAx.CTRL/MIRR (w32) (w32) OK 1F8010F0h-1F8010F7h DMA.DPCR/DICR (w32) (w32) OK 1F8010F8h-1F8010FFh DMA.unknown IGNORE IGNORE IGNORE 1F801100h-1F80110Bh Timer 0 (w32) (w32) OK 1F801110h-1F80111Bh Timer 1 (w32) (w32) OK 1F801120h-1F80112Bh Timer 2 (w32) (w32) OK 1F801800h-1F801803h CDROM OK ? ? 1F801810h-1F801813h GPU.GP0 ? ? OK 1F801814h-1F801817h GPU.GP1 ? ? OK 1F801820h-1F801823h MDEC.CMD/DTA ? ? OK 1F801824h-1F801827h MDEC.CTRL ? ? OK 1F801C00h-1F801E7Fh SPU (i16) OK OK 1F801E80h-1F801FFFh SPU.UNUSED IGNORE IGNORE IGNORE 1F802020h-1F80202Fh DUART OK ? ? 1F802041h POST OK ? ? FFFE0130h-FFFE0133h CACHE.CTRL (i32) (i32) OK |
OK works (w32) write full 32bits (left-shifted if address isn't word-aligned) (w16) write full 16bits (left-shifted if address isn't halfword-aligned) (i32) write full 32bits (ignored if address isn't word-aligned) (i16) write full 16bits (ignored if address isn't halfword-aligned) CROP write only lower 16bit (and leave upper 16bit unchanged) |
FFFE0130h-FFFE0133h 8bit (+16bit?) read works ONLY from word-aligned address |
00800000h ;-when Main RAM configured to end at 7FFFFFh 1F080000h 780000h ;-when Expansion 1 configured to end at 7FFFFh 1F800400h C00h ;-region after Scratchpad 1F801024h 1Ch ;\ 1F801064h 0Ch ; 1F801078h 08h ; 1F801140h 6C0h ; gaps in I/O region 1F801804h 0Ch ; 1F801818h 08h ; 1F801828h 3D8h ;/ 1F802080h 3FDF80h ;-when Expansion 2 configured to end at 7Fh 1FC80000h 60380000h ;-when BIOS ROM configured to end at 7FFFFh C0000000h 1FFE0000h ;\ FFFE0020h E0h ; gaps in KSEG2 (cache control region) FFFE0140h 1FEC0h ;/ |
1F80108Ch+N*10h - D#_CHCR Mirrors - (N=0..6, for DMA channel 0..6) |
1F801062h (2 bytes) ;\ 1F801072h (2 bytes) ; unused addresses in Memory and Interrupt Control area 1F801076h (2 bytes) ;/ 1F801102h (2 bytes) ;\ 1F801106h (2 bytes) ; unused addresses in Timer 0 area 1F80110Ah (6 bytes) ;/ 1F801112h (2 bytes) ;\ 1F801116h (2 bytes) ; unused addresses in Timer 1 area 1F80111Ah (6 bytes) ;/ 1F801122h (2 bytes) ;\ 1F801126h (2 bytes) ; unused addresses in Timer 2 area and next some bytes 1F80112Ah (6 bytes) ; 1F801130h (16 bytes) ;/ 1F801820h (4 bytes) ;-read MDEC Data-Out port (if there is no data) FFFE0000h (32 bytes) ;\ FFFE0100h (48 bytes) ; unused addresses in Cache control area FFFE0132h (2 bytes) ; (including write-only upper 16bit of Port FFFE0130h) FFFE0134h (12 bytes) ;/ |
extracted from no$psx v2.2 - homepage - patreon - whole doc htm/txt - copyright 2022 martin korth (nocash) |