88读书网

最新地址:www.88dushu.net
88读书网 > 红白机大时代 > 第二十章 破解6502密码(下)

第二十章 破解6502密码(下)

在完成了基础步骤之后,王秋阳所编撰的6502同显最大发色数的谜底,也水到渠成。和同色号发色一样,渐近色号也能够通过相同的原理完成同屏发色。

比如死机的花屏颜色,现在已经排除了黑阶,灰阶两种色号。如果再人为的制造花屏,电脑会自动寻找剩下的颜色,比如蓝屏,红屏都很正常。

接下来,就是使用渐近色号,取代原本电脑默认的花屏色号。比如用02色号深蓝取代12号湛蓝,又比如用07号深红取代05号正红。

只要在重新Hack游戏的时候,把五十二种色号全部排选一遍,最后在理论上就能够使用任何一个色号。这就是6502同显六十四色号的原理。

这套汇编理论,也是二十一世纪的百度达人“周哥”完成的。王秋阳曾经用它Hack过好几款游戏,记忆尤深,如今也能把它很明晰的描述了出来。

首先,

ch_join:;色号(02)进栈

inc p_stack

bne ch_join02

inc p_stack

ch_join02:

ldy #$00

sta (p_stack),y

rts

然后,留存进栈数据,到达另一个栈,也就是临时贮存器’

get_stack03:;色号出栈到(02’)

ldy #$00

lda (p_stack),y

ldy p_stack

dey

sty p_stack

cpy #$ff

bne get_stack

dec p_stack

rts

接下来,新色号再次指定入栈条件

Inftosuf04:

cmp #12;“’“

bne inftosuf #12’

jsr ch_join ;遇“’”时直接入栈’

jmp inftosuf02 ;返回02循环

最后,得出栈顶算符优先级别,在(top_lev)中

ldy #$00

sty top_lev

lda (p_stack),y

cmp #12;“(“

beq stack_lev06 ;把栈中的“(”设为0级

cmp #$00

beq stack_lev06

ldx #$ff

如此一来,电脑原本显示蓝屏的色号,就由12替换成02,都是蓝屏。

湛蓝的色号是12。

假设X等于3

『记住本站最新地址 www.88dushu.net』
相邻小说: 大罗天纪 我到未来救世界 从仙剑开始的修仙 嬗仙传之凤箫声起明月中 我有亿万无敌属性 弥天大话之爱爱情 抢个丞相来压寨 支教青云路 漫威之万界聊天群 我不是剑魔