Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论

 找回密码
 加入口袋中心
搜索
查看: 308|回复: 4

金手指(Gameshark)机制原理

[复制链接]

29

回帖

184

现金

4

勋章券

离开家乡的彷徨

Rank: 4Rank: 4

积分
117
发表于 2024-10-10 23:23:39 | 显示全部楼层 |阅读模式
本帖最后由 puro0304 于 2024-10-10 23:23 编辑

这是我从一个介绍GB(C)的网站里面看到的,这个网站看下去真的是收获了一堆GB(C)知识。
看到这里好多使用金手指的玩家,所以就想告诉各位GB(C)金手指是怎么工作的?

以下是该网站地址连接:
https://gbdev.io/pandocs/Specifications.html

金手指都是8位16进制的一串数字/字母,比如美版红蓝的穿墙金手指010138CD这种。
从左到右:
1和2位代表SRAM bank,即使用此金手指会将SRAM切换到bank1,对于宝可梦游戏的SRAM,简单来说就是存档RAM。但金手指一般不会直接修改存档。
3和4位代表新数据,即使用此金手指会在对应的RAM位置写下01.
5678位代表位置,注意GB(C)记录位置都是先小后大的,38CD代表的是CD38。一般金手指写的都是WRAM(工作RAM)区域,也就是C000-DFFF这个区域。
所以总体的来说,就是切换SRAM的bank为01,并把01写入RAM的CD38位置上。


据了解,金手指的机理是通过挂钩原始的VBlank中断处理程序并每帧重写RAM数据来实现的。(或者你可以简单理解为每次GB(C)更新完所有RAM原本的数据就马上被金手指更新为规定的数据)
所以金手指有一个缺点,就是会占用GB(C)的CPU时间。(但现在我们都是用模拟器的,可以忽略这个缺点)还有它不能去修改ROM的程序,因为ROM在RAM里面是无法更改的。
回复

使用道具 举报

15

回帖

79

现金

0

勋章券

口袋学堂外的努力

Rank: 2Rank: 2

积分
38
发表于 2024-10-11 13:09:47 | 显示全部楼层
其实跟外挂一个原理:直接修改内存,而大多数游戏不能通过内存进行对游戏直接修改,所以不能改游戏资源(rom)
有需求发邮箱:htxx34zyx@126.com
什么资源都有
回复 支持 反对

使用道具 举报

15

回帖

79

现金

0

勋章券

口袋学堂外的努力

Rank: 2Rank: 2

积分
38
发表于 2024-10-11 13:10:48 | 显示全部楼层
先小后大...也就是说我先输入密码再开机?
有需求发邮箱:htxx34zyx@126.com
什么资源都有
回复 支持 反对

使用道具 举报

74

回帖

76

现金

2

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
261
发表于 2024-11-10 11:47:09 | 显示全部楼层
本帖最后由 leoxxx 于 2024-11-10 12:26 编辑
htxx34zyx 发表于 2024-10-11 13:10
先小后大...也就是说我先输入密码再开机?


其实是他这个表述有问题。
这里的地址是以小端字节序(Little-Endian)表示。

举例代码:010138CD
01:SRAM bank,通常为01。
01:值。
38CD:地址,以小端字节序(Little-Endian)表示,即CD38。
Big-Endian(大端):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
Little-Endian(小端):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

举个例子:12345678
大端:12 34 56 78
小端:78 56 34 12

个人猜想:整条代码都是以小端字节序表示,即大端字节序的CD380101

在My OldBoy!中Cheat type默认为Auto dectect。输入CD38 01会被自动识别为RAW码,并改为CD3801。
回复 支持 反对

使用道具 举报

74

回帖

76

现金

2

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
261
发表于 2024-11-10 12:29:04 | 显示全部楼层
htxx34zyx 发表于 2024-10-11 13:09
其实跟外挂一个原理:直接修改内存,而大多数游戏不能通过内存进行对游戏直接修改,所以不能改游戏资源(rom)

https://gbdev.io/pandocs/Shark_Cheats.htm
这里提到了Game Genie说是ROM patches。大概类似IPS。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入口袋中心

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2024-11-21 18:27 , Processed in 0.106873 second(s), 39 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表