game.h
来自「代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考」· C头文件 代码 · 共 105 行
H
105 行
#include "config.h"
typedef struct
{
//video
BYTE TVMode;
//option
BYTE bRunOption;
//osd
BYTE *pRegion0DataStart;
BYTE *pRegion1DataStart;
UINT32 unRegion0Offset;
UINT32 unRegion1Offset;
//audio
BYTE *pPCMStart;
BYTE *pPCMEnd;
int PCMLen;
UINT32 unVolume;
BYTE unVolumeMaxStep;
BYTE unVolumeCurStep;
//game
BYTE *pNESFile;
BYTE bNesFlag; //bit 0 -> 1: use outside option
//bit 1 -> h/v
//bit 2 -> split flag
//bit 3,7 -> decode type
BYTE bNesPrgDataSize;
BYTE bSplitPos;
UINT32 unMemoryLen;
//IR key
BYTE bBreakIrKey[12];
//end status
int iRtsStatus;
}
S_HARDWARE;
//for light-gun function
#define GPIO_PAD1 0
#define GPIO_40 40
enum
{ T_NULL, T_LA, T_LB, T_LC, T_LD, T_LF, T_LC2, T_C3, T_C1, T_M7 };
enum
{ T_H, T_V, T_HV0, T_HV1 };
//error code define
#define BREAK_NES_BY_IR 0x0100
#define BREAK_NES_BY_GAMEPAD 0x0200
#define ERR_NES_FILE_HEADER -1
#define ERR_NES_TR_NO_SUPPORT -2
#define ERR_NES_4SCR_NO_SUPPORT -3
#define ERR_NES_DECODE_NO_SUPPORT -4
#define ERR_CPU_INST -5
#define ERR_OUT_OF_MEMORY -6
//NES_RUN_MODE
#define NES_BREAK_A_START (1<<0) // 0-> is A+B+start
#define NES_GAMEPAD_AB_SWAP (1<<2)
#define NES_CLOCK_SET (1<<5)
#define NES_DEBUG_ON (1<<6)
#define NES_LIGHT_GUN_ON (1<<7)
#ifdef SUPPORT_OLD_NES_DISC
int PlayNesfile(int, UINT32, int);
#else
int PlayNesfile(UINT32, int, UINT32, int);
#endif
#if CONFIG==CONFIG_COMBO_SVCD
#ifdef SUPPORT_BOOMBOX_ESP
#define PARAMETER_START (SDRAM_BASE+(CDDA_OFFSET+MP3_OFFSET_XADD+240*2)*1024)//61+240+240
#else
#define PARAMETER_START (SDRAM_BASE+(240*2)*1024)//240+240
#endif
#if 0
#define NES_DRV_START (SDRAM_BASE+665*1024) //Avoid CD_MOVE Buffer
#define NES_CODE_START (SDRAM_BASE+739*1024) //drv 74k
#else
#define NES_DRV_START (SDRAM_BASE+671*1024) //Avoid CD_MOVE Buffer
#define NES_CODE_START (SDRAM_BASE+745*1024) //drv 74k
#endif
//light-gun
//#define NES_CODE_START (SDRAM_BASE+741*1024) //drv 74k
#define GAME_AUD_START (MP3_CODE_DEF-6)
#define NES_CODE_FREELEN ((GAME_AUD_START-745+1)*1024) //745 is rom code start
#define NES_CODE_LIMIT ((700-6)*1024) //Avoid MP3 Ref0_Chroma for 瓜
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?