ת»»Ϊgb2312±àÂë

This commit is contained in:
2025-07-05 19:47:28 +08:00
parent 8c12c1ffc3
commit 079aa9f868
550 changed files with 13358 additions and 17326 deletions

View File

@@ -2,16 +2,16 @@
#define __NES_MAIN_H
//////////////////////////////////////////////////////////////////////////////////
//本程序移植自网友ye781205NES模拟器工程
//ALIENTEK STM32F407开发板
//NES主函数 代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//创建日期:2014/7/1
//版本:V1.0
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ye781205<EFBFBD><EFBFBD>NESģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ALIENTEK STM32F407<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//NES<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD>@ALIENTEK
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2014/7/1
//<EFBFBD><EFBFBD><EFBFBD>V1.0
//////////////////////////////////////////////////////////////////////////////////
#define NES_SKIP_FRAME 2 //定义模拟器跳帧数,默认跳2帧
#define NES_SKIP_FRAME 2 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><><C4AC><EFBFBD><EFBFBD>
#define INLINE static inline
@@ -25,7 +25,7 @@
//nes信息头结构体
//nes<EFBFBD><EFBFBD>Ϣͷ<EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
unsigned char id[3]; // 'NES'
@@ -37,32 +37,32 @@ typedef struct
unsigned char reserved[8];
}NES_header;
extern u8 nes_frame_cnt; //nes帧计数器
extern int MapperNo; //map编号
extern int NES_scanline; //扫描线
extern NES_header *RomHeader; //rom文件头
extern u8 nes_frame_cnt; //nes֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern int MapperNo; //map<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern int NES_scanline; //ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern NES_header *RomHeader; //rom<EFBFBD>ļ<EFBFBD>ͷ
extern int VROM_1K_SIZE;
extern int VROM_8K_SIZE;
extern u8 cpunmi; //cpu中断标志 在 6502.s里面
extern u8 cpunmi; //cpu<EFBFBD>жϱ<EFBFBD>־ <20><> 6502.s<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern u8 cpuirq;
extern u8 PADdata; //手柄1键值
extern u8 PADdata1; //手柄1键值
extern u8 lianan_biao; //连按标志
extern u8 PADdata; //<EFBFBD>ֱ<EFBFBD>1<EFBFBD><EFBFBD>ֵ
extern u8 PADdata1; //<EFBFBD>ֱ<EFBFBD>1<EFBFBD><EFBFBD>ֵ
extern u8 lianan_biao; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
#define CPU_NMI cpunmi=1;
#define CPU_IRQ cpuirq=1;
#define NES_RAM_SPEED 0 //1:内存占用小 0:速度快
#define NES_RAM_SPEED 0 //1:<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><EFBFBD>С 0:<3A>ٶȿ<D9B6>
//使用文件名来打开游戏
//ʹ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ
u8 nes_load(u8* pname,void *lcd_addr,int x,int y);
//运行已经加载在内存中的游戏
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>Ϸ
u8 nes_start(u8* file,int fileSize,void *lcd_addr,int x,int y);
void cpu6502_init(void); // cart.s
void run6502(u32); // 6502.s
void cpu6502_init(void); //<EFBFBD><EFBFBD> cart.s
void run6502(u32); //<EFBFBD><EFBFBD> 6502.s
u8 nes_load_rom(void);
void nes_sram_free(void);
u8 nes_sram_malloc(u32 romsize);