dcb/resources/foreign_data.yaml

501 lines
8.6 KiB
YAML

# Expansion region 1
- name: ExpansionRegion1
pos: 0x1f00000
ty:
Marker:
len: 0x80000
kind: Foreign
- name: ExpansionRegion1Header
pos: 0x1f00000
ty:
Marker:
len: 0x100
kind: Foreign
# Scratchpad
- name: Scratchpad
pos: 0x1f800000
ty:
Marker:
len: 0x400
kind: Foreign
# Memory control 1
- name: Expansion1BaseAddress
pos: 0x1f801000
ty: u32
kind: Foreign
- name: Expansion2BaseAddress
pos: 0x1f801004
ty: u32
kind: Foreign
- name: Expansion1DelaySize
pos: 0x1f801008
ty: u32
kind: Foreign
- name: Expansion3DelaySize
pos: 0x1f80100c
ty: u32
kind: Foreign
- name: BIOS_ROM
pos: 0x1f801010
ty: u32
kind: Foreign
- name: SPU_DELAY
pos: 0x1f801014
ty: u32
kind: Foreign
- name: CDROM_DELAY
pos: 0x1f801018
ty: u32
kind: Foreign
- name: Expansion2DelaySize
pos: 0x1f80101c
ty: u32
kind: Foreign
- name: COM_DELAY
pos: 0x1f801020
ty: u32
kind: Foreign
# Peripheral I/O Ports
- name: JOY_DATA
desc: "Joypad / Memory card data"
pos: 0x1f801040
ty: u32
kind: Foreign
- name: JOY_STAT
desc: "Joypad / Memory card status"
pos: 0x1f801044
ty: u32
kind: Foreign
- name: JOY_MODE
desc: "Joypad / Memory card mode"
pos: 0x1f801048
ty: u16
kind: Foreign
- name: JOY_CTRL
desc: "Joypad / Memory card control"
pos: 0x1f80104a
ty: u16
kind: Foreign
- name: JOY_BAUD
desc: "Joypad / Memory card baud-rate"
pos: 0x1f80104e
ty: u16
kind: Foreign
- name: SIO_DATA
desc: "Serial port data"
pos: 0x1f801050
ty: u32
kind: Foreign
- name: SIO_STAT
desc: "Serial port status"
pos: 0x1f801054
ty: u32
kind: Foreign
- name: SIO_MODE
desc: "Serial port mode"
pos: 0x1f801058
ty: u16
kind: Foreign
- name: SIO_CTRL
desc: "Serial port control"
pos: 0x1f80105a
ty: u16
kind: Foreign
- name: SIO_MISC
desc: "Serial port internal register"
pos: 0x1f80105c
ty: u16
kind: Foreign
- name: SIO_BAUD
desc: "Serial port internal baud-rate"
pos: 0x1f80105e
ty: u16
kind: Foreign
# Memory Control 2
- name: Ram_SIZE
pos: 0x1f801060
ty: u32
kind: Foreign
# Interrupt control
- name: I_STAT
desc: Interrupt status register
pos: 0x1f801070
ty: u32
kind: Foreign
- name: I_MASK
desc: Interrupt mask register
pos: 0x1f801074
ty: u32
kind: Foreign
# DMA Registers
- name: DMA_Registers
pos: 0x1f801080
ty:
Marker:
len: 0x80
kind: Foreign
- name: DMA_MDECin
desc: DMA0 channel 0
pos: 0x1f801080
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DMA_MDECout
desc: DMA1 channel 1
pos: 0x1f801090
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DMA_GPU
desc: DMA2 channel 2
pos: 0x1f8010a0
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DMA_CDROM
desc: DMA3 channel 3
pos: 0x1f8010b0
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DMA_SPU
desc: DMA4 channel 4
pos: 0x1f8010c0
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DMA_PIO
desc: DMA5 channel 5, Expansion port
pos: 0x1f8010d0
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DMA_OTC
desc: DMA5 channel 5, Reverse clear OT (GPU)
pos: 0x1f8010e0
ty:
Array:
ty: u32
len: 4
kind: Foreign
- name: DPCR
desc: DMA Control register
pos: 0x1f8010f0
ty: u32
kind: Foreign
- name: DICR
desc: DMA Interrupt register
pos: 0x1f8010f4
ty: u32
kind: Foreign
# Timers / Root counters
- name: Timer0
desc: Dotclock
pos: 0x1f801100
ty: u32
kind: Foreign
- name: Timer1
desc: Horizontal Retrace
pos: 0x1f801110
ty: u32
kind: Foreign
- name: Timer2
desc: 1/8 System clock
pos: 0x1f801120
ty: u32
kind: Foreign
# CDRom Registers
# TODO: Figure out what Index means for these.
- name: CDROM_Registers
pos: 0x1F801800
ty:
Marker:
len: 0x4
kind: Foreign
# GPU Registers
- name: GP0_SEND_OR_GPU_READ
desc: GP0 Sender / GPU Responses
pos: 0x1f801810
ty: u32
kind: Foreign
- name: GP1_SEND_OR_GPU_STAT
desc: GP1 Sender / GPU Status register
pos: 0x1f801814
ty: u32
kind: Foreign
# MDEC Registers
- name: MDEC_CommandParameter_Or_DataResponse_Register
pos: 0x1f801820
ty: u32
kind: Foreign
- name: MDEC_ControlReset_Or_StatusRegister_Register
pos: 0x1f801824
ty: u32
kind: Foreign
# SPU Voice registers
# TODO: Find a better way of expressing this
# interleaved memory layout.
- name: SPU_Voices
pos: 0x1f801c00
ty:
Marker:
len: 0x180
kind: Foreign
# SPU Control registers
- name: SPU_Control_Registers
pos: 0x1f801d80
ty:
Marker:
len: 0x40
kind: Foreign
- name: SPU_MainVolumeLR
pos: 0x1f801d80
ty: u32
kind: Foreign
- name: SPU_ReverbOutputVolumeLR
pos: 0x1f801d84
ty: u32
kind: Foreign
- name: SPU_VoiceKeyOn
pos: 0x1f801d88
ty: u32
kind: Foreign
- name: SPU_VoiceKeyOff
pos: 0x1f801d8c
ty: u32
kind: Foreign
- name: SPU_VoiceChannelFMMode
pos: 0x1f801d90
ty: u32
kind: Foreign
- name: SPU_VoiceChannelNoiseMode
pos: 0x1f801d94
ty: u32
kind: Foreign
- name: SPU_VoiceChannelReverbMode
pos: 0x1f801d98
ty: u32
kind: Foreign
- name: SPU_VoiceChannelOnOffStatus
pos: 0x1f801d9c
ty: u32
kind: Foreign
- name: SPU_SoundRamReverbWorkAreaStartAddress
pos: 0x1f801da2
ty: u16
kind: Foreign
- name: SPU_SoundRamIrqAddress
pos: 0x1f801da4
ty: u16
kind: Foreign
- name: SPU_SoundRamDataTransferAddress
pos: 0x1f801da6
ty: u16
kind: Foreign
- name: SPU_SoundRamDataTransferFifo
pos: 0x1f801da8
ty: u16
kind: Foreign
- name: SPU_CNT
desc: SPU Control Register
pos: 0x1f801daa
ty: u16
kind: Foreign
- name: SPU_SoundRamDataTransferControl
pos: 0x1f801dac
ty: u16
kind: Foreign
- name: SPU_STAT
desc: SPU Status Register
pos: 0x1f801dae
ty: u16
kind: Foreign
- name: SPU_CDVolumeLR
pos: 0x1f801db0
ty: u32
kind: Foreign
- name: SPU_ExternVolumeLR
pos: 0x1f801db4
ty: u32
kind: Foreign
- name: SPU_CurrentMainVolumeLR
pos: 0x1f801db8
ty: u32
kind: Foreign
# SPU Reverb configuration area
- name: SPU_dAPF1
desc: SPU Reverb APF offset 1
pos: 0x1f801dc0
ty: u16
kind: Foreign
- name: SPU_dAPF2
desc: SPU Reverb APF offset 2
pos: 0x1f801dc2
ty: u16
kind: Foreign
- name: SPU_vIIR
desc: SPU Reflection volume 1
pos: 0x1f801dc4
ty: u16
kind: Foreign
- name: SPU_vCOMB1
desc: SPU Comb volume 1
pos: 0x1f801dc6
ty: u16
kind: Foreign
- name: SPU_vCOMB2
desc: SPU Comb volume 2
pos: 0x1f801dc8
ty: u16
kind: Foreign
- name: SPU_vCOMB3
desc: SPU Comb volume 3
pos: 0x1f801dca
ty: u16
kind: Foreign
- name: SPU_vCOMB4
desc: SPU Comb volume 4
pos: 0x1f801dcc
ty: u16
kind: Foreign
- name: SPU_vWALL
desc: SPU Reflection volume 2
pos: 0x1f801dce
ty: u16
kind: Foreign
- name: SPU_vAPF1
desc: SPU Reverb APF volume 1
pos: 0x1f801dd0
ty: u16
kind: Foreign
- name: SPU_vAPF2
desc: SPU Reverb APF volume 2
pos: 0x1f801dd2
ty: u16
kind: Foreign
- name: SPU_mSAME
desc: SPU Reverb same-side reflection address 1 (L/R)
pos: 0x1f801dd4
ty: u32
kind: Foreign
- name: SPU_mCOMB1
desc: SPU Comb address 1 (L/R)
pos: 0x1f801dd8
ty: u32
kind: Foreign
- name: SPU_mCOMB2
desc: SPU Comb address 2 (L/R)
pos: 0x1f801ddc
ty: u32
kind: Foreign
- name: SPU_dSAME
desc: SPU Reverb same-side reflection address 2 (L/R)
pos: 0x1f801de0
ty: u32
kind: Foreign
- name: SPU_mDIFF
desc: SPU Reverb different-side reflection address 1 (L/R)
pos: 0x1f801de4
ty: u32
kind: Foreign
- name: SPU_mCOMB3
desc: SPU Comb address 3 (L/R)
pos: 0x1f801de8
ty: u32
kind: Foreign
- name: SPU_mCOMB4
desc: SPU Comb address 4 (L/R)
pos: 0x1f801dec
ty: u32
kind: Foreign
- name: SPU_dDIFF
desc: SPU Reverb different-side reflection address 2 (L/R)
pos: 0x1f801df0
ty: u32
kind: Foreign
- name: SPU_mAPF1
desc: SPU Reverb APF address 1 (L/R)
pos: 0x1f801df4
ty: u32
kind: Foreign
- name: SPU_mAPF2
desc: SPU Reverb APF address 2 (L/R)
pos: 0x1f801df8
ty: u32
kind: Foreign
- name: SPU_vIN
desc: SPU Reverb input volume (L/R)
pos: 0x1f801dfc
ty: u32
kind: Foreign
# SPU internal registers
- name: SPU_VoiceCurrentVolumeLR
desc: Voices current volume
pos: 0x1f801e00
ty:
Array:
ty: u32
len: 24
kind: Foreign
- name: SPU_Unknown2
pos: 0x1f801e60
ty:
Marker:
len: 0x20
kind: Foreign
- name: SPU_Unknown3
pos: 0x1f801e80
ty:
Marker:
len: 0x180
kind: Foreign
# TODO: Expansion region 2
# BIOS Region
- name: BIOS
pos: 0x1fc00000
ty:
Marker:
len: 0x80000
kind: Foreign
# Others
- name: cur_prng_value
desc: Current prng value
pos: 0x801ddc10
ty: u32
kind: Known
- name: HeapStart
desc: Start of the heap
pos: 0x801ddf38
ty: u32
kind: Known