[acrobatm]+ Acrobat Mission

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

[acrobatm]+ Acrobat Mission

Post by jman »

acrobatm.xml

Code: Select all

<!-- Acrobat Mission -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mw@802C = 8170</action> <!-- bullet -->
            <action>maincpu.mw@8034 = 78FC</action> <!-- enemy -->
            <action>maincpu.mw@863A = 79D6</action> <!-- background -->
        </script>
        <script state="off">
            <action>maincpu.mw@802C = 815C</action>
            <action>maincpu.mw@8034 = 78DE</action>
            <action>maincpu.mw@863A = 79D0</action>
        </script>
    </cheat>

    <cheat desc="no hit - bomb">
        <script state="on">
            <action>maincpu.mw@9F66 = 793C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@9F66 = 791E</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <!-- set fire button -->
            <action>maincpu.md@07BD2 = 0003F360        </action>
            <action>maincpu.mq@3F360 = 4EB836AE302E0222</action>
            <action>maincpu.mq@3F368 = 02401010816E0224</action>
            <action>maincpu.mq@3F370 = 4E75FFFFFFFFFFFF</action>
            <!--
            3F360 | 4EB8 36AE : jsr     $36ae.w
            3F364 | 302E 0222 : move.w  ($222,A6), D0
            3F368 | 0240 1010 : andi.w  #$1010, D0
            3F36C | 816E 0224 : or.w    D0, ($224,A6)
            3F370 | 4E75      : rts
            -->
            <!-- adjust shot power charge -->
            <action>maincpu.mw@882E = 506C</action>
            <action>maincpu.mw@8842 = 0018</action>
            <!-- check fire button -->
            <action>maincpu.mq@885E = 082E000402536616</action>
            <action>maincpu.mq@8866 = 4A6C001466304E75</action>
            <!--
            885E | 082E 0004 0253 : btst    #$4, ($253,A6) // check fire button
            8864 | 6616           : bne     $887c
            8866 | 4A6C 0014      : tst.w   ($14,A4)       // check charge shot flag
            886A | 6630           : bne     $889c
            886C | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@07BD2 = 000036AE        </action>
            <action>maincpu.mq@3F360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F368 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mw@0882E = 526C            </action>
            <action>maincpu.mw@08842 = 0019            </action>
            <action>maincpu.mq@0885E = 4A6C0014660C302E</action>
            <action>maincpu.mq@08866 = 025208000004660E</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0280">02       </item>
            <item value="0x0480">03       </item>
            <item value="0x0680">04       </item>
            <item value="0x0880">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@86AC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@86AC = 0280</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@08C12 = 70004EB90003F378</action>
            <action>maincpu.mq@08C1A = 4E71DBFC00000068</action>
            <action>maincpu.mq@3F378 = 0C07001767060C07</action>
            <action>maincpu.mq@3F380 = 00026E02700048E7</action>
            <action>maincpu.mq@3F388 = 81804E904CDF0181</action>
            <action>maincpu.mq@3F390 = 51C8FFF44E75FFFF</action>
            <!--
            08C12 | 70xx           : moveq   #$xx, D0
            08C14 | 4EB9 0003 F378 : jsr     $3f378.l
            ================================================
            3F378 | 0C07 0017      : cmpi.b  #$17, D7
            3F37C | 6706           : beq     $3f384
            3F37E | 0C07 0002      : cmpi.b  #$2, D7
            3F382 | 6E02           : bgt     $3f386
            3F384 | 7000           : moveq   #$0, D0
            3F386 | 48E7 8180      : movem.l D0/D7/A0, -(A7)
            3F38A | 4E90           : jsr     (A0)
            3F38C | 4CDF 0181      : movem.l (A7)+, D0/D7/A0
            3F390 | 51C8 FFF4      : dbra    D0, $3f386
            3F394 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@8C13 = param - 1</action>
        </script>
        <script state="off">
            <action>maincpu.mq@08C12 = 48E701004E904CDF</action>
            <action>maincpu.mq@08C1A = 0080DBFC00000068</action>
            <action>maincpu.mq@3F378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F390 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="burner power up">
        <script state="on">
            <action>maincpu.mw@8694 = 4E71</action> <!-- speed until fire -->
            <action>maincpu.mw@8D28 = 0100</action> <!-- fire power -->
        </script>
        <script state="off">
            <action>maincpu.mw@8694 = 6610</action>
            <action>maincpu.mw@8D28 = 0002</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@006CE = 000020C8        </action> <!-- disable sound code 0x3F -->
            <action>maincpu.md@00A3C = 0003F398        </action>
            <action>maincpu.mq@3F398 = 41EE100043F9000C</action>
            <action>maincpu.mq@3F3A0 = 001F12001029FFE4</action>
            <action>maincpu.mq@3F3A8 = B20067F60C0000FD</action>
            <action>maincpu.mq@3F3B0 = 660253100C0000FE</action>
            <action>maincpu.mq@3F3B8 = 660252100C0000FB</action>
            <action>maincpu.mq@3F3C0 = 6604041000100C00</action>
            <action>maincpu.mq@3F3C8 = 00F7660406100010</action>
            <action>maincpu.mq@3F3D0 = 0C0000EF66021290</action>
            <action>maincpu.mq@3F3D8 = 0C0000DF66024211</action>
            <action>maincpu.mq@3F3E0 = 60C0FFFFFFFFFFFF</action>
            <!--
            3F398 | 41EE 1000      : lea     ($1000,A6), A0 // sound code address ($81000)
            3F39C | 43F9 000C 001F : lea     $c001f.l, A1   // sound latch address
            3F3A2 | 1200           : move.b  D0, D1
            3F3A4 | 1029 FFE4      : move.b  (-$1c,A1), D0  // read input ($C0003)
            3F3A8 | B200           : cmp.b   D0, D1
            3F3AA | 67F6           : beq     $3f3a2
            3F3AC | 0C00 00FD      : cmpi.b  #-$3, D0
            3F3B0 | 6602           : bne     $3f3b4
            3F3B2 | 5310           : subq.b  #1, (A0)       // decrease code -01
            3F3B4 | 0C00 00FE      : cmpi.b  #-$2, D0
            3F3B8 | 6602           : bne     $3f3bc
            3F3BA | 5210           : addq.b  #1, (A0)       // increase code +01
            3F3BC | 0C00 00FB      : cmpi.b  #-$5, D0
            3F3C0 | 6604           : bne     $3f3c6
            3F3C2 | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            3F3C6 | 0C00 00F7      : cmpi.b  #-$9, D0
            3F3CA | 6604           : bne     $3f3d0
            3F3CC | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            3F3D0 | 0C00 00EF      : cmpi.b  #-$11, D0
            3F3D4 | 6602           : bne     $3f3d8
            3F3D6 | 1290           : move.b  (A0), (A1)     // play sound
            3F3D8 | 0C00 00DF      : cmpi.b  #-$21, D0
            3F3DC | 6602           : bne     $3f3e0
            3F3DE | 4211           : clr.b   (A1)           // stop sound
            3F3E0 | 60C0           : bra     $3f3a2
            -->
        </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@81000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@006CE = 000020CA        </action>
            <action>maincpu.md@00A3C = 0000210C        </action>
            <action>maincpu.mq@3F398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3E0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@078C = 0A30</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@1C6C = 0001</action> <!-- skip dipswitch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@078C = 22B2</action>
            <action>maincpu.mw@1C6C = 0258</action>
        </script>
    </cheat>

</mamecheat>
acrobatmbl.xml

Code: Select all

<!-- Acrobat Mission (bootleg with Raiden sounds) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mw@802C = 8170</action> <!-- bullet -->
            <action>maincpu.mw@8034 = 78FC</action> <!-- enemy -->
            <action>maincpu.mw@863A = 79D6</action> <!-- background -->
        </script>
        <script state="off">
            <action>maincpu.mw@802C = 815C</action>
            <action>maincpu.mw@8034 = 78DE</action>
            <action>maincpu.mw@863A = 79D0</action>
        </script>
    </cheat>

    <cheat desc="no hit - bomb">
        <script state="on">
            <action>maincpu.mw@9F66 = 793C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@9F66 = 791E</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <!-- set fire button -->
            <action>maincpu.md@07BD2 = 0003F360        </action>
            <action>maincpu.mq@3F360 = 4EB836AE302E0222</action>
            <action>maincpu.mq@3F368 = 02401010816E0224</action>
            <action>maincpu.mq@3F370 = 4E75FFFFFFFFFFFF</action>
            <!--
            3F360 | 4EB8 36AE : jsr     $36ae.w
            3F364 | 302E 0222 : move.w  ($222,A6), D0
            3F368 | 0240 1010 : andi.w  #$1010, D0
            3F36C | 816E 0224 : or.w    D0, ($224,A6)
            3F370 | 4E75      : rts
            -->
            <!-- adjust shot power charge -->
            <action>maincpu.mw@882E = 506C</action>
            <action>maincpu.mw@8842 = 0018</action>
            <!-- check fire button -->
            <action>maincpu.mq@885E = 082E000402536616</action>
            <action>maincpu.mq@8866 = 4A6C001466304E75</action>
            <!--
            885E | 082E 0004 0253 : btst    #$4, ($253,A6) // check fire button
            8864 | 6616           : bne     $887c
            8866 | 4A6C 0014      : tst.w   ($14,A4)       // check charge shot flag
            886A | 6630           : bne     $889c
            886C | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@07BD2 = 000036AE        </action>
            <action>maincpu.mq@3F360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F368 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mw@0882E = 526C            </action>
            <action>maincpu.mw@08842 = 0019            </action>
            <action>maincpu.mq@0885E = 4A6C0014660C302E</action>
            <action>maincpu.mq@08866 = 025208000004660E</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0280">02       </item>
            <item value="0x0480">03       </item>
            <item value="0x0680">04       </item>
            <item value="0x0880">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@86AC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@86AC = 0280</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@08C12 = 70004EB90003F378</action>
            <action>maincpu.mq@08C1A = 4E71DBFC00000068</action>
            <action>maincpu.mq@3F378 = 0C07001767060C07</action>
            <action>maincpu.mq@3F380 = 00026E02700048E7</action>
            <action>maincpu.mq@3F388 = 81804E904CDF0181</action>
            <action>maincpu.mq@3F390 = 51C8FFF44E75FFFF</action>
            <!--
            08C12 | 70xx           : moveq   #$xx, D0
            08C14 | 4EB9 0003 F378 : jsr     $3f378.l
            ================================================
            3F378 | 0C07 0017      : cmpi.b  #$17, D7
            3F37C | 6706           : beq     $3f384
            3F37E | 0C07 0002      : cmpi.b  #$2, D7
            3F382 | 6E02           : bgt     $3f386
            3F384 | 7000           : moveq   #$0, D0
            3F386 | 48E7 8180      : movem.l D0/D7/A0, -(A7)
            3F38A | 4E90           : jsr     (A0)
            3F38C | 4CDF 0181      : movem.l (A7)+, D0/D7/A0
            3F390 | 51C8 FFF4      : dbra    D0, $3f386
            3F394 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@8C13 = param - 1</action>
        </script>
        <script state="off">
            <action>maincpu.mq@08C12 = 48E701004E904CDF</action>
            <action>maincpu.mq@08C1A = 0080DBFC00000068</action>
            <action>maincpu.mq@3F378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F390 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="burner power up">
        <script state="on">
            <action>maincpu.mw@8694 = 4E71</action> <!-- speed until fire -->
            <action>maincpu.mw@8D28 = 0100</action> <!-- fire power -->
        </script>
        <script state="off">
            <action>maincpu.mw@8694 = 6610</action>
            <action>maincpu.mw@8D28 = 0002</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@006CE = 000020C8        </action> <!-- disable sound code 0x3F -->
            <action>maincpu.md@00A3C = 0003F398        </action>
            <action>maincpu.mq@3F398 = 41EE100043F9000C</action>
            <action>maincpu.mq@3F3A0 = 001E12001029FFE5</action>
            <action>maincpu.mq@3F3A8 = B20067F60C0000FD</action>
            <action>maincpu.mq@3F3B0 = 660253100C0000FE</action>
            <action>maincpu.mq@3F3B8 = 660252100C0000FB</action>
            <action>maincpu.mq@3F3C0 = 6604041000100C00</action>
            <action>maincpu.mq@3F3C8 = 00F7660406100010</action>
            <action>maincpu.mq@3F3D0 = 0C0000EF66081410</action>
            <action>maincpu.mq@3F3D8 = 0042800032820C00</action>
            <action>maincpu.mq@3F3E0 = 00DF660432BC82FF</action>
            <action>maincpu.mq@3F3E8 = 60B8FFFFFFFFFFFF</action>
            <!--
            3F398 | 41EE 1000      : lea     ($1000,A6), A0 // sound code address ($81000)
            3F39C | 43F9 000C 001E : lea     $c001e.l, A1   // sound latch address
            3F3A2 | 1200           : move.b  D0, D1
            3F3A4 | 1029 FFE5      : move.b  (-$1b,A1), D0  // read input ($C0003)
            3F3A8 | B200           : cmp.b   D0, D1
            3F3AA | 67F6           : beq     $3f3a2
            3F3AC | 0C00 00FD      : cmpi.b  #-$3, D0
            3F3B0 | 6602           : bne     $3f3b4
            3F3B2 | 5310           : subq.b  #1, (A0)       // decrease code -01
            3F3B4 | 0C00 00FE      : cmpi.b  #-$2, D0
            3F3B8 | 6602           : bne     $3f3bc
            3F3BA | 5210           : addq.b  #1, (A0)       // increase code +01
            3F3BC | 0C00 00FB      : cmpi.b  #-$5, D0
            3F3C0 | 6604           : bne     $3f3c6
            3F3C2 | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            3F3C6 | 0C00 00F7      : cmpi.b  #-$9, D0
            3F3CA | 6604           : bne     $3f3d0
            3F3CC | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            3F3D0 | 0C00 00EF      : cmpi.b  #-$11, D0
            3F3D4 | 6608           : bne     $3f3de
            3F3D6 | 1410           : move.b  (A0), D2       // play sound
            3F3D8 | 0042 8000      : ori.w   #$8000, D2
            3F3DC | 3282           : move.w  D2, (A1)
            3F3DE | 0C00 00DF      : cmpi.b  #-$21, D0
            3F3E2 | 6604           : bne     $3f3e8
            3F3E4 | 32BC 82FF      : move.w  #$82ff, (A1)   // stop sound
            3F3E8 | 60B8           : bra     $3f3a2
            -->
        </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@81000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@006CE = 000020CA        </action>
            <action>maincpu.md@00A3C = 0000210C        </action>
            <action>maincpu.mq@3F398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3F3E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@078A = 00000A30</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@1C6C = 0001    </action> <!-- skip dipswitch display -->
        </script>
        <script state="off">
            <action>maincpu.md@078A = 0003FC32</action>
            <action>maincpu.mw@1C6C = 0258    </action>
        </script>
    </cheat>

</mamecheat>
  • "rapid fire" : Sometimes "charge shot" counter doesn't be displayed and "charge shot" doesn't fire.
  • "bullet speed" : This code affects "charge shot" speed.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply