📄 poseidon.h
字号:
#define kMemBank1ColSel2 0x00000200
#define kMemBank1ColSel1 0x00000100
#define kMemBank1ColSel0 0x00000000
#define kMemBank1ColSelShift 8
/***** Values for kMemBank0ColSelMask field *****/
#define kMemBank0ColSel9 0x00000090
#define kMemBank0ColSel8 0x00000080
#define kMemBank0ColSel7 0x00000070
#define kMemBank0ColSel6 0x00000060
#define kMemBank0ColSel5 0x00000050
#define kMemBank0ColSel4 0x00000040
#define kMemBank0ColSel3 0x00000030
#define kMemBank0ColSel2 0x00000020
#define kMemBank0ColSel1 0x00000010
#define kMemBank0ColSel0 0x00000000
#define kMemBank0ColSelShift 4
/***** Memory Configuration Register 1 Equates (PoseidonModule.memoryConfiguration1) *****/
#define kMemMcs3AccVal1Mask 0xf0000000 /* 31:28 */
#define kMemMcs3AccVal2Mask 0x0f000000 /* 27:24 */
#define kMemMcs2AccVal1Mask 0x00f00000 /* 23:20 */
#define kMemMcs2AccVal2Mask 0x000f0000 /* 19:16 */
#define kMemMcs1AccVal1Mask 0x0000f000 /* 15:12 */
#define kMemMcs1AccVal2Mask 0x00000f00 /* 11:8 */
#define kMemMcs0AccVal1Mask 0x000000f0 /* 7:4 */
#define kMemMcs0AccVal2Mask 0x0000000f /* 3:0 */
#define kMemMcs3AccVal1Shift 28
#define kMemMcs3AccVal2Shift 24
#define kMemMcs2AccVal1Shift 20
#define kMemMcs2AccVal2Shift 16
#define kMemMcs1AccVal1Shift 12
#define kMemMcs1AccVal2Shift 8
#define kMemMcs0AccVal1Shift 4
#define kMemMcs0AccVal2Shift 0
/***** Memory Configuration Register 2 Equates (PoseidonModule.memoryConfiguration2) *****/
#define kMemCs3AccVal1Mask 0xf0000000 /* 31:28 */
#define kMemCs3AccVal2Mask 0x0f000000 /* 27:24 */
#define kMemCs2AccVal1Mask 0x00f00000 /* 23:20 */
#define kMemCs2AccVal2Mask 0x000f0000 /* 19:16 */
#define kMemCs1AccVal1Mask 0x0000f000 /* 15:12 */
#define kMemCs1AccVal2Mask 0x00000f00 /* 11:8 */
#define kMemCs0AccVal1Mask 0x000000f0 /* 7:4 */
#define kMemCs0AccVal2Mask 0x0000000f /* 3:0 */
#define kMemCs3AccVal1Shift 28
#define kMemCs3AccVal2Shift 24
#define kMemCs2AccVal1Shift 20
#define kMemCs2AccVal2Shift 16
#define kMemCs1AccVal1Shift 12
#define kMemCs1AccVal2Shift 8
#define kMemCs0AccVal1Shift 4
#define kMemCs0AccVal2Shift 0
/***** Memory Configuration Register 3 Equates (PoseidonModule.memoryConfiguration3) *****/
#define kMemCard2AccValMask 0xf0000000 /* 31:28 */
#define kMemCard1AccValMask 0x0f000000 /* 27:24 */
#define kMemCard2IoAccValMask 0x00f00000 /* 23:20 */
#define kMemCard1IoAccValMask 0x000f0000 /* 19:16 */
#define kMemEnMcs3BurstMask 0x00008000 /* 15 */
#define kMemEnMcs2BurstMask 0x00004000 /* 14 */
#define kMemEnMcs1BurstMask 0x00002000 /* 13 */
#define kMemEnMcs0BurstMask 0x00001000 /* 12 */
#define kMemEnCs3MurstMask 0x00000800 /* 11 */
#define kMemEnCs2burstMask 0x00000400 /* 10 */
#define kMemEnCs1BurstMask 0x00000200 /* 9 */
#define kMemEnCs0BurstMask 0x00000100 /* 8 */
#define kMemCard2WaitEnMask 0x00000080 /* 7 */
#define kMemCard1WaitEnMask 0x00000040 /* 6 */
#define kMemCard2IoEnMask 0x00000020 /* 5 */
#define kMemCard1IoEnMask 0x00000010 /* 4 */
#define kMemCard2AccValShift 28
#define kMemCard1AccValShift 24
#define kMemCard2IoAccValShift 20
#define kMemCard1IoAccValShift 16
#define kWaitStates15 0x0F
#define kWaitStates14 0x0E
#define kWaitStates13 0x0D
#define kWaitStates12 0x0C
#define kWaitStates11 0x0B
#define kWaitStates10 0x0A
#define kWaitStates9 0x09
#define kWaitStates8 0x08
#define kWaitStates7 0x07
#define kWaitStates6 0x06
#define kWaitStates5 0x05
#define kWaitStates4 0x04
#define kWaitStates3 0x03
#define kWaitStates2 0x02
#define kWaitStates1 0x01
#define kWaitStates0 0x00
/***** Memory Configuration Register 4 Equates (PoseidonModule.memoryConfiguration4) *****/
#define kMemEnBank1HDramMask 0x80000000 /* 31 */
#define kMemEnBank0HDramMask 0x40000000 /* 30 */
#define kMemEnArbitrationMask 0x20000000 /* 29 */
#define kMemDisableSnoopMask 0x10000000 /* 28 */
#define kMemClearWriteBusErrIntMask 0x08000000 /* 27 */
#define kMemEnBank1ExtraClkMask 0x04000000 /* 26 */
#define kMemEnBank0ExtraClkMask 0x02000000 /* 25 */
#define kMemEnWatchDogTimerMask 0x01000000 /* 24 */
#define kMemWatchDogValMask 0x00f00000 /* 23:20 */
#define kMemPowerDownMask 0x00010000 /* 16 */
#define kMemEnBank1RefreshMask 0x00008000 /* 15 */
#define kMemEnBank0RefreshMask 0x00004000 /* 14 */
#define kMemBank1RefreshValMask 0x00003f00 /* 13:8 */
#define kMemBank0RefreshValMask 0x0000003f /* 5:0 */
#define kMemWatchDogValShift 20
#define kMemBank1RefreshValShift 8
#define kMemBank0RefreshValShift 0
#define kRefreshTime15usec 0
#define kRefreshTime60usec 1
#define kRefreshTime90usec 2
#define kRefreshTime120usec 3
#define kRefreshTime150usec 4
#define kRefreshTime180usec 5
#define KWatchDogTime1_7usec 0
#define KWatchDogTime3_4usec 1
#define KWatchDogTime5_2usec 2
#define KWatchDogTime6_9usec 3
#define KWatchDogTime8_6usec 4
#define KWatchDogTime10_3usec 5
#define KWatchDogTime12_0usec 6
#define KWatchDogTime13_8usec 7
#define KWatchDogTime15_5usec 8
#define MEM_WATCHDOG_VAL_TO_MASK(val) (((val) & 0xf) << kMemWatchDogValShift)
#define MEM_BANK1_REFRESH_VAL_TO_MASK(val) (((val) & 0x3f) << kMemBank1RefreshValShift)
#define MEM_BANK0_REFRESH_VAL_TO_MASK(val) (((val) & 0x3f) << kMemBank0RefreshValShift)
/***** Memory Configuration Register 5 Equates (PoseidonModule.memoryConfiguration5) *****/
#define kMemRegion2StartValMask 0xfffffe00 /* 31:9 */
#define kMemRegion2MaskMask 0x0000000f /* 3:0 */
#define kMemRegion2StartValShift 9
/***** Memory Configuration Register 6 Equates (PoseidonModule.memoryConfiguration6) *****/
#define kMemRegion1StartValMask 0xfffffe00 /* 31:9 */
#define kMemRegion1MaskMask 0x0000000f /* 3:0 */
#define kMemRegion1StartValShift 9
/***** Memory Configuration Register 7 Equates (PoseidonModule.memoryConfiguration7) *****/
#define kMemRegion2DestAddrMask 0xfffffe00 /* 31:9 */
#define kMemRegion2DestAddrShift 9
/***** Memory Configuration Register 8 Equates (PoseidonModule.memoryConfiguration8) *****/
#define kMemRegion1DestAddrMask 0xfffffe00 /* 31:9 */
#define kMemRegion1DestAddrShift 9
/***** Video Module Equates *****/
/***** Video Control Register Equates (PoseidonModule.videoControl) *****/
#define kVideoLineCntMask 0xffc00000 /* 31:22 */
#define kVideoLoadDelayMask 0x00200000 /* 21 */
#define kVideoBaudValueMask 0x001f0000 /* 20:16 */
#define kVideoDoneValueMask 0x0000fe00 /* 15:9 */
#define kVideoEnFreezeFrameMask 0x00000100 /* 8 */
#define kVideoBitDepthMask 0x000000c0 /* 7:6 */
#define kVideoDisplaySplitMask 0x00000020 /* 5 */
#define kVideoDisplay8Mask 0x00000010 /* 4 */
#define kVideoDfModeMask 0x00000008 /* 3 */
#define kVideoInverseVideoMask 0x00000004 /* 2 */
#define kVideoDisplayOnMask 0x00000002 /* 1 */
#define kVideoEnVideoMask 0x00000001 /* 0 */
#define kVideoLineCntShift 22
#define kVideoBaudValueShift 16
#define kVideoBitDepthShift 6
/***** Values for kVideoDoneValueMask field *****/
#define kVideoDoneDisableMask 0x0000fe00
#define kVideoDoneEnableMask 0x00000800
/***** Values for kVideoBitDepthMask field *****/
#define kVideoColor8BitMask 0x000000c0
#define kVideoGrey4BitMask 0x00000080
#define kVideoGrey2BitMask 0x00000040
#define kVideoMonoMask 0x00000000
/***** Video Rate & Screen Size Equates (PoseidonModule.videoRateAndScreen) *****/
#define kVideoRateMask 0xffc00000 /* 31:22 */
#define kVideoHorizValueMask 0x001ff000 /* 20:12 */
#define kVideoLineValueMask 0x000003ff /* 9:0 */
#define kVideoRateShift 22
#define kVideoHorizValueShift 12
#define kVideoLineValueShift 0
/***** Video High Buffer Equates (PoseidonModule.videoHighBuffer) *****/
#define kVideoBankMask 0xfff00000 /* 31:20 */
#define kVideoBaseHighMask 0x000ffff0 /* 19:4 */
#define kVideoBankShift 20
#define kVideoBaseHighShift 4
/***** Video Low Buffer & DF Equates (PoseidonModule.videoLowBufferAndDf) *****/
#define kVideoDfValueMask 0xff000000 /* 31:24 */
#define kVideoFrameValueMask 0x00f00000 /* 23:20 */
#define kVideoBaseLowMask 0x000ffff0 /* 19:4 */
#define kVideoDfValueShift 24
#define kVideoBaseLowShift 4
#define kVideoFrameValueDefaultMask 0x00000000
/***** Video Red Palette Equates (PoseidonModule.videoRedPalette) *****/
#define kVideoRedSelectMask 0xffffffff /* 31:0 */
/***** Video Green Palette Equates (PoseidonModule.videoGreenPalette) *****/
#define kVideoGreenSelectMask 0xffffffff /* 31:0 */
/***** Video Blue Palette Equates (PoseidonModule.videoBluePalette) *****/
#define kVideoBlueSelectMask 0x0000ffff /* 15:0 */
/***** Video 2 of 3 Dither Equates (PoseidonModule.videoDither2Of3) *****/
#define kVideoPattern2Of3Mask 0x00000fff /* 11:0 */
/***** Video n of 4 Dither Equates (PoseidonModule.videoDitherNOf4) *****/
#define kVideoPattern3Of4Mask 0xffff0000 /* 31:16 */
#define kVideoPattern2Of4Mask 0x0000ffff /* 15:0 */
#define kVideoPattern3Of4Shift 16
#define kVideoPattern2Of4Shift 0
/***** Video 4 of 5 Dither Equates (PoseidonModule.videoDither4Of5) *****/
#define kVideoPattern4Of5Mask 0x000fffff /* 19:0 */
/***** Video 3 of 5 Dither Equates (PoseidonModule.videoDither3Of5) *****/
#define kVideoPattern3Of5Mask 0x000fffff /* 19:0 */
/***** Video 6 of 7 Dither Equates (PoseidonModule.videoDither6Of7) *****/
#define kVideoPattern6Of7Mask 0x0fffffff /* 27:0 */
/***** Video 5 of 7 Dither Equates (PoseidonModule.videoDither5Of7) *****/
#define kVideoPattern5Of7Mask 0x0fffffff /* 27:0 */
/***** Video 4 of 7 Dither Equates (PoseidonModule.videoDither4Of7) *****/
#define kVideoPattern4Of7Mask 0x0fffffff /* 27:0 */
/***** SIB Module Equates *****/
/***** SIB Size Register Equates (PoseidonModule.sibSize) *****/
#define kSibTelSizeShift 0
#define kSibSoundSizeShift 16
#define kSibTelSizeMask (0x3ffc << kSibTelSizeShift) /* 29:18 */
#define kSibSoundSizeMask (0x3ffc << kSibSoundSizeShift) /* 13:2 */
#define kSibBufferSizeMaxBytes 0x4000 /* 16 KBytes */
#define SIB_TELBUF_BYTES_TO_MASK(bytes) ((((bytes) >> 2) & 0xfff) << kSIBTelSizeShift)
#define SIB_SNDBUF_BYTES_TO_MASK(bytes) ((((bytes) >> 2) & 0xfff) << kSIBSoundSizeShift)
#define SIB_TELBUF_MASK_TO_BYTES(mask) ((((mask) >> kSIBTelSizeShift) & 0xfff) << 2)
#define SIB_SNDBUF_MASK_TO_BYTES(mask) ((((mask) >> kSIBSoundSizeShift) & 0xfff) << 2)
/***** SIB Sound Receive Start Register Equates (PoseidonModule.sibSoundRxStart) *****/
/***** SIB Sound Transmit Start Register Equates (PoseidonModule.sibSoundTxStart) *****/
#define kSibSoundRxStartMask 0xfffffffc /* 31:2 */
#define kSibSoundRxStartShift 2
#define kSibSoundTxStartMask 0xfffffffc /* 31:2 */
#define kSibSoundTxStartShift 2
/***** SIB Telecom Receive Start Register Equates (PoseidonModule.sibTelRxStart) *****/
/***** SIB Telecom Transmit Start Register Equates (PoseidonModule.sibTelTxStart) *****/
#define kSibTelRxStartMask 0xfffffffc /* 31:2 */
#define kSibTelRxStartShift 2
#define kSibTelTxStartMask 0xfffffffc /* 31:2 */
#define kSibTelTxStartShift 2
/***** SIB Control Register Equates (PoseidonModule.sibControl) *****/
#define kSibIrqMask 0x80000000 /* 31 */
#define kSibSF1SoundMonoMask 0x10000000 /* 28 */
#define kSibSF1RightMonoMask 0x08000000 /* 27 */
#define kSibSClkDivMask 0x07000000 /* 26:24 */
#define kSibTel16BitMask 0x00800000 /* 23 */
#define kSibTelDivMask 0x007f0000 /* 22:16 */
#define kSibSound16BitMask 0x00008000 /* 15 */
#define kSibSoundDivMask 0x00007f00 /* 14:8 */
#define kSibSelectTelSF1Mask 0x00000080 /* 7 */
#define kSibSelectSoundSF1Mask 0x00000040 /* 6 */
#define kSibEnableTel 0x00000020 /* 5 */
#define kSibEnableSound 0x00000010 /* 4 */
#define kSibLoopModeMask 0x00000008 /* 3 */
#define kSibEnableSF1Mask 0x00000004 /* 2 */
#define kSibEnableSF0Mask 0x00000002 /* 1 */
#define kSibEnableSib 0x00000001 /* 0 */
/***** Values for kSibSclkDiv field *****/
#define kSibSClkDiv_12 0x7
#define kSibSClkDiv_10 0x6
#define kSibSClkDiv_8 0x5
#define kSibSClkDiv_6 0x4
#define kSibSClkDiv_5 0x3
#define kSibSClkDiv_4 0x2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -