亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gbaemu.h

?? 這是模擬器源代碼
?? H
字號(hào):
#ifndef GBAEMU_HEADER
#define GBAEMU_HEADER

typedef unsigned char  byte;
typedef unsigned short hword;
typedef unsigned long  word;

typedef unsigned char  u8;
typedef unsigned short u16;
typedef unsigned long  u32;

typedef signed char  s8;
typedef signed short s16;
typedef signed long  s32;

#define USER_MODE		0x10
#define FIQ_MODE		0x11
#define IRQ_MODE		0x12
#define SUPERVISOR_MODE	0x13
#define ABORT_MODE		0x17
#define UNDEFINED_MODE	0x1B
#define SYSTEM_MODE		0x1F

#define THUMB_BIT		0x20
#define FIQ_BIT			0x40
#define IRQ_BIT			0x80

#define N_BIT		0x80000000
#define Z_BIT		0x40000000
#define C_BIT		0x20000000
#define V_BIT		0x10000000
#define T_BIT		0x00000020

#define ZFLAG		arm->z_flag
#define NFLAG		arm->n_flag
#define CFLAG		arm->c_flag
#define VFLAG		arm->v_flag

#define DISPCNT		io_ram_u32[0x0]
#define DISPSTAT	io_ram_u16[0x2]
#define BG0CNT		io_ram_u16[0x4]
#define BG1CNT		io_ram_u16[0x5]
#define BG2CNT		io_ram_u16[0x6]
#define BG3CNT		io_ram_u16[0x7]
#define VCOUNT		io_ram_u16[0x3]
#define DM3SAD		io_ram_u32[0x35]
#define DM3SAD_L	io_ram_u16[0x6A]
#define DM3SAD_H	io_ram_u16[0x6B]
#define DM3DAD		io_ram_u32[0x36]
#define DM3DAD_L	io_ram_u16[0x6C]
#define DM3DAD_H	io_ram_u16[0x6D]
#define DM3CNT		io_ram_u32[0x37]
#define DM3CNT_L	io_ram_u16[0x6E]
#define DM3CNT_H	io_ram_u16[0x6F]

#define OPCODE			arm->op
#define OPCODE_T		arm->op_t
#define CPSR			arm->cpsr
#define CONDITION_MASK	(OPCODE>>28)&0xF
#define OPCODE_MASK		((OPCODE&0xFF00000)>>16)|((OPCODE&0xF0)>>4)
#define OPCODE_MASK_T	(OPCODE_T>>6)

#define N_FLAG_SET		(arm->cpsr&0x80000000)
#define Z_FLAG_SET		(arm->cpsr&0x40000000)
#define C_FLAG_SET		(arm->cpsr&0x20000000)
#define V_FLAG_SET		(arm->cpsr&0x10000000)
#define N_FLAG_CLEAR	(!(arm->cpsr&0x80000000))
#define Z_FLAG_CLEAR	(!(arm->cpsr&0x40000000))
#define C_FLAG_CLEAR	(!(arm->cpsr&0x20000000))
#define V_FLAG_CLEAR	(!(arm->cpsr&0x10000000))
#define N_EQU_V_FLAG	(!(N_FLAG_SET^(V_FLAG_SET<<3)))
#define N_NEQ_V_FLAG	(N_FLAG_SET^(V_FLAG_SET<<3))

#define LSL 0
#define LSR 1
#define ASR 2
#define ROR 3

#define POS(i) ( (~(i)) >> 31 )
#define NEG(i) ( (i) >> 31 )

typedef struct BINARY_IMAGE {
	u32 rom_size_u8;
	u32 rom_size_u16;
	u32 rom_size_u32;

}BINARY_IMAGE;

typedef struct ARM7TDMI {
	u32 gp_reg[16];
	u32 cpsr;
	u32 op;
	u16 op_t;
	u32 spsr [0x20];
	u32 state;

	u32 z_flag;
	u32 n_flag;
	u32 c_flag;
	u32 v_flag;

}ARM7TDMI;

BINARY_IMAGE bin;
ARM7TDMI *arm;

u8  *wram_int_u8;	u16 *wram_int_u16;	u32 *wram_int_u32;
u8  *wram_ext_u8;	u16 *wram_ext_u16;	u32 *wram_ext_u32;
u8  *pal_ram_u8;	u16 *pal_ram_u16;	u32 *pal_ram_u32; 
u8  *vram_u8;		u16 *vram_u16;		u32 *vram_u32;
u8  *oam_u8;		u16 *oam_u16;		u32 *oam_u32;
u8  *io_ram_u8;		u16 *io_ram_u16;	u32 *io_ram_u32;
u8  *zero_page_u8;  u16 *zero_page_u16; u32 *zero_page_u32;

u32 *screen;

char *debug_string;
char *debug_str;
char *message_string;
char *operand_string;

u32 new_message;
u32 blit_res_x;
u32 blit_res_y;

u32 (*exec)(void);

u32  (*code_execution   [0xF])(void);
u32  (*opcode_handles   [0x1000])(void);
u32  (*opcode_handles_t [0x400])(void);

void (*io_write_handles	[0x3FF])(void);
void (*debug_handles [0x1000])(u32 op, u32 adress, char *dest);
void (*render_mode [0x8])(void);

char *opcode_strings	[0x1000];
char *opcode_strings_t  [0x400];

static char *condition_strings[] = {"eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", "hi",
									"ls", "ge", "lt", "gt", "le", "", ""};

static char *register_strings[]  = {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8",
						 			"r9", "r10", "r11", "r12", "sp", "lr", "pc"}; 

static char *shift_strings[]     = {"LSL", "LSR", "ASR", "ROR"};

char *cpu_mode_strings [0x20];  

u8  *rom_pages_u8  [0x200];
u16 *rom_pages_u16 [0x200];
u32 *rom_pages_u32 [0x200];

char *dummy_mem; 

u16 *virtual_screen;
u32 translated_palette [0x200];
u32 sprite_sizes_x [0xF];
u32 sprite_sizes_y [0xF];

__declspec(dllexport) int init_gbaemu (void);
__declspec(dllexport) void reset_gbaemu (word pc, char *debug_destination, char *operand_destination);
__declspec(dllexport) int load_bin (char *filename);
__declspec(dllexport) void exec_step ();
__declspec(dllexport) void run_breakpoint (u32 breakpoint);
__declspec(dllexport) void run_frame (void);
__declspec(dllexport) void clean_up (void);

void setup_tables (void);
u8   read_byte (u32 adress);
u16  read_hword (u32 adress);
u32  read_word (u32 adress);
u16  read_aligned_hword (u32 adress);
u32  read_aligned_word (u32 adress);
void write_byte (word adress, byte data);
void write_hword (u32 adress, u16 data);
void write_word (u32 adress, u32 data);

void exec_dma3 (void);

void render_mode0_frame (void);
void render_mode1_frame (void);
void render_mode2_frame (void);
void render_mode3_frame (void);
void render_mode4_frame (void);
void render_mode5_frame (void);
void draw_sprites (u16 priority);
void draw_sprite (u16 a0, u16 a1, u16 a2);

__inline void fill_instruction_pipe (void)  
{
	OPCODE = read_aligned_word (arm->gp_reg [15]);	
	arm->gp_reg [15] += 8;									 			
}   
  
__inline void advance_instruction_pipe (void)
{
	OPCODE = read_aligned_word (arm->gp_reg [15] - 4); 
	arm->gp_reg [15] += 4; 
}

__inline void tfill_instruction_pipe (void)
{
	OPCODE_T = read_hword (arm->gp_reg [15]);
	arm->gp_reg [15] += 4;
}

__inline void tadvance_instruction_pipe (void)
{
	OPCODE_T = read_hword (arm->gp_reg [15] - 2); 
	arm->gp_reg [15] += 2; 
}

