Page 1 of 1

[lastmisnj] Last Mission

Posted: Tue Dec 14, 2021 11:35 am
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>

[lastmisnj] Last Mission (update)

Posted: Wed Dec 28, 2022 12:23 am
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).

[lastmisn]+ Last Mission

Posted: Mon Mar 11, 2024 9:15 am
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>