fx-991CN X(VerC)自由拼图教程
屿の风
编辑于 2024年02月09日 17:59

原文:tieba.baidu.com/p/8876780676(具体程序实现)

tieba.baidu.com/p/8873639356(程序写入)

本教程仅在原文基础上作详细展开(因为原文太难懂了呜呜)

本教程字数4000+,虽然如此,也请各位看官耐心看完

看前须知(f吧大佬请自行跳过)

因为本教程中含有大量计算器术语,所以在这里统一说明一下:

关于字符及对应的十六进制代码见tieba.baidu.com/p/7126603316(坟贴勿回)

xxx(数字)an模式:指在线性模式下,an前加xxx个字符后,按等于后进入的异常模式。

比如124an就是在线性模式下,an前加124个字符(科学常数、单位换算除外)后,按等于后进入的异常模式。

若无特殊说明,刷不可刷字符所用的大写A~F均为十六进制字符(粗体A~F)。


具体教程

看前提醒:请将你的计算器复位并调至线性模式

本教程操作均在普通计算模式下进行


1.进入124an模式(主要是给萌新准备的,大佬请无视)

依次进行如下操作:

1 shift 8 下 2 7 = 上 左 shift 8 下 2 6 左 左 右 shift .(Ran#) 左 . del 左 右 shift .(Ran#​) 右 del del 右 左 1 del del

此时屏幕中会出现1个字符“an”,将光标移至最左侧,打100个数字,+,打23个数字,等于。此时即进入124an模式。

如果你执行过拼图的程序,且没有重新安装过电池,那么步骤2~4可以直接跳过。


2.将quickcpy程序注入内存中的指定片段

进入124an模式后,我们需要一些操作来注入quickcpy程序。

这是需要注入的字符的十六进制代码(以下简称为表(1)),冒号前的4位十六进制代码表示需要注入的地址,冒号后的表示需要刷的字符,其中方括号括起来的字符为不可刷字符,即无法使用键盘直接输入的字符。

那么,有没有一种方法,能够把这些不可刷字符刷出来呢?

答案:当然是有的,只不过需要利用字符转换器。

这张表以下简称为表2

就以第一行的字符为例,我们将需要字符转换器转换的字符保留下来,写成如下形式:@DAD@

然后,我们进行如下操作:1 shift 8 下 2 7 等于 上 左 shift 7 4 9 左 左 右 shift 7 3 (-) 左 . del 左 右 shift 7 3 7 左 . del 左 右 shift 7 3 (-) 左 . del 左 右 shift 7 4 8 左 . del 左 右 del del

此时屏幕会出现预期的字符。之后,补充字符,直到变成第一行的形式。

注意:在使用字符转换器时,刷出的字符的先后顺序为从右向左。

细心的同学可以发现,在刷两个@时,我们采用了不同的刷法:

其中左边的@的刷法是shift 7 4 8,右边的@的刷法是shift 7 4 9,其实的确是这样,这是因为两个@的效果不同,我们可以利用这两个@来确保刷出尽量多的字符。

(注意:在这一步中刷不可刷字符时,左边的@的刷法一律为shift 7 4 8,右边的@的刷法一律为shift 7 4 9)

如果需要刷出16进制的A~F,我们可以使用如下刷法:

A: shift 7 3 7 ; B: shift 7 3 8 ; C: shift 7 3 9

D: shift 7 3 (-); E: shift 7 3 °’”; F: shift 7 3 x-¹(负一次方打不出来,只能这样写了)

将字符补成第一行的形式之后,按CALC,=,=,=,上,这时你的计算器会显示如下的字符:

删掉3个空格(因为在进行第5行的操作时需要保留一个空格,注意每个空格约占普通字符长度的1/3,但会使光标偏移1个普通字符长度),并将其补充成如下形式:(第一个k前需要垫48个数字)

按等于,此时计算器不会有明显的反应(不是卡死)。

于是,需要注入内存的quickcpy程序中第一行(暂且这样称呼)的操作就这样完成了。按AC键,然后进行下一步操作,此时按照表2中下一行(如果你刚才完成了第一行的操作,那么下一行就是第二行,以此类推)的刷法刷不可刷字符,并补充成如下形式:

(48个数字)k010#! ┘▸t00xnor²cosh-¹()008@20003:(后面是表1中对应行的十六进制代码所对应的字符,例如2e对应着小数点“.”)

(补充,不懂的可以跳过)当然,一般的,之后在使用相同程序时,我们都可以使用以下方法在124an模式下复制字符串:(48个数字)E2 30 31 30 (目标地址) C8 D1 30 30 A2 D5 70 D0 30 30 38 1D 32 30 30 30 33 23(需要复制的字符串),其中目标地址需要将低位放在前面,将高位放在后面,如:你要写入的地址是D234,那么在使用strcpy时使用的目标地址就是34 D2

#为你在这一行使用@所刷的不可刷字符中的第一个字符。如你在刷第二行时,#所代表的字符就是0x28(又是@😡所以卡西欧的计算器中到底有多少字符是@😡)

重复此操作直至将最后一行内容复制完成。


3.对quickcpy进行初始化

因为关于不可刷字符的刷法已经在第2步详细介绍,所以此步骤将会使用适当简略的说法。

利用字符转换器,输入12345678x:@=10.000C220A23030:@=1F086011D23,CALC,=,=,=,上,出现不可刷字符

删掉F086(表现为空白的换行符)之前多余的空格(注意:在存在F086时,输入区的字符可能看上去没删掉,请用alpha 积分(:) del来确认要删的字符已经被删掉,如果不小心删掉了其他不该删掉的字符,AC,左,CALC,=,=,=,上,重删)

补充字符到如下的形式(k前面依旧要垫48个数字,度是OPTN 2 1):

按等于,此时计算器不会有明显的反应,按AC键,

接着利用字符转换器,输入12345678x:@=10.000E9A228308F:@=11D23,CALC,=,=,=,上,出现不可刷字符

删掉多余的空格,补充字符到如下的形式(k前面依旧要垫48个数字,度是OPTN 2 1):

按等于,此时计算器不会有明显的反应,按AC键。


4.使用quickcpy将主程序注入指定内存片段

在使用quickcpy注入主程序时,我们只需使用16进制字符来注入指定的内存片段,而不必利用@刷不可刷字符

每一次进行操作时,我们需要用1 shift 8 下 2 7 = 上 左 shift 8 下 4 1来刷出@(实际上是另一个字符,与刷不可刷字符时的两个@都不同)

然后再依照下表中需要打的字符,补充对应的16进制字符(即粗体A~F)

然后,补充字符至下图的形式(以第一行为例,注意:与其他操作不同,这里不需要垫48个数字

按等于,此时计算器不会有明显的反应,按AC键,开始下一行的操作,直至将最后一行内容复制完成

注意:使用quickcpy复制字符串到指定位置时,程序会自动将地址增加0x18,所以此时需避免重复按等于。


4.初始化参数

使用字符转换器,刷出:12345678x:@=10.00070D1A2301D:@=18023,其中@的刷法与第2步刷不可刷字符的刷法相同。然后CALC,=,=,=,上,删掉多余的空格,并补充字符成如下图的形式。(k前面要垫48个字符),然后等于,AC

接着使用字符转换器刷出12345678x:@=10.000A4D1A2301D:@=1FFFF23,然后CALC,=,=,=,上,删掉多余的空格,并补充字符成类似上图的形式(只不过最前面的cosh-¹(换成了0xA4,最后面的@换成了不可见的0xFFFF,下面以此类推),等于,将第一个@换成×(乘号),等于,将光标移到最后,del,del(把FFFF删干净),等于,AC

然后使用字符转换器再刷出12345678x:@=10.000E8D1A2301D:@=10123,然后CALC,=,=,=,上,删掉多余的空格(这次需要保留一个空格)。并补充字符成类似上图的形式,等于,将第一个@换成μ(工程符号),并将光标移到空格前,0,等于,将光标移到最后,del,del(将0和空格删掉),等于,AC


5.启动程序

注意:在进行此操作时,请将计算器字体调成小字体

因为启动程序的不可刷字符有点多,这一次我们使用变量来对@进行间接赋值

我们对以下变量进行赋值(可以分步赋值):

10.0002006BA308F STO C

11.2D1288FE93030 STO D

1F08623 STO E

然后用字符转换器,刷出:12345678x:@=C:@=D:@=E(注:这里的C,D,E都是变量,前两个@的刷法与前面刷不可刷字符时@的刷法相同,第三个@的刷法是shift 7 1 4),CALC,=,=,=,=(注意是4次等于),上,此时计算器会显示成这样:

按左两下,将第二组空格(数字0和不可见字符F086之间的空格)全部删掉(注意:F086不能删掉),第一组空格(ReP(和@之间的空格)只保留一个,显示区域大致如下图所示:

(注意:在存在F086时,输入区的字符可能看上去没删掉,请用alpha 积分(:) del来确认要删的字符已经被删掉,如果不小心删掉了其他不该删掉的字符,AC,左,CALC,=,=,=,=,上,重删)

接着,补充字符至如下图所示:

确定输入无误后,按等于,屏幕清空,此时即进入画图程序。


拼图说明:按上、下、左、右键控制画笔坐标

按1键将画笔所在像素变为黑色,按2键将画笔所在像素变为白色

按0/AC键清屏

注意事项:画笔的最初位置位于状态栏,需要按一次下才能进入主显示区

若十分钟内无任何操作,计算器将自动关机

最后在这里放一只小布真·电子宠物,以此作为该文章的结尾。


THE END