本项目提供步步高电子词典系列产品的模拟器实现,包括BA4988模拟器和gam4980 libretro核心。
步步高电子词典在中国教育电子产品历史上占有重要地位,本项目通过逆向工程和模拟器技术,让这些经典设备能够在现代计算机和游戏机上重新运行。
- BA4988模拟器 - Windows平台的步步高A系列电子词典模拟器
- gam4980 libretro核心 - 跨平台的步步高朗文4980电子词典libretro核心
- 完整的6502 CPU模拟
- 支持原版ROM文件运行
- libretro核心支持多平台(RetroArch)
- 优化的性能(使用computed goto和宏优化)
- 支持ARM设备交叉编译
- BA4988模拟器:Windows系统,Visual Studio 2019或更高版本
- gam4980核心:支持C11标准的编译器,或Zig构建工具
从实际设备导出以下ROM文件:
8.BIN- 字体ROM(地址范围:0x800000-0x9fffff)E.BIN- 系统ROM(地址范围:0xe00000-0xffffff)
将文件放置在RetroArch的系统目录下:
~/.config/retroarch/system/gam4980/
├── 8.BIN
└── E.BIN
BA4988模拟器需要以下数据文件(已包含在bbk_c/BA4988/目录中):
4988.flash- Flash ROM4988.font- 字体文件- 多个
.DAT文件 - 游戏和应用数据
./scripts/build-ios.sh./scripts/clean.shcd gam4980/build
zig build -Doptimize=ReleaseFastcd gam4980/src
gcc -std=c11 -Wall -O3 -fpic -shared -o gam4980_libretro.so libretro.cMiyoo设备:
cd gam4980/build
./build-miyoo.shARM v7设备(使用Docker):
cd gam4980/build
./build-armv7-dockcross.ps1使用Visual Studio打开bbk_c/BA4988/BA4988.sln,选择Release配置进行构建。
- 将编译好的
gam4980_libretro.so(或.dll)复制到RetroArch的核心目录 - 确保ROM文件已放置在正确的系统目录
- 在RetroArch中加载核心并选择游戏ROM
- 编译生成
BA4988.exe - 确保所有
.DAT文件和配置文件在同一目录 - 运行可执行文件
bbk4988/
├── scripts/ # 构建和管理脚本
│ ├── build-ios.sh # iOS构建和签名脚本
│ ├── clean.sh # 项目清理脚本
│ └── fix_*.sh # 各种修复脚本
│
├── docs/ # 项目文档
│ ├── ios/ # iOS相关文档
│ ├── QUICK_FIX.md # 快速修复指南
│ └── complete_frameworks_list.txt # 完整框架列表
│
├── ios/RetroArch-1.21.0/ # iOS RetroArch集成版本
│
├── bbk_c/ # BA4988模拟器
│ └── BA4988/ # Windows平台模拟器源码和资源
│ ├── BA4988.cpp # 主程序
│ ├── *.DAT # ROM和数据文件
│ └── 4988.ini # 配置文件
│
├── gam4980/ # gam4980 libretro核心
│ ├── src/ # 源代码
│ │ ├── libretro.c # libretro接口实现
│ │ ├── s6502.c # 6502 CPU模拟器
│ │ └── libretro.h # libretro API定义
│ ├── build/ # 构建脚本
│ └── retroarch/ # RetroArch相关文件
│
├── CLAUDE.md # AI辅助开发指南
└── README.md # 项目说明文档
- 基于6502处理器架构
- 使用vrEmu6502库,通过computed goto和宏进行优化
- 支持完整的6502指令集
0x00200000 - 0x003fffff Flash区域
0x00800000 - 0x009fffff 字体区域
0x00e00000 - 0x00ffffff 系统区域
SWAP_LCD_WIDTH_HEIGHT- 交换LCD宽高以适配特定设备(如RG28XX)
BA4988模拟器包含调试功能,可通过配置文件4988.ini设置:
[DEBUG]
BaseAdr = 00F80000
NumOfBank = 4欢迎贡献代码、报告问题或提出建议!
- Fork本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启Pull Request
- 遵循现有代码风格
- 提交前进行充分测试
- 更新相关文档
- 不要提交受版权保护的ROM文件
- gam4980原始仓库:https://codeberg.org/iyzsong/gam4980.git
- BA4988模拟器:https://gitee.com/BA4988/BBK-simulator(作者:无云)
- bbk_c(BA4988模拟器):GPL v2
- gam4980 libretro核心:GPL v3
详见各目录下的LICENSE文件。
- 本项目仅供学习和研究使用
- 使用本模拟器需要合法获得的ROM文件
- 请勿用于商业用途
- 步步高是步步高电子工业有限公司的注册商标
如有问题或建议,请通过以下方式联系:
- 提交Issue到本仓库
- Pull Request欢迎
本项目致力于保存和研究中国电子词典的技术历史