mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
80 lines
2.7 KiB
C
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
|