模拟器,基于 InfoNES ,作者添加修改以下功能: 1, joypad 真实手柄驱动程序(字符型设备驱动) 2,原始图像只有256*240 ,添加 图像放大算法,这里实现了2种,a, 最近邻插值 b, 双线性插值 (因为2440 速度太慢,采用双线性插值时,大概要3秒算一帧,等以后用 4412 在测试实际效果,本文还会更新) 3,声音支持,原 InfoNES 中,使用 oss 播放声音,添加 使用 alsa 播放支持, 4,LCD显示支持,原 InfoNES 中,使用 Gtk进行显示,作者添…
对比了很多种,开源的 NES 模拟器 VirtuaNES , nestopia , FakeNES , FCEUX , InfoNES , LiteNES 最后决定使用 LiteNES 进行移值,它是由 mynes 移值而来.LiteNES 对 mynes 代码进行整理兼容了 C99 标准,编译时无警告. https://github.com/NJUOS/LiteNES https://github.com/yaglo/mynes LiteNES , mynes  基于 Allegro ,All…
对比了很多种,开源的 NES 模拟器 VirtuaNES , nestopia , FakeNES , FCEUX , InfoNES , LiteNES 最后决定使用 LiteNES 进行移值,它是由 mynes 移值而来.LiteNES 对 mynes 代码进行整理兼容了 C99 标准,编译时无警告. https://github.com/NJUOS/LiteNES https://github.com/yaglo/mynes LiteNES , mynes  基于 Allegro ,All…
小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/delay.h> #include <asm/uaccess.h> #include &…
InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES  的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame ()  WorkFrame 中一直是 0 . 解决的过程很漫长,最终看到 说是 ADS 中 有符号 无符号的问题,但是 这里用的是 makefile 不是 ADS ,试着改了 makefile 加上 CCFLAGS =  -O2 -fsigned-char . 终于有输出了,性能还算不错. InfoNES 源码…
InfoNES 源码中并没有包含 linux 的声音支持. 但提供 wince 和 win 的工程,文件,通过分析,win 的 DirectSound 发声,在使用 linux ALSA 实现. 先使用 DirectSound 模仿写一个 播放 wav 的程序. 为了简单,我这里使用  vc++ 6.0 (vs2015 实在太大了,电脑装上太卡). 新建一个 mfc exe 项目,基于对话框.放一个按钮,双击添加事件. 添加头文件引用#include <mmsystem.h>#pragma c…
先看一下效果图 放大的原理是使用最初级的算法,直接取对应像素法. /*===================================================================*/ /* */ /* InfoNES_System_Linux.cpp : Linux specific File */ /* */ /* 2001/05/18 InfoNES Project ( Sound is based on DarcNES ) */ /* */ /*=========…
小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/delay.h> #include <asm/uaccess.h> #include &…
InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES  的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame ()  WorkFrame 中一直是 0 . 解决的过程很漫长,最终看到 说是 ADS 中 有符号 无符号的问题,但是 这里用的是 makefile 不是 ADS ,试着改了 makefile 加上 CCFLAGS =  -O2 -fsigned-char . 终于有输出了,性能还算不错. InfoNES 源码…
手柄使用的是 CD4021 ,datasheet 上说支持 3V - 15V . 因为手柄是 5V 供电,2440 开发板上是GPIO 3.3V 电平,STM32 GPIO 也是 3.3V (也兼容5V)电平. 所以先在 STM32 上测试能用后,在接到 2440 开发板上. 正好是 8个键值,用来点 8个 LED .按下一个键,就会亮一个灯. c51 : #include <reg52.h> sbit CLK = P2 ^ ; sbit LATCH = P2 ^ ; sbit DAT0 =…