PSP Emulator
Jump to navigation
Jump to search
PSP Memory Layout
Address | Size | Comments |
---|---|---|
0x00010000 | 0x4000 | CPU Scratchpad |
0x04000000 | 2 MB/4 MB | VRAM/Framebuffer |
0x08000000 | 64 MB | Main Memory |
0xBC300000 | 0x1000? | Interrupt manager. Used for MIPS <-> Kermit (ARM) communication |
0xBD000000 | 0x1000? | System control |
0xBE140000 | 0xC0000 | LCDC |
0xBFC00000 | 0x1000 | Shared SRAM. Mapped to 0xE8100000 on ARM side
|
Registers
Interrupt manager
Address | Size | Comments |
---|---|---|
0xBC300030 | 4 | Interrupt pending and ack/clear, 1 bit each |
0xBC300038 | 4 | Interrupt enable/mask, 1 bit each |
0xBC300040 | 4 | Interrupt mode for IRQs 0-15, 2 bits each |
0xBC300044 | 4 | Interrupt priority for IRQs 0-15, 2 bits each |
0xBC300048 | 4 | Interrupt mode for IRQs 16-31, 2 bits each |
0xBC30004C | 4 | Interrupt priority for IRQs 16-32, 2 bits each |
0xBC300050 | 4 | Interrupt raise, 1 bit each. Raises SceCompatN ARM interrupt
|
System control
Address | Size | Comments |
---|---|---|
0xBD000000 | 4 | ?? |
0xBD000004 | 4 | ?? |
SceGrab
Address | Size | Comments |
---|---|---|
0xE8300120 | 4 | Paddr of CDRAM base + 1, maps to 0x88000000? |
0xE8300124 | 4 | Paddr of CDRAM base + 0x1000000 + 1 |
0xE8300128 | 4 | Paddr of CDRAM base + 0x2000000 + 1 |
0xE830012C | 4 | Paddr of flash0 in CDRAM (base + 0x3000000) + 1, maps to 0x3000000? |
SceCompatLCDDMA
Address | Size | Comments |
---|---|---|
0xE5071004 | 4 | set 1 when done |
0xE5071024 | 4 | 0xFF0000 |
0xE5071028 | 4 | 0x0 |
0xE5071030 | 4 | some status |
0xE5071034 | 4 | Width pixels |
0xE5071038 | 4 | 0x0 |
0xE507103C | 4 | Hight pixels |
0xE5071040 | 4 | 0x0 |
0xE507104C | 4 | DMA Paddr |
0xE5071078 | 4 | 0x0 |
0xE5071084 | 4 | 0x0 |
0xE5071050 | 4 | 2048 |
0xE5071094 | 4 | 2 |
0xE5071098 | 4 | 1 |
0xE50710C0 | 4 | busy status? (set 0x1000000 when done) |