[aliensynj] Alien Syndrome

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

[aliensynj] Alien Syndrome

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.ob@effa = 60</action> <!-- enemy -->
        <action>maincpu.ob@f0a2 = 60</action> <!-- bullet -->
        <action>maincpu.ob@572e = 60</action> <!-- fall down -->
        <action>maincpu.ob@dfa0 = 60</action> <!-- final boss -->
    </script>
    <script state="off">
        <action>maincpu.ob@effa = 6d</action>
        <action>maincpu.ob@f0a2 = 6d</action>
        <action>maincpu.ob@572e = 67</action>
        <action>maincpu.ob@dfa0 = 6d</action>
    </script>
</cheat>

<cheat desc="walk through wall">
    <script state="on">
        <action>maincpu.ow@581e = 4e75</action> <!-- x position -->
        <action>maincpu.ow@58c0 = 4e75</action> <!-- y position 1 -->
        <action>maincpu.ow@58e0 = 4e75</action> <!-- y position 2 -->
    </script>
    <script state="off">
        <action>maincpu.ow@581e = 976e</action>
        <action>maincpu.ow@58c0 = 976e</action>
        <action>maincpu.ow@58e0 = 976e</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.ow@56a0 = 4e71</action>
    </script>
    <script state="off">
        <action>maincpu.ow@56a0 = 661a</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0100">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0200">03       </item>
        <item value="0x0280">04       </item>
        <item value="0x0300">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.ow@5426 = param</action>
    </script>
    <script state="off">
        <action>maincpu.ow@5426 = 0200</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x0180">01 (slow)</item>
        <item value="0x0480">02       </item>
        <item value="0x0880">03       </item>
        <item value="0x0c80">04       </item>
        <item value="0x1080">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.oq@07cf8 = 4eb90002ffd04e71</action> <!-- shot -->
        <action>maincpu.oq@0796a = 4eb90002ffd04e71</action> <!-- fireball -->
        <action>maincpu.oq@081ae = 4eb90002ffd04e71</action> <!-- laser 1 -->
        <action>maincpu.oq@08240 = 4eb90002ffd04e71</action> <!-- laser 2 -->
        <action>maincpu.oq@0848e = 4eb90002ffd04e71</action> <!-- bomb -->
        <action>maincpu.oq@2ffd0 = 3019610e3d400018</action>
        <action>maincpu.oq@2ffd8 = 301961063d40001a</action>
        <action>maincpu.oq@2ffe0 = 4e75323c01004a40</action>
        <action>maincpu.oq@2ffe8 = 67066a0244413001</action>
        <action>maincpu.oq@2fff0 = 4e75ffffffffffff</action>
        <!--
        2ffd0 | 3019      : move.w (A1)+,D0
        2ffd2 | 610e      : bsr    $2ffe2
        2ffd4 | 3d40 0018 : move.w D0,($18,A6)
        2ffd8 | 3019      : move.w (A1)+,D0
        2ffda | 6106      : bsr    $2ffe2
        2ffdc | 3d40 001a : move.w D0,($1a,A6)
        2ffe0 | 4e75      : rts
        2ffe2 | 323c xxxx : move.w #$xxxx,D1
        2ffe6 | 4a40      : tst.w  D0
        2ffe8 | 6706      : beq    $2fff0
        2ffea | 6a02      : bpl    $2ffee
        2ffec | 4441      : neg.w  D1
        2ffee | 3001      : move.w D1,D0
        2fff0 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.ow@2ffe4 = param</action>
    </script>
    <script state="off">
        <action>maincpu.oq@07cf8 = 3d5900183d59001a</action>
        <action>maincpu.oq@0796a = 3d5900183d59001a</action>
        <action>maincpu.oq@081ae = 3d5900183d59001a</action>
        <action>maincpu.oq@08240 = 3d5900183d59001a</action>
        <action>maincpu.oq@0848e = 3d5900183d59001a</action>
        <action>maincpu.oq@2ffd0 = 37f763b737f763b7</action>
        <action>maincpu.oq@2ffd8 = 3fff83f73fff83f7</action>
        <action>maincpu.oq@2ffe0 = fbf7bffffbf7bfff</action>
        <action>maincpu.oq@2ffe8 = 1bb7e7b71bb7e7b7</action>
        <action>maincpu.oq@2fff0 = fbf7bffffbf7bfff</action>
    </script>
</cheat>
Still need test, especially in dual play mode. I encounter game crash at round 3 in demonstration play when set faster player speed (0x04 or 0x05).
jman
Posts: 844
Joined: Tue Dec 01, 2020 1:24 pm

[aliensynj] update

Post by jman »

Fixed address for "bullet speed" because of softreset problem.

Code: Select all

<cheat desc="bullet speed">
    <parameter>
        <item value="0x0180">01 (slow)</item>
        <item value="0x0480">02       </item>
        <item value="0x0880">03       </item>
        <item value="0x0c80">04       </item>
        <item value="0x1080">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.oq@7cf8 = 4eb9000000104e71</action> <!-- shot -->
        <action>maincpu.oq@796a = 4eb9000000104e71</action> <!-- fireball -->
        <action>maincpu.oq@81ae = 4eb9000000104e71</action> <!-- laser 1 -->
        <action>maincpu.oq@8240 = 4eb9000000104e71</action> <!-- laser 2 -->
        <action>maincpu.oq@848e = 4eb9000000104e71</action> <!-- bomb -->
        <action>maincpu.oq@0010 = 610c3d4000186106</action>
        <action>maincpu.oq@0018 = 3d40001a4e753019</action>
        <action>maincpu.oq@0020 = 323c00004a406706</action>
        <action>maincpu.oq@0028 = 6a02444130014e75</action>
        <!--
        0010 | 610c      : bsr    $1e
        0012 | 3d40 0018 : move.w D0,($18,A6)
        0016 | 6106      : bsr    $1e
        0018 | 3d40 001a : move.w D0,($1a,A6)
        001c | 4e75      : rts
        001e | 3019      : move.w (A1)+,D0
        0020 | 323c xxxx : move.w #$xxxx,D1
        0024 | 4a40      : tst.w  D0
        0026 | 6706      : beq    $2e
        0028 | 6a02      : bpl    $2c
        002a | 4441      : neg.w  D1
        002c | 3001      : move.w D1,D0
        002e | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.ow@00022 = param</action>
    </script>
    <script state="off">
        <action>maincpu.oq@7cf8 = 3d5900183d59001a</action>
        <action>maincpu.oq@796a = 3d5900183d59001a</action>
        <action>maincpu.oq@81ae = 3d5900183d59001a</action>
        <action>maincpu.oq@8240 = 3d5900183d59001a</action>
        <action>maincpu.oq@848e = 3d5900183d59001a</action>
        <action>maincpu.oq@0010 = 544817a2544817a2</action>
        <action>maincpu.oq@0018 = 480843ea480843ea</action>
        <action>maincpu.oq@0020 = 940837aa940837aa</action>
        <action>maincpu.oq@0028 = c448ffa2c448ffa2</action>
    </script>