#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩av先锋影音电影院| www.日韩在线| 极品少妇xxxx精品少妇| 美腿丝袜在线亚洲一区| 日韩国产欧美在线播放| 蜜桃精品视频在线| 懂色av一区二区三区免费看| 99免费精品视频| 欧美精品精品一区| 国产日韩欧美不卡在线| 亚洲视频一区二区在线| 视频一区视频二区在线观看| 九一九一国产精品| 96av麻豆蜜桃一区二区| 制服丝袜亚洲色图| 国产精品久久777777| 婷婷亚洲久悠悠色悠在线播放| 国产乱人伦偷精品视频免下载| 色综合网色综合| 久久综合av免费| 亚洲午夜精品在线| 不卡一区中文字幕| 精品国免费一区二区三区| 一区二区三区四区视频精品免费| 日本91福利区| 欧美日本视频在线| 亚洲毛片av在线| 不卡视频在线看| 久久精品日韩一区二区三区| 日韩精品福利网| 欧美日韩精品一区二区三区蜜桃 | 亚洲综合免费观看高清完整版在线 | 激情亚洲综合在线| 欧美精品123区| 亚洲va在线va天堂| 欧美日韩免费视频| 一区二区三区四区中文字幕| av成人老司机| 国产精品国产三级国产三级人妇| 高清beeg欧美| 亚洲男人都懂的| 3atv在线一区二区三区| 美女视频黄 久久| 日韩情涩欧美日韩视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美zozozo| 91一区一区三区| 五月综合激情婷婷六月色窝| 日韩一级大片在线| 国产精品系列在线观看| 亚洲精品国产a| 精品久久久久久久久久久久久久久久久| 男人操女人的视频在线观看欧美| 久久久久久97三级| 欧美视频一区二区三区在线观看| 蜜臀av亚洲一区中文字幕| 欧美不卡激情三级在线观看| 91在线精品一区二区三区| 亚洲成人动漫在线免费观看| 欧美一级生活片| 91污在线观看| 精品一区二区三区在线视频| 亚洲精品免费视频| 久久久久久免费网| 欧美一级黄色片| 在线看不卡av| 99久久综合精品| 成人国产在线观看| 国产在线播放一区二区三区| 一区二区在线观看av| 国产精品毛片久久久久久久| 69久久99精品久久久久婷婷| 欧美亚日韩国产aⅴ精品中极品| 国产精一区二区三区| 黑人巨大精品欧美一区| 午夜一区二区三区视频| 亚洲精品免费在线观看| 136国产福利精品导航| 中文字幕不卡在线播放| 中文字幕成人av| 国产精品―色哟哟| 国产精品的网站| 亚洲蜜臀av乱码久久精品| 亚洲欧洲制服丝袜| 亚洲一区在线电影| 五月婷婷久久丁香| 免费看日韩精品| 国产成人精品1024| 99国产一区二区三精品乱码| 91丝袜国产在线播放| 欧美体内she精高潮| 欧美精品高清视频| 2021中文字幕一区亚洲| 国产精品素人视频| 一区二区三区免费看视频| 一区二区久久久久久| 日韩在线卡一卡二| 国产精品影音先锋| 91理论电影在线观看| 欧美日韩高清一区| 精品剧情在线观看| 一区二区三区在线观看视频 | 91视频精品在这里| 欧美一级视频精品观看| 日韩美女视频一区二区| 老司机精品视频一区二区三区| 国产91丝袜在线18| 欧美日韩一区二区三区视频| 久久精品综合网| 午夜精品福利久久久| aa级大片欧美| 国产亚洲欧美中文| 午夜视频久久久久久| 91在线免费视频观看| 精品日韩在线观看| 青青草成人在线观看| 色偷偷88欧美精品久久久| 国产精品丝袜黑色高跟| 国产精品亚洲第一区在线暖暖韩国| 555www色欧美视频| 亚洲观看高清完整版在线观看| 99久久99久久精品免费观看| 欧美国产欧美综合| 岛国一区二区在线观看| 欧美精品一区二区高清在线观看| 亚洲午夜免费电影| 成人高清视频免费观看| 久久先锋资源网| 久久精品国产亚洲高清剧情介绍| 91免费国产视频网站| 国产偷国产偷亚洲高清人白洁 | 亚洲电影第三页| 99国内精品久久| 日韩理论片在线| 99在线精品视频| 中文字幕五月欧美| 国产精品996| 在线播放91灌醉迷j高跟美女 | 久久久久久一二三区| 国产精品91xxx| 国产精品美女久久久久久 | 91网页版在线| 亚洲欧美区自拍先锋| 欧美综合色免费| 日韩精品免费视频人成| 91精品国产免费| 韩日欧美一区二区三区| 国产精品拍天天在线| 色综合天天天天做夜夜夜夜做| 一区二区三区欧美亚洲| 日韩免费电影一区| 99久久免费视频.com| 亚洲高清视频中文字幕| 日韩欧美在线网站| 成人午夜激情片| 亚洲一区二区三区美女| 在线播放中文一区| 麻豆91免费看| 国产亚洲一区二区三区四区| 91色porny蝌蚪| 日韩国产在线观看一区| 国产人伦精品一区二区| 欧美日韩在线免费视频| 国产精品小仙女| 久久国产麻豆精品| 亚洲欧洲日产国码二区| 欧美成人精品二区三区99精品| 99久久综合国产精品| 美女免费视频一区二区| 亚洲国产欧美一区二区三区丁香婷| 欧美精品一区二区久久久| 欧美日韩一区二区三区四区| 亚洲小少妇裸体bbw| 久久精品在这里| 日韩一区二区免费视频| 91免费国产视频网站| 国产成人在线观看| 国产一区二区在线影院| 日韩国产欧美在线播放| 一区二区三区美女| 亚洲欧洲另类国产综合| 国产欧美日韩精品a在线观看| 日韩欧美国产综合一区| 精品久久久久久最新网址| 午夜欧美在线一二页| 亚洲妇女屁股眼交7| 激情偷乱视频一区二区三区| 日本伊人精品一区二区三区观看方式| 一区av在线播放| 亚洲老妇xxxxxx| 日本91福利区| 成人免费高清在线| 成人夜色视频网站在线观看| 91在线你懂得| 欧美一级片在线观看| 国产日韩欧美精品综合| 国产精品视频免费看| 一区二区成人在线视频| 久久精品国产亚洲aⅴ| 久久精品国产久精国产|