[galmedes] Galmedes

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: 864
Joined: Tue Dec 01, 2020 1:24 pm

[galmedes] Galmedes

Post by jman »

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@888e0 = 60</action> <!-- P1 enemy -->
            <action>maincpu.mb@88932 = 60</action> <!-- P2 enemy -->
            <action>maincpu.mb@89de8 = 60</action> <!-- P1 bullet -->
            <action>maincpu.mb@89e3a = 60</action> <!-- P2 bullet -->
            <action>maincpu.mb@8f624 = 60</action> <!-- P1 mine -->
            <action>maincpu.mb@8f63a = 60</action> <!-- P2 mine -->
        </script>
        <script state="off">
            <action>maincpu.mb@888e0 = 67</action>
            <action>maincpu.mb@88932 = 67</action>
            <action>maincpu.mb@89de8 = 67</action>
            <action>maincpu.mb@89e3a = 67</action>
            <action>maincpu.mb@8f624 = 67</action>
            <action>maincpu.mb@8f63a = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <parameter>
            <item value="0x600000be">unchargeable</item>
            <item value="0x66000002">chargeable  </item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@85889 = 2c</action> <!-- button -->
        </script>
        <script state="change">
            <action>maincpu.md@863ae = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@85889 =       0c</action>
            <action>maincpu.md@863ae = 660000be</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00018000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00048000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00088000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@856c2 = e7404eb9000f6ee0</action> <!-- y-position -->
            <action>maincpu.mq@856ca = 4eb9000f6ef84e75</action> <!-- x-position -->
            <action>maincpu.mq@f6ee0 = 223c000000002431</action>
            <action>maincpu.mq@f6ee8 = 000067066a024481</action>
            <action>maincpu.mq@f6ef0 = 2401214200164e75</action>
            <action>maincpu.mq@f6ef8 = 223c000000002431</action>
            <action>maincpu.mq@f6f00 = 000467066a024481</action>
            <action>maincpu.mq@f6f08 = 24012142001a4e75</action>
            <!--
            f6ee0 | 223c xxxx xxxx : move.l #$xxxx,D1       // y-position
            f6ee6 | 2431 0000      : move.l (A1,D0.w),D2
            f6eea | 6706           : beq    $f6ef2
            f6eec | 6a02           : bpl    $f6ef0
            f6eee | 4481           : neg.l  D1
            f6ef0 | 2401           : move.l D1,D2
            f6ef2 | 2142 0016      : move.l D2,($16,A0)
            f6ef6 | 4e75           : rts
            f6ef8 | 223c xxxx xxxx : move.l #$xxxx,D1
            f6efe | 2431 0004      : move.l ($4,A1,D0.w),D2 // x-position
            f6f02 | 6706           : beq    $f6f0a
            f6f04 | 6a02           : bpl    $f6f08
            f6f06 | 4481           : neg.l  D1
            f6f08 | 2401           : move.l D1,D2
            f6f0a | 2142 001a      : move.l D2,($1a,A0)
            f6f0e | 4e75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@f6ee2 = param</action>
            <action>maincpu.md@f6efa = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@856c2 = e740217100000016</action>
            <action>maincpu.mq@856ca = 21710004001a4e75</action>
            <action>maincpu.mq@f6ee0 = ffffffffffffffff</action>
            <action>maincpu.mq@f6ee8 = ffffffffffffffff</action>
            <action>maincpu.mq@f6ef0 = ffffffffffffffff</action>
            <action>maincpu.mq@f6ef8 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f00 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f08 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="max bullets up (test)">
        <comment>incompatible with auto fire - chargeable</comment>
        <script state="on">
            <action>maincpu.md@86224 = 303c000c</action>
        </script>
        <script state="off">
            <action>maincpu.md@86224 = 302c0002</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <script state="on">
            <action>maincpu.mb@8056b =               02</action> <!-- enable sound code check in interrupt -->
            <action>maincpu.mq@800a4 = 4ef9000f6f1067f8</action>
            <action>maincpu.mq@f6f10 = 41f9001000001200</action>
            <action>maincpu.mq@f6f18 = 103900400005b200</action>
            <action>maincpu.mq@f6f20 = 67f40c0000fb6602</action>
            <action>maincpu.mq@f6f28 = 53100c0000f76602</action>
            <action>maincpu.mq@f6f30 = 52100c0000fd6604</action>
            <action>maincpu.mq@f6f38 = 041000100c0000fe</action>
            <action>maincpu.mq@f6f40 = 6604061000100c00</action>
            <action>maincpu.mq@f6f48 = 00ef66041c106008</action>
            <action>maincpu.mq@f6f50 = 0c0000df66084206</action>
            <action>maincpu.mq@f6f58 = 4eb900083c7260b6</action>
            <!--
            f6f10 | 41f9 0010 0000 : lea    $100000.l,A0 // sound code address
            f6f16 | 1200           : move.b D0,D1
            f6f18 | 1039 0040 0005 : move.b $400005.l,D0 // read input
            f6f1e | b200           : cmp.b  D0,D1
            f6f20 | 67f4           : beq    $f6f16
            f6f22 | 0c00 00fb      : cmpi.b #-$5,D0
            f6f26 | 6602           : bne    $f6f2a
            f6f28 | 5310           : subq.b #1,(A0)      // decrease code -01
            f6f2a | 0c00 00f7      : cmpi.b #-$9,D0
            f6f2e | 6602           : bne    $f6f32
            f6f30 | 5210           : addq.b #1,(A0)      // increase code +01
            f6f32 | 0c00 00fd      : cmpi.b #-$3,D0
            f6f36 | 6604           : bne    $f6f3c
            f6f38 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
            f6f3c | 0c00 00fe      : cmpi.b #-$2,D0
            f6f40 | 6604           : bne    $f6f46
            f6f42 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
            f6f46 | 0c00 00ef      : cmpi.b #-$11,D0
            f6f4a | 6604           : bne    $f6f50
            f6f4c | 1c10           : move.b (A0),D6      // play sound
            f6f4e | 6008           : bra    $f6f58
            f6f50 | 0c00 00df      : cmpi.b #-$21,D0
            f6f54 | 6608           : bne    $f6f5e
            f6f56 | 4206           : clr.b  D6           // stop sound
            f6f58 | 4eb9 0008 3c72 : jsr    $83c72.l     // send sound code
            f6f5e | 60b6           : bra    $f6f16
            -->
        </script>
        <script state="run">
            <output format="----- galmedes sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"             line="11" align="center" />
            <output format="right : increase code +01"            line="12" align="center" />
            <output format="down : decrease code -10"             line="13" align="center" />
            <output format="up : increase code +10"               line="14" align="center" />
            <output format="button 1 : play sound"                line="15" align="center" />
            <output format="button 2 : stop sound"                line="16" align="center" />
            <output format="----------------------------"         line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"   line="19" align="center"  >
                <argument>maincpu.pb@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@800a4 = 4a790010098c67f8</action>
            <action>maincpu.mq@f6f10 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f18 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f20 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f28 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f30 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f38 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f40 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f48 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f50 = ffffffffffffffff</action>
            <action>maincpu.mq@f6f58 = ffffffffffffffff</action>
        </script>
    </cheat>

</mamecheat>
"max bullets up" : this code is incompatible with auto fire - chargeable. you can't fire after some charge shots.
Post Reply