364f6d90创建于 2025年10月15日历史提交
文件最后提交记录最后更新时间
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
README

NES游戏模拟器 - 高分辨率版本

这是一个基于jsnes的NES游戏模拟器,支持将原始的256x240分辨率游戏画面放大到高分辨率,适配现代手机屏幕。

功能特性

  • 🎮 支持NES游戏ROM文件
  • 📱 多种手机屏幕分辨率支持 (720p, 1080p, 1440p, 4K)
  • 🎨 两种图像放大算法:
    • 最近邻插值:保持像素艺术风格
    • 双线性插值:平滑效果
  • 🎬 生成高质量GIF动画
  • ⚙️ 灵活的配置系统

安装依赖

npm install jsnes canvas gifencoder

使用方法

  1. 将NES游戏ROM文件放在项目目录中(如 test1.nes
  2. 修改 config.js 文件来调整设置
  3. 运行程序:
    node test.js
    
  4. Ctrl+C 停止录制并生成GIF文件

配置说明

分辨率配置

config.js 中修改 CURRENT_CONFIG 来选择输出分辨率:

CURRENT_CONFIG: '1080p'  // 可选: '720p', '1080p', '1440p', '4k', 'custom'

插值算法

USE_NEAREST_NEIGHBOR: true  // true=像素艺术风格, false=平滑效果

GIF设置

GIF_SETTINGS: {
  repeat: 0,        // 0=循环播放, -1=不循环
  delay: 50,        // 帧延迟(毫秒)
  quality: 10       // 图像质量 (1-20)
}

支持的分辨率

配置名称 分辨率 放大倍数 适用设备
720p 1280x720 2.5x 入门级手机
1080p 1920x1080 4x 主流手机
1440p 2560x1440 5.33x 高端手机
4K 3840x2160 8x 高端设备
custom 1024x768 3x 自定义

输出文件

生成的GIF文件命名格式:

nes_{配置名称}_{算法}_{宽度}x{高度}.gif

例如:nes_1080p_nearest_1920x1080.gif

性能优化建议

  1. 高分辨率性能:4K分辨率会消耗更多内存和CPU,建议在性能较好的设备上使用
  2. 跳帧设置:可以在配置中启用跳帧来提高性能
  3. 质量设置:降低GIF质量可以减小文件大小

注意事项

  • 确保有足够的磁盘空间存储高分辨率GIF文件
  • 高分辨率输出会显著增加文件大小
  • 建议先用较低分辨率测试,确认效果后再使用高分辨率

技术实现

  • 使用Canvas API进行图像处理
  • 实现了最近邻插值和双线性插值算法
  • 支持实时帧缓冲和GIF编码
  • 模块化配置系统便于自定义