</cheat>
Added "timer speed" and "sound test mode".

Code: Select all

<cheat desc="timer speed">
    <parameter>
        <item value="0x7f">01 (slow)</item>
        <item value="0x60">02       </item>
        <item value="0x40">03       </item>
        <item value="0x20">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.ob@2c39 = param</action>
    </script>
    <script state="off">
        <action>maincpu.ob@2c39 = 3c</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.od@1394 =         4eb80030</action>
        <action>maincpu.oq@0030 = 41f8c10014011239</action>
        <action>maincpu.oq@0038 = 00c41003b40167f4</action>
        <action>maincpu.oq@0040 = 0c01007f66025310</action>
        <action>maincpu.oq@0048 = 0c0100bf66025210</action>
        <action>maincpu.oq@0050 = 0c0100ef66040410</action>
        <action>maincpu.oq@0058 = 00100c0100df6604</action>
        <action>maincpu.oq@0060 = 061000100c0100fd</action>
        <action>maincpu.oq@0068 = 6604101060080c01</action>
        <action>maincpu.oq@0070 = 00fb6608420013c0</action>
        <action>maincpu.oq@0078 = 00c0000760b6ffff</action>
        <!--
        0030 | 41f8 c100      : lea    $c100.w,A0   // sound code address
        0034 | 1401           : move.b D1,D2
        0036 | 1239 00c4 1003 : move.b $c41003.l,D1 // read input
        003c | b401           : cmp.b  D1,D2
        003e | 67f4           : beq    $34
        0040 | 0c01 007f      : cmpi.b #$7f,D1
        0044 | 6602           : bne    $48
        0046 | 5310           : subq.b #1,(A0)      // decrease code -01
        0048 | 0c01 00bf      : cmpi.b #-$41,D1
        004c | 6602           : bne    $50
        004e | 5210           : addq.b #1,(A0)      // increase code +01
        0050 | 0c01 00ef      : cmpi.b #-$11,D1
        0054 | 6604           : bne    $5a
        0056 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        005a | 0c01 00df      : cmpi.b #-$21,D1
        005e | 6604           : bne    $64
        0060 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        0064 | 0c01 00fd      : cmpi.b #-$3,D1
        0068 | 6604           : bne    $6e
        006a | 1010           : move.b (A0),D0      // play sound
        006c | 6008           : bra    $76
        006e | 0c01 00fb      : cmpi.b #-$5,D1
        0072 | 6608           : bne    $7c
        0074 | 4200           : clr.b  D0           // stop sound
        0076 | 13c0 00c0 0007 : move.b D0,$c00007.l // send sound code
        007c | 60b6           : bra    $34
        -->
    </script>
    <script state="run">
        <output format="----- alien syndrome 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="up : increase code +10"                     line="13" align="center" />
        <output format="down : decrease 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@ffc100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.od@1394 =         4238c030</action>
        <action>maincpu.oq@0030 = 940837aa940837aa</action>
        <action>maincpu.oq@0038 = c448ffa2c448ffa2</action>
        <action>maincpu.oq@0040 = 544817a2544817a2</action>
        <action>maincpu.oq@0048 = 480843ea480843ea</action>
        <action>maincpu.oq@0050 = 544817a2544817a2</action>
        <action>maincpu.oq@0058 = 480843ea480843ea</action>
        <action>maincpu.oq@0060 = 940837aa940837aa</action>
        <action>maincpu.oq@0068 = c448ffa2c448ffa2</action>
        <action>maincpu.oq@0070 = 9408c29a940837aa</action>
        <action>maincpu.oq@0078 = c448ffa2c448ffa2</action>
    </script>
</cheat>
jman
Posts: 844
Joined: Tue Dec 01, 2020 1:24 pm

[aliensyn]+ Alien Syndrome

Post by jman »

aliensyn.xml

Code: Select all

