ntr_bootrom/trunk/IrisMainp/IrisMon/IrisMonSub.h

80 lines
2.7 KiB
C

/********************************************************************/
/* IRISモニタプログラム サブルーチン */
/********************************************************************/
#ifndef _IRIS_MON_SUB_H
#define _IRIS_MON_SUB_H
#include <Iris.h>
#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