Gameboy的ROM校验码计算方法

本文介绍了Gameboy ROM的校验码计算方法,包括0x14D的补码检查和0x14E-0x14F的校验和计算,通过示例代码阐述了如何根据ROM内容生成正确的校验值,确保游戏在硬件上的正确运行。
摘要由CSDN通过智能技术生成

 

“未经验证的一段数据作为代码运行会造成严重后果”,游戏卡带也是一样,因为接触不良或是数据储存芯片出错可能会导致严重的问题,简单的ROM校验可以算是解决这类问题的最简单的手段。任天堂在设计GB的时候也加入了ROM校验,GBSpec是这么描述的:

 

014D       Complement check

           (PROGRAM WON'T RUN ON GB IF NOT CORRECT!!!)

           (It will run on Super GB, however, if incorrect.)

 

014E-014F  Checksum (higher byte first) produced by

           adding all bytes of a cartridge except for two

           checksum bytes and taking two lower bytes of

           the result. (GameBoy ignores this value.)

 

其中0X14D到0X14F就是校验的内容了,尤其是0X014D,要想在实际的硬件上运行是一定要正确的。那么具体这两个值是如何计算的呢?

代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值