Files
P3DS-test/third_party/teakra/src/mmio.md
wheremyfoodat 78002be334 Vendor Teakra, make emulator own DSP RAM and add DSP RAM to fastmem (#806)
* DSP: Own DSP RAM and add it to fastmem

* Vendor Teakra

* Add MacOS support to fastmem

* Fix MacOS fastmem paths

* Fix iOS build
2025-08-22 02:12:21 +03:00

1.3 KiB

MMIO

The core processor communicates with peripherals (and indirectly external hardware such as CPU) via MMIO. The MMIO region occupies 0x0800-word region in the 16-bit address space, initially starting at 0x8000. The location of MMIO region can be configured in MIU (...yes, via MMIO). MMIO registers usually use even addresses only, which seems to be a hardware optimization as there is a register in MIU that enables forcing this rule. Each peripheral corresponds to a sub-region in MMIO, listed below. The detail of registers are in their corresponding peripheral documents. The register addresses in these documents are offsets to the start of the MMIO region.

  • +0x0000 ?
  • +0x0004 JAM
  • +0x0010 GLUE
  • +0x0020 Timer
  • +0x0050 SIO, Serial IO
  • +0x0060 OCEM, On-chip Emulation Module
  • +0x0080 PMU, Power Management Unit
  • +0x00C0 APBP, Advanced Peripheral Bus Port?
  • +0x00E0 AHBM, Advanced High Performance Bus Master
  • +0x0100 MIU, Memory Interface Unit
  • +0x0140 CRU, Code Replacement Unit
  • +0x0180 DMA, Direct Memory Access
  • +0x0200 ICU, Interrupt Control Unit
  • +0x0280 BTDMP, Buffered Time Division Multiplexing Port