Page 1 of 1

[afighter]+ Action Fighter

Posted: Wed Jun 18, 2025 9:36 am
by jman
afighter.xml

Code: Select all

<!-- Action Fighter (FD1089A 317-0018) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@431E = 60</action> <!-- background -->
            <action>maincpu.ob@4C12 = 60</action> <!-- gate -->
            <action>maincpu.ob@8C40 = 60</action> <!-- bullet -->
            <action>maincpu.ob@8CCA = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@431E = 66</action>
            <action>maincpu.ob@4C12 = 6D</action>
            <action>maincpu.ob@8C40 = 6D</action>
            <action>maincpu.ob@8CCA = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ow@4250 = 4E71</action> <!-- main shot -->
            <action>maincpu.ow@4292 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.ow@42C0 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.ow@42EE = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.ow@4250 = 6D0E</action>
            <action>maincpu.ow@4292 = 661A</action>
            <action>maincpu.ow@42C0 = 661A</action>
            <action>maincpu.ow@42EE = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@5F8C = 4EB90000FBB06700</action>
            <action>maincpu.oq@FBB0 = 522E005F022E0000</action>
            <action>maincpu.oq@FBB8 = 005F6704201F4E75</action>
            <action>maincpu.oq@FBC0 = 302E003453404E75</action>
            <action>maincpu.ow@FBB6 = param           </action>
            <!--
            FBB0 | 522E 005F      : addq.b  #1, ($5f,A6)
            FBB4 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FBBA | 6704           : beq     $fbc0
            FBBC | 201F           : move.l  (A7)+, D0
            FBBE | 4E75           : rts
            FBC0 | 302E 0034      : move.w  ($34,A6), D0
            FBC4 | 5340           : subq.w  #1, D0
            FBC6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@5F8C = 302E003453406700</action>
            <action>maincpu.oq@FBB0 = 0BFFA7F70BFFA7F7</action>
            <action>maincpu.oq@FBB8 = F3B723B7F3B723B7</action>
            <action>maincpu.oq@FBC0 = CFF7A7FFCFF7A7FF</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="run">
            <action>maincpu.oq@61BE = 4EB90000FBC80640</action>
            <action>maincpu.oq@FBC8 = 48E780024DF8D840</action>
            <action>maincpu.oq@FBD0 = 70073F004EB81034</action>
            <action>maincpu.oq@FBD8 = 301F9CFC006051C8</action>
            <action>maincpu.oq@FBE0 = FFF24CDF4001D078</action>
            <action>maincpu.oq@FBE8 = C12CE0484E75FFFF</action>
            <!--
            FBC8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FBCD | 4DF8 D840 : lea     $d840.w, A6
            FBD0 | 7007      : moveq   #$7, D0
            FBD2 | 3F00      : move.w  D0, -(A7)
            FBD4 | 4EB8 1034 : jsr     $1034.w
            FBD8 | 301F      : move.w  (A7)+, D0
            FBDA | 9CFC 0060 : suba.w  #$60, A6
            FBDE | 51C8 FFF2 : dbra    D0, $fbd2
            FBE2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FBE6 | D078 C12C : add.w   $c12c.w, D0
            FBFA | E048      : lsr.w   #8, D0
            FBFC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@61BE = D078C12CE0480640</action>
            <action>maincpu.oq@FBC8 = 73B747FF73B747FF</action>
            <action>maincpu.oq@FBD0 = CFF7A7FFCFF7A7FF</action>
            <action>maincpu.oq@FBD8 = 73B747FF73B747FF</action>
            <action>maincpu.oq@FBE0 = 0BFFA7F70BFFA7F7</action>
            <action>maincpu.oq@FBE8 = F3B723B7F3B723B7</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.ow@05AE = 0000            </action> <!-- disable title music -->
            <action>maincpu.ow@05B4 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.oq@05CA = 4EF90000FBF06618</action>
            <action>maincpu.oq@FBF0 = 41F8900043F900C4</action>
            <action>maincpu.oq@FBF8 = 0001120010291002</action>
            <action>maincpu.oq@FC00 = B20067F60C00007F</action>
            <action>maincpu.oq@FC08 = 660253100C0000BF</action>
            <action>maincpu.oq@FC10 = 660252100C0000EF</action>
            <action>maincpu.oq@FC18 = 6604041000100C00</action>
            <action>maincpu.oq@FC20 = 00DF660406100010</action>
            <action>maincpu.oq@FC28 = 0C0000FD66081210</action>
            <action>maincpu.oq@FC30 = 0001008012810C00</action>
            <action>maincpu.oq@FC38 = 00FB6602421160BA</action>
            <!--
            FBF0 | 41F8 9000      : lea     $9000.w, A0    // sound code address
            FBF4 | 43F9 00C4 0001 : lea     $c40001.l, A1  // sound latch address
            FBFA | 1200           : move.b  D0, D1
            FBFC | 1029 1002      : move.b  ($1002,A1), D0 // read input ($C41003)
            FC00 | B200           : cmp.b   D0, D1
            FC02 | 67F6           : beq     $fbfa
            FC04 | 0C00 007F      : cmpi.b  #$7f, D0
            FC08 | 6602           : bne     $fc0c
            FC0A | 5310           : subq.b  #1, (A0)       // decrease code -01
            FC0C | 0C00 00BF      : cmpi.b  #-$41, D0
            FC10 | 6602           : bne     $fc14
            FC12 | 5210           : addq.b  #1, (A0)       // increase code +01
            FC14 | 0C00 00EF      : cmpi.b  #-$11, D0
            FC18 | 6604           : bne     $fc1e
            FC1A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            FC1E | 0C00 00DF      : cmpi.b  #-$21, D0
            FC22 | 6604           : bne     $fc28
            FC24 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            FC28 | 0C00 00FD      : cmpi.b  #-$3, D0
            FC2C | 6608           : bne     $fc36
            FC2E | 1210           : move.b  (A0), D1       // play sound
            FC30 | 0001 0080      : ori.b   #$80, D1
            FC34 | 1281           : move.b  D1, (A1)
            FC36 | 0C00 00FB      : cmpi.b  #-$5, D0
            FC3A | 6602           : bne     $fc3e
            FC3C | 4211           : clr.b   (A1)           // stop sound
            FC3E | 60BA           : bra     $fbfa
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ow@05AE = 00AE            </action>
            <action>maincpu.ow@05B4 = 08F9            </action>
            <action>maincpu.oq@05CA = 4A3900C420016618</action>
            <action>maincpu.oq@FBF0 = 0BFFA7F70BFFA7F7</action>
            <action>maincpu.oq@FBF8 = F3B723B7F3B723B7</action>
            <action>maincpu.oq@FC00 = A3BF53F7A3BF53F7</action>
            <action>maincpu.oq@FC08 = 9BFF13FF9BFF13FF</action>
            <action>maincpu.oq@FC10 = A3BF53F7A3BF53F7</action>
            <action>maincpu.oq@FC18 = 9BFF13FF9BFF13FF</action>
            <action>maincpu.oq@FC20 = FBFFABB7FBFFABB7</action>
            <action>maincpu.oq@FC28 = CFF77BF7CFF77BF7</action>
            <action>maincpu.oq@FC30 = FBFFABB7FBFFABB7</action>
            <action>maincpu.oq@FC38 = CFF77BF7CFF77BF7</action>

        </script>
    </cheat>

</mamecheat>
afightera.xml

Code: Select all

