/********************************************************************/ /* IRISモニタプログラム サブルーチン */ /********************************************************************/ #ifndef _IRIS_MON_SUB_H #define _IRIS_MON_SUB_H #include #include "IrisMonTarget.h" #include "IrisMonMacro.h" // 圧縮展開関数型宣言 typedef s32 (* UC_InitFuncp)(const u8 *devicep, void *ramp, const void *paramp); typedef s32 (* UC_TerminateFuncp)(const u8 *devicep); typedef u8 (* UC_ByteStreamFuncp)(const u8 *devicep); typedef u16 (* UC_ShortStreamFuncp)(const u8 *devicep); typedef u32 (* UC_WordStreamFuncp)(const u8 *devicep); // 圧縮展開関数指定 typedef struct { UC_InitFuncp InitFuncp; // 初期化関数 UC_TerminateFuncp TerminateFuncp; // 終了関数 UC_ByteStreamFuncp ByteStreamFuncp; // バイトストリーム読み込み関数 UC_ShortStreamFuncp ShortStreamFuncp; // ハーフワードストリーム読み込み関数 UC_WordStreamFuncp WordStreamFuncp; // ワードストリーム読み込み関数 } UC_InternalFuncp; //--------------------- 汎用サブルーチン ------------------------------- void NotifySubpIntf(u32 param); void WaitSubpIntf(u32 param); void InitCard(void); void ReadCardAsync(void *romp, void *ramp, s32 size, CardCtrlParam *paramp); void ReadCardAsync4Game(void *romp, void *ramp, s32 size, CardCtrlParam *paramp); void ReadCard4Game(void *romp, void *ramp, s32 size, u32 cntParam); void SetCardIntr(void *romp, void *ramp, s32 size, CardIntrWork *ciwp); void SetCardIntr4Game(void *romp, void *ramp, s32 size); void CardIntr(void); void WaitCardIntr(void); u32 ReadCardID4Normal(void); u32 ReadCardID4Game(void); void ChangeCardMode4Normal(void); s32 GetBlockSizeFromCardCnt(CardCnt *paramp); void WaitCardDma(u32 dmaNo); void InitRam(void); void InitReg(void); void DispTegCheck(char *str0, char *str1); void Iris2Agb(void); void reset_cp15(u32 param); void WaitIntr(u32 InitIfClear, u32 IfFlags); void WaitVBlankIntr(void); void CpuSet16_32(const void *srcp, void *destp, u32 dmaCntData); void CpuSetFast32(const void *srcp, void *destp, u32 dmaCntData); void UnPackBits32( u8 *srcp, u32 *destp, UnPackBitsParam *UnPackBitsParamp); void UnCompRLByte( u8 *srcp, u8 *destp); s32 UnCompRLShort(const u8 *srcp, u16 *destp, const void *paramp, const UC_InternalFuncp *ifp); void UnCompLZ77Byte( u8 *srcp, u8 *sestp); s32 UnCompLZ77Short(const u8 *srcp, u16 *ramp, const void *paramp, const UC_InternalFuncp *ifp); s32 UnCompHuffman32(const u8 *srcp, u32 *destp, u8 *tableBufp, const UC_InternalFuncp *ifp); void UnDiffByte2Byte( u8 *Srcp, u8 *Destp); void UnDiffShort2Short(u16 *Srcp, u16 *Destp); #endif // _IRIS_MON_SUB_H