littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于C语言的HP48 CPU模拟器

项目简介

本项目是名为x48的HP48 CPU模拟器,版本为0.6.4。此模拟器可在无实际HP48计算器的情况下,模拟其CPU运行,给用户带来接近真实的使用体验。不过运行该模拟器需要用户拥有HP48计算器并获取其ROM软件,以避免版权问题。

项目的主要特性和功能

  1. 功能实现:更精确实现CONFIG/UNCNFG功能,支持不同的RAM或ROM卡,新增G/GX支持,含新颜色和新标签。
  2. 性能优化:重写适用于S/SX和G/GX的ROMDump,速度大幅提升。
  3. 错误处理:修正显示和菜单图像的处理问题,避免首次启动时的XShmError;捕获SIGPIPE并保存状态,防止程序意外终止时数据丢失。
  4. 使用便捷:支持简单键盘操作,可通过鼠标模拟按键;支持保存和恢复程序状态,下次启动可继续使用之前内容。
  5. 通信功能:可与外部设备通信,如恢复HP - 48备份数据、与其他HP - 48计算器进行数据传输。

安装使用步骤

安装

  1. 编辑x48 - 0.4.0目录下的config.h文件,配置Makefiles的相关参数,如编译器、编译标志等。
  2. x48 - 0.4.0目录下依次执行以下命令:
    • xmkmf
    • make 编译完成后,x48 - 0.4.0/bin目录下会生成x48dump2romcheckrommkcard程序。

获取ROM文件

  1. 下载romdump/ROMDump文件到HP计算器。
  2. 在计算机上启动kermit,设置线路和速度为9600波特,输入log session,再输入connect
  3. 在HP48 S/SX上输入#0h #7FFFFh ROMDump,在HP48 G/GX上输入#0h #FFFFFh ROMDump,等待数据传输完成。
  4. 完成后,在计算机上输入kermit - Escape(通常为CTRL - \),接着输入C,最后输入quit退出kermit。此时ROM数据存储在session.log文件中。
  5. 运行命令dump2rom session.log,将数据转换为模拟器可读的rom.dump文件。
  6. 使用checkrom rom.dump命令检查文件,如果显示IROM OK: ROM CRC test passed,则表示文件通过检查;否则,需重新传输ROM数据。

运行模拟器

进入ROM文件所在目录,执行以下操作之一: - 直接输入x48。 - 输入x48 -rom <filename>,其中<filename>是包含ROM数据的文件。 首次启动时,程序会读取ROM文件,在提示Try to recover memory?时选择NO。使用鼠标点击模拟器上的按钮进行操作,也可使用键盘进行简单操作。

使用RAM卡

使用mkcard程序创建RAM卡文件,并将其复制到$HOME/.hp48/port1$HOME/.hp48/port2目录下。下次启动模拟器时,程序会自动检测并使用该RAM卡。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】