[lastmisnj] Last Mission

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lastmisnj] Last Mission

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@89cb = 13</action> <!-- laser -->
        <action>maincpu.mb@891b = 13</action> <!-- puls -->
        <action>maincpu.mb@8a1b = 13</action> <!-- k-can -->
        <action>maincpu.mb@894e = 13</action> <!-- hyper 1 -->
        <action>maincpu.mb@89b8 = 13</action> <!-- hyper 2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@89cb = 12</action>
        <action>maincpu.mb@891b = 12</action>
        <action>maincpu.mb@8a1b = 12</action>
        <action>maincpu.mb@894e = 12</action>
        <action>maincpu.mb@89b8 = 12</action>
    </script>
</cheat>

<cheat desc="direct turn">
    <script state="on">
        <action>maincpu.md@8869 =         bdf9a0d7</action>
        <action>maincpu.md@887e =         bdf9a0d7</action>
        <action>maincpu.mq@f9a0 = d613c40f8ef9aae6</action>
        <action>maincpu.mq@f9a8 = 8539ff0010ff0804</action>
        <action>maincpu.mq@f9b0 = 0cff181c14ffffff</action>
        <!--
        f9a0 | d6 13    : LDB  $13
        f9a2 | c4 0f    : ANDB #$0F
        F9a4 | 8e f9 aa : LDX  #$F9AA
        f9a7 | e6 85    : LDB  B,X
        f9a9 | 39       : RTS
        f9aa - f9b4     : input/direction conversion table
         input direction
          01      00    : up
          02      10    : down
          04      08    : left
          05      04    : upper-left
          06      0c    : lower-left
          08      18    : right
          09      1c    : upper-right
          0a      14    : lower-right
        -->
    </script>
    <script state="off">
        <action>maincpu.md@8869 =         5ac41fd7</action>
        <action>maincpu.md@887e =         5cc41fd7</action>
        <action>maincpu.mq@f9a0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9a8 = ffffffffffffffff</action>
        <action>maincpu.mq@f9b0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@e1c9 =             f9c0</action>
        <action>maincpu.mq@f9c0 = d711f61800d11127</action>
        <action>maincpu.mq@f9c8 = f7c1fb26020a10c1</action>
        <action>maincpu.mq@f9d0 = f726020c10c1ef26</action>
        <action>maincpu.mq@f9d8 = 0496102006c1df26</action>
        <action>maincpu.mq@f9e0 = 058601b7180c20d8</action>
        <!--
        f9c0 | d7 11    : STB  $11
        f9c2 | f6 18 00 : LDB  $1800 // read input
        f9c5 | d1 11    : CMPB $11
        f9c7 | 27 f7    : BEQ  $F9C0
        f9c9 | c1 fb    : CMPB #$FB
        f9cb | 26 02    : BNE  $F9CF
        f9cd | 0a 10    : DEC  $10   // decrease code
        f9cf | c1 f7    : CMPB #$F7
        f9d1 | 26 02    : BNE  $F9D5
        f9d3 | 0c 10    : INC  $10   // increase code
        f9d5 | c1 ef    : CMPB #$EF
        f9d7 | 26 04    : BNE  $F9DD
        f9d9 | 96 10    : LDA  $10   // play sound
        f9db | 20 06    : BRA  $F9E3
        f9dd | c1 df    : CMPB #$DF
        f9df | 26 05    : BNE  $F9E6
        f9e1 | 86 01    : LDA  #$01  // stop sound
        f9e3 | b7 18 0c : STA  $180C // send sound code
        f9e6 | 20 d8    : BRA  $F9C0
        -->
    </script>
    <script state="run">
        <output format="----- last mission sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                     line="11" align="center" />
        <output format="right : increase code"                    line="12" align="center" />
        <output format="button 1 : play sound"                    line="13" align="center" />
        <output format="button 2 : stop sound"                    line="14" align="center" />
        <output format="----------------------------"             line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="17" align="center">
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@e1c9 =             dbf0</action>
        <action>maincpu.mq@f9c0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9c8 = ffffffffffffffff</action>
        <action>maincpu.mq@f9d0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9d8 = ffffffffffffffff</action>
        <action>maincpu.mq@f9e0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@8053 = 8055</action>
    </script>
    <script state="off">
        <action>maincpu.mw@8053 = f360</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lastmisnj] Last Mission (update)

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@e1c9 =             f9c0</action>
        <action>maincpu.mq@f9c0 = 9711b61800911127</action>
        <action>maincpu.mq@f9c8 = f7d61081fb26015a</action>
        <action>maincpu.mq@f9d0 = 81f726015c81fd26</action>
        <action>maincpu.mq@f9d8 = 02c01081fe2602cb</action>
        <action>maincpu.mq@f9e0 = 10d71081ef270681</action>
        <action>maincpu.mq@f9e8 = df2605c601f7180c</action>
        <action>maincpu.mq@f9f0 = 20ceffffffffffff</action>
        <!--
        f9c0 | 97 11    : STA  $11
        f9c2 | b6 18 00 : LDA  $1800 // read input
        f9c5 | 91 11    : CMPA $11
        f9c7 | 27 f7    : BEQ  $F9C0
        f9c9 | d6 10    : LDB  $10
        f9cb | 81 fb    : CMPA #$FB
        f9cd | 26 01    : BNE  $F9D0
        f9cf | 5a       : DECB       // decrease code -01
        f9d0 | 81 f7    : CMPA #$F7
        f9d2 | 26 01    : BNE  $F9D5
        f9d4 | 5c       : INCB       // increase code +01
        f9d5 | 81 fd    : CMPA #$FD
        f9d7 | 26 02    : BNE  $F9DB
        f9d9 | c0 10    : SUBB #$10  // decrease code -10
        f9db | 81 fe    : CMPA #$FE
        f9dd | 26 02    : BNE  $F9E1
        f9df | cb 10    : ADDB #$10  // increase code +10
        f9e1 | d7 10    : STB  $10
        f9e3 | 81 ef    : CMPA #$EF
        f9e5 | 27 06    : BEQ  $F9ED
        f9e7 | 81 df    : CMPA #$DF
        f9e9 | 26 05    : BNE  $F9F0
        f9eb | c6 01    : LDB  #$01  // stop sound
        f9ed | f7 18 0c : STB  $180C // send sound code
        f9f0 | 20 ce    : BRA  $F9C0
        -->
    </script>
    <script state="run">
        <output format="----- last mission sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"                 line="11" align="center" />
        <output format="right : increase code +01"                line="12" align="center" />
        <output format="down : decrease code -10"                 line="13" align="center" />
        <output format="up : increase code +10"                   line="14" align="center" />
        <output format="button 1 : play sound"                    line="15" align="center" />
        <output format="button 2 : stop sound"                    line="16" align="center" />
        <output format="----------------------------"             line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="19" align="center"  >
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@e1c9 =             dbf0</action>
        <action>maincpu.mq@f9c0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9c8 = ffffffffffffffff</action>
        <action>maincpu.mq@f9d0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9d8 = ffffffffffffffff</action>
        <action>maincpu.mq@f9e0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9f0 = ffffffffffffffff</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lastmisn]+ Last Mission

