Page 1 of 1

[aliensynj] Alien Syndrome

Posted: Sun Dec 13, 2020 2:37 pm
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).

[aliensynj] update

Posted: Sun Dec 26, 2021 1:16 pm
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>

[aliensyn]+ Alien Syndrome

Posted: Mon Oct 30, 2023 9:45 am
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>

[aliensyn]+ Alien Syndrome

Posted: Mon Oct 30, 2023 9:46 am
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>