资源简介

基于STM32F103的NES(FC)模拟器

资源截图

代码片段和文件信息

#include “nes_main.h“
#include “joypad.h“
#include “usart.h“   // 串口
#include “key.h“
//////////////////////////////////////////////////////////////////////////////////  
//我的 STM32开发板
//NES模拟器手柄 代码    
//修改日期:2012/10/3
//版本:V1.0           
//////////////////////////////////////////////////////////////////////////////////     

u8  JOY_key=0xFF;
JoyPadType JoyPad[2];

u8 NES_GetJoyPadVlaue(int JoyPadNum)   //  得到手柄脉冲
{
u8 retval = 0;
if(JoyPadNum==0)
{  
        retval=(JOY_key>>JoyPad[0].index)&0X01;
        if(JoyPad[0].index==20)retval=1;//20位表示控制器在位.
// printf(“\r\n 按键: %d“retval);  //我写的代码 测试用  
JoyPad[0].index++;
}
  return retval;
}
//读取手柄按键值.
//FC手柄数据输出格式:
//每给一个脉冲输出一位数据输出顺序:
//A->B->SELECT->START->UP->DOWN->LEFT->RIGHT.
//总共8位对于有C按钮的手柄按下C其实就等于A+B同时按下.
//按下是0松开是1.  
//[0]:右  0--->7
//[1]:左
//[2]:下
//[3]:上
//[4]:Start
//[5]:Select
//[6]:B
//[7]:A
void NES_JoyPadReset(void)
{
JoyPad[0].state = 1;
    JoyPad[0].index = 0;
 // JOY_key=0xFF-((右  <<7)|(左  <<6)|(下  <<5)|(上  <<4)|Start<<3)|Select<<2)|(B  <<1)|A   );
JOY_key=0xFF-((KEY5<<7)|(KEY3<<6)|(0X01<<5)|(0X01<<4)|(KEY1<<3)|(KEY2<<2)|(0X01<<1)|KEY4);
// JOYPAD_LAT=1;//   锁存一下
//  JOYPAD_LAT=0;

JoyPad[1].state = 1;
    JoyPad[1].index = 0;
}

void NES_JoyPadInit(void)
{
JoyPad[0].state = 0;//状态为0表示禁止
    JoyPad[0].index = 0;
JoyPad[0].value = 1 << 20;

JoyPad[1].state = 0;
    JoyPad[1].index = 0;
JoyPad[1].value = 1 << 19;
}

void NES_JoyPadDisable(void)
{   
}













 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      32060  2012-12-24 16:47  NES\6502.C

     文件       2846  2012-01-17 10:20  NES\6502.H

     文件       1689  2012-12-03 17:26  NES\joypad.c

     文件        490  2012-11-24 21:08  NES\joypad.h

     文件       1229  2011-12-10 20:45  NES\Mapper.c

     文件        772  2011-12-10 20:43  NES\Mapper.h

     文件        471  2011-12-09 12:31  NES\Mapper002.h

     文件        302  2011-08-04 00:21  NES\nes_datatype.h

     文件       4846  2012-12-24 16:41  NES\nes_main.c

     文件       1611  2012-11-25 13:45  NES\nes_main.h

     文件     464534  2012-11-22 12:14  NES\nes_rom.c

     文件        528  2012-11-22 19:48  NES\nes_rom.h

     文件      25694  2012-11-25 13:44  NES\PPU.c

     文件       3724  2012-01-17 10:20  NES\PPU.h

     文件       1989  1997-01-24 15:13  NES\README.TXT

     文件     253597  2011-06-10 02:23  NES\rom_mario.c

     目录          0  2012-12-24 22:42  NES

     文件       5923  2012-12-24 15:26  NESplay\nesplay.c

     文件        546  2012-11-25 13:38  NESplay\nesplay.h

     目录          0  2012-12-24 22:42  NESplay

----------- ---------  ---------- -----  ----

               802851                    20


评论

共有 条评论