Post by jman »

lastmisn.xml

Code: Select all

<!-- Last Mission (World revision 8) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@8619 = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8619 = 24</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8A19 = 13</action> <!-- puls -->
            <action>maincpu.mb@8A4C = 13</action> <!-- hyper -->
            <action>maincpu.mb@8AB6 = 13</action> <!-- hyper -->
            <action>maincpu.mb@8AC9 = 13</action> <!-- laser -->
            <action>maincpu.mb@8B19 = 13</action> <!-- k-can -->
        </script>
        <script state="off">
            <action>maincpu.mb@8A19 = 12</action>
            <action>maincpu.mb@8A4C = 12</action>
            <action>maincpu.mb@8AB6 = 12</action>
            <action>maincpu.mb@8AC9 = 12</action>
            <action>maincpu.mb@8B19 = 12</action>
        </script>
    </cheat>

    <cheat desc="direct turn">
        <script state="on">
            <action>maincpu.md@8967 = BDFB80D7        </action>
            <action>maincpu.md@897C = BDFB80D7        </action>
            <action>maincpu.mq@FB80 = D613C40F8EFB8AE6</action>
            <action>maincpu.mq@FB88 = 8539FF0010FF0804</action>
            <action>maincpu.mq@FB90 = 0CFF181C14FFFFFF</action>
            <!--
            FB80 | D6 13    : LDB    $13
            FB82 | C4 0F    : ANDB   #$0F
            FB84 | 8E FB 8A : LDX    #$FB8A
            FB87 | E6 85    : LDB    B,X
            FB89 | 39       : RTS
            FB8A - FB94     : input/direction conversion table
             input direction
              01      00    : up
              02      10    : down
              04      08    : left
              05      04    : upper-left
              06      0c    : lower-left
              08      18    : right
              09      1c    : upper-right
              0a      14    : lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.md@8967 = 5AC41FD7        </action>
            <action>maincpu.md@897C = 5CC41FD7        </action>
            <action>maincpu.mq@FB80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@E2D8 = FBA0            </action>
            <action>maincpu.mq@FBA0 = 9781B61800918127</action>
            <action>maincpu.mq@FBA8 = F7D68081FB26015A</action>
            <action>maincpu.mq@FBB0 = 81F726015C81FD26</action>
            <action>maincpu.mq@FBB8 = 02C01081FE2602CB</action>
            <action>maincpu.mq@FBC0 = 10D78081EF270681</action>
            <action>maincpu.mq@FBC8 = DF2605C601F7180C</action>
            <action>maincpu.mq@FBD0 = 20CEFFFFFFFFFFFF</action>
            <!--
            FBA0 | 97 81    : STA    $81
            FBA2 | B6 18 00 : LDA    $1800 // read input
            FBA5 | 91 81    : CMPA   $81
            FBA7 | 27 F7    : BEQ    $FBA0
            FBA9 | D6 80    : LDB    $80
            FBAB | 81 FB    : CMPA   #$FB
            FBAD | 26 01    : BNE    $FBB0
            FBAF | 5A       : DECB         // decrease code -01
            FBB0 | 81 F7    : CMPA   #$F7
            FBB2 | 26 01    : BNE    $FBB5
            FBB4 | 5C       : INCB         // increase code +01
            FBB5 | 81 FD    : CMPA   #$FD
            FBB7 | 26 02    : BNE    $FBBB
            FBB9 | C0 10    : SUBB   #$10  // decrease code -10
            FBBB | 81 FE    : CMPA   #$FE
            FBBD | 26 02    : BNE    $FBC1
            FBBF | CB 10    : ADDB   #$10  // increase code +10
            FBC1 | D7 80    : STB    $80
            FBC3 | 81 EF    : CMPA   #$EF
            FBC5 | 27 06    : BEQ    $FBCD // play sound
            FBC7 | 81 DF    : CMPA   #$DF
            FBC9 | 26 05    : BNE    $FBD0
            FBCB | C6 01    : LDB    #$01  // stop sound
            FBCD | F7 18 0C : STB    $180C // send sound code
            FBD0 | 20 CE    : BRA    $FBA0
            -->
        </script>
        <script state="run">
            <output format="----- last mission sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pb@0080</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@E2D8 = DCEE            </action>
            <action>maincpu.mq@FBA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@8053 = 8055</action>
        </script>
        <script state="off">
            <action>maincpu.mw@8053 = F52E</action>
        </script>
    </cheat>

