【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
[收藏]恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs暴击值easy48K汇编代码修正版本
此版本 修正语法错误 如 ($c6,A6) 改成 $c6(A6) 编译运行成功。
测试版本: easy48K版本v5.16.01 M68000 IDA Pro mame0.216 rom dino.zip
*----------------------------- 暴击显示 挪到奇怪的位置 ----------------------------------
org $018D88 ;一直会运行的某个血条相关程序
START: ; first instruction of program
jmp _bjxscx ;插入“暴击程序”
org $106500 ;存放暴击程序的空白地址(可以改成别的)
_bjxscx
bsr _bjxscx1 ;跳到暴击显示子程序
tst.w ($6c,A6) *原来的不管
bgt _18d48 *原来的不管
jmp $18d90 *原来的不管
_18d48
jmp $18dC6 *原来的不管
;/////////////////////////////////////////////////////////////////////////////////
_bjxscx1
move.l D0,$fffffc ;D0入栈
clr.l D0 ;清空D0
cmpi.b #$0,($2,A6) ;检测1P
bne _10738c ;不是1P检测2P
move.b $c6(A6),D0 ;暴击值代入D0
lsr.b #4, D0 ;取十位
move.w D0, $90a71C ;十位数要显示的位置(90a71C改了会移动显示位置)
move.w #$19E, $90a71e ;样式
move.b $c6(A6),D0 ;暴击值再次代入D0
andi.b #$f,D0 ;取个位
move.w D0,$90a79c ;个位数要显示的位置(90a79c改了会移动显示位置)
move.w #$19E, $90a79e ;样式
_10738c
cmpi.b #$1, ($2,A6) ;检测2P
bne _1073c0
move.b $c6(A6), D0
lsr.b #4, D0
move.w D0, $90af1C
move.w #$19E, $90af1e
move.b $c6(A6), D0
andi.b #$f, D0
move.w D0, $90af9c
move.w #$19E, $90af9e
_1073c0
cmpi.b #$2, ($2,A6) ;检测3P
bne _1073f4
move.b $c6(A6), D0
lsr.b #4, D0
move.w D0, $90b71C
move.w #$19E, $90b71e
move.b $c6(A6), D0
andi.b #$f, D0
move.w D0, $90b79C
move.w #$19E, $90b79E
_1073f4
move.l $fffffc, D0
rts
END START ; last line of source
来源:oschina
链接:https://my.oschina.net/zengfr/blog/3143536