<!-- Alien Syndrome (set 4, System 16B, unprotected) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5AF6 = 60</action> <!-- fall down -->
            <action>maincpu.mb@E7C0 = 60</action> <!-- final boss -->
            <action>maincpu.mb@F81A = 60</action> <!-- enemy -->
            <action>maincpu.mb@F8C2 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@5AF6 = 67</action>
            <action>maincpu.mb@E7C0 = 6D</action>
            <action>maincpu.mb@F81A = 6D</action>
            <action>maincpu.mb@F8C2 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.mw@5BE6 = 4E75</action> <!-- x position -->
            <action>maincpu.mw@5C88 = 4E75</action> <!-- y position -->
            <action>maincpu.mw@5CA8 = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.mw@5BE6 = 976E</action>
            <action>maincpu.mw@5C88 = 976E</action>
            <action>maincpu.mw@5CA8 = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@5A68 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5A68 = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@57EE = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@57EE = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@07F04 = 4EB90001F6004E71</action> <!-- fireball -->
            <action>maincpu.mq@08292 = 4EB90001F6004E71</action> <!-- shot -->
            <action>maincpu.mq@08748 = 4EB90001F6004E71</action> <!-- laser -->
            <action>maincpu.mq@087DA = 4EB90001F6004E71</action> <!-- laser -->
            <action>maincpu.mq@08A28 = 4EB90001F6004E71</action> <!-- bomb -->
            <action>maincpu.mq@1F600 = 610C3D4000186106</action>
            <action>maincpu.mq@1F608 = 3D40001A4E75323C</action>
            <action>maincpu.mq@1F610 = 0000301967066A02</action>
            <action>maincpu.mq@1F618 = 444130014E75FFFF</action>
            <!--
            1F600 | 610C      : bsr     $1f60e       // x position
            1F602 | 3D40 0018 : move.w  D0, ($18,A6)
            1F606 | 6106      : bsr     $1f60e
            1F608 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            1F60C | 4E75      : rts
            1F60E | 323C xxxx : move.w  #$xx, D1
            1F612 | 3019      : move.w  (A1)+, D0
            1F614 | 6706      : beq     $1f61c
            1F616 | 6A02      : bpl     $1f61a
            1F618 | 4441      : neg.w   D1
            1F61A | 3001      : move.w  D1, D0
            1F61C | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1F610 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07F04 = 3D5900183D59001A</action>
            <action>maincpu.mq@08292 = 3D5900183D59001A</action>
            <action>maincpu.mq@08748 = 3D5900183D59001A</action>
            <action>maincpu.mq@087DA = 3D5900183D59001A</action>
            <action>maincpu.mq@08A28 = 3D5900183D59001A</action>
            <action>maincpu.mq@1F600 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F608 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F610 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F618 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@2F8C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2F8C = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@013B6 = 4EF90001F6204E71</action>
            <action>maincpu.mq@1F620 = 41F8C00043F900C0</action>
            <action>maincpu.mq@1F628 = 00071200103900C4</action>
            <action>maincpu.mq@1F630 = 1003B20067F40C00</action>
            <action>maincpu.mq@1F638 = 007F660253100C00</action>
            <action>maincpu.mq@1F640 = 00BF660252100C00</action>
            <action>maincpu.mq@1F648 = 00EF660404100010</action>
            <action>maincpu.mq@1F650 = 0C0000DF66040610</action>
            <action>maincpu.mq@1F658 = 00100C0000FD6602</action>
            <action>maincpu.mq@1F660 = 12900C0000FB6602</action>
            <action>maincpu.mq@1F668 = 421160BEFFFFFFFF</action>
            <!--
            1F620 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            1F624 | 43F9 00C0 0007 : lea     $c00007.l, A1 // sound latch address
            1F62A | 1200           : move.b  D0, D1
            1F62C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            1F632 | B200           : cmp.b   D0, D1
            1F634 | 67F4           : beq     $1f62a
            1F636 | 0C00 007F      : cmpi.b  #$7f, D0
            1F63A | 6602           : bne     $1f63e
            1F63C | 5310           : subq.b  #1, (A0)      // decrease code -01
            1F63E | 0C00 00BF      : cmpi.b  #-$41, D0
            1F642 | 6602           : bne     $1f646
            1F644 | 5210           : addq.b  #1, (A0)      // increase code +01
            1F646 | 0C00 00EF      : cmpi.b  #-$11, D0
            1F64A | 6604           : bne     $1f650
            1F64C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1F650 | 0C00 00DF      : cmpi.b  #-$21, D0
            1F654 | 6604           : bne     $1f65a
            1F656 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1F65A | 0C00 00FD      : cmpi.b  #-$3, D0
            1F65E | 6602           : bne     $1f662
            1F660 | 1290           : move.b  (A0), (A1)    // play sound
            1F662 | 0C00 00FB      : cmpi.b  #-$5, D0
            1F666 | 6602           : bne     $1f66a
            1F668 | 4211           : clr.b   (A1)          // stop sound
            1F66A | 60BE           : bra     $1f62a
            -->
        </script>
        <script state="run">
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@013B6 = 4238C0304238C031</action>
            <action>maincpu.mq@1F620 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F628 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F630 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F638 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F640 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F648 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F650 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F658 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F660 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F668 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
aliensyn2.xml

Code: Select all

<!-- Alien Syndrome (set 2, System 16A, FD1089A 317-0033) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@5B18 = 60</action> <!-- fall down -->
            <action>maincpu.ob@E826 = 60</action> <!-- final boss -->
            <action>maincpu.ob@F880 = 60</action> <!-- enemy -->
            <action>maincpu.ob@F928 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@5B18 = 67</action>
            <action>maincpu.ob@E826 = 6D</action>
            <action>maincpu.ob@F880 = 6D</action>
            <action>maincpu.ob@F928 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.ow@5C08 = 4E75</action> <!-- x position -->
            <action>maincpu.ow@5CAA = 4E75</action> <!-- y position -->
            <action>maincpu.ow@5CCA = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.ow@5C08 = 976E</action>
            <action>maincpu.ow@5CAA = 976E</action>
            <action>maincpu.ow@5CCA = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@5A8A = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.ow@5A8A = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@5810 = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@5810 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@7F6A = 4EB90001A3B04E71</action> <!-- fireball -->
            <action>maincpu.oq@82F8 = 4EB90001A3B04E71</action> <!-- shot -->
            <action>maincpu.oq@87AE = 4EB90001A3B04E71</action> <!-- laser -->
            <action>maincpu.oq@8840 = 4EB90001A3B04E71</action> <!-- laser -->
            <action>maincpu.oq@8A8E = 4EB90001A3B04E71</action> <!-- bomb -->
        </script>
        <script state="run">
            <action>maincpu.oq@1A3B0 = 610C3D4000186106</action>
            <action>maincpu.oq@1A3B8 = 3D40001A4E75323C</action>
            <action>maincpu.oq@1A3C0 = 0000301967066A02</action>
            <action>maincpu.oq@1A3C8 = 444130014E75FFFF</action>
            <action>maincpu.ow@1A3C0 = param           </action>
            <!--
            1A3B0 | 610C      : bsr     $1a3be       // x position
            1A3B2 | 3D40 0018 : move.w  D0, ($18,A6)
            1A3B6 | 6106      : bsr     $1a3be
            1A3B8 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            1A3BC | 4E75      : rts
            1A3BE | 323C 0180 : move.w  #$180, D1
            1A3C2 | 3019      : move.w  (A1)+, D0
            1A3C4 | 6706      : beq     $1a3cc
            1A3C6 | 6A02      : bpl     $1a3ca
            1A3C8 | 4441      : neg.w   D1
            1A3CA | 3001      : move.w  D1, D0
            1A3CC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@07F6A = 3D5900183D59001A</action>
            <action>maincpu.oq@082F8 = 3D5900183D59001A</action>
            <action>maincpu.oq@087AE = 3D5900183D59001A</action>
            <action>maincpu.oq@08840 = 3D5900183D59001A</action>
            <action>maincpu.oq@08A8E = 3D5900183D59001A</action>
            <action>maincpu.oq@1A3B0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@1A3B8 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@1A3C0 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@1A3C8 = 17F78BBF17F78BBF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@2FAE = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@2FAE = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.oq@013D2 = 4EF90001A3D04E71</action>
        </script>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@1A3D0 = 41f8c00043f900c4</action>
            <action>maincpu.oq@1A3D8 = 00011200103900c4</action>
            <action>maincpu.oq@1A3E0 = 1003b20067f40c00</action>
            <action>maincpu.oq@1A3E8 = 007f660253100c00</action>
            <action>maincpu.oq@1A3F0 = 00bf660252100c00</action>
            <action>maincpu.oq@1A3F8 = 00ef660404100010</action>
            <action>maincpu.oq@1A400 = 0c0000df66040610</action>
            <action>maincpu.oq@1A408 = 00100c0000fd6602</action>
            <action>maincpu.oq@1A410 = 12900c0000fb6602</action>
            <action>maincpu.oq@1A418 = 421160beffffffff</action>
            <!--
            1A3D0 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            1A3D4 | 43F9 00C4 0001 : lea     $c40001.l, A1 // sound latch address
            1A3DA | 1200           : move.b  D0, D1
            1A3DC | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            1A3E2 | B200           : cmp.b   D0, D1
            1A3E4 | 67F4           : beq     $1a3da
            1A3E6 | 0C00 007F      : cmpi.b  #$7f, D0
            1A3EA | 6602           : bne     $1a3ee
            1A3EC | 5310           : subq.b  #1, (A0)      // decrease code -01
            1A3EE | 0C00 00BF      : cmpi.b  #-$41, D0
            1A3F2 | 6602           : bne     $1a3f6
            1A3F4 | 5210           : addq.b  #1, (A0)      // increase code +01
            1A3F6 | 0C00 00EF      : cmpi.b  #-$11, D0
            1A3FA | 6604           : bne     $1a400
            1A3FC | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1A400 | 0C00 00DF      : cmpi.b  #-$21, D0
            1A404 | 6604           : bne     $1a40a
            1A406 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1A40A | 0C00 00FD      : cmpi.b  #-$3, D0
            1A40E | 6602           : bne     $1a412
            1A410 | 1290           : move.b  (A0), (A1)    // play sound
            1A412 | 0C00 00FB      : cmpi.b  #-$5, D0
            1A416 | 6602           : bne     $1a41a
            1A418 | 4211           : clr.b   (A1)          // stop sound
            1A41A | 60BE           : bra     $1a3da
            -->
            <!-- display -->
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@013D2 = 4238C0304238C031</action>
            <action>maincpu.oq@1A3D0 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@1A3D8 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@1A3E0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@1A3E8 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@1A3F0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@1A3F8 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@1A400 = 3BF79BFF3BF79BFF</action>
            <action>maincpu.oq@1A408 = 23BF77BF23BF77BF</action>
            <action>maincpu.oq@1A410 = 3BF79BFF3BF79BFF</action>
            <action>maincpu.oq@1A418 = 23BF77BF23BF77BF</action>
        </script>
    </cheat>

</mamecheat>
aliensyn3.xml

Code: Select all

<!-- Alien Syndrome (set 3, System 16B, FD1089A 317-0033) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@5AF6 = 60</action> <!-- fall down -->
            <action>maincpu.ob@E7C0 = 60</action> <!-- final boss -->
            <action>maincpu.ob@F81A = 60</action> <!-- enemy -->
            <action>maincpu.ob@F8C2 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@5AF6 = 67</action>
            <action>maincpu.ob@E7C0 = 6D</action>
            <action>maincpu.ob@F81A = 6D</action>
            <action>maincpu.ob@F8C2 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.ow@5BE6 = 4E75</action> <!-- x position -->
            <action>maincpu.ow@5C88 = 4E75</action> <!-- y position -->
            <action>maincpu.ow@5CA8 = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.ow@5BE6 = 976E</action>
            <action>maincpu.ow@5C88 = 976E</action>
            <action>maincpu.ow@5CA8 = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@5A68 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.ow@5A68 = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@57EE = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@57EE = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@7F04 = 4EB90001F6004E71</action> <!-- fireball -->
            <action>maincpu.oq@8292 = 4EB90001F6004E71</action> <!-- shot -->
            <action>maincpu.oq@8748 = 4EB90001F6004E71</action> <!-- laser -->
            <action>maincpu.oq@87DA = 4EB90001F6004E71</action> <!-- laser -->
            <action>maincpu.oq@8A28 = 4EB90001F6004E71</action> <!-- bomb -->
        </script>
        <script state="run">
            <action>maincpu.oq@1F600 = 610C3D4000186106</action>
            <action>maincpu.oq@1F608 = 3D40001A4E75323C</action>
            <action>maincpu.oq@1F610 = 0000301967066A02</action>
            <action>maincpu.oq@1F618 = 444130014E75FFFF</action>
            <action>maincpu.ow@1F610 = param</action>
            <!--
            1F600 | 610C      : bsr     $1f60e       // x position
            1F602 | 3D40 0018 : move.w  D0, ($18,A6)
            1F606 | 6106      : bsr     $1f60e
            1F608 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            1F60C | 4E75      : rts
            1F60E | 323C xxxx : move.w  #$xx, D1
            1F612 | 3019      : move.w  (A1)+, D0
            1F614 | 6706      : beq     $1f61c
            1F616 | 6A02      : bpl     $1f61a
            1F618 | 4441      : neg.w   D1
            1F61A | 3001      : move.w  D1, D0
            1F61C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@07F04 = 3D5900183D59001A</action>
            <action>maincpu.mq@08292 = 3D5900183D59001A</action>
            <action>maincpu.mq@08748 = 3D5900183D59001A</action>
            <action>maincpu.mq@087DA = 3D5900183D59001A</action>
            <action>maincpu.mq@08A28 = 3D5900183D59001A</action>
            <action>maincpu.oq@1F600 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@1F608 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@1F610 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@1F618 = 17F78BBF17F78BBF</action>

        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@2F8C = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@2F8C = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.oq@13B6 = 4EF90001F6204E71</action>
        </script>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@1F620 = 41F8C00043F900C0</action>
            <action>maincpu.oq@1F628 = 00071200103900C4</action>
            <action>maincpu.oq@1F630 = 1003B20067F40C00</action>
            <action>maincpu.oq@1F638 = 007F660253100C00</action>
            <action>maincpu.oq@1F640 = 00BF660252100C00</action>
            <action>maincpu.oq@1F648 = 00EF660404100010</action>
            <action>maincpu.oq@1F650 = 0C0000DF66040610</action>
            <action>maincpu.oq@1F658 = 00100C0000FD6602</action>
            <action>maincpu.oq@1F660 = 12900C0000FB6602</action>
            <action>maincpu.oq@1F668 = 421160BEFFFFFFFF</action>
            <!--
            1F620 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            1F624 | 43F9 00C0 0007 : lea     $c00007.l, A1 // sound latch address
            1F62A | 1200           : move.b  D0, D1
            1F62C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            1F632 | B200           : cmp.b   D0, D1
            1F634 | 67F4           : beq     $1f62a
            1F636 | 0C00 007F      : cmpi.b  #$7f, D0
            1F63A | 6602           : bne     $1f63e
            1F63C | 5310           : subq.b  #1, (A0)      // decrease code -01
            1F63E | 0C00 00BF      : cmpi.b  #-$41, D0
            1F642 | 6602           : bne     $1f646
            1F644 | 5210           : addq.b  #1, (A0)      // increase code +01
            1F646 | 0C00 00EF      : cmpi.b  #-$11, D0
            1F64A | 6604           : bne     $1f650
            1F64C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1F650 | 0C00 00DF      : cmpi.b  #-$21, D0
            1F654 | 6604           : bne     $1f65a
            1F656 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1F65A | 0C00 00FD      : cmpi.b  #-$3, D0
            1F65E | 6602           : bne     $1f662
            1F660 | 1290           : move.b  (A0), (A1)    // play sound
            1F662 | 0C00 00FB      : cmpi.b  #-$5, D0
            1F666 | 6602           : bne     $1f66a
            1F668 | 4211           : clr.b   (A1)          // stop sound
            1F66A | 60BE           : bra     $1f62a
            -->
            <!-- display -->
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@013B6 = 4238C0304238C031</action>
            <action>maincpu.oq@1F620 = 2FB72BFF2FB72BFF</action>
            <action>maincpu.oq@1F620 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@1F628 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@1F630 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@1F638 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@1F640 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@1F648 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@1F650 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@1F658 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@1F660 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@1F668 = 9BF7E7B79BF7E7B7</action>
        </script>
    </cheat>