</mamecheat>
lastmisnu6.xml

Code: Select all

<!-- Last Mission (US revision 6) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@8619 = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8619 = 24</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8A19 = 13</action> <!-- puls -->
            <action>maincpu.mb@8A4C = 13</action> <!-- hyper -->
            <action>maincpu.mb@8AB6 = 13</action> <!-- hyper -->
            <action>maincpu.mb@8AC9 = 13</action> <!-- laser -->
            <action>maincpu.mb@8B19 = 13</action> <!-- k-can -->
        </script>
        <script state="off">
            <action>maincpu.mb@8A19 = 12</action>
            <action>maincpu.mb@8A4C = 12</action>
            <action>maincpu.mb@8AB6 = 12</action>
            <action>maincpu.mb@8AC9 = 12</action>
            <action>maincpu.mb@8B19 = 12</action>
        </script>
    </cheat>

    <cheat desc="direct turn">
        <script state="on">
            <action>maincpu.md@8967 = BDFB80D7        </action>
            <action>maincpu.md@897C = BDFB80D7        </action>
            <action>maincpu.mq@FB80 = D613C40F8EFB8AE6</action>
            <action>maincpu.mq@FB88 = 8539FF0010FF0804</action>
            <action>maincpu.mq@FB90 = 0CFF181C14FFFFFF</action>
            <!--
            FB80 | D6 13    : LDB    $13
            FB82 | C4 0F    : ANDB   #$0F
            FB84 | 8E FB 8A : LDX    #$FB8A
            FB87 | E6 85    : LDB    B,X
            FB89 | 39       : RTS
            FB8A - FB94     : input/direction conversion table
             input direction
              01      00    : up
              02      10    : down
              04      08    : left
              05      04    : upper-left
              06      0c    : lower-left
              08      18    : right
              09      1c    : upper-right
              0a      14    : lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.md@8967 = 5AC41FD7        </action>
            <action>maincpu.md@897C = 5CC41FD7        </action>
            <action>maincpu.mq@FB80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@E2D8 = FBA0            </action>
            <action>maincpu.mq@FBA0 = 9781B61800918127</action>
            <action>maincpu.mq@FBA8 = F7D68081FB26015A</action>
            <action>maincpu.mq@FBB0 = 81F726015C81FD26</action>
            <action>maincpu.mq@FBB8 = 02C01081FE2602CB</action>
            <action>maincpu.mq@FBC0 = 10D78081EF270681</action>
            <action>maincpu.mq@FBC8 = DF2605C601F7180C</action>
            <action>maincpu.mq@FBD0 = 20CEFFFFFFFFFFFF</action>
            <!--
            FBA0 | 97 81    : STA    $81
            FBA2 | B6 18 00 : LDA    $1800 // read input
            FBA5 | 91 81    : CMPA   $81
            FBA7 | 27 F7    : BEQ    $FBA0
            FBA9 | D6 80    : LDB    $80
            FBAB | 81 FB    : CMPA   #$FB
            FBAD | 26 01    : BNE    $FBB0
            FBAF | 5A       : DECB         // decrease code -01
            FBB0 | 81 F7    : CMPA   #$F7
            FBB2 | 26 01    : BNE    $FBB5
            FBB4 | 5C       : INCB         // increase code +01
            FBB5 | 81 FD    : CMPA   #$FD
            FBB7 | 26 02    : BNE    $FBBB
            FBB9 | C0 10    : SUBB   #$10  // decrease code -10
            FBBB | 81 FE    : CMPA   #$FE
            FBBD | 26 02    : BNE    $FBC1
            FBBF | CB 10    : ADDB   #$10  // increase code +10
            FBC1 | D7 80    : STB    $80
            FBC3 | 81 EF    : CMPA   #$EF
            FBC5 | 27 06    : BEQ    $FBCD // play sound
            FBC7 | 81 DF    : CMPA   #$DF
            FBC9 | 26 05    : BNE    $FBD0
            FBCB | C6 01    : LDB    #$01  // stop sound
            FBCD | F7 18 0C : STB    $180C // send sound code
            FBD0 | 20 CE    : BRA    $FBA0
            -->
        </script>
        <script state="run">
            <output format="----- last mission sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pb@0080</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@E2D8 = DCEE            </action>
            <action>maincpu.mq@FBA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@8053 = 8055</action>
        </script>
        <script state="off">
            <action>maincpu.mw@8053 = F535</action>
        </script>
    </cheat>