<!-- Action Fighter (unprotected) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@431E = 60</action> <!-- background -->
            <action>maincpu.mb@4C12 = 60</action> <!-- gate -->
            <action>maincpu.mb@8C40 = 60</action> <!-- bullet -->
            <action>maincpu.mb@8CCA = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@431E = 66</action>
            <action>maincpu.mb@4C12 = 6D</action>
            <action>maincpu.mb@8C40 = 6D</action>
            <action>maincpu.mb@8CCA = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mw@4250 = 4E71</action> <!-- main shot -->
            <action>maincpu.mw@4292 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.mw@42C0 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.mw@42EE = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.mw@4250 = 6D0E</action>
            <action>maincpu.mw@4292 = 661A</action>
            <action>maincpu.mw@42C0 = 661A</action>
            <action>maincpu.mw@42EE = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@5F8C = 4EB90000FBB06700</action>
            <action>maincpu.mq@FBB0 = 522E005F022E0000</action>
            <action>maincpu.mq@FBB8 = 005F6704201F4E75</action>
            <action>maincpu.mq@FBC0 = 302E003453404E75</action>
            <!--
            FBB0 | 522E 005F      : addq.b  #1, ($5f,A6)
            FBB4 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FBBA | 6704           : beq     $fbc0
            FBBC | 201F           : move.l  (A7)+, D0
            FBBE | 4E75           : rts
            FBC0 | 302E 0034      : move.w  ($34,A6), D0
            FBC4 | 5340           : subq.w  #1, D0
            FBC6 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@FBB6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@5F8C = 302E003453406700</action>
            <action>maincpu.mq@FBB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBC0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="on">
            <action>maincpu.mq@61BE = 4EB90000FBC80640</action>
            <action>maincpu.mq@FBC8 = 48E780024DF8D840</action>
            <action>maincpu.mq@FBD0 = 70073F004EB81034</action>
            <action>maincpu.mq@FBD8 = 301F9CFC006051C8</action>
            <action>maincpu.mq@FBE0 = FFF24CDF4001D078</action>
            <action>maincpu.mq@FBE8 = C12CE0484E75FFFF</action>
            <!--
            FBC8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FBCD | 4DF8 D840 : lea     $d840.w, A6
            FBD0 | 7007      : moveq   #$7, D0
            FBD2 | 3F00      : move.w  D0, -(A7)
            FBD4 | 4EB8 1034 : jsr     $1034.w
            FBD8 | 301F      : move.w  (A7)+, D0
            FBDA | 9CFC 0060 : suba.w  #$60, A6
            FBDE | 51C8 FFF2 : dbra    D0, $fbd2
            FBE2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FBE6 | D078 C12C : add.w   $c12c.w, D0
            FBFA | E048      : lsr.w   #8, D0
            FBFC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@61BE = D078C12CE0480640</action>
            <action>maincpu.mq@FBC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBE8 = 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@05AE = 0000            </action> <!-- disable title music -->
            <action>maincpu.mw@05B4 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.mq@05CA = 4EF90000FBF06618</action>
            <action>maincpu.mq@FBF0 = 41F8900043F900C4</action>
            <action>maincpu.mq@FBF8 = 0001120010291002</action>
            <action>maincpu.mq@FC00 = B20067F60C00007F</action>
            <action>maincpu.mq@FC08 = 660253100C0000BF</action>
            <action>maincpu.mq@FC10 = 660252100C0000EF</action>
            <action>maincpu.mq@FC18 = 6604041000100C00</action>
            <action>maincpu.mq@FC20 = 00DF660406100010</action>
            <action>maincpu.mq@FC28 = 0C0000FD66081210</action>
            <action>maincpu.mq@FC30 = 0001008012810C00</action>
            <action>maincpu.mq@FC38 = 00FB6602421160BA</action>
            <!--
            FBF0 | 41F8 9000      : lea     $9000.w, A0    // sound code address
            FBF4 | 43F9 00C4 0001 : lea     $c40001.l, A1  // sound latch address
            FBFA | 1200           : move.b  D0, D1
            FBFC | 1029 1002      : move.b  ($1002,A1), D0 // read input ($C41003)
            FC00 | B200           : cmp.b   D0, D1
            FC02 | 67F6           : beq     $fbfa
            FC04 | 0C00 007F      : cmpi.b  #$7f, D0
            FC08 | 6602           : bne     $fc0c
            FC0A | 5310           : subq.b  #1, (A0)       // decrease code -01
            FC0C | 0C00 00BF      : cmpi.b  #-$41, D0
            FC10 | 6602           : bne     $fc14
            FC12 | 5210           : addq.b  #1, (A0)       // increase code +01
            FC14 | 0C00 00EF      : cmpi.b  #-$11, D0
            FC18 | 6604           : bne     $fc1e
            FC1A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            FC1E | 0C00 00DF      : cmpi.b  #-$21, D0
            FC22 | 6604           : bne     $fc28
            FC24 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            FC28 | 0C00 00FD      : cmpi.b  #-$3, D0
            FC2C | 6608           : bne     $fc36
            FC2E | 1210           : move.b  (A0), D1       // play sound
            FC30 | 0001 0080      : ori.b   #$80, D1
            FC34 | 1281           : move.b  D1, (A1)
            FC36 | 0C00 00FB      : cmpi.b  #-$5, D0
            FC3A | 6602           : bne     $fc3e
            FC3C | 4211           : clr.b   (A1)           // stop sound
            FC3E | 60BA           : bra     $fbfa
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@05AE = 00AE            </action>
            <action>maincpu.mw@05B4 = 08F9            </action>
            <action>maincpu.mq@05CA = 4A3900C420016618</action>
            <action>maincpu.mq@FBF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FBF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
afighterb.xml

Code: Select all

<!-- Action Fighter (unprotected, analog controls) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@435E = 60</action> <!-- background -->
            <action>maincpu.mb@4CCC = 60</action> <!-- gate -->
            <action>maincpu.mb@8CFA = 60</action> <!-- bullet -->
            <action>maincpu.mb@8D84 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@435E = 66</action>
            <action>maincpu.mb@4CCC = 6D</action>
            <action>maincpu.mb@8CFA = 6D</action>
            <action>maincpu.mb@8D84 = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mw@4290 = 4E71</action> <!-- main shot -->
            <action>maincpu.mw@42D2 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.mw@4300 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.mw@432E = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.mw@4290 = 6D0E</action>
            <action>maincpu.mw@42D2 = 661A</action>
            <action>maincpu.mw@4300 = 661A</action>
            <action>maincpu.mw@432E = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@6046 = 4EB90000FBB06700</action>
            <action>maincpu.mq@FBB0 = 522E005F022E0000</action>
            <action>maincpu.mq@FBB8 = 005F6704201F4E75</action>
            <action>maincpu.mq@FBC0 = 302E003453404E75</action>
            <!--
            FBB0 | 522E 005F      : addq.b  #1, ($5f,A6)
            FBB4 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FBBA | 6704           : beq     $fbc0
            FBBC | 201F           : move.l  (A7)+, D0
            FBBE | 4E75           : rts
            FBC0 | 302E 0034      : move.w  ($34,A6), D0
            FBC4 | 5340           : subq.w  #1, D0
            FBC6 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@FBB6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@6046 = 302E003453406700</action>
            <action>maincpu.mq@FBB0 = 0000000000000000</action>
            <action>maincpu.mq@FBB8 = 0000000000000000</action>
            <action>maincpu.mq@FBC0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="on">
            <action>maincpu.mq@6278 = 4EB90000FBC80640</action>
            <action>maincpu.mq@FBC8 = 48E780024DF8D840</action>
            <action>maincpu.mq@FBD0 = 70073F004EB81060</action>
            <action>maincpu.mq@FBD8 = 301F9CFC006051C8</action>
            <action>maincpu.mq@FBE0 = FFF24CDF4001D078</action>
            <action>maincpu.mq@FBE8 = C12CE0484E75FFFF</action>
            <!--
            FBC8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FBCD | 4DF8 D840 : lea     $d840.w, A6
            FBD0 | 7007      : moveq   #$7, D0
            FBD2 | 3F00      : move.w  D0, -(A7)
            FBD4 | 4EB8 1060 : jsr     $1060.w
            FBD8 | 301F      : move.w  (A7)+, D0
            FBDA | 9CFC 0060 : suba.w  #$60, A6
            FBDE | 51C8 FFF2 : dbra    D0, $fbd2
            FBE2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FBE6 | D078 C12C : add.w   $c12c.w, D0
            FBEA | E048      : lsr.w   #8, D0
            FBEC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@6278 = D078C12CE0480640</action>
            <action>maincpu.mq@FBC8 = 0000000000000000</action>
            <action>maincpu.mq@FBD0 = 0000000000000000</action>
            <action>maincpu.mq@FBD8 = 0000000000000000</action>
            <action>maincpu.mq@FBE0 = 0000000000000000</action>
            <action>maincpu.mq@FBE8 = 0000000000000000</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@05AE = 0000            </action> <!-- disable title music -->
            <action>maincpu.mw@05B4 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.mq@05CA = 4EF90000FBF06618</action>
            <action>maincpu.mq@FBF0 = 41F8900043F900C4</action>
            <action>maincpu.mq@FBF8 = 0001120042800C29</action>
            <action>maincpu.mq@FC00 = 00FE1006640408C0</action>
            <action>maincpu.mq@FC08 = 00000C2900FE1004</action>
            <action>maincpu.mq@FC10 = 640408C000011429</action>
            <action>maincpu.mq@FC18 = 100246028002B200</action>
            <action>maincpu.mq@FC20 = 67D80C0000016602</action>
            <action>maincpu.mq@FC28 = 53100C0000026602</action>
            <action>maincpu.mq@FC30 = 52100C0000406604</action>
            <action>maincpu.mq@FC38 = 041000100C000080</action>
            <action>maincpu.mq@FC40 = 6604061000100C00</action>
            <action>maincpu.mq@FC48 = 0010660812100001</action>
            <action>maincpu.mq@FC50 = 008012810C000020</action>
            <action>maincpu.mq@FC58 = 66024211609CFFFF</action>
            <!--
            FBF0 | 41F8 9000      : lea     $9000.w, A0      // sound code address
            FBF4 | 43F9 00C4 0001 : lea     $c40001.l, A1    // sound latch address
            FBFA | 1200           : move.b  D0, D1
            FBFC | 4280           : clr.l   D0
            FBFE | 0C29 00FE 1006 : cmpi.b  #-$2, ($1006,A1) // read left ($C41007)
            FC04 | 6404           : bcc     $fc0a
            FC06 | 08C0 0000      : bset    #$0, D0
            FC0A | 0C29 00FE 1004 : cmpi.b  #-$2, ($1004,A1) // read right ($C41005)
            FC10 | 6404           : bcc     $fc16
            FC12 | 08C0 0001      : bset    #$1, D0
            FC16 | 1429 1002      : move.b  ($1002,A1), D2   // read other inputs ($C41003)
            FC1A | 4602           : not.b   D2
            FC1C | 8002           : or.b    D2, D0
            FC1E | B200           : cmp.b   D0, D1
            FC20 | 67D8           : beq     $fbfa
            FC22 | 0C00 0001      : cmpi.b  #$1, D0
            FC26 | 6602           : bne     $fc2a
            FC28 | 5310           : subq.b  #1, (A0)         // decrease code -01
            FC2A | 0C00 0002      : cmpi.b  #$2, D0
            FC2E | 6602           : bne     $fc32
            FC30 | 5210           : addq.b  #1, (A0)         // increase code +01
            FC32 | 0C00 0040      : cmpi.b  #$40, D0
            FC36 | 6604           : bne     $fc3c
            FC38 | 0410 0010      : subi.b  #$10, (A0)       // decrease code -10
            FC3C | 0C00 0080      : cmpi.b  #-$80, D0
            FC40 | 6604           : bne     $fc46
            FC42 | 0610 0010      : addi.b  #$10, (A0)       // increase code +10
            FC46 | 0C00 0010      : cmpi.b  #$10, D0
            FC4A | 6608           : bne     $fc54
            FC4C | 1210           : move.b  (A0), D1         // play sound
            FC4E | 0001 0080      : ori.b   #$80, D1
            FC52 | 1281           : move.b  D1, (A1)
            FC54 | 0C00 0020      : cmpi.b  #$20, D0
            FC58 | 6602           : bne     $fc5c
            FC5A | 4211           : clr.b   (A1)             // stop sound
            FC5C | 609C           : bra     $fbfa
            -->
        </script>
        <script state="run">
            <output format="----- 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="button 3 : decrease code -10"      line="13" align="center" />
            <output format="button 4 : 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@05AE = 00AE            </action>
            <action>maincpu.mw@05B4 = 08F9            </action>
            <action>maincpu.mq@05CA = 4A3900C420016618</action>
            <action>maincpu.mq@FBF0 = 0000000000000000</action>
            <action>maincpu.mq@FBF8 = 0000000000000000</action>
            <action>maincpu.mq@FC00 = 0000FFFFFFFFFFFF</action>
            <action>maincpu.mq@FC08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC58 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
afighterc.xml

Code: Select all

<!-- Action Fighter (FD1089B 317-unknown) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@431E = 60</action> <!-- background -->
            <action>maincpu.ob@4C12 = 60</action> <!-- gate -->
            <action>maincpu.ob@8C40 = 60</action> <!-- bullet -->
            <action>maincpu.ob@8CCA = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@431E = 66</action>
            <action>maincpu.ob@4C12 = 6D</action>
            <action>maincpu.ob@8C40 = 6D</action>
            <action>maincpu.ob@8CCA = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ow@4250 = 4E71</action> <!-- main shot -->
            <action>maincpu.ow@4292 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.ow@42C0 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.ow@42EE = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.ow@4250 = 6D0E</action>
            <action>maincpu.ow@4292 = 661A</action>
            <action>maincpu.ow@42C0 = 661A</action>
            <action>maincpu.ow@42EE = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@5F8C = 4EB90000FBB06700</action>
            <action>maincpu.oq@FBB0 = 522E005F022E0000</action>
            <action>maincpu.oq@FBB8 = 005F6704201F4E75</action>
            <action>maincpu.oq@FBC0 = 302E003453404E75</action>
            <action>maincpu.ow@FBB6 = param           </action>
            <!--
            FBB0 | 522E 005F      : addq.b  #1, ($5f,A6)
            FBB4 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FBBA | 6704           : beq     $fbc0
            FBBC | 201F           : move.l  (A7)+, D0
            FBBE | 4E75           : rts
            FBC0 | 302E 0034      : move.w  ($34,A6), D0
            FBC4 | 5340           : subq.w  #1, D0
            FBC6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@5F8C = 302E003453406700</action>
            <action>maincpu.oq@FBB0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FBB8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FBC0 = 3FFF2FF73FFF2FF7</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="run">
            <action>maincpu.oq@61BE = 4EB90000FBC80640</action>
            <action>maincpu.oq@FBC8 = 48E780024DF8D840</action>
            <action>maincpu.oq@FBD0 = 70073F004EB81034</action>
            <action>maincpu.oq@FBD8 = 301F9CFC006051C8</action>
            <action>maincpu.oq@FBE0 = FFF24CDF4001D078</action>
            <action>maincpu.oq@FBE8 = C12CE0484E75FFFF</action>
            <!--
            FBC8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FBCD | 4DF8 D840 : lea     $d840.w, A6
            FBD0 | 7007      : moveq   #$7, D0
            FBD2 | 3F00      : move.w  D0, -(A7)
            FBD4 | 4EB8 1034 : jsr     $1034.w
            FBD8 | 301F      : move.w  (A7)+, D0
            FBDA | 9CFC 0060 : suba.w  #$60, A6
            FBDE | 51C8 FFF2 : dbra    D0, $fbd2
            FBE2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FBE6 | D078 C12C : add.w   $c12c.w, D0
            FBFA | E048      : lsr.w   #8, D0
            FBFC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@61BE = D078C12CE0480640</action>
            <action>maincpu.oq@FBC8 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FBD0 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FBD8 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FBE0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FBE8 = 97B7DBB797B7DBB7</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.ow@05AE = 0000            </action> <!-- disable title music -->
            <action>maincpu.ow@05B4 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.oq@05CA = 4EF90000FBF06618</action>
            <action>maincpu.oq@FBF0 = 41F8900043F900C4</action>
            <action>maincpu.oq@FBF8 = 0001120010291002</action>
            <action>maincpu.oq@FC00 = B20067F60C00007F</action>
            <action>maincpu.oq@FC08 = 660253100C0000BF</action>
            <action>maincpu.oq@FC10 = 660252100C0000EF</action>
            <action>maincpu.oq@FC18 = 6604041000100C00</action>
            <action>maincpu.oq@FC20 = 00DF660406100010</action>
            <action>maincpu.oq@FC28 = 0C0000FD66081210</action>
            <action>maincpu.oq@FC30 = 0001008012810C00</action>
            <action>maincpu.oq@FC38 = 00FB6602421160BA</action>
            <!--
            FBF0 | 41F8 9000      : lea     $9000.w, A0    // sound code address
            FBF4 | 43F9 00C4 0001 : lea     $c40001.l, A1  // sound latch address
            FBFA | 1200           : move.b  D0, D1
            FBFC | 1029 1002      : move.b  ($1002,A1), D0 // read input ($C41003)
            FC00 | B200           : cmp.b   D0, D1
            FC02 | 67F6           : beq     $fbfa
            FC04 | 0C00 007F      : cmpi.b  #$7f, D0
            FC08 | 6602           : bne     $fc0c
            FC0A | 5310           : subq.b  #1, (A0)       // decrease code -01
            FC0C | 0C00 00BF      : cmpi.b  #-$41, D0
            FC10 | 6602           : bne     $fc14
            FC12 | 5210           : addq.b  #1, (A0)       // increase code +01
            FC14 | 0C00 00EF      : cmpi.b  #-$11, D0
            FC18 | 6604           : bne     $fc1e
            FC1A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            FC1E | 0C00 00DF      : cmpi.b  #-$21, D0
            FC22 | 6604           : bne     $fc28
            FC24 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            FC28 | 0C00 00FD      : cmpi.b  #-$3, D0
            FC2C | 6608           : bne     $fc36
            FC2E | 1210           : move.b  (A0), D1       // play sound
            FC30 | 0001 0080      : ori.b   #$80, D1
            FC34 | 1281           : move.b  D1, (A1)
            FC36 | 0C00 00FB      : cmpi.b  #-$5, D0
            FC3A | 6602           : bne     $fc3e
            FC3C | 4211           : clr.b   (A1)           // stop sound
            FC3E | 60BA           : bra     $fbfa
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ow@05AE = 00AE            </action>
            <action>maincpu.ow@05B4 = 08F9            </action>
            <action>maincpu.oq@05CA = 4A3900C420016618</action>
            <action>maincpu.oq@FBF0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FBF8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FC00 = DFB787F7DFB787F7</action>
            <action>maincpu.oq@FC08 = 4FFFA7B74FFFA7B7</action>
            <action>maincpu.oq@FC10 = DFB787F7DFB787F7</action>
            <action>maincpu.oq@FC18 = 4FFFA7B74FFFA7B7</action>
            <action>maincpu.oq@FC20 = 4FFFABF74FFFABF7</action>
            <action>maincpu.oq@FC28 = FBF7EBF7FBF7EBF7</action>
            <action>maincpu.oq@FC30 = 4FFFABF74FFFABF7</action>
            <action>maincpu.oq@FC38 = FBF7EBF7FBF7EBF7</action>
        </script>
    </cheat>

</mamecheat>
afighterd.xml

Code: Select all

<!-- Action Fighter (FD1089B 317-unknown, analog controls) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@435E = 60</action> <!-- background -->
            <action>maincpu.ob@4CCC = 60</action> <!-- gate -->
            <action>maincpu.ob@8CFA = 60</action> <!-- bullet -->
            <action>maincpu.ob@8D84 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@435E = 66</action>
            <action>maincpu.ob@4CCC = 6D</action>
            <action>maincpu.ob@8CFA = 6D</action>
            <action>maincpu.ob@8D84 = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ow@4290 = 4E71</action> <!-- main shot -->
            <action>maincpu.ow@42D2 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.ow@4300 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.ow@432E = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.ow@4290 = 6D0E</action>
            <action>maincpu.ow@42D2 = 661A</action>
            <action>maincpu.ow@4300 = 661A</action>
            <action>maincpu.ow@432E = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@6046 = 4EB90000FBB06700</action>
            <action>maincpu.oq@FBB0 = 522E005F022E0000</action>
            <action>maincpu.oq@FBB8 = 005F6704201F4E75</action>
            <action>maincpu.oq@FBC0 = 302E003453404E75</action>
            <action>maincpu.ow@FBB6 = param           </action>
            <!--
            FBB0 | 522E 005F      : addq.b  #1, ($5f,A6)
            FBB4 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FBBA | 6704           : beq     $fbc0
            FBBC | 201F           : move.l  (A7)+, D0
            FBBE | 4E75           : rts
            FBC0 | 302E 0034      : move.w  ($34,A6), D0
            FBC4 | 5340           : subq.w  #1, D0
            FBC6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@6046 = 302E003453406700</action>
            <action>maincpu.oq@FBB0 = F8401840F8401840</action>
            <action>maincpu.oq@FBB8 = 8C08D4008C08D400</action>
            <action>maincpu.oq@FBC0 = 90001C4890001C48</action>

        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="run">
            <action>maincpu.oq@6278 = 4EB90000FBC80640</action>
            <action>maincpu.oq@FBC8 = 48E780024DF8D840</action>
            <action>maincpu.oq@FBD0 = 70073F004EB81060</action>
            <action>maincpu.oq@FBD8 = 301F9CFC006051C8</action>
            <action>maincpu.oq@FBE0 = FFF24CDF4001D078</action>
            <action>maincpu.oq@FBE8 = C12CE0484E75FFFF</action>
            <!--
            FBC8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FBCD | 4DF8 D840 : lea     $d840.w, A6
            FBD0 | 7007      : moveq   #$7, D0
            FBD2 | 3F00      : move.w  D0, -(A7)
            FBD4 | 4EB8 1060 : jsr     $1060.w
            FBD8 | 301F      : move.w  (A7)+, D0
            FBDA | 9CFC 0060 : suba.w  #$60, A6
            FBDE | 51C8 FFF2 : dbra    D0, $fbd2
            FBE2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FBE6 | D078 C12C : add.w   $c12c.w, D0
            FBEA | E048      : lsr.w   #8, D0
            FBEC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@6278 = D078C12CE0480640</action>
            <action>maincpu.oq@FBC8 = 7C0090007C009000</action>
            <action>maincpu.oq@FBD0 = 90001C4890001C48</action>
            <action>maincpu.oq@FBD8 = 7C0090007C009000</action>
            <action>maincpu.oq@FBE0 = F8401840F8401840</action>
            <action>maincpu.oq@FBE8 = 8C08D4008C08D400</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.ow@05AE = 0000            </action> <!-- disable title music -->
            <action>maincpu.ow@05B4 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.oq@05CA = 4EF90000FBF06618</action>
            <action>maincpu.oq@FBF0 = 41F8900043F900C4</action>
            <action>maincpu.oq@FBF8 = 0001120042800C29</action>
            <action>maincpu.oq@FC00 = 00FE1006640408C0</action>
            <action>maincpu.oq@FC08 = 00000C2900FE1004</action>
            <action>maincpu.oq@FC10 = 640408C000011429</action>
            <action>maincpu.oq@FC18 = 100246028002B200</action>
            <action>maincpu.oq@FC20 = 67D80C0000016602</action>
            <action>maincpu.oq@FC28 = 53100C0000026602</action>
            <action>maincpu.oq@FC30 = 52100C0000406604</action>
            <action>maincpu.oq@FC38 = 041000100C000080</action>
            <action>maincpu.oq@FC40 = 6604061000100C00</action>
            <action>maincpu.oq@FC48 = 0010660812100001</action>
            <action>maincpu.oq@FC50 = 008012810C000020</action>
            <action>maincpu.oq@FC58 = 66024211609CFFFF</action>
            <!--
            FBF0 | 41F8 9000      : lea     $9000.w, A0      // sound code address
            FBF4 | 43F9 00C4 0001 : lea     $c40001.l, A1    // sound latch address
            FBFA | 1200           : move.b  D0, D1
            FBFC | 4280           : clr.l   D0
            FBFE | 0C29 00FE 1006 : cmpi.b  #-$2, ($1006,A1) // read left ($C41007)
            FC04 | 6404           : bcc     $fc0a
            FC06 | 08C0 0000      : bset    #$0, D0
            FC0A | 0C29 00FE 1004 : cmpi.b  #-$2, ($1004,A1) // read right ($C41005)
            FC10 | 6404           : bcc     $fc16
            FC12 | 08C0 0001      : bset    #$1, D0
            FC16 | 1429 1002      : move.b  ($1002,A1), D2   // read other inputs ($C41003)
            FC1A | 4602           : not.b   D2
            FC1C | 8002           : or.b    D2, D0
            FC1E | B200           : cmp.b   D0, D1
            FC20 | 67D8           : beq     $fbfa
            FC22 | 0C00 0001      : cmpi.b  #$1, D0
            FC26 | 6602           : bne     $fc2a
            FC28 | 5310           : subq.b  #1, (A0)         // decrease code -01
            FC2A | 0C00 0002      : cmpi.b  #$2, D0
            FC2E | 6602           : bne     $fc32
            FC30 | 5210           : addq.b  #1, (A0)         // increase code +01
            FC32 | 0C00 0040      : cmpi.b  #$40, D0
            FC36 | 6604           : bne     $fc3c
            FC38 | 0410 0010      : subi.b  #$10, (A0)       // decrease code -10
            FC3C | 0C00 0080      : cmpi.b  #-$80, D0
            FC40 | 6604           : bne     $fc46
            FC42 | 0610 0010      : addi.b  #$10, (A0)       // increase code +10
            FC46 | 0C00 0010      : cmpi.b  #$10, D0
            FC4A | 6608           : bne     $fc54
            FC4C | 1210           : move.b  (A0), D1         // play sound
            FC4E | 0001 0080      : ori.b   #$80, D1
            FC52 | 1281           : move.b  D1, (A1)
            FC54 | 0C00 0020      : cmpi.b  #$20, D0
            FC58 | 6602           : bne     $fc5c
            FC5A | 4211           : clr.b   (A1)             // stop sound
            FC5C | 609C           : bra     $fbfa
            -->
            <!-- display -->
            <output format="----- 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="button 3 : decrease code -10"      line="13" align="center" />
            <output format="button 4 : 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ow@05AE = 00AE            </action>
            <action>maincpu.ow@05B4 = 08F9            </action>
            <action>maincpu.oq@05CA = 4A3900C420016618</action>
            <action>maincpu.oq@FBF0 = F8401840F8401840</action>
            <action>maincpu.oq@FBF8 = 8C08D4008C08D400</action>
            <action>maincpu.oq@FC00 = D80087F7DFB787F7</action>
            <action>maincpu.oq@FC08 = 4FFFA7B74FFFA7B7</action>
            <action>maincpu.oq@FC10 = DFB787F7DFB787F7</action>
            <action>maincpu.oq@FC18 = 4FFFA7B74FFFA7B7</action>
            <action>maincpu.oq@FC20 = 4FFFABF74FFFABF7</action>
            <action>maincpu.oq@FC28 = FBF7EBF7FBF7EBF7</action>
            <action>maincpu.oq@FC30 = 4FFFABF74FFFABF7</action>
            <action>maincpu.oq@FC38 = FBF7EBF7FBF7EBF7</action>
            <action>maincpu.oq@FC40 = DFB787F7DFB787F7</action>
            <action>maincpu.oq@FC48 = 4FFFA7B74FFFA7B7</action>
            <action>maincpu.oq@FC50 = DFB787F7DFB787F7</action>
            <action>maincpu.oq@FC58 = 4FFFA7B74FFFA7B7</action>
        </script>
    </cheat>

</mamecheat>

[afighter]+ Action Fighter

Posted: Wed Jun 18, 2025 9:37 am
by jman
afightere.xml

Code: Select all

<!-- Action Fighter (System 16B, unprotected, analog controls) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@43A2 = 60</action> <!-- background -->
            <action>maincpu.mb@4CB6 = 60</action> <!-- gate -->
            <action>maincpu.mb@8C06 = 60</action> <!-- bullet -->
            <action>maincpu.mb@8C90 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@43A2 = 66</action>
            <action>maincpu.mb@4CB6 = 6D</action>
            <action>maincpu.mb@8C06 = 6D</action>
            <action>maincpu.mb@8C90 = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mw@42D4 = 4E71</action> <!-- main shot -->
            <action>maincpu.mw@4316 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.mw@4344 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.mw@4372 = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.mw@42D4 = 6D0E</action>
            <action>maincpu.mw@4316 = 661A</action>
            <action>maincpu.mw@4344 = 661A</action>
            <action>maincpu.mw@4372 = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@5FCC = 4EB90000FE906700</action>
            <action>maincpu.mq@FE90 = 522E005F022E0000</action>
            <action>maincpu.mq@FE98 = 005F6704201F4E75</action>
            <action>maincpu.mq@FEA0 = 302E003453404E75</action>
            <!--
            FE90 | 522E 005F      : addq.b  #1, ($5f,A6)
            FE94 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FE9A | 6704           : beq     $fea0
            FE9C | 201F           : move.l  (A7)+, D0
            FE9E | 4E75           : rts
            FEA0 | 302E 0034      : move.w  ($34,A6), D0
            FEA4 | 5340           : subq.w  #1, D0
            FEA6 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@FE96 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@5FCC = 302E003453406700</action>
            <action>maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="on">
            <action>maincpu.mq@61DE = 4EB90000FEA80640</action>
            <action>maincpu.mq@FEA8 = 48E780024DF8E5C0</action>
            <action>maincpu.mq@FEB0 = 70073F004EB81092</action>
            <action>maincpu.mq@FEB8 = 301F9CFC006051C8</action>
            <action>maincpu.mq@FEC0 = FFF24CDF4001D078</action>
            <action>maincpu.mq@FEC8 = C12CE0484E75FFFF</action>
            <!--
            FEA8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FEAD | 4DF8 E5C0 : lea     $e5c0.w, A6
            FEB0 | 7007      : moveq   #$7, D0
            FEB2 | 3F00      : move.w  D0, -(A7)
            FEB4 | 4EB8 1092 : jsr     $1092.w
            FEB8 | 301F      : move.w  (A7)+, D0
            FEBA | 9CFC 0060 : suba.w  #$60, A6
            FEBE | 51C8 FFF2 : dbra    D0, $feb2
            FEC2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FEC6 | D078 C12C : add.w   $c12c.w, D0
            FECA | E048      : lsr.w   #8, D0
            FECC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@61DE = D078C12CE0480640</action>
            <action>maincpu.mq@FEA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC8 = 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@0590 = 0000            </action> <!-- disable title music -->
            <action>maincpu.mw@0596 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.mq@05AC = 4EF90000FED06618</action>
            <action>maincpu.mq@FED0 = 41F8900043F900C0</action>
            <action>maincpu.mq@FED8 = 0007120042800C39</action>
            <action>maincpu.mq@FEE0 = 00FE00C410076404</action>
            <action>maincpu.mq@FEE8 = 08C000000C3900FE</action>
            <action>maincpu.mq@FEF0 = 00C41005640408C0</action>
            <action>maincpu.mq@FEF8 = 0001143900C41003</action>
            <action>maincpu.mq@FF00 = 46028002B20067D2</action>
            <action>maincpu.mq@FF08 = 0C00000166025310</action>
            <action>maincpu.mq@FF10 = 0C00000266025210</action>
            <action>maincpu.mq@FF18 = 0C00004066040410</action>
            <action>maincpu.mq@FF20 = 00100C0000806604</action>
            <action>maincpu.mq@FF28 = 061000100C000010</action>
            <action>maincpu.mq@FF30 = 6608121000010080</action>
            <action>maincpu.mq@FF38 = 12810C0000206602</action>
            <action>maincpu.mq@FF40 = 42116096FFFFFFFF</action>
            <!--
            FED0 | 41F8 9000           : lea     $9000.w, A0     // sound code address
            FED4 | 43F9 00C0 0007      : lea     $c00007.l, A1   // sound latch address
            FEDA | 1200                : move.b  D0, D1
            FEDC | 4280                : clr.l   D0
            FEDE | 0C39 00FE 00C4 1007 : cmpi.b  #-$2, $c41007.l // read left
            FEE6 | 6404                : bcc     $feec
            FEE8 | 08C0 0000           : bset    #$0, D0
            FEEC | 0C39 00FE 00C4 1005 : cmpi.b  #-$2, $c41005.l // read right
            FEF4 | 6404                : bcc     $fefa
            FEF6 | 08C0 0001           : bset    #$1, D0
            FEFA | 1439 00C4 1003      : move.b  $c41003.l, D2   // read other inputs
            FF00 | 4602                : not.b   D2
            FF02 | 8002                : or.b    D2, D0
            FF04 | B200                : cmp.b   D0, D1
            FF06 | 67D2                : beq     $feda
            FF08 | 0C00 0001           : cmpi.b  #$1, D0
            FF0C | 6602                : bne     $ff10
            FF0E | 5310                : subq.b  #1, (A0)        // decrease code -01
            FF10 | 0C00 0002           : cmpi.b  #$2, D0
            FF14 | 6602                : bne     $ff18
            FF16 | 5210                : addq.b  #1, (A0)        // increase code +01
            FF18 | 0C00 0040           : cmpi.b  #$40, D0
            FF1C | 6604                : bne     $ff22
            FF1E | 0410 0010           : subi.b  #$10, (A0)      // decrease code -10
            FF22 | 0C00 0080           : cmpi.b  #-$80, D0
            FF26 | 6604                : bne     $ff2c
            FF28 | 0610 0010           : addi.b  #$10, (A0)      // increase code +10
            FF2C | 0C00 0010           : cmpi.b  #$10, D0
            FF30 | 6608                : bne     $ff3a
            FF32 | 1210                : move.b  (A0), D1        // play sound
            FF34 | 0001 0080           : ori.b   #$80, D1
            FF38 | 1281                : move.b  D1, (A1)
            FF3A | 0C00 0020           : cmpi.b  #$20, D0
            FF3E | 6602                : bne     $ff42
            FF40 | 4211                : clr.b   (A1)            // stop sound
            FF42 | 6096                : bra     $feda
            -->
        </script>
        <script state="run">
            <output format="----- 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="button 3 : decrease code -10"      line="13" align="center" />
            <output format="button 4 : 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0590 = 00AE            </action>
            <action>maincpu.mw@0596 = 08F9            </action>
            <action>maincpu.mq@05AC = 4A3900C420036618</action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
afighterf.xml

Code: Select all

<!-- Action Fighter (System 16B, FD1089B 317-unknown, analog controls) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@43A2 = 60</action> <!-- background -->
            <action>maincpu.ob@4CB6 = 60</action> <!-- gate -->
            <action>maincpu.ob@8C06 = 60</action> <!-- bullet -->
            <action>maincpu.ob@8C90 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@43A2 = 66</action>
            <action>maincpu.ob@4CB6 = 6D</action>
            <action>maincpu.ob@8C06 = 6D</action>
            <action>maincpu.ob@8C90 = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ow@42D4 = 4E71</action> <!-- main shot -->
            <action>maincpu.ow@4316 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.ow@4344 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.ow@4372 = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.ow@42D4 = 6D0E</action>
            <action>maincpu.ow@4316 = 661A</action>
            <action>maincpu.ow@4344 = 661A</action>
            <action>maincpu.ow@4372 = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@5FCC = 4EB90000FE906700</action>
            <action>maincpu.oq@FE90 = 522E005F022E0000</action>
            <action>maincpu.oq@FE98 = 005F6704201F4E75</action>
            <action>maincpu.oq@FEA0 = 302E003453404E75</action>
            <action>maincpu.ow@FE96 = param           </action>
            <!--
            FE90 | 522E 005F      : addq.b  #1, ($5f,A6)
            FE94 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FE9A | 6704           : beq     $fea0
            FE9C | 201F           : move.l  (A7)+, D0
            FE9E | 4E75           : rts
            FEA0 | 302E 0034      : move.w  ($34,A6), D0
            FEA4 | 5340           : subq.w  #1, D0
            FEA6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@6046 = 302E003453406700</action>
            <action>maincpu.oq@FE90 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FE98 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FEA0 = C7FF73B7C7FF73B7</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="run">
            <action>maincpu.oq@61DE = 4EB90000FEA80640</action>
            <action>maincpu.oq@FEA8 = 48E780024DF8E5C0</action>
            <action>maincpu.oq@FEB0 = 70073F004EB81092</action>
            <action>maincpu.oq@FEB8 = 301F9CFC006051C8</action>
            <action>maincpu.oq@FEC0 = FFF24CDF4001D078</action>
            <action>maincpu.oq@FEC8 = C12CE0484E75FFFF</action>
            <!--
            FEA8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FEAD | 4DF8 E5C0 : lea     $e5c0.w, A6
            FEB0 | 7007      : moveq   #$7, D0
            FEB2 | 3F00      : move.w  D0, -(A7)
            FEB4 | 4EB8 1092 : jsr     $1092.w
            FEB8 | 301F      : move.w  (A7)+, D0
            FEBA | 9CFC 0060 : suba.w  #$60, A6
            FEBE | 51C8 FFF2 : dbra    D0, $feb2
            FEC2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FEC6 | D078 C12C : add.w   $c12c.w, D0
            FECA | E048      : lsr.w   #8, D0
            FECC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@61DE = D078C12CE0480640</action>
            <action>maincpu.oq@FEA8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FEB0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FEB8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FEC0 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FEC8 = 7FBF3FFF7FBF3FFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.ow@0590 = 0000            </action> <!-- disable title music -->
            <action>maincpu.ow@0596 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.oq@05AC = 4EF90000FED06618</action>
            <action>maincpu.oq@FED0 = 41F8900043F900C0</action>
            <action>maincpu.oq@FED8 = 0007120042800C39</action>
            <action>maincpu.oq@FEE0 = 00FE00C410076404</action>
            <action>maincpu.oq@FEE8 = 08C000000C3900FE</action>
            <action>maincpu.oq@FEF0 = 00C41005640408C0</action>
            <action>maincpu.oq@FEF8 = 0001143900C41003</action>
            <action>maincpu.oq@FF00 = 46028002B20067D2</action>
            <action>maincpu.oq@FF08 = 0C00000166025310</action>
            <action>maincpu.oq@FF10 = 0C00000266025210</action>
            <action>maincpu.oq@FF18 = 0C00004066040410</action>
            <action>maincpu.oq@FF20 = 00100C0000806604</action>
            <action>maincpu.oq@FF28 = 061000100C000010</action>
            <action>maincpu.oq@FF30 = 6608121000010080</action>
            <action>maincpu.oq@FF38 = 12810C0000206602</action>
            <action>maincpu.oq@FF40 = 42116096FFFFFFFF</action>
            <!--
            FED0 | 41F8 9000           : lea     $9000.w, A0     // sound code address
            FED4 | 43F9 00C0 0007      : lea     $c00007.l, A1   // sound latch address
            FEDA | 1200                : move.b  D0, D1
            FEDC | 4280                : clr.l   D0
            FEDE | 0C39 00FE 00C4 1007 : cmpi.b  #-$2, $c41007.l // read left
            FEE6 | 6404                : bcc     $feec
            FEE8 | 08C0 0000           : bset    #$0, D0
            FEEC | 0C39 00FE 00C4 1005 : cmpi.b  #-$2, $c41005.l // read right
            FEF4 | 6404                : bcc     $fefa
            FEF6 | 08C0 0001           : bset    #$1, D0
            FEFA | 1439 00C4 1003      : move.b  $c41003.l, D2   // read other inputs
            FF00 | 4602                : not.b   D2
            FF02 | 8002                : or.b    D2, D0
            FF04 | B200                : cmp.b   D0, D1
            FF06 | 67D2                : beq     $feda
            FF08 | 0C00 0001           : cmpi.b  #$1, D0
            FF0C | 6602                : bne     $ff10
            FF0E | 5310                : subq.b  #1, (A0)        // decrease code -01
            FF10 | 0C00 0002           : cmpi.b  #$2, D0
            FF14 | 6602                : bne     $ff18
            FF16 | 5210                : addq.b  #1, (A0)        // increase code +01
            FF18 | 0C00 0040           : cmpi.b  #$40, D0
            FF1C | 6604                : bne     $ff22
            FF1E | 0410 0010           : subi.b  #$10, (A0)      // decrease code -10
            FF22 | 0C00 0080           : cmpi.b  #-$80, D0
            FF26 | 6604                : bne     $ff2c
            FF28 | 0610 0010           : addi.b  #$10, (A0)      // increase code +10
            FF2C | 0C00 0010           : cmpi.b  #$10, D0
            FF30 | 6608                : bne     $ff3a
            FF32 | 1210                : move.b  (A0), D1        // play sound
            FF34 | 0001 0080           : ori.b   #$80, D1
            FF38 | 1281                : move.b  D1, (A1)
            FF3A | 0C00 0020           : cmpi.b  #$20, D0
            FF3E | 6602                : bne     $ff42
            FF40 | 4211                : clr.b   (A1)            // stop sound
            FF42 | 6096                : bra     $feda
            -->
            <!-- display -->
            <output format="----- 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="button 3 : decrease code -10"      line="13" align="center" />
            <output format="button 4 : 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ow@0590 = 00AE            </action>
            <action>maincpu.ow@0596 = 08F9            </action>
            <action>maincpu.oq@05AC = 4A3900C420036618</action>
            <action>maincpu.oq@FED0 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FED8 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FEE0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FEE8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FEF0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FEF8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FF00 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FF08 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FF10 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FF18 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FF20 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FF28 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FF30 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FF38 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FF40 = 3FFF2FF73FFF2FF7</action>
        </script>
    </cheat>

</mamecheat>
afighterg.xml

Code: Select all

<!-- Action Fighter (System 16B, FD1089B 317-unknown) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@43C2 = 60</action> <!-- background -->
            <action>maincpu.ob@4C5E = 60</action> <!-- gate -->
            <action>maincpu.ob@8BAE = 60</action> <!-- bullet -->
            <action>maincpu.ob@8C38 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@43C2 = 66</action>
            <action>maincpu.ob@4C5E = 6D</action>
            <action>maincpu.ob@8BAE = 6D</action>
            <action>maincpu.ob@8C38 = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ow@42F4 = 4E71</action> <!-- main shot -->
            <action>maincpu.ow@4336 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.ow@4364 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.ow@4392 = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.ow@42F4 = 6D0E</action>
            <action>maincpu.ow@4336 = 661A</action>
            <action>maincpu.ow@4364 = 661A</action>
            <action>maincpu.ow@4392 = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@5F74 = 4EB90000FE906700</action>
            <action>maincpu.oq@FE90 = 522E005F022E0000</action>
            <action>maincpu.oq@FE98 = 005F6704201F4E75</action>
            <action>maincpu.oq@FEA0 = 302E003453404E75</action>
            <action>maincpu.ow@FE96 = param           </action>
            <!--
            FE90 | 522E 005F      : addq.b  #1, ($5f,A6)
            FE94 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FE9A | 6704           : beq     $fea0
            FE9C | 201F           : move.l  (A7)+, D0
            FE9E | 4E75           : rts
            FEA0 | 302E 0034      : move.w  ($34,A6), D0
            FEA4 | 5340           : subq.w  #1, D0
            FEA6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@5F74 = 302E003453406700</action>
            <action>maincpu.oq@FE90 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FE98 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FEA0 = C7FF73B7C7FF73B7</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="run">
            <action>maincpu.oq@6186 = 4EB90000FEA80640</action>
            <action>maincpu.oq@FEA8 = 48E780024DF8E5C0</action>
            <action>maincpu.oq@FEB0 = 70073F004EB81092</action>
            <action>maincpu.oq@FEB8 = 301F9CFC006051C8</action>
            <action>maincpu.oq@FEC0 = FFF24CDF4001D078</action>
            <action>maincpu.oq@FEC8 = C12CE0484E75FFFF</action>
            <!--
            FEA8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FEAD | 4DF8 E5C0 : lea     $e5c0.w, A6
            FEB0 | 7007      : moveq   #$7, D0
            FEB2 | 3F00      : move.w  D0, -(A7)
            FEB4 | 4EB8 1092 : jsr     $1092.w
            FEB8 | 301F      : move.w  (A7)+, D0
            FEBA | 9CFC 0060 : suba.w  #$60, A6
            FEBE | 51C8 FFF2 : dbra    D0, $feb2
            FEC2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FEC6 | D078 C12C : add.w   $c12c.w, D0
            FECA | E048      : lsr.w   #8, D0
            FECC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@6186 = D078C12CE0480640</action>
            <action>maincpu.oq@FEA8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FEB0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FEB8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FEC0 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FEC8 = 7FBF3FFF7FBF3FFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.ow@0590 = 0000            </action> <!-- disable title music -->
            <action>maincpu.ow@0596 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.oq@05AC = 4EF90000FED06618</action>
            <action>maincpu.oq@FED0 = 41F8900043F900C0</action>
            <action>maincpu.oq@FED8 = 00071200103900C4</action>
            <action>maincpu.oq@FEE0 = 1003B20067F40C00</action>
            <action>maincpu.oq@FEE8 = 007F660253100C00</action>
            <action>maincpu.oq@FEF0 = 00BF660252100C00</action>
            <action>maincpu.oq@FEF8 = 00EF660404100010</action>
            <action>maincpu.oq@FF00 = 0C0000DF66040610</action>
            <action>maincpu.oq@FF08 = 00100C0000FD6608</action>
            <action>maincpu.oq@FF10 = 1210000100801281</action>
            <action>maincpu.oq@FF18 = 0C0000FB66024211</action>
            <action>maincpu.oq@FF20 = 60B8FFFFFFFFFFFF</action>
            <!--
            FED0 | 41F8 9000      : lea     $9000.w, A0   // sound code address
            FED4 | 43F9 00C0 0007 : lea     $c00007.l, A1 // sound latch address
            FEDA | 1200           : move.b  D0, D1
            FEDC | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            FEE2 | B200           : cmp.b   D0, D1
            FEE4 | 67F4           : beq     $feda
            FEE6 | 0C00 007F      : cmpi.b  #$7f, D0
            FEEA | 6602           : bne     $feee
            FEEC | 5310           : subq.b  #1, (A0)      // decrease code -01
            FEEE | 0C00 00BF      : cmpi.b  #-$41, D0
            FEF2 | 6602           : bne     $fef6
            FEF4 | 5210           : addq.b  #1, (A0)      // increase code +01
            FEF6 | 0C00 00EF      : cmpi.b  #-$11, D0
            FEFA | 6604           : bne     $ff00
            FEFC | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            FF00 | 0C00 00DF      : cmpi.b  #-$21, D0
            FF04 | 6604           : bne     $ff0a
            FF06 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            FF0A | 0C00 00FD      : cmpi.b  #-$3, D0
            FF0E | 6608           : bne     $ff18
            FF10 | 1210           : move.b  (A0), D1      // play sound
            FF12 | 0001 0080      : ori.b   #$80, D1
            FF16 | 1281           : move.b  D1, (A1)
            FF18 | 0C00 00FB      : cmpi.b  #-$5, D0
            FF1C | 6602           : bne     $ff20
            FF1E | 4211           : clr.b   (A1)          // stop sound
            FF20 | 60B8           : bra     $feda
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ow@0590 = 00AE            </action>
            <action>maincpu.ow@0596 = 08F9            </action>
            <action>maincpu.oq@05AC = 4A3900C420036618</action>
            <action>maincpu.oq@FED0 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FED8 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FEE0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FEE8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FEF0 = C7FF73B7C7FF73B7</action>
            <action>maincpu.oq@FEF8 = 97B7DBB797B7DBB7</action>
            <action>maincpu.oq@FF00 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FF08 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FF10 = 3FFF2FF73FFF2FF7</action>
            <action>maincpu.oq@FF18 = 7FBF3FFF7FBF3FFF</action>
            <action>maincpu.oq@FF20 = C7FF73B7C7FF73B7</action>
        </script>
    </cheat>

</mamecheat>
afighterh.xml

Code: Select all

<!-- Action Fighter (System 16B, FD1089A 317-0018) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@43C2 = 60</action> <!-- background -->
            <action>maincpu.ob@4C5E = 60</action> <!-- gate -->
            <action>maincpu.ob@8BAE = 60</action> <!-- bullet -->
            <action>maincpu.ob@8C38 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@43C2 = 66</action>
            <action>maincpu.ob@4C5E = 6D</action>
            <action>maincpu.ob@8BAE = 6D</action>
            <action>maincpu.ob@8C38 = 6D</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ow@42F4 = 4E71</action> <!-- main shot -->
            <action>maincpu.ow@4336 = 4E71</action> <!-- sub weapon 1 -->
            <action>maincpu.ow@4364 = 4E71</action> <!-- sub weapon 2 -->
            <action>maincpu.ow@4392 = 4E71</action> <!-- sub weapon 3 -->
        </script>
        <script state="off">
            <action>maincpu.ow@42F4 = 6D0E</action>
            <action>maincpu.ow@4336 = 661A</action>
            <action>maincpu.ow@4364 = 661A</action>
            <action>maincpu.ow@4392 = 661A</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x007F">01 (slow)</item>
            <item value="0x003F">02       </item>
            <item value="0x001F">03       </item>
            <item value="0x000F">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@5F74 = 4EB90000FE906700</action>
            <action>maincpu.oq@FE90 = 522E005F022E0000</action>
            <action>maincpu.oq@FE98 = 005F6704201F4E75</action>
            <action>maincpu.oq@FEA0 = 302E003453404E75</action>
            <action>maincpu.ow@FE96 = param           </action>
            <!--
            FE90 | 522E 005F      : addq.b  #1, ($5f,A6)
            FE94 | 022E xxxx 005F : andi.b  #$xx, ($5f,A6)
            FE9A | 6704           : beq     $fea0
            FE9C | 201F           : move.l  (A7)+, D0
            FE9E | 4E75           : rts
            FEA0 | 302E 0034      : move.w  ($34,A6), D0
            FEA4 | 5340           : subq.w  #1, D0
            FEA6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@5F74 = 302E003453406700</action>
            <action>maincpu.oq@FE90 = CFF7A7FFCFF7A7FF</action>
            <action>maincpu.oq@FE98 = 73B747FF73B747FF</action>
            <action>maincpu.oq@FEA0 = 0BFFA7F70BFFA7F7</action>
        </script>
    </cheat>

    <cheat desc="display all maps">
        <script state="run">
            <action>maincpu.oq@6186 = 4EB90000FEA80640</action>
            <action>maincpu.oq@FEA8 = 48E780024DF8E5C0</action>
            <action>maincpu.oq@FEB0 = 70073F004EB81092</action>
            <action>maincpu.oq@FEB8 = 301F9CFC006051C8</action>
            <action>maincpu.oq@FEC0 = FFF24CDF4001D078</action>
            <action>maincpu.oq@FEC8 = C12CE0484E75FFFF</action>
            <!--
            FEA8 | 48E7 8002 : movem.l D0/A6, -(A7)
            FEAD | 4DF8 E5C0 : lea     $e5c0.w, A6
            FEB0 | 7007      : moveq   #$7, D0
            FEB2 | 3F00      : move.w  D0, -(A7)
            FEB4 | 4EB8 1092 : jsr     $1092.w
            FEB8 | 301F      : move.w  (A7)+, D0
            FEBA | 9CFC 0060 : suba.w  #$60, A6
            FEBE | 51C8 FFF2 : dbra    D0, $feb2
            FEC2 | 4CDF 4001 : movem.l (A7)+, D0/A6
            FEC6 | D078 C12C : add.w   $c12c.w, D0
            FECA | E048      : lsr.w   #8, D0
            FECC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@6186 = D078C12CE0480640</action>
            <action>maincpu.oq@FEA8 = F3B723B7F3B723B7</action>
            <action>maincpu.oq@FEB0 = 0BFFA7F70BFFA7F7</action>
            <action>maincpu.oq@FEB8 = F3B723B7F3B723B7</action>
            <action>maincpu.oq@FEC0 = CFF7A7FFCFF7A7FF</action>
            <action>maincpu.oq@FEC8 = 73B747FF73B747FF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.ow@0590 = 0000            </action> <!-- disable title music -->
            <action>maincpu.ow@0596 = 08B9            </action> <!-- paint screen with black -->
            <action>maincpu.oq@05AC = 4EF90000FED06618</action>
            <action>maincpu.oq@FED0 = 41F8900043F900C0</action>
            <action>maincpu.oq@FED8 = 00071200103900C4</action>
            <action>maincpu.oq@FEE0 = 1003B20067F40C00</action>
            <action>maincpu.oq@FEE8 = 007F660253100C00</action>
            <action>maincpu.oq@FEF0 = 00BF660252100C00</action>
            <action>maincpu.oq@FEF8 = 00EF660404100010</action>
            <action>maincpu.oq@FF00 = 0C0000DF66040610</action>
            <action>maincpu.oq@FF08 = 00100C0000FD6608</action>
            <action>maincpu.oq@FF10 = 1210000100801281</action>
            <action>maincpu.oq@FF18 = 0C0000FB66024211</action>
            <action>maincpu.oq@FF20 = 60B8FFFFFFFFFFFF</action>
            <!--
            FED0 | 41F8 9000      : lea     $9000.w, A0   // sound code address
            FED4 | 43F9 00C0 0007 : lea     $c00007.l, A1 // sound latch address
            FEDA | 1200           : move.b  D0, D1
            FEDC | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            FEE2 | B200           : cmp.b   D0, D1
            FEE4 | 67F4           : beq     $feda
            FEE6 | 0C00 007F      : cmpi.b  #$7f, D0
            FEEA | 6602           : bne     $feee
            FEEC | 5310           : subq.b  #1, (A0)      // decrease code -01
            FEEE | 0C00 00BF      : cmpi.b  #-$41, D0
            FEF2 | 6602           : bne     $fef6
            FEF4 | 5210           : addq.b  #1, (A0)      // increase code +01
            FEF6 | 0C00 00EF      : cmpi.b  #-$11, D0
            FEFA | 6604           : bne     $ff00
            FEFC | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            FF00 | 0C00 00DF      : cmpi.b  #-$21, D0
            FF04 | 6604           : bne     $ff0a
            FF06 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            FF0A | 0C00 00FD      : cmpi.b  #-$3, D0
            FF0E | 6608           : bne     $ff18
            FF10 | 1210           : move.b  (A0), D1      // play sound
            FF12 | 0001 0080      : ori.b   #$80, D1
            FF16 | 1281           : move.b  D1, (A1)
            FF18 | 0C00 00FB      : cmpi.b  #-$5, D0
            FF1C | 6602           : bne     $ff20
            FF1E | 4211           : clr.b   (A1)          // stop sound
            FF20 | 60B8           : bra     $feda
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ow@0590 = 00AE            </action>
            <action>maincpu.ow@0596 = 08F9            </action>
            <action>maincpu.oq@05AC = 4A3900C420036618</action>
            <action>maincpu.oq@FED0 = CFF7A7FFCFF7A7FF</action>
            <action>maincpu.oq@FED8 = 73B747FF73B747FF</action>
            <action>maincpu.oq@FEE0 = 0BFFA7F70BFFA7F7</action>
            <action>maincpu.oq@FEE8 = F3B723B7F3B723B7</action>
            <action>maincpu.oq@FEF0 = 0BFFA7F70BFFA7F7</action>
            <action>maincpu.oq@FEF8 = F3B723B7F3B723B7</action>
            <action>maincpu.oq@FF00 = CFF7A7FFCFF7A7FF</action>
            <action>maincpu.oq@FF08 = 73B747FF73B747FF</action>
            <action>maincpu.oq@FF10 = CFF7A7FFCFF7A7FF</action>
            <action>maincpu.oq@FF18 = 73B747FF73B747FF</action>
            <action>maincpu.oq@FF20 = 0BFFA7F70BFFA7F7</action>
        </script>
    </cheat>

</mamecheat>