</mamecheat>
aliensyn5.xml

Code: Select all

<!-- Alien Syndrome (set 5, System 16A, FD1089B 317-0037) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@5B18 = 60</action> <!-- fall down -->
            <action>maincpu.ob@E826 = 60</action> <!-- final boss -->
            <action>maincpu.ob@F880 = 60</action> <!-- enemy -->
            <action>maincpu.ob@F928 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@5B18 = 67</action>
            <action>maincpu.ob@E826 = 6D</action>
            <action>maincpu.ob@F880 = 6D</action>
            <action>maincpu.ob@F928 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.ow@5C08 = 4E75</action> <!-- x position -->
            <action>maincpu.ow@5CAA = 4E75</action> <!-- y position -->
            <action>maincpu.ow@5CCA = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.ow@5C08 = 976E</action>
            <action>maincpu.ow@5CAA = 976E</action>
            <action>maincpu.ow@5CCA = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@5A8A = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.ow@5A8A = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@5810 = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@5810 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@7F6A = 4EB90001A3B04E71</action> <!-- fireball -->
            <action>maincpu.oq@82F8 = 4EB90001A3B04E71</action> <!-- shot -->
            <action>maincpu.oq@87AE = 4EB90001A3B04E71</action> <!-- laser -->
            <action>maincpu.oq@8840 = 4EB90001A3B04E71</action> <!-- laser -->
            <action>maincpu.oq@8A8E = 4EB90001A3B04E71</action> <!-- bomb -->
        </script>
        <script state="run">
            <action>maincpu.oq@1A3B0 = 610C3D4000186106</action>
            <action>maincpu.oq@1A3B8 = 3D40001A4E75323C</action>
            <action>maincpu.oq@1A3C0 = 0000301967066A02</action>
            <action>maincpu.oq@1A3C8 = 444130014E75FFFF</action>
            <action>maincpu.ow@1A3C0 = param           </action>
            <!--
            1A3B0 | 610C      : bsr     $1a3be       // x position
            1A3B2 | 3D40 0018 : move.w  D0, ($18,A6)
            1A3B6 | 6106      : bsr     $1a3be
            1A3B8 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            1A3BC | 4E75      : rts
            1A3BE | 323C 0180 : move.w  #$180, D1
            1A3C2 | 3019      : move.w  (A1)+, D0
            1A3C4 | 6706      : beq     $1a3cc
            1A3C6 | 6A02      : bpl     $1a3ca
            1A3C8 | 4441      : neg.w   D1
            1A3CA | 3001      : move.w  D1, D0
            1A3CC | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@07F6A = 3D5900183D59001A</action>
            <action>maincpu.oq@082F8 = 3D5900183D59001A</action>
            <action>maincpu.oq@087AE = 3D5900183D59001A</action>
            <action>maincpu.oq@08840 = 3D5900183D59001A</action>
            <action>maincpu.oq@08A8E = 3D5900183D59001A</action>
            <action>maincpu.oq@1A3B0 = 6BFF23B76BFF23B7</action>
            <action>maincpu.oq@1A3B8 = 37B71FF737B71FF7</action>
            <action>maincpu.oq@1A3C0 = 8FB78FBF8FB78FBF</action>
            <action>maincpu.oq@1A3C8 = 23B7D3BF23B7D3BF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@2FAE = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@2FAE = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.oq@013D2 = 4EF90001A3D04E71</action>
        </script>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@1A3D0 = 41f8c00043f900c4</action>
            <action>maincpu.oq@1A3D8 = 00011200103900c4</action>
            <action>maincpu.oq@1A3E0 = 1003b20067f40c00</action>
            <action>maincpu.oq@1A3E8 = 007f660253100c00</action>
            <action>maincpu.oq@1A3F0 = 00bf660252100c00</action>
            <action>maincpu.oq@1A3F8 = 00ef660404100010</action>
            <action>maincpu.oq@1A400 = 0c0000df66040610</action>
            <action>maincpu.oq@1A408 = 00100c0000fd6602</action>
            <action>maincpu.oq@1A410 = 12900c0000fb6602</action>
            <action>maincpu.oq@1A418 = 421160beffffffff</action>
            <!--
            1A3D0 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            1A3D4 | 43F9 00C4 0001 : lea     $c40001.l, A1 // sound latch address
            1A3DA | 1200           : move.b  D0, D1
            1A3DC | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            1A3E2 | B200           : cmp.b   D0, D1
            1A3E4 | 67F4           : beq     $1a3da
            1A3E6 | 0C00 007F      : cmpi.b  #$7f, D0
            1A3EA | 6602           : bne     $1a3ee
            1A3EC | 5310           : subq.b  #1, (A0)      // decrease code -01
            1A3EE | 0C00 00BF      : cmpi.b  #-$41, D0
            1A3F2 | 6602           : bne     $1a3f6
            1A3F4 | 5210           : addq.b  #1, (A0)      // increase code +01
            1A3F6 | 0C00 00EF      : cmpi.b  #-$11, D0
            1A3FA | 6604           : bne     $1a400
            1A3FC | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1A400 | 0C00 00DF      : cmpi.b  #-$21, D0
            1A404 | 6604           : bne     $1a40a
            1A406 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1A40A | 0C00 00FD      : cmpi.b  #-$3, D0
            1A40E | 6602           : bne     $1a412
            1A410 | 1290           : move.b  (A0), (A1)    // play sound
            1A412 | 0C00 00FB      : cmpi.b  #-$5, D0
            1A416 | 6602           : bne     $1a41a
            1A418 | 4211           : clr.b   (A1)          // stop sound
            1A41A | 60BE           : bra     $1a3da
            -->
            <!-- display -->
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@013D2 = 4238C0304238C031</action>
            <action>maincpu.oq@1A3D0 = 8FB78FBF8FB78FBF</action>
            <action>maincpu.oq@1A3D8 = 23B7D3BF23B7D3BF</action>
            <action>maincpu.oq@1A3E0 = 6BFF23B76BFF23B7</action>
            <action>maincpu.oq@1A3E8 = 37B71FF737B71FF7</action>
            <action>maincpu.oq@1A3F0 = 6BFF23B76BFF23B7</action>
            <action>maincpu.oq@1A3F8 = 37B71FF737B71FF7</action>
            <action>maincpu.oq@1A400 = BFF73BFFBFF73BFF</action>
            <action>maincpu.oq@1A408 = A7BF37BFA7BF37BF</action>
            <action>maincpu.oq@1A410 = BFF73BFFBFF73BFF</action>
            <action>maincpu.oq@1A418 = A7BF37BFA7BF37BF</action>
        </script>
    </cheat>

</mamecheat>
jman
Posts: 844
Joined: Tue Dec 01, 2020 1:24 pm

[aliensyn]+ Alien Syndrome

Post by jman »

aliensynj.xml

Code: Select all

<!-- Alien Syndrome (set 6, Japan, new, System 16B, FD1089A 317-0033) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@572E = 60</action> <!-- fall down -->
            <action>maincpu.ob@DFA0 = 60</action> <!-- final boss -->
            <action>maincpu.ob@EFFA = 60</action> <!-- enemy -->
            <action>maincpu.ob@F0A2 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@572E = 67</action>
            <action>maincpu.ob@DFA0 = 6D</action>
            <action>maincpu.ob@EFFA = 6D</action>
            <action>maincpu.ob@F0A2 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.ow@581E = 4E75</action> <!-- x position -->
            <action>maincpu.ow@58C0 = 4E75</action> <!-- y position -->
            <action>maincpu.ow@58E0 = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.ow@581E = 976E</action>
            <action>maincpu.ow@58C0 = 976E</action>
            <action>maincpu.ow@58E0 = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@56A0 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.ow@56A0 = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@5426 = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@5426 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@796A = 4EB900019A504E71</action> <!-- fireball -->
            <action>maincpu.oq@7CF8 = 4EB900019A504E71</action> <!-- shot -->
            <action>maincpu.oq@81AE = 4EB900019A504E71</action> <!-- laser -->
            <action>maincpu.oq@8240 = 4EB900019A504E71</action> <!-- laser -->
            <action>maincpu.oq@848E = 4EB900019A504E71</action> <!-- bomb -->
        </script>
        <script state="run">
            <action>maincpu.oq@19A50 = 610C3D4000186106</action>
            <action>maincpu.oq@19A58 = 3D40001A4E75323C</action>
            <action>maincpu.oq@19A60 = 0000301967066A02</action>
            <action>maincpu.oq@19A68 = 444130014E75FFFF</action>
            <action>maincpu.ow@19A60 = param           </action>
            <!--
            19A50 | 610C      : bsr     $19a5e       // x position
            19A52 | 3D40 0018 : move.w  D0, ($18,A6)
            19A56 | 6106      : bsr     $19a5e
            19A58 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            19A5C | 4E75      : rts
            19A5E | 323C xxxx : move.w  #$xx, D1
            19A62 | 3019      : move.w  (A1)+, D0
            19A64 | 6706      : beq     $19a6c
            19A66 | 6A02      : bpl     $19a6a
            19A68 | 4441      : neg.w   D1
            19A6A | 3001      : move.w  D1, D0
            19A6C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@0796A = 3D5900183D59001A</action>
            <action>maincpu.oq@07CF8 = 3D5900183D59001A</action>
            <action>maincpu.oq@081AE = 3D5900183D59001A</action>
            <action>maincpu.oq@08240 = 3D5900183D59001A</action>
            <action>maincpu.oq@0848E = 3D5900183D59001A</action>
            <action>maincpu.oq@19A50 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@19A58 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@19A60 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19A68 = 9BF7E7B79BF7E7B7</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@2C38 = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@2C38 = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.oq@1394 = 4EF900019A704E71</action>
        </script>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@19A70 = 41f8c00043f900c0</action>
            <action>maincpu.oq@19A78 = 00071200103900c4</action>
            <action>maincpu.oq@19A80 = 1003b20067f40c00</action>
            <action>maincpu.oq@19A88 = 007f660253100c00</action>
            <action>maincpu.oq@19A90 = 00bf660252100c00</action>
            <action>maincpu.oq@19A98 = 00ef660404100010</action>
            <action>maincpu.oq@19AA0 = 0c0000df66040610</action>
            <action>maincpu.oq@19AA8 = 00100c0000fd6602</action>
            <action>maincpu.oq@19AB0 = 12900c0000fb6602</action>
            <action>maincpu.oq@19AB8 = 421160beffffffff</action>
            <!--
            19A70 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            19A74 | 43F9 00C0 0007 : lea     $c00007.l, A1 // sound latch address
            19A7A | 1200           : move.b  D0, D1
            19A7C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            19A82 | B200           : cmp.b   D0, D1
            19A84 | 67F4           : beq     $19a7a
            19A86 | 0C00 007F      : cmpi.b  #$7f, D0
            19A8A | 6602           : bne     $19a8e
            19A8C | 5310           : subq.b  #1, (A0)      // decrease code -01
            19A8E | 0C00 00BF      : cmpi.b  #-$41, D0
            19A92 | 6602           : bne     $19a96
            19A94 | 5210           : addq.b  #1, (A0)      // increase code +01
            19A96 | 0C00 00EF      : cmpi.b  #-$11, D0
            19A9A | 6604           : bne     $19aa0
            19A9C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            19AA0 | 0C00 00DF      : cmpi.b  #-$21, D0
            19AA4 | 6604           : bne     $19aaa
            19AA6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            19AAA | 0C00 00FD      : cmpi.b  #-$3, D0
            19AAE | 6602           : bne     $19ab2
            19AB0 | 1290           : move.b  (A0), (A1)    // play sound
            19AB2 | 0C00 00FB      : cmpi.b  #-$5, D0
            19AB6 | 6602           : bne     $19aba
            19AB8 | 4211           : clr.b   (A1)          // stop sound
            19ABA | 60BE           : bra     $19a7a
            -->
            <!-- display -->
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@01394 = 4238C0304238C031</action>
            <action>maincpu.oq@19A70 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19A78 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@19A80 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@19A88 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@19A90 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@19A98 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@19AA0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19AA8 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@19AB0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19AB8 = 9BF7E7B79BF7E7B7</action>
        </script>
    </cheat>

</mamecheat>
aliensyn7.xml

Code: Select all

<!-- Alien Syndrome (set 7, System 16B, MC-8123B 317-00xx) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5AF6 = 60</action> <!-- fall down -->
            <action>maincpu.mb@E7C0 = 60</action> <!-- final boss -->
            <action>maincpu.mb@F81A = 60</action> <!-- enemy -->
            <action>maincpu.mb@F8C2 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@5AF6 = 67</action>
            <action>maincpu.mb@E7C0 = 6D</action>
            <action>maincpu.mb@F81A = 6D</action>
            <action>maincpu.mb@F8C2 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.mw@5BE6 = 4E75</action> <!-- x position -->
            <action>maincpu.mw@5C88 = 4E75</action> <!-- y position -->
            <action>maincpu.mw@5CA8 = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.mw@5BE6 = 976E</action>
            <action>maincpu.mw@5C88 = 976E</action>
            <action>maincpu.mw@5CA8 = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@5A68 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5A68 = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@57EE = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@57EE = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@07F04 = 4EB90001F6004E71</action> <!-- fireball -->
            <action>maincpu.mq@08292 = 4EB90001F6004E71</action> <!-- shot -->
            <action>maincpu.mq@08748 = 4EB90001F6004E71</action> <!-- laser -->
            <action>maincpu.mq@087DA = 4EB90001F6004E71</action> <!-- laser -->
            <action>maincpu.mq@08A28 = 4EB90001F6004E71</action> <!-- bomb -->
            <action>maincpu.mq@1F600 = 610C3D4000186106</action>
            <action>maincpu.mq@1F608 = 3D40001A4E75323C</action>
            <action>maincpu.mq@1F610 = 0000301967066A02</action>
            <action>maincpu.mq@1F618 = 444130014E75FFFF</action>
            <!--
            1F600 | 610C      : bsr     $1f60e       // x position
            1F602 | 3D40 0018 : move.w  D0, ($18,A6)
            1F606 | 6106      : bsr     $1f60e
            1F608 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            1F60C | 4E75      : rts
            1F60E | 323C xxxx : move.w  #$xx, D1
            1F612 | 3019      : move.w  (A1)+, D0
            1F614 | 6706      : beq     $1f61c
            1F616 | 6A02      : bpl     $1f61a
            1F618 | 4441      : neg.w   D1
            1F61A | 3001      : move.w  D1, D0
            1F61C | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1F610 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07F04 = 3D5900183D59001A</action>
            <action>maincpu.mq@08292 = 3D5900183D59001A</action>
            <action>maincpu.mq@08748 = 3D5900183D59001A</action>
            <action>maincpu.mq@087DA = 3D5900183D59001A</action>
            <action>maincpu.mq@08A28 = 3D5900183D59001A</action>
            <action>maincpu.mq@1F600 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F608 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F610 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F618 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@2F8C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2F8C = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@013B6 = 4EF90001F6204E71</action>
            <action>maincpu.mq@1F620 = 41F8C00043F900C0</action>
            <action>maincpu.mq@1F628 = 00071200103900C4</action>
            <action>maincpu.mq@1F630 = 1003B20067F40C00</action>
            <action>maincpu.mq@1F638 = 007F660253100C00</action>
            <action>maincpu.mq@1F640 = 00BF660252100C00</action>
            <action>maincpu.mq@1F648 = 00EF660404100010</action>
            <action>maincpu.mq@1F650 = 0C0000DF66040610</action>
            <action>maincpu.mq@1F658 = 00100C0000FD6602</action>
            <action>maincpu.mq@1F660 = 12900C0000FB6602</action>
            <action>maincpu.mq@1F668 = 421160BEFFFFFFFF</action>
            <!--
            1F620 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            1F624 | 43F9 00C0 0007 : lea     $c00007.l, A1 // sound latch address
            1F62A | 1200           : move.b  D0, D1
            1F62C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            1F632 | B200           : cmp.b   D0, D1
            1F634 | 67F4           : beq     $1f62a
            1F636 | 0C00 007F      : cmpi.b  #$7f, D0
            1F63A | 6602           : bne     $1f63e
            1F63C | 5310           : subq.b  #1, (A0)      // decrease code -01
            1F63E | 0C00 00BF      : cmpi.b  #-$41, D0
            1F642 | 6602           : bne     $1f646
            1F644 | 5210           : addq.b  #1, (A0)      // increase code +01
            1F646 | 0C00 00EF      : cmpi.b  #-$11, D0
            1F64A | 6604           : bne     $1f650
            1F64C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1F650 | 0C00 00DF      : cmpi.b  #-$21, D0
            1F654 | 6604           : bne     $1f65a
            1F656 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1F65A | 0C00 00FD      : cmpi.b  #-$3, D0
            1F65E | 6602           : bne     $1f662
            1F660 | 1290           : move.b  (A0), (A1)    // play sound
            1F662 | 0C00 00FB      : cmpi.b  #-$5, D0
            1F666 | 6602           : bne     $1f66a
            1F668 | 4211           : clr.b   (A1)          // stop sound
            1F66A | 60BE           : bra     $1f62a
            -->
        </script>
        <script state="run">
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@013B6 = 4238C0304238C031</action>
            <action>maincpu.mq@1F620 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F628 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F630 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F638 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F640 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F648 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F650 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F658 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F660 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F668 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