</mamecheat>
lastmisnu5.xml

Code: Select all

<!-- Last Mission (US revision 5) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@8619 = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8619 = 24</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@89F8 = 13</action> <!-- puls -->
            <action>maincpu.mb@8A2B = 13</action> <!-- hyper -->
            <action>maincpu.mb@8A95 = 13</action> <!-- hyper -->
            <action>maincpu.mb@8AA8 = 13</action> <!-- laser -->
            <action>maincpu.mb@8AF8 = 13</action> <!-- k-can -->
        </script>
        <script state="off">
            <action>maincpu.mb@89F8 = 12</action>
            <action>maincpu.mb@8A2B = 12</action>
            <action>maincpu.mb@8A95 = 12</action>
            <action>maincpu.mb@8AA8 = 12</action>
            <action>maincpu.mb@8AF8 = 12</action>
        </script>
    </cheat>

    <cheat desc="direct turn">
        <script state="on">
            <action>maincpu.md@8946 = BDFB00D7        </action>
            <action>maincpu.md@895B = BDFB00D7        </action>
            <action>maincpu.mq@FB00 = D613C40F8EFB0AE6</action>
            <action>maincpu.mq@FB08 = 8539FF0010FF0804</action>
            <action>maincpu.mq@FB10 = 0CFF181C14FFFFFF</action>
            <!--
            FB00 | D6 13    : LDB    $13
            FB02 | C4 0F    : ANDB   #$0F
            FB04 | 8E FB 0A : LDX    #$FB0A
            FB07 | E6 85    : LDB    B,X
            FB09 | 39       : RTS
            FB0A - FB14     : input/direction conversion table
             input direction
              01      00    : up
              02      10    : down
              04      08    : left
              05      04    : upper-left
              06      0c    : lower-left
              08      18    : right
              09      1c    : upper-right
              0a      14    : lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.md@8946 = 5AC41FD7        </action>
            <action>maincpu.md@895B = 5CC41FD7        </action>
            <action>maincpu.mq@FB00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@E2B7 = FB20            </action>
            <action>maincpu.mq@FB20 = 9781B61800918127</action>
            <action>maincpu.mq@FB28 = F7D68081FB26015A</action>
            <action>maincpu.mq@FB30 = 81F726015C81FD26</action>
            <action>maincpu.mq@FB38 = 02C01081FE2602CB</action>
            <action>maincpu.mq@FB40 = 10D78081EF270681</action>
            <action>maincpu.mq@FB48 = DF2605C601F7180C</action>
            <action>maincpu.mq@FB50 = 20CEFFFFFFFFFFFF</action>
            <!--
            FB20 | 97 81    : STA    $81
            FB22 | B6 18 00 : LDA    $1800 // read input
            FB25 | 91 81    : CMPA   $81
            FB27 | 27 F7    : BEQ    $FB20
            FB29 | D6 80    : LDB    $80
            FB2B | 81 FB    : CMPA   #$FB
            FB2D | 26 01    : BNE    $FB30
            FB2F | 5A       : DECB         // decrease code -01
            FB30 | 81 F7    : CMPA   #$F7
            FB32 | 26 01    : BNE    $FB35
            FB34 | 5C       : INCB         // increase code +01
            FB35 | 81 FD    : CMPA   #$FD
            FB37 | 26 02    : BNE    $FB3B
            FB39 | C0 10    : SUBB   #$10  // decrease code -10
            FB3B | 81 FE    : CMPA   #$FE
            FB3D | 26 02    : BNE    $FB41
            FB3F | CB 10    : ADDB   #$10  // increase code +10
            FB41 | D7 80    : STB    $80
            FB43 | 81 EF    : CMPA   #$EF
            FB45 | 27 06    : BEQ    $FB4D // play sound
            FB47 | 81 DF    : CMPA   #$DF
            FB49 | 26 05    : BNE    $FB50
            FB4B | C6 01    : LDB    #$01  // stop sound
            FB4D | F7 18 0C : STB    $180C // send sound code
            FB50 | 20 CE    : BRA    $FB20
            -->
        </script>
        <script state="run">
            <output format="----- last mission sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pb@0080</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@E2B7 = DCCD            </action>
            <action>maincpu.mq@FB20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB50 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@8053 = 8055</action>
        </script>
        <script state="off">
            <action>maincpu.mw@8053 = F4B6</action>
        </script>
    </cheat>

</mamecheat>
lastmisnj.xml

Code: Select all

<!-- Last Mission (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@860F = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@860F = 24</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@891B = 13</action> <!-- puls -->
            <action>maincpu.mb@894E = 13</action> <!-- hyper -->
            <action>maincpu.mb@89B8 = 13</action> <!-- hyper -->
            <action>maincpu.mb@89CB = 13</action> <!-- laser -->
            <action>maincpu.mb@8A1B = 13</action> <!-- k-can -->
        </script>
        <script state="off">
            <action>maincpu.mb@891B = 12</action>
            <action>maincpu.mb@894E = 12</action>
            <action>maincpu.mb@89B8 = 12</action>
            <action>maincpu.mb@89CB = 12</action>
            <action>maincpu.mb@8A1B = 12</action>
        </script>
    </cheat>

    <cheat desc="direct turn">
        <script state="on">
            <action>maincpu.md@8869 = BDF9A0D7        </action>
            <action>maincpu.md@887E = BDF9A0D7        </action>
            <action>maincpu.mq@F9A0 = D613C40F8EF9AAE6</action>
            <action>maincpu.mq@F9A8 = 8539FF0010FF0804</action>
            <action>maincpu.mq@F9B0 = 0CFF181C14FFFFFF</action>
            <!--
            F9A0 | D6 13    : LDB    $13
            F9A2 | C4 0F    : ANDB   #$0F
            F9A4 | 8E F9 AA : LDX    #$F9AA
            F9A7 | E6 85    : LDB    B,X
            F9A9 | 39       : RTS
            F9AA - F9B4     : input/direction conversion table
             input direction
              01      00    : up
              02      10    : down
              04      08    : left
              05      04    : upper-left
              06      0c    : lower-left
              08      18    : right
              09      1c    : upper-right
              0a      14    : lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.md@8869 = 5AC41FD7        </action>
            <action>maincpu.md@887E = 5CC41FD7        </action>
            <action>maincpu.mq@F9A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@E1C9 = F9C0            </action>
            <action>maincpu.mq@F9C0 = 9781B61800918127</action>
            <action>maincpu.mq@F9C8 = F7D68081FB26015A</action>
            <action>maincpu.mq@F9D0 = 81F726015C81FD26</action>
            <action>maincpu.mq@F9D8 = 02C01081FE2602CB</action>
            <action>maincpu.mq@F9E0 = 10D78081EF270681</action>
            <action>maincpu.mq@F9E8 = DF2605C601F7180C</action>
            <action>maincpu.mq@F9F0 = 20CEFFFFFFFFFFFF</action>
            <!--
            F9C0 | 97 81    : STA    $81
            F9C2 | B6 18 00 : LDA    $1800 // read input
            F9C5 | 91 81    : CMPA   $81
            F9C7 | 27 F7    : BEQ    $F9C0
            F9C9 | D6 80    : LDB    $80
            F9CB | 81 FB    : CMPA   #$FB
            F9CD | 26 01    : BNE    $F9D0
            F9CF | 5A       : DECB         // decrease code -01
            F9D0 | 81 F7    : CMPA   #$F7
            F9D2 | 26 01    : BNE    $F9D5
            F9D4 | 5C       : INCB         // increase code +01
            F9D5 | 81 FD    : CMPA   #$FD
            F9D7 | 26 02    : BNE    $F9DB
            F9D9 | C0 10    : SUBB   #$10  // decrease code -10
            F9DB | 81 FE    : CMPA   #$FE
            F9DD | 26 02    : BNE    $F9E1
            F9DF | CB 10    : ADDB   #$10  // increase code +10
            F9E1 | D7 80    : STB    $80
            F9E3 | 81 EF    : CMPA   #$EF
            F9E5 | 27 06    : BEQ    $F9ED // play sound
            F9E7 | 81 DF    : CMPA   #$DF
            F9E9 | 26 05    : BNE    $F9F0
            F9EB | C6 01    : LDB    #$01  // stop sound
            F9ED | F7 18 0C : STB    $180C // send sound code
            F9F0 | 20 CE    : BRA    $F9C0
            -->
        </script>
        <script state="run">
            <output format="----- last mission sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pb@0080</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@E1C9 = DBF0            </action>
            <action>maincpu.mq@F9C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@8053 = 8055</action>
        </script>
        <script state="off">
            <action>maincpu.mw@8053 = F360</action>
        </script>
    </cheat>

</mamecheat>
Post Reply