📄 sti550xchip.cfg
字号:
include commonchip.cfg
include STi550xaddr.cfg
#######################################################
##
## Set up STi550X register blocks within the MPEG block
##
#######################################################
proc sti550XMPEGRegisters addr=$1 chiptype = $2 {
VideoDecoderRegisters (addr, chiptype)
ConfigurationRegisters (addr, false)
ClockGeneratorRegisters (addr, false)
PESParserRegisters (addr)
SDRAM1DBlockMoveRegisters (addr)
if (chiptype == "5500") {
AudioMPEGRegisters (addr + 0x200, chiptype)
} else {
AudioAC3DecoderRegisters (addr + 0x200)
}
SubPictureDecoderRegisters (addr + 0x400, chiptype)
DigitalEncoder1Registers (addr + 0x600)
}
#######################################################
##
## Set up STi550x peripheral register blocks
##
#######################################################
proc sti550xregisters chiptype=$1 i=0 cycles=5 {
## cycles is the MPEG register speed, in 2-5, which affects the MPEG addresses.
## 5 is the slowest, which should be ok for debugging
sti550XMPEGRegisters (0x00001000 + ((cycles-2) * 0x80), chiptype)
EMIRegisters (Devices[Devices.EMIindex].addr, false, false, chiptype)
DCU2Registers (Devices[Devices.DCU2index].addr)
CacheControl1Registers (Devices[Devices.CACHEindex].addr)
InterruptControllerRegisters (Devices[Devices.INTCTRLindex].addr)
for (i=0;i<Devices.NUMASC;i++) {
AsynchronousSerialControllerRegisters (Devices[Devices.ASCindex+i].addr, i, false, false, chiptype)
}
for (i=0;i<Devices.NUMSCI;i++) {
SmartCardInterfaceRegisters (Devices[Devices.SCIindex+i].addr, i)
}
SynchronousSerialController1Registers (Devices[Devices.SCCindex].addr)
PWMControllerRegisters (Devices[Devices.PWMCTRLindex].addr)
for (i=0;i<Devices.NUMPIO;i++) {
PIOControllerRegisters (Devices[Devices.PIOindex+i].addr, i)
}
InterruptLevelControllerRegisters (Devices[Devices.INTLEVELCTRLindex].addr, Devices[Devices.INTLEVELCTRLNUMINPUTSindex].addr, false, false)
for (i=0;i<Devices.NUMMPEGDMA;i++) {
MPEGDMAControllerRegisters (Devices[Devices.MPEGDMACTRLindex+i].addr, i)
}
TeletextInterfaceRegisters (Devices[Devices.TTindex].addr, false, chiptype)
ChanBlockMoveDMAControllerRegisters (Devices[Devices.ChanBlockMoveindex].addr)
}
proc sti550xchip {
sti550xmemory $*
sti550xregisters $*
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -