[plusalph] Plus Alpha

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: 1254
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[plusalph] Plus Alpha

Post by jman »

Code: Select all

<!-- Plus Alpha -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@13b8a = 42b9</action> <!-- enemy (clr.l $f4736) -->
            <action>maincpu.mw@13b90 = 42b9</action> <!-- bullet (clr.l $f4876) -->
        </script>
        <script state="off">
            <action>maincpu.mw@13b8a = 2039</action>
            <action>maincpu.mw@13b90 = 80b9</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@14761 = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@14761 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00030000">03       </item>
            <item value="0x00048000">04       </item>
            <item value="0x00060000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@14618 = 4eb90003cb004e71</action>
            <action>maincpu.mq@3cb00 = 243c000000002034</action>
            <action>maincpu.mq@3cb08 = 100067066a024482</action>
            <action>maincpu.mq@3cb10 = 2002243c00000000</action>
            <action>maincpu.mq@3cb18 = 2234100467066a02</action>
            <action>maincpu.mq@3cb20 = 448222024e75ffff</action>
            <!--
            3cb00 | 243c xxxx xxxx : move.l #$xxxx,D2
            3cb06 | 2034 1000      : move.l (A4,D1.w),D0
            3cb0a | 6706           : beq    $3cb12
            3cb0c | 6a02           : bpl    $3cb10
            3cb0e | 4482           : neg.l  D2
            3cb10 | 2002           : move.l D2,D0
            3cb12 | 243c xxxx xxxx : move.l #$xxxx, D2
            3cb18 | 2234 1004      : move.l ($4,A4,D1.w),D1
            3cb1c | 6706           : beq    $3cb24
            3cb1e | 6a02           : bpl    $3cb22
            3cb20 | 4482           : neg.l  D2
            3cb22 | 2202           : move.l D2,D1
            3cb24 | 4e75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@3cb02 = param</action>
            <action>maincpu.md@3cb14 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@14618 = 2034100022341004</action>
            <action>maincpu.mq@3CB00 = ffffffffffffffff</action>
            <action>maincpu.mq@3CB08 = ffffffffffffffff</action>
            <action>maincpu.mq@3CB10 = ffffffffffffffff</action>
            <action>maincpu.mq@3CB18 = ffffffffffffffff</action>
            <action>maincpu.mq@3CB20 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="bullet speed (test)">
        <parameter>
            <item value="0x00">01 (normal)</item>
            <item value="0x01">02         </item>
            <item value="0x02">03         </item>
            <item value="0x03">04         </item>
            <item value="0x04">05 (fast)  </item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@1479c = 7e004eb90003cb80</action>
            <action>maincpu.mq@3cb80 = 4eb900014f9a4eb9</action>
            <action>maincpu.mq@3cb88 = 0001500051cffff2</action>
            <action>maincpu.mq@3cb90 = 4e75ffffffffffff</action>
            <!--
            1479c | 7exx           : moveq #$xx,D7 
            1479e | 4eb9 0003 cb80 : jsr   $3cb80.l
            ========================================
            3cb80 | 4eb9 0001 4f9a : jsr   $14f9a.l
            3cb86 | 4eb9 0001 5000 : jsr   $15000.l
            3cb8c | 51cf fff2      : dbra  D7,$3cb80
            3cb90 | 4e75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@1479d = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@1479c = 610007fc6100085e</action>
            <action>maincpu.mq@3cb80 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb88 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb90 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@2bc52 = 586800086048357c</action>
            <!--
            2bc52 | 5868 0008 : addq.w #4,($8,A0)
            2bc56 | 6048      : bra    $2bca0
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@2bc52 = 357c01a00002357c</action>
        </script>
    </cheat>

    <cheat desc="hidden bomb finder">
        <script state="on">
            <action>maincpu.mb@2bd6f = 02</action>
            <action>maincpu.mb@2bd7d = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2bd6f = 90</action>
            <action>maincpu.mb@2bd7d = 2c</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button. code 0x2e breaks sound -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@01354 = 4ef90003cb304e40</action>
            <action>maincpu.mq@3cb30 = 41f9000f000043f9</action>
            <action>maincpu.mq@3cb38 = 0008430812001039</action>
            <action>maincpu.mq@3cb40 = 00080003b20067f4</action>
            <action>maincpu.mq@3cb48 = 0c0000fd66025350</action>
            <action>maincpu.mq@3cb50 = 0c0000fe66025250</action>
            <action>maincpu.mq@3cb58 = 0c0000fb66040450</action>
            <action>maincpu.mq@3cb60 = 00100c0000f76604</action>
            <action>maincpu.mq@3cb68 = 065000100c0000ef</action>
            <action>maincpu.mq@3cb70 = 660232900c0000df</action>
            <action>maincpu.mq@3cb78 = 6602425160beffff</action>
            <!--
            3cb30 | 41f9 000f 0000 : lea    $f0000.l,A0 // sound code address
            3cb36 | 43f9 0008 4308 : lea    $84308.l,A1 // sound latch address
            3cb3c | 1200           : move.b D0,D1
            3cb3e | 1039 0008 0003 : move.b $80003.l,D0 // read input
            3cb44 | b200           : cmp.b  D0,D1
            3cb46 | 67f4           : beq    $3cb3c
            3cb48 | 0c00 00fd      : cmpi.b #-$3,D0
            3cb4c | 6602           : bne    $3cb50
            3cb4e | 5350           : subq.w #1,(A0)     // decrease code -01
            3cb50 | 0c00 00fe      : cmpi.b #-$2,D0
            3cb54 | 6602           : bne    $3cb58
            3cb56 | 5250           : addq.w #1,(A0)     // increase code +01
            3cb58 | 0c00 00fb      : cmpi.b #-$5,D0
            3cb5c | 6604           : bne    $3cb62
            3cb5e | 0450 0010      : subi.w #$10,(A0)   // decrease code -10
            3cb62 | 0c00 00f7      : cmpi.b #-$9,D0
            3cb66 | 6604           : bne    $3cb6c
            3cb68 | 0650 0010      : addi.w #$10,(A0)   // increase code +10
            3cb6c | 0c00 00ef      : cmpi.b #-$11,D0
            3cb70 | 6602           : bne    $3cb74
            3cb72 | 3290           : move.w (A0),(A1)   // play sound
            3cb74 | 0c00 00df      : cmpi.b #-$21,D0
            3cb78 | 6602           : bne    $3cb7c
            3cb7a | 4251           : clr.w  (A1)        // stop sound
            3cb7c | 60be           : bra    $3cb3c
            -->
        </script>
        <script state="run">
            <output format="----- plus alpha 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 %4.4X &gt;&gt;"     line="19" align="center"  >
                <argument>maincpu.pw@f0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@01354 = 41f9000012d64e40</action>
            <action>maincpu.mq@3cb30 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb38 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb40 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb48 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb50 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb58 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb60 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb68 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb70 = ffffffffffffffff</action>
            <action>maincpu.mq@3cb78 = ffffffffffffffff</action>
        </script>
    </cheat>

</mamecheat>
  • "bullet speed" : test code. Speed regulation for bullet is difficult.
  • "sound test mode" : you can't stop some sfxs/voices by sound stop button. Code 0x2e breaks sound.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1254
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[plusalph] Plus Alpha

Post by jman »

plusalph.xml

Code: Select all

<!-- Plus Alpha -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@13B8A = 42B9</action> <!-- enemy -->
            <action>maincpu.mw@13B90 = 42B9</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@13B8A = 2039</action>
            <action>maincpu.mw@13B90 = 80B9</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@14761 = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@14761 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00030000">03       </item>
            <item value="0x00048000">04       </item>
            <item value="0x00060000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@14618 = 4EB90003CB004E71</action>
            <action>maincpu.mq@3CB00 = 243C000000002034</action>
            <action>maincpu.mq@3CB08 = 100067066A024482</action>
            <action>maincpu.mq@3CB10 = 2002243C00000000</action>
            <action>maincpu.mq@3CB18 = 2234100467066A02</action>
            <action>maincpu.mq@3CB20 = 448222024E75FFFF</action>
            <!--
            3CB00 | 243C xxxx xxxx : move.l  #$xxxx, D2       // y position
            3CB06 | 2034 1000      : move.l  (A4,D1.w), D0
            3CB0A | 6706           : beq     $3cb12
            3CB0C | 6A02           : bpl     $3cb10
            3CB0E | 4482           : neg.l   D2
            3CB10 | 2002           : move.l  D2, D0
            3CB12 | 243C xxxx xxxx : move.l  #$xxxx, D2
            3CB18 | 2234 1004      : move.l  ($4,A4,D1.w), D1 // x position
            3CB1C | 6706           : beq     $3cb24
            3CB1E | 6A02           : bpl     $3cb22
            3CB20 | 4482           : neg.l   D2
            3CB22 | 2202           : move.l  D2, D1
            3CB24 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@3CB02 = param</action>
            <action>maincpu.md@3CB14 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@14618 = 2034100022341004</action>
            <action>maincpu.mq@3CB00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB20 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed (test)">
        <parameter>
            <item value="0x00">01 (normal)</item>
            <item value="0x01">02         </item>
            <item value="0x02">03         </item>
            <item value="0x03">04         </item>
            <item value="0x04">05 (fast)  </item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@1479C = 7E004EB90003CB80</action>
            <action>maincpu.mq@3CB80 = 4EB900014F9A4EB9</action>
            <action>maincpu.mq@3CB88 = 0001500051CFFFF2</action>
            <action>maincpu.mq@3CB90 = 4E75FFFFFFFFFFFF</action>
            <!--
            1479C | 7Exx           : moveq   #$xx, D7
            1479E | 4EB9 0003 CB80 : jsr     $3cb80.l
            ===========================================
            3CB80 | 4EB9 0001 4F9A : jsr     $14f9a.l
            3CB86 | 4EB9 0001 5000 : jsr     $15000.l
            3CB8C | 51CF FFF2      : dbra    D7, $3cb80
            3CB90 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@1479D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@1479C = 610007FC6100085E</action>
            <action>maincpu.mq@3CB80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@2BC52 = 586800086048357C</action>
            <!--
            2BC52 | 5868 0008 : addq.w  #4, ($8,A0)
            2BC56 | 6048      : bra     $2bca0
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@2BC52 = 357C01A00002357C</action>
        </script>
    </cheat>

    <cheat desc="hidden bomb finder">
        <script state="on">
            <action>maincpu.mb@2BD6F = 02</action>
            <action>maincpu.mb@2BD7D = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2BD6F = 90</action>
            <action>maincpu.mb@2BD7D = 2C</action>
        </script>
    </cheat>

    <cheat desc="skip present game">
        <comment>set before current stage finishes</comment>
        <script state="on">
            <action>maincpu.mq@01CEE = 4EB90003CBA033FC</action>
            <action>maincpu.mq@3CBA0 = 33FC0008000F3770</action>
            <action>maincpu.mq@3CBA8 = 4E75FFFFFFFFFFFF</action>
            <!--
            3CBA0 | 33FC 0008 000F 3770 : move.w  #$8, $f3770.l
            3CBA8 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@01CEE = 4279000F377033FC</action>
            <action>maincpu.mq@3CBA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="easy stage finish">
        <comment>press start button to finish current stage</comment>
        <script state="on">
            <action>maincpu.mq@025C8 = 4EB90003CBB04E71</action>
            <action>maincpu.mq@3CBB0 = 1039000800014A79</action>
            <action>maincpu.mq@3CBB8 = 000F2EFC660A0839</action>
            <action>maincpu.mq@3CBC0 = 0001000F30BD6606</action>
            <action>maincpu.mq@3CBC8 = 0800000060040800</action>
            <action>maincpu.mq@3CBD0 = 0001660833FC0002</action>
            <action>maincpu.mq@3CBD8 = 000F30B20C790002</action>
            <action>maincpu.mq@3CBE0 = 000F30B24E75FFFF</action>
            <!--
            3CBB0 | 1039 0008 0001      : move.b  $80001.l, D0
            3CBB6 | 4A79 000F 2EFC      : tst.w   $f2efc.l      // check cabinet type
            3CBBC | 660A                : bne     $3cbc8
            3CBBE | 0839 0001 000F 30BD : btst    #$1, $f30bd.l // check player if cocktail
            3CBC6 | 6606                : bne     $3cbce
            3CBC8 | 0800 0000           : btst    #$0, D0       // check 1P start button
            3CBCC | 6004                : bra     $3cbd2
            3CBCE | 0800 0001           : btst    #$1, D0       // check 2P start button
            3CBD2 | 6608                : bne     $3cbdc
            3CBD4 | 33FC 0002 000F 30B2 : move.w  #$2, $f30b2.l
            3CBDC | 0C79 0002 000F 30B2 : cmpi.w  #$2, $f30b2.l
            3CBE4 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@025C8 = 0C790002000F30B2</action>
            <action>maincpu.mq@3CBB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CBE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <!-- code 0x2e breaks sound -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@01354 = 4EF90003CB304E40</action>
            <action>maincpu.mq@3CB30 = 41F9000F000043F9</action>
            <action>maincpu.mq@3CB38 = 0008430812001029</action>
            <action>maincpu.mq@3CB40 = BCFBB20067F60C00</action>
            <action>maincpu.mq@3CB48 = 00FD660253500C00</action>
            <action>maincpu.mq@3CB50 = 00FE660252500C00</action>
            <action>maincpu.mq@3CB58 = 00FB660404500010</action>
            <action>maincpu.mq@3CB60 = 0C0000F766040650</action>
            <action>maincpu.mq@3CB68 = 00100C0000EF6602</action>
            <action>maincpu.mq@3CB70 = 32900C0000DF6602</action>
            <action>maincpu.mq@3CB78 = 425160C0FFFFFFFF</action>
            <!--
            3CB30 | 41F9 000F 0000 : lea     $f0000.l, A0    // sound code address
            3CB36 | 43F9 0008 4308 : lea     $84308.l, A1    // sound latch address
            3CB3C | 1200           : move.b  D0, D1
            3CB3E | 1029 BCFB      : move.b  (-$4305,A1), D0 // read input ($80003)
            3CB42 | B200           : cmp.b   D0, D1
            3CB44 | 67F6           : beq     $3cb3c
            3CB46 | 0C00 00FD      : cmpi.b  #-$3, D0
            3CB4A | 6602           : bne     $3cb4e
            3CB4C | 5350           : subq.w  #1, (A0)        // decrease code -01
            3CB4E | 0C00 00FE      : cmpi.b  #-$2, D0
            3CB52 | 6602           : bne     $3cb56
            3CB54 | 5250           : addq.w  #1, (A0)        // increase code +01
            3CB56 | 0C00 00FB      : cmpi.b  #-$5, D0
            3CB5A | 6604           : bne     $3cb60
            3CB5C | 0450 0010      : subi.w  #$10, (A0)      // decrease code -10
            3CB60 | 0C00 00F7      : cmpi.b  #-$9, D0
            3CB64 | 6604           : bne     $3cb6a
            3CB66 | 0650 0010      : addi.w  #$10, (A0)      // increase code +10
            3CB6A | 0C00 00EF      : cmpi.b  #-$11, D0
            3CB6E | 6602           : bne     $3cb72
            3CB70 | 3290           : move.w  (A0), (A1)      // play sound
            3CB72 | 0C00 00DF      : cmpi.b  #-$21, D0
            3CB76 | 6602           : bne     $3cb7a
            3CB78 | 4251           : clr.w   (A1)            // stop sound
            3CB7A | 60C0           : bra     $3cb3c
            -->
        </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 %04X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pw@F0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@01354 = 41F9000012D64E40</action>
            <action>maincpu.mq@3CB30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3CB78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
  • "skip present game" : Added new. Set this code before current stage finishes.
  • "easy stage finish" : Added new. You can finish current stage when you press start button.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply