[收藏]恐龙快打dino恐龙新世纪Cadillacs and Dinosaurs暴击值easy48K汇编代码修正版本

拜拜、爱过 提交于 2019-12-16 13:31:13

【推荐】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
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!