aliensynjo.xml

Code: Select all

<!-- Alien Syndrome (set 1, Japan, old, System 16A, FD1089A 317-0033) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@5772 = 60</action> <!-- fall down -->
            <action>maincpu.ob@E0C4 = 60</action> <!-- final boss -->
            <action>maincpu.ob@F11E = 60</action> <!-- enemy -->
            <action>maincpu.ob@F1C6 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@5772 = 67</action>
            <action>maincpu.ob@E0C4 = 6D</action>
            <action>maincpu.ob@F11E = 6D</action>
            <action>maincpu.ob@F1C6 = 6D</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.ow@5862 = 4E75</action> <!-- x position -->
            <action>maincpu.ow@5904 = 4E75</action> <!-- y position -->
            <action>maincpu.ow@5924 = 4E75</action> <!-- y position -->
        </script>
        <script state="off">
            <action>maincpu.ow@5862 = 976E</action>
            <action>maincpu.ow@5904 = 976E</action>
            <action>maincpu.ow@5924 = 976E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@56E4 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.ow@56E4 = 661A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@546A = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@546A = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0180">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@7A52 = 4EB900019B504E71</action> <!-- fireball -->
            <action>maincpu.oq@7DE0 = 4EB900019B504E71</action> <!-- shot -->
            <action>maincpu.oq@8296 = 4EB900019B504E71</action> <!-- laser -->
            <action>maincpu.oq@8328 = 4EB900019B504E71</action> <!-- laser -->
            <action>maincpu.oq@8576 = 4EB900019B504E71</action> <!-- bomb -->
        </script>
        <script state="run">
            <action>maincpu.oq@19B50 = 610C3D4000186106</action>
            <action>maincpu.oq@19B58 = 3D40001A4E75323C</action>
            <action>maincpu.oq@19B60 = 0000301967066A02</action>
            <action>maincpu.oq@19B68 = 444130014E75FFFF</action>
            <action>maincpu.ow@19B60 = param           </action>
            <!--
            19B50 | 610C      : bsr     $19a5e       // x position
            19B52 | 3D40 0018 : move.w  D0, ($18,A6)
            19B56 | 6106      : bsr     $19a5e
            19B58 | 3D40 001A : move.w  D0, ($1a,A6) // y position
            19B5C | 4E75      : rts
            19B5E | 323C xxxx : move.w  #$xx, D1
            19B62 | 3019      : move.w  (A1)+, D0
            19B64 | 6706      : beq     $19a6c
            19B66 | 6A02      : bpl     $19a6a
            19B68 | 4441      : neg.w   D1
            19B6A | 3001      : move.w  D1, D0
            19B6C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@07A52 = 3D5900183D59001A</action>
            <action>maincpu.oq@07DE0 = 3D5900183D59001A</action>
            <action>maincpu.oq@08296 = 3D5900183D59001A</action>
            <action>maincpu.oq@08328 = 3D5900183D59001A</action>
            <action>maincpu.oq@08576 = 3D5900183D59001A</action>
            <action>maincpu.oq@19B50 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@19B58 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@19B60 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19B68 = 9BF7E7B79BF7E7B7</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x007f">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.ow@2C74 = param</action>
        </script>
        <script state="off">
            <action>maincpu.ow@2C74 = 003C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.oq@13CE = 4EF900019B704E71</action>
        </script>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@19B70 = 41f8c00043f900c4</action>
            <action>maincpu.oq@19B78 = 00011200103900c4</action>
            <action>maincpu.oq@19B80 = 1003b20067f40c00</action>
            <action>maincpu.oq@19B88 = 007f660253100c00</action>
            <action>maincpu.oq@19B90 = 00bf660252100c00</action>
            <action>maincpu.oq@19B98 = 00ef660404100010</action>
            <action>maincpu.oq@19BA0 = 0c0000df66040610</action>
            <action>maincpu.oq@19BA8 = 00100c0000fd6602</action>
            <action>maincpu.oq@19BB0 = 12900c0000fb6602</action>
            <action>maincpu.oq@19BB8 = 421160beffffffff</action>
            <!--
            19A70 | 41F8 C000      : lea     $c000.w, A0   // sound code address
            19A74 | 43F9 00C4 0001 : lea     $c40001.l, A1 // sound latch address
            19A7A | 1200           : move.b  D0, D1
            19A7C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            19A82 | B200           : cmp.b   D0, D1
            19A84 | 67F4           : beq     $19a7a
            19A86 | 0C00 007F      : cmpi.b  #$7f, D0
            19A8A | 6602           : bne     $19a8e
            19A8C | 5310           : subq.b  #1, (A0)      // decrease code -01
            19A8E | 0C00 00BF      : cmpi.b  #-$41, D0
            19A92 | 6602           : bne     $19a96
            19A94 | 5210           : addq.b  #1, (A0)      // increase code +01
            19A96 | 0C00 00EF      : cmpi.b  #-$11, D0
            19A9A | 6604           : bne     $19aa0
            19A9C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            19AA0 | 0C00 00DF      : cmpi.b  #-$21, D0
            19AA4 | 6604           : bne     $19aaa
            19AA6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            19AAA | 0C00 00FD      : cmpi.b  #-$3, D0
            19AAE | 6602           : bne     $19ab2
            19AB0 | 1290           : move.b  (A0), (A1)    // play sound
            19AB2 | 0C00 00FB      : cmpi.b  #-$5, D0
            19AB6 | 6602           : bne     $19aba
            19AB8 | 4211           : clr.b   (A1)          // stop sound
            19ABA | 60BE           : bra     $19a7a
            -->
            <!-- display -->
            <output format="----- alien syndrome 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@FFC000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@013CE = 4238C0304238C031</action>
            <action>maincpu.oq@19B70 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19B78 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@19B80 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@19B88 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@19B90 = DFB79BBFDFB79BBF</action>
            <action>maincpu.oq@19B98 = 17F78BBF17F78BBF</action>
            <action>maincpu.oq@19BA0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19BA8 = 9BF7E7B79BF7E7B7</action>
            <action>maincpu.oq@19BB0 = BBFF93FFBBFF93FF</action>
            <action>maincpu.oq@19BB8 = 9BF7E7B79BF7E7B7</action>
        </script>
    </cheat>

</mamecheat>
Post Reply