B-Em:重温经典,体验80年代的BBC Micro计算机
项目介绍
B-Em是一款开源的模拟器,专门用于模拟80年代由Acorn Computers生产的各种型号的BBC Micro计算机及其第二处理器。该项目支持Win32和Linux/UNIX系统,并且可能适用于其他支持Allegro库的操作系统。B-Em不仅能够准确模拟这些经典计算机的硬件特性,还提供了丰富的功能和改进,使得用户可以在现代操作系统上重温那个时代的计算体验。
项目技术分析
B-Em的技术架构基于Allegro 5.2或更高版本和Zlib库。它通过精确的周期模拟实现了对BBC Micro计算机的全面仿真,包括6502、65816和Z80等处理器,以及多种磁盘和磁带格式。此外,B-Em还支持多种视频输出模式,包括扫描线和行加倍,以及跨平台的键盘映射和调试功能。
主要依赖库
- Allegro 5.2或更高版本:提供图形和输入处理支持。
- Zlib:用于压缩和解压缩数据。
编译环境
- Linux:支持Arch、Debian Stable (stretch)、Ubuntu 17.10等发行版。
- Windows:支持MinGW和MSVC编译器。
项目及技术应用场景
B-Em适用于多种应用场景,包括但不限于:
- 教育与研究:用于计算机历史研究和教育,帮助学生理解早期计算机的工作原理。
- 游戏与娱乐:运行和体验80年代的经典游戏和软件。
- 开发与测试:为开发者提供一个稳定的平台来测试和开发针对BBC Micro的应用程序。
项目特点
全面模拟
- 多型号支持:模拟BBC Micro的多种型号,包括Model A、B、B+、Master 128、Master 512、Master Turbo和Master Compact。
- 第二处理器支持:支持ARM评估系统、6502、65816和Z80等第二处理器。
精确仿真
- 周期精确视频模拟:确保视频输出的准确性。
- 完整指令集支持:支持所有已知和未知的6502指令。
丰富的外设模拟
- 磁盘控制器:模拟8271和1770磁盘控制器,支持多种磁盘格式。
- 磁带支持:支持.uef和.csw磁带格式。
- 声效模拟:包括BeebSID和Hybrid Music System的模拟。
跨平台支持
- Linux和Windows:提供跨平台的支持,确保用户在不同操作系统上都能获得一致的体验。
- 键盘映射:提供跨平台的键盘映射,方便用户在不同系统上使用。
持续开发与改进
- 活跃的开发社区:项目持续活跃,不断有新功能和改进加入。
- 详细的TODO列表:提供未来功能的路线图,帮助用户了解项目的发展方向。
结语
B-Em不仅是一个功能强大的模拟器,更是一个连接过去与现在的桥梁。它让新一代的计算机用户能够体验到80年代的经典计算体验,同时也为历史研究者和开发者提供了一个宝贵的工具。无论你是怀旧爱好者,还是技术探索者,B-Em都值得你一试。
立即访问B-Em的GitHub仓库,开始你的怀旧之旅吧!