gpt4 book ai didi

c - 获取 Game Boy ROM 镜像

转载 作者:行者123 更新时间:2023-11-30 19:03:29 24 4
gpt4 key购买 nike

我已经开始用C语言为Game Boy开发一个非常简单的模拟器,我已经研究了Z80的CPU和相关的操作码,但我脑子里有一个问题我从未找到答案。当我使用打开 ROM 镜像时fopen(文件名,“rb”)如何获得要模拟的指令?我尝试过这样做: fp = fopen(filename,"rb"); fread(buf,sizeof(buf),1,fp);但我不知道Game Boy的ROM是如何构造的。有人可以解释一下如何从ROM中获取指令及其结构吗?

最佳答案

盒式 ROM 执行始终从偏移量 0x100 开始。编写模拟器时,您有两种方法来实现:

  1. 执行真正的gameboy boot ROM,它将跳转到卡带ROM中的0x100处完成执行
  2. 自己用值填充所有寄存器。引导 ROM 完成后,CPU 和各种其他设备的寄存器将保留特定值。您可以手动设置它们并自行从0x100开始执行盒式ROM。这样你甚至不需要启动 ROM。您可以在 Gameboy CPU 手册中找到这些值。

关于c - 获取 Game Boy ROM 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53970067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com