Page 1 of 1

[bayroutej] Bay Route

Posted: Fri Apr 07, 2023 12:31 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.ob@1b12a = 60</action> <!-- enemy -->
        <action>maincpu.mb@1b537 = ba</action> <!-- flame -->
        <action>maincpu.ob@1bbae = 60</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.ob@1b170 = 66</action>
        <action>maincpu.mb@1b537 = 8a</action>
        <action>maincpu.ob@1bbae = 66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="run">
        <action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
        <action>maincpu.ob@53bf = 02</action> <!-- bomb -->
        <action>maincpu.ob@53eb = 02</action> <!-- spread shot -->
        <action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
    </script>
    <script state="off">
        <action>maincpu.ob@5327 = 1a</action>
        <action>maincpu.ob@53bf = 22</action>
        <action>maincpu.ob@53eb = 5e</action>
        <action>maincpu.ob@5495 = 08</action>
    </script>
</cheat>

<cheat desc="walk speed (test)">
    <parameter>
        <item value="0x00001000">01 (slow)</item>
        <item value="0x00003000">02       </item>
        <item value="0x00006000">03       </item>
        <item value="0x00009000">04       </item>
        <item value="0x0000c000">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.oq@04102 = 4eb90001fc304eb9</action>
        <action>maincpu.oq@0410a = 0001fc4208e90001</action>
        <action>maincpu.oq@1fc30 = 203900500a80611c</action>
        <action>maincpu.oq@1fc38 = 23c000500a80dc80</action>
        <action>maincpu.oq@1fc40 = 4e75203900500a84</action>
        <action>maincpu.oq@1fc48 = 610a23c000500a84</action>
        <action>maincpu.oq@1fc50 = de804e754a390050</action>
        <action>maincpu.oq@1fc58 = 0a986a10223c0000</action>
        <action>maincpu.oq@1fc60 = 00004a8067066a02</action>
        <action>maincpu.oq@1fc68 = 448120014e75ffff</action>
        <action>maincpu.od@1fc5e =            param</action>
        <!--
        1fc30 | 2039 0050 0a80 : move.l $500a80.l,D0 // x-position
        1fc36 | 611c           : bsr    $1fc54
        1fc38 | 23c0 0050 0a80 : move.l D0,$500a80.l
        1fc3e | dc80           : add.l  D0,D6
        1fc40 | 4e75           : rts
        1fc42 | 2039 0050 0a84 : move.l $500a84.l,D0 // y-position
        1fc48 | 610a           : bsr    $1fc54
        1fc4a | 23c0 0050 0a84 : move.l D0,$500a84.l
        1fc50 | de80           : add.l  D0,D7
        1fc52 | 4e75           : rts
        1fc54 | 4a39 0050 0a98 : tst.b  $500a98.l    // check auto-moving flag
        1fc5a | 6a10           : bpl    $1fc6c
        1fc5c | 223c xxxx xxxx : move.l #$xxxx,D1
        1fc62 | 4a80           : tst.l  D0
        1fc64 | 6706           : beq    $1fc6c
        1fc66 | 6a02           : bpl    $1fc6a
        1fc68 | 4481           : neg.l  D1
        1fc6a | 2001           : move.l D1,D0
        1fc6c | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.oq@04102 = dcb900500a80deb9</action>
        <action>maincpu.oq@0410a = 00500a8408e90001</action>
        <action>maincpu.oq@1fc30 = ad80a422ad20a482</action>
        <action>maincpu.oq@1fc38 = a422a422a590a5a0</action>
        <action>maincpu.oq@1fc40 = a482a590a422a590</action>
        <action>maincpu.oq@1fc48 = a482ad20a5a0a482</action>
        <action>maincpu.oq@1fc50 = a482a422a482a422</action>
        <action>maincpu.oq@1fc58 = ad20ad20a5a0a422</action>
        <action>maincpu.oq@1fc60 = ad20ad20a482a422</action>
        <action>maincpu.oq@1fc68 = a482a5a0a5a0a482</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="run">
        <!-- routine -->
        <action>maincpu.od@01088 =         0001fc70</action>
        <action>maincpu.oq@1fc70 = 41f90050000043f9</action>
        <action>maincpu.oq@1fc78 = 00ff000712001039</action>
        <action>maincpu.oq@1fc80 = 00901003b20067f4</action>
        <action>maincpu.oq@1fc88 = 0c00007f66025310</action>
        <action>maincpu.oq@1fc90 = 0c0000bf66025210</action>
        <action>maincpu.oq@1fc98 = 0c0000ef66040410</action>
        <action>maincpu.oq@1fca0 = 00100c0000df6604</action>
        <action>maincpu.oq@1fca8 = 061000100c0000fd</action>
        <action>maincpu.oq@1fcb0 = 660212900c0000fb</action>
        <action>maincpu.oq@1fcb8 = 660412bc00ff66bc</action>
        <!--
        1fc70 | 41f9 0050 0000 : lea    $500000.l,A0 // sound code address
        1fc76 | 43f9 00ff 0007 : lea    $ff0007.l,A1 // sound latch address
        1fc7c | 1200           : move.b D0,D1
        1fc7e | 1039 0090 1003 : move.b $901003.l,D0 // read input
        1fc84 | b200           : cmp.b  D0,D1
        1fc86 | 67f4           : beq    $1fc7c
        1fc88 | 0c00 007f      : cmpi.b #$7f,D0
        1fc8c | 6602           : bne    $1fc90
        1fc8e | 5310           : subq.b #1,(A0)      // decrease code -01
        1fc90 | 0c00 00bf      : cmpi.b #-$41,D0
        1fc94 | 6602           : bne    $1fc98
        1fc96 | 5210           : addq.b #1,(A0)      // increase code +01
        1fc98 | 0c00 00ef      : cmpi.b #-$11,D0
        1fc9c | 6604           : bne    $1fca2
        1fc9e | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        1fca2 | 0c00 00df      : cmpi.b #-$21,D0
        1fca6 | 6604           : bne    $1fcac
        1fca8 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        1fcac | 0c00 00fd      : cmpi.b #-$3,D0
        1fcb0 | 6602           : bne    $1fcb4
        1fcb2 | 1290           : move.b (A0),(A1)    // play sound
        1fcb4 | 0c00 00fb      : cmpi.b #-$5,D0
        1fcb8 | 6604           : bne    $1fcbe
        1fcba | 12bc 00ff      : move.b #$ff,(A1)    // stop sound
        1fcbe | 60be           : bra    $1fc7c
        -->
        <!-- display -->
        <output format="----- bay route 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@500000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.od@01088 =         0001e376</action>
        <action>maincpu.oq@1fc70 = a422a422a422a422</action>
        <action>maincpu.oq@1fc78 = a422ad80a590a482</action>
        <action>maincpu.oq@1fc80 = a590a482a5a0a482</action>
        <action>maincpu.oq@1fc88 = a422a482a422a482</action>
        <action>maincpu.oq@1fc90 = ad20ad80ad20a482</action>
        <action>maincpu.oq@1fc98 = ad20a482ad80a482</action>
        <action>maincpu.oq@1fca0 = a5a0a5a0ad80a482</action>
        <action>maincpu.oq@1fca8 = a422a422ad20a422</action>
        <action>maincpu.oq@1fcb0 = a482a482a482a482</action>
        <action>maincpu.oq@1fcb8 = ad20a482a422ad20</action>
    </script>
</cheat>
"walk speed" is test code. Player speed doesn't change when you hold a gun in the upper direction (press upper-left or upper-right key). Of course, also when you ride in a vehicle.

[bayroute]+ Bay Route

Posted: Wed Oct 30, 2024 12:46 pm
by jman
bayroute.xml

Code: Select all

<!-- Bay Route (set 3, World) (FD1094 317-0116) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.ob@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.ob@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.ob@53BF = 02</action> <!-- bomb -->
            <action>maincpu.ob@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.ob@5327 = 1A</action>
            <action>maincpu.ob@53BF = 22</action>
            <action>maincpu.ob@53EB = 5E</action>
            <action>maincpu.ob@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@04102 = 4EB90001F8E04EB9</action>
            <action>maincpu.oq@0410A = 0001F8F208E90001</action>
            <action>maincpu.oq@1F8E0 = 203900500A80611C</action>
            <action>maincpu.oq@1F8E8 = 23C000500A80DC80</action>
            <action>maincpu.oq@1F8F0 = 4E75203900500A84</action>
            <action>maincpu.oq@1F8F8 = 610A23C000500A84</action>
            <action>maincpu.oq@1F900 = DE804E754A390050</action>
            <action>maincpu.oq@1F908 = 0A986A10223C0000</action>
            <action>maincpu.oq@1F910 = 00004A8067066A02</action>
            <action>maincpu.oq@1F918 = 448120014E75FFFF</action>
            <action>maincpu.od@1F90E = param           </action>
            <!--
            1F8E0 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            1F8E6 | 611C           : bsr     $1f904
            1F8E8 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            1F8EE | DC80           : add.l   D0, D6
            1F8F0 | 4E75           : rts
            1F8F2 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            1F8F8 | 610A           : bsr     $1f904
            1F8FA | 23C0 0050 0A84 : move.l  D0, $500a84.l
            1F900 | DE80           : add.l   D0, D7
            1F902 | 4E75           : rts
            1F904 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            1F90A | 6A10           : bpl     $1f91c
            1F90C | 223C xxxx xxxx : move.l  #$xxxx, D1
            1F912 | 4A80           : tst.l   D0
            1F914 | 6706           : beq     $1f91c
            1F916 | 6A02           : bpl     $1f91a
            1F918 | 4481           : neg.l   D1
            1F91A | 2001           : move.l  D1, D0
            1F91C | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.oq@0410A = 00500A8408E90001</action>
            <action>maincpu.oq@1F8E0 = A508A508A508A508</action>
            <action>maincpu.oq@1F8E8 = A508A508A508A508</action>
            <action>maincpu.oq@1F8F0 = A508A508A508A508</action>
            <action>maincpu.oq@1F8F8 = A508A508A508A508</action>
            <action>maincpu.oq@1F900 = A508A508A508A508</action>
            <action>maincpu.oq@1F908 = A508A508A508A508</action>
            <action>maincpu.oq@1F910 = A508A508A508A508</action>
            <action>maincpu.oq@1F918 = A508A508A508A508</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.od@01088 = 0001F920        </action>
            <action>maincpu.oq@1F920 = 41F90050000043F9</action>
            <action>maincpu.oq@1F928 = 00FF000712001039</action>
            <action>maincpu.oq@1F930 = 00901003B20067F4</action>
            <action>maincpu.oq@1F938 = 0C00007F66025310</action>
            <action>maincpu.oq@1F940 = 0C0000BF66025210</action>
            <action>maincpu.oq@1F948 = 0C0000EF66040410</action>
            <action>maincpu.oq@1F950 = 00100C0000DF6604</action>
            <action>maincpu.oq@1F958 = 061000100C0000FD</action>
            <action>maincpu.oq@1F960 = 660212900C0000FB</action>
            <action>maincpu.oq@1F968 = 660412BC00FF60BC</action>
            <!--
            1F920 | 41F9 0050 0000 : lea     $500000.l, A0 // sound code address
            1F926 | 43F9 00FF 0007 : lea     $ff0007.l, A1 // sound latch address
            1F92C | 1200           : move.b  D0, D1
            1F92E | 1039 0090 1003 : move.b  $901003.l, D0 // read input
            1F934 | B200           : cmp.b   D0, D1
            1F936 | 67F4           : beq     $1f92c
            1F938 | 0C00 007F      : cmpi.b  #$7f, D0
            1F93C | 6602           : bne     $1f940
            1F93E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1F940 | 0C00 00BF      : cmpi.b  #-$41, D0
            1F944 | 6602           : bne     $1f948
            1F946 | 5210           : addq.b  #1, (A0)      // increase code +01
            1F948 | 0C00 00EF      : cmpi.b  #-$11, D0
            1F94C | 6604           : bne     $1f952
            1F94E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1F952 | 0C00 00DF      : cmpi.b  #-$21, D0
            1F956 | 6604           : bne     $1f95c
            1F958 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1F95C | 0C00 00FD      : cmpi.b  #-$3, D0
            1F960 | 6602           : bne     $1f964
            1F962 | 1290           : move.b  (A0), (A1)    // play sound
            1F964 | 0C00 00FB      : cmpi.b  #-$5, D0
            1F968 | 6604           : bne     $1f96e
            1F96A | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            1F96E | 60BC           : bra     $1f92c
            -->
            <!-- display -->
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.od@01088 = 0001E376        </action>
            <action>maincpu.oq@1F920 = A508A508A508A508</action>
            <action>maincpu.oq@1F928 = A508A508A508A508</action>
            <action>maincpu.oq@1F930 = A508A508A508A508</action>
            <action>maincpu.oq@1F938 = A508A508A508A508</action>
            <action>maincpu.oq@1F940 = A508A508A508A508</action>
            <action>maincpu.oq@1F948 = A508A508A508A508</action>
            <action>maincpu.oq@1F950 = A508A508A508A508</action>
            <action>maincpu.oq@1F958 = A508A508A508A508</action>
            <action>maincpu.oq@1F960 = A508A508A508A508</action>
            <action>maincpu.oq@1F968 = A508A508A508A508</action>
        </script>
    </cheat>

</mamecheat>
bayroutej.xml

Code: Select all

<!-- Bay Route (set 2, Japan) (FD1094 317-0115) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.ob@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.ob@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.ob@53BF = 02</action> <!-- bomb -->
            <action>maincpu.ob@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.ob@5327 = 1A</action>
            <action>maincpu.ob@53BF = 22</action>
            <action>maincpu.ob@53EB = 5E</action>
            <action>maincpu.ob@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@04102 = 4EB90001FC304EB9</action>
            <action>maincpu.oq@0410A = 0001FC4208E90001</action>
            <action>maincpu.oq@1FC30 = 203900500A80611C</action>
            <action>maincpu.oq@1FC38 = 23C000500A80DC80</action>
            <action>maincpu.oq@1FC40 = 4E75203900500A84</action>
            <action>maincpu.oq@1FC48 = 610A23C000500A84</action>
            <action>maincpu.oq@1FC50 = DE804E754A390050</action>
            <action>maincpu.oq@1FC58 = 0A986A10223C0000</action>
            <action>maincpu.oq@1FC60 = 00004A8067066A02</action>
            <action>maincpu.oq@1FC68 = 448120014E75FFFF</action>
            <action>maincpu.od@1FC5E = param           </action>
            <!--
            1FC30 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            1FC36 | 611C           : bsr     $1fc54
            1FC38 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            1FC3E | DC80           : add.l   D0, D6
            1FC40 | 4E75           : rts
            1FC42 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            1FC48 | 610A           : bsr     $1fc54
            1FC4A | 23C0 0050 0A84 : move.l  D0, $500a84.l
            1FC50 | DE80           : add.l   D0, D7
            1FC52 | 4E75           : rts
            1FC54 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            1FC5A | 6A10           : bpl     $1fc6c
            1FC5C | 223C xxxx xxxx : move.l  #$xxxx, D1
            1FC62 | 4A80           : tst.l   D0
            1FC64 | 6706           : beq     $1fc6c
            1FC66 | 6A02           : bpl     $1fc6a
            1FC68 | 4481           : neg.l   D1
            1FC6A | 2001           : move.l  D1, D0
            1FC6C | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.oq@0410A = 00500A8408E90001</action>
            <action>maincpu.oq@1FC30 = AD80A422AD20A482</action>
            <action>maincpu.oq@1FC38 = A422A422A590A5A0</action>
            <action>maincpu.oq@1FC40 = A482A590A422A590</action>
            <action>maincpu.oq@1FC48 = A482AD20A5A0A482</action>
            <action>maincpu.oq@1FC50 = A482A422A482A422</action>
            <action>maincpu.oq@1FC58 = AD20AD20A5A0A422</action>
            <action>maincpu.oq@1FC60 = AD20AD20A482A422</action>
            <action>maincpu.oq@1FC68 = A482A5A0A5A0A482</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.od@01088 = 0001FC70        </action>
            <action>maincpu.oq@1FC70 = 41F90050000043F9</action>
            <action>maincpu.oq@1FC78 = 00FF000712001039</action>
            <action>maincpu.oq@1FC80 = 00901003B20067F4</action>
            <action>maincpu.oq@1FC88 = 0C00007F66025310</action>
            <action>maincpu.oq@1FC90 = 0C0000BF66025210</action>
            <action>maincpu.oq@1FC98 = 0C0000EF66040410</action>
            <action>maincpu.oq@1FCA0 = 00100C0000DF6604</action>
            <action>maincpu.oq@1FCA8 = 061000100C0000FD</action>
            <action>maincpu.oq@1FCB0 = 660212900C0000FB</action>
            <action>maincpu.oq@1FCB8 = 660412BC00FF60BC</action>
            <!--
            1FC70 | 41F9 0050 0000 : lea     $500000.l, A0 // sound code address
            1FC76 | 43F9 00FF 0007 : lea     $ff0007.l, A1 // sound latch address
            1FC7C | 1200           : move.b  D0, D1
            1FC7E | 1039 0090 1003 : move.b  $901003.l, D0 // read input
            1FC84 | B200           : cmp.b   D0, D1
            1FC86 | 67F4           : beq     $1fc7c
            1FC88 | 0C00 007F      : cmpi.b  #$7f, D0
            1FC8C | 6602           : bne     $1fc90
            1FC8E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1FC90 | 0C00 00BF      : cmpi.b  #-$41, D0
            1FC94 | 6602           : bne     $1fc98
            1FC96 | 5210           : addq.b  #1, (A0)      // increase code +01
            1FC98 | 0C00 00EF      : cmpi.b  #-$11, D0
            1FC9C | 6604           : bne     $1fca2
            1FC9E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1FCA2 | 0C00 00DF      : cmpi.b  #-$21, D0
            1FCA6 | 6604           : bne     $1fcac
            1FCA8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1FCAC | 0C00 00FD      : cmpi.b  #-$3, D0
            1FCB0 | 6602           : bne     $1fcb4
            1FCB2 | 1290           : move.b  (A0), (A1)    // play sound
            1FCB4 | 0C00 00FB      : cmpi.b  #-$5, D0
            1FCB8 | 6604           : bne     $1fcbe
            1FCBA | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            1FCBE | 60BC           : bra     $1fc7c
            -->
            <!-- display -->
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.od@01088 = 0001E376        </action>
            <action>maincpu.oq@1FC70 = A422A422A422A422</action>
            <action>maincpu.oq@1FC78 = A422AD80A590A482</action>
            <action>maincpu.oq@1FC80 = A590A482A5A0A482</action>
            <action>maincpu.oq@1FC88 = A422A482A422A482</action>
            <action>maincpu.oq@1FC90 = AD20AD80AD20A482</action>
            <action>maincpu.oq@1FC98 = AD20A482AD80A482</action>
            <action>maincpu.oq@1FCA0 = A5A0A5A0AD80A482</action>
            <action>maincpu.oq@1FCA8 = A422A422AD20A422</action>
            <action>maincpu.oq@1FCB0 = A482A482A482A482</action>
            <action>maincpu.oq@1FCB8 = AD20A482A422AD20</action>
        </script>
    </cheat>

</mamecheat>
bayroute1.xml

Code: Select all

<!-- Bay Route (set 1, US) (unprotected) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.mb@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.mb@53BF = 02</action> <!-- bomb -->
            <action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.mb@5327 = 1A</action>
            <action>maincpu.mb@53BF = 22</action>
            <action>maincpu.mb@53EB = 5E</action>
            <action>maincpu.mb@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04102 = 4EB90001F8F04EB9</action>
            <action>maincpu.mq@0410A = 0001F90208E90001</action>
            <action>maincpu.mq@1F8F0 = 203900500A80611C</action>
            <action>maincpu.mq@1F8F8 = 23C000500A80DC80</action>
            <action>maincpu.mq@1F900 = 4E75203900500A84</action>
            <action>maincpu.mq@1F908 = 610A23C000500A84</action>
            <action>maincpu.mq@1F910 = DE804E754A390050</action>
            <action>maincpu.mq@1F918 = 0A986A10223C0000</action>
            <action>maincpu.mq@1F920 = 00004A8067066A02</action>
            <action>maincpu.mq@1F928 = 448120014E75FFFF</action>
            <!--
            1F8F0 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            1F8F6 | 611C           : bsr     $1f914
            1F8F8 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            1F8FE | DC80           : add.l   D0, D6
            1F900 | 4E75           : rts
            1F902 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            1F908 | 610A           : bsr     $1f914
            1F90A | 23C0 0050 0A84 : move.l  D0, $500a84.l
            1F910 | DE80           : add.l   D0, D7
            1F912 | 4E75           : rts
            1F914 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            1F91A | 6A10           : bpl     $1f92c
            1F91C | 223C xxxx xxxx : move.l  #$xxxx, D1
            1F922 | 4A80           : tst.l   D0
            1F924 | 6706           : beq     $1f92c
            1F926 | 6A02           : bpl     $1f92a
            1F928 | 4481           : neg.l   D1
            1F92A | 2001           : move.l  D1, D0
            1F92C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@1F91E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.mq@0410A = 00500A8408E90001</action>
            <action>maincpu.mq@1F8F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F8F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F900 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F908 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F910 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F918 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F920 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F928 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@01088 = 0001F930        </action>
            <action>maincpu.mq@1F930 = 41F90050000043F9</action>
            <action>maincpu.mq@1F938 = 00FF000712001039</action>
            <action>maincpu.mq@1F940 = 00901003B20067F4</action>
            <action>maincpu.mq@1F948 = 0C00007F66025310</action>
            <action>maincpu.mq@1F950 = 0C0000BF66025210</action>
            <action>maincpu.mq@1F958 = 0C0000EF66040410</action>
            <action>maincpu.mq@1F960 = 00100C0000DF6604</action>
            <action>maincpu.mq@1F968 = 061000100C0000FD</action>
            <action>maincpu.mq@1F970 = 660212900C0000FB</action>
            <action>maincpu.mq@1F978 = 660412BC00FF60BC</action>
            <!--
            1F930 | 41F9 0050 0000 : lea     $500000.l, A0 // sound code address
            1F936 | 43F9 00FF 0007 : lea     $ff0007.l, A1 // sound latch address
            1F93C | 1200           : move.b  D0, D1
            1F93E | 1039 0090 1003 : move.b  $901003.l, D0 // read input
            1F944 | B200           : cmp.b   D0, D1
            1F946 | 67F4           : beq     $1f93c
            1F948 | 0C00 007F      : cmpi.b  #$7f, D0
            1F94C | 6602           : bne     $1f950
            1F94E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1F950 | 0C00 00BF      : cmpi.b  #-$41, D0
            1F954 | 6602           : bne     $1f958
            1F956 | 5210           : addq.b  #1, (A0)      // increase code +01
            1F958 | 0C00 00EF      : cmpi.b  #-$11, D0
            1F95C | 6604           : bne     $1f962
            1F95E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1F962 | 0C00 00DF      : cmpi.b  #-$21, D0
            1F966 | 6604           : bne     $1f96c
            1F968 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1F96C | 0C00 00FD      : cmpi.b  #-$3, D0
            1F970 | 6602           : bne     $1f974
            1F972 | 1290           : move.b  (A0), (A1)    // play sound
            1F974 | 0C00 00FB      : cmpi.b  #-$5, D0
            1F978 | 6604           : bne     $1f97e
            1F97A | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            1F97E | 60BC           : bra     $1f93c
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01088 = 0001E380        </action>
            <action>maincpu.mq@1F930 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F938 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F940 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F948 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F950 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F958 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F960 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F968 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F970 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F978 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
bayrouted.xml

Code: Select all

<!-- Bay Route (set 3, World) (bootleg of FD1094 317-0116 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.mb@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.mb@53BF = 02</action> <!-- bomb -->
            <action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.mb@5327 = 1A</action>
            <action>maincpu.mb@53BF = 22</action>
            <action>maincpu.mb@53EB = 5E</action>
            <action>maincpu.mb@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04102 = 4EB90001F8E04EB9</action>
            <action>maincpu.mq@0410A = 0001F8F208E90001</action>
            <action>maincpu.mq@1F8E0 = 203900500A80611C</action>
            <action>maincpu.mq@1F8E8 = 23C000500A80DC80</action>
            <action>maincpu.mq@1F8F0 = 4E75203900500A84</action>
            <action>maincpu.mq@1F8F8 = 610A23C000500A84</action>
            <action>maincpu.mq@1F900 = DE804E754A390050</action>
            <action>maincpu.mq@1F908 = 0A986A10223C0000</action>
            <action>maincpu.mq@1F910 = 00004A8067066A02</action>
            <action>maincpu.mq@1F918 = 448120014E75FFFF</action>
            <!--
            1F8E0 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            1F8E6 | 611C           : bsr     $1f904
            1F8E8 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            1F8EE | DC80           : add.l   D0, D6
            1F8F0 | 4E75           : rts
            1F8F2 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            1F8F8 | 610A           : bsr     $1f904
            1F8FA | 23C0 0050 0A84 : move.l  D0, $500a84.l
            1F900 | DE80           : add.l   D0, D7
            1F902 | 4E75           : rts
            1F904 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            1F90A | 6A10           : bpl     $1f91c
            1F90C | 223C xxxx xxxx : move.l  #$xxxx, D1
            1F912 | 4A80           : tst.l   D0
            1F914 | 6706           : beq     $1f91c
            1F916 | 6A02           : bpl     $1f91a
            1F918 | 4481           : neg.l   D1
            1F91A | 2001           : move.l  D1, D0
            1F91C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@1F90E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.mq@0410A = 00500A8408E90001</action>
            <action>maincpu.mq@1F8E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F8E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F8F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F8F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F900 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F908 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F910 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F918 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@01088 = 0001F920        </action>
            <action>maincpu.mq@1F920 = 41F90050000043F9</action>
            <action>maincpu.mq@1F928 = 00FF000712001039</action>
            <action>maincpu.mq@1F930 = 00901003B20067F4</action>
            <action>maincpu.mq@1F938 = 0C00007F66025310</action>
            <action>maincpu.mq@1F940 = 0C0000BF66025210</action>
            <action>maincpu.mq@1F948 = 0C0000EF66040410</action>
            <action>maincpu.mq@1F950 = 00100C0000DF6604</action>
            <action>maincpu.mq@1F958 = 061000100C0000FD</action>
            <action>maincpu.mq@1F960 = 660212900C0000FB</action>
            <action>maincpu.mq@1F968 = 660412BC00FF60BC</action>
            <!--
            1F920 | 41F9 0050 0000 : lea     $500000.l, A0 // sound code address
            1F926 | 43F9 00FF 0007 : lea     $ff0007.l, A1 // sound latch address
            1F92C | 1200           : move.b  D0, D1
            1F92E | 1039 0090 1003 : move.b  $901003.l, D0 // read input
            1F934 | B200           : cmp.b   D0, D1
            1F936 | 67F4           : beq     $1f92c
            1F938 | 0C00 007F      : cmpi.b  #$7f, D0
            1F93C | 6602           : bne     $1f940
            1F93E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1F940 | 0C00 00BF      : cmpi.b  #-$41, D0
            1F944 | 6602           : bne     $1f948
            1F946 | 5210           : addq.b  #1, (A0)      // increase code +01
            1F948 | 0C00 00EF      : cmpi.b  #-$11, D0
            1F94C | 6604           : bne     $1f952
            1F94E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1F952 | 0C00 00DF      : cmpi.b  #-$21, D0
            1F956 | 6604           : bne     $1f95c
            1F958 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1F95C | 0C00 00FD      : cmpi.b  #-$3, D0
            1F960 | 6602           : bne     $1f964
            1F962 | 1290           : move.b  (A0), (A1)    // play sound
            1F964 | 0C00 00FB      : cmpi.b  #-$5, D0
            1F968 | 6604           : bne     $1f96e
            1F96A | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            1F96E | 60BC           : bra     $1f92c
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01088 = 0001E376        </action>
            <action>maincpu.mq@1F920 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F928 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F930 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F938 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F940 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F948 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F950 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F958 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F960 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1F968 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
bayroutejd.xml

Code: Select all

<!-- Bay Route (set 2, Japan) (bootleg of FD1094 317-0115 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.mb@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.mb@53BF = 02</action> <!-- bomb -->
            <action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.mb@5327 = 1A</action>
            <action>maincpu.mb@53BF = 22</action>
            <action>maincpu.mb@53EB = 5E</action>
            <action>maincpu.mb@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04102 = 4EB90001FC304EB9</action>
            <action>maincpu.mq@0410A = 0001FC4208E90001</action>
            <action>maincpu.mq@1FC30 = 203900500A80611C</action>
            <action>maincpu.mq@1FC38 = 23C000500A80DC80</action>
            <action>maincpu.mq@1FC40 = 4E75203900500A84</action>
            <action>maincpu.mq@1FC48 = 610A23C000500A84</action>
            <action>maincpu.mq@1FC50 = DE804E754A390050</action>
            <action>maincpu.mq@1FC58 = 0A986A10223C0000</action>
            <action>maincpu.mq@1FC60 = 00004A8067066A02</action>
            <action>maincpu.mq@1FC68 = 448120014E75FFFF</action>
            <!--
            1FC30 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            1FC36 | 611C           : bsr     $1fc54
            1FC38 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            1FC3E | DC80           : add.l   D0, D6
            1FC40 | 4E75           : rts
            1FC42 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            1FC48 | 610A           : bsr     $1fc54
            1FC4A | 23C0 0050 0A84 : move.l  D0, $500a84.l
            1FC50 | DE80           : add.l   D0, D7
            1FC52 | 4E75           : rts
            1FC54 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            1FC5A | 6A10           : bpl     $1fc6c
            1FC5C | 223C xxxx xxxx : move.l  #$xxxx, D1
            1FC62 | 4A80           : tst.l   D0
            1FC64 | 6706           : beq     $1fc6c
            1FC66 | 6A02           : bpl     $1fc6a
            1FC68 | 4481           : neg.l   D1
            1FC6A | 2001           : move.l  D1, D0
            1FC6C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@1FC5E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.mq@0410A = 00500A8408E90001</action>
            <action>maincpu.mq@1FC30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC68 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@01088 = 0001FC70        </action>
            <action>maincpu.mq@1FC70 = 41F90050000043F9</action>
            <action>maincpu.mq@1FC78 = 00FF000712001039</action>
            <action>maincpu.mq@1FC80 = 00901003B20067F4</action>
            <action>maincpu.mq@1FC88 = 0C00007F66025310</action>
            <action>maincpu.mq@1FC90 = 0C0000BF66025210</action>
            <action>maincpu.mq@1FC98 = 0C0000EF66040410</action>
            <action>maincpu.mq@1FCA0 = 00100C0000DF6604</action>
            <action>maincpu.mq@1FCA8 = 061000100C0000FD</action>
            <action>maincpu.mq@1FCB0 = 660212900C0000FB</action>
            <action>maincpu.mq@1FCB8 = 660412BC00FF60BC</action>
            <!--
            1FC70 | 41F9 0050 0000 : lea     $500000.l, A0 // sound code address
            1FC76 | 43F9 00FF 0007 : lea     $ff0007.l, A1 // sound latch address
            1FC7C | 1200           : move.b  D0, D1
            1FC7E | 1039 0090 1003 : move.b  $901003.l, D0 // read input
            1FC84 | B200           : cmp.b   D0, D1
            1FC86 | 67F4           : beq     $1fc7c
            1FC88 | 0C00 007F      : cmpi.b  #$7f, D0
            1FC8C | 6602           : bne     $1fc90
            1FC8E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1FC90 | 0C00 00BF      : cmpi.b  #-$41, D0
            1FC94 | 6602           : bne     $1fc98
            1FC96 | 5210           : addq.b  #1, (A0)      // increase code +01
            1FC98 | 0C00 00EF      : cmpi.b  #-$11, D0
            1FC9C | 6604           : bne     $1fca2
            1FC9E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1FCA2 | 0C00 00DF      : cmpi.b  #-$21, D0
            1FCA6 | 6604           : bne     $1fcac
            1FCA8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1FCAC | 0C00 00FD      : cmpi.b  #-$3, D0
            1FCB0 | 6602           : bne     $1fcb4
            1FCB2 | 1290           : move.b  (A0), (A1)    // play sound
            1FCB4 | 0C00 00FB      : cmpi.b  #-$5, D0
            1FCB8 | 6604           : bne     $1fcbe
            1FCBA | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            1FCBE | 60BC           : bra     $1fc7c
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01088 = 0001E376        </action>
            <action>maincpu.mq@1FC70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FC98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FCA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FCA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FCB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FCB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
bayrouteb1.xml

Code: Select all

<!-- Bay Route (encrypted, protected bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.ob@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.ob@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.ob@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.ob@53BF = 02</action> <!-- bomb -->
            <action>maincpu.ob@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.ob@5327 = 1A</action>
            <action>maincpu.ob@53BF = 22</action>
            <action>maincpu.ob@53EB = 5E</action>
            <action>maincpu.ob@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.oq@04102 = 4EB9000200004EB9</action>
            <action>maincpu.oq@0410A = 0002001208E90001</action>
            <action>maincpu.oq@20000 = 203900500A80611C</action>
            <action>maincpu.oq@20008 = 23C000500A80DC80</action>
            <action>maincpu.oq@20010 = 4E75203900500A84</action>
            <action>maincpu.oq@20018 = 610A23C000500A84</action>
            <action>maincpu.oq@20020 = DE804E754A390050</action>
            <action>maincpu.oq@20028 = 0A986A10223C0000</action>
            <action>maincpu.oq@20030 = 00004A8067066A02</action>
            <action>maincpu.oq@20038 = 448120014E75FFFF</action>
            <action>maincpu.od@2002E = param           </action>
            <!--
            20000 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            20006 | 611C           : bsr     $20024
            20008 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            2000E | DC80           : add.l   D0, D6
            20010 | 4E75           : rts
            20012 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            20018 | 610A           : bsr     $20024
            2001A | 23C0 0050 0A84 : move.l  D0, $500a84.l
            20020 | DE80           : add.l   D0, D7
            20022 | 4E75           : rts
            20024 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            2002A | 6A10           : bpl     $2003c
            2002C | 223C xxxx xxxx : move.l  #$xxxx, D1
            20032 | 4A80           : tst.l   D0
            20034 | 6706           : beq     $2003c
            20036 | 6A02           : bpl     $2003a
            20038 | 4481           : neg.l   D1
            2003A | 2001           : move.l  D1, D0
            2003C | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.oq@0410A = 00500A8408E90001</action>
            <action>maincpu.oq@20000 = 5114444540101011</action>
            <action>maincpu.oq@20008 = 5555404554101011</action>
            <action>maincpu.oq@20010 = 0055551450045544</action>
            <action>maincpu.oq@20018 = 0444551450045551</action>
            <action>maincpu.oq@20020 = 5555404555501011</action>
            <action>maincpu.oq@20028 = 0115111455440110</action>
            <action>maincpu.oq@20030 = 4015551455015400</action>
            <action>maincpu.oq@20038 = 5505050451544051</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.od@01088 = 00020040        </action>
            <action>maincpu.oq@20040 = 41F90050000043F9</action>
            <action>maincpu.oq@20048 = 0090200712001029</action>
            <action>maincpu.oq@20050 = EFFCB20067F60C00</action>
            <action>maincpu.oq@20058 = 007F660253100C00</action>
            <action>maincpu.oq@20060 = 00BF660252100C00</action>
            <action>maincpu.oq@20068 = 00EF660404100010</action>
            <action>maincpu.oq@20070 = 0C0000DF66040610</action>
            <action>maincpu.oq@20078 = 00100C0000FD6602</action>
            <action>maincpu.oq@20080 = 12900C0000FB6604</action>
            <action>maincpu.oq@20088 = 12BC00FF60BEFFFF</action>
            <!--
            20040 | 41F9 0050 0000 : lea     $500000.l, A0   // sound code address
            20046 | 43F9 0090 2007 : lea     $902007.l, A1   // sound latch address
            2004C | 1200           : move.b  D0, D1
            2004E | 1029 EFFC      : move.b  (-$1004,A1), D0 // read input ($901003)
            20052 | B200           : cmp.b   D0, D1
            20054 | 67F6           : beq     $2004c
            20056 | 0C00 007F      : cmpi.b  #$7f, D0
            2005A | 6602           : bne     $2005e
            2005C | 5310           : subq.b  #1, (A0)        // decrease code -01
            2005E | 0C00 00BF      : cmpi.b  #-$41, D0
            20062 | 6602           : bne     $20066
            20064 | 5210           : addq.b  #1, (A0)        // increase code +01
            20066 | 0C00 00EF      : cmpi.b  #-$11, D0
            2006A | 6604           : bne     $20070
            2006C | 0410 0010      : subi.b  #$10, (A0)      // decrease code -10
            20070 | 0C00 00DF      : cmpi.b  #-$21, D0
            20074 | 6604           : bne     $2007a
            20076 | 0610 0010      : addi.b  #$10, (A0)      // increase code +10
            2007A | 0C00 00FD      : cmpi.b  #-$3, D0
            2007E | 6602           : bne     $20082
            20080 | 1290           : move.b  (A0), (A1)      // play sound
            20082 | 0C00 00FB      : cmpi.b  #-$5, D0
            20086 | 6604           : bne     $2008c
            20088 | 12BC 00FF      : move.b  #$ff, (A1)      // stop sound
            2008C | 60BE           : bra     $2004c
            -->
            <!-- display -->
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.od@01088 = 0001E376        </action>
            <action>maincpu.oq@20040 = 5555404554501011</action>
            <action>maincpu.oq@20048 = 5555404555101011</action>
            <action>maincpu.oq@20050 = 1410551450045515</action>
            <action>maincpu.oq@20058 = 1540551450045510</action>
            <action>maincpu.oq@20060 = 0451104545040504</action>
            <action>maincpu.oq@20068 = 5511011445055554</action>
            <action>maincpu.oq@20070 = 5154510111500011</action>
            <action>maincpu.oq@20078 = 5101004155414410</action>
            <action>maincpu.oq@20080 = 5510555440455505</action>
            <action>maincpu.oq@20088 = 5510555140455550</action>
        </script>
    </cheat>

</mamecheat>
bayrouteb2.xml

Code: Select all

<!-- Bay Route (Datsu bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
            <action>maincpu.mb@1B537 = BA</action> <!-- flame -->
            <action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B12A = 66</action>
            <action>maincpu.mb@1B537 = 8A</action>
            <action>maincpu.mb@1BBAE = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
            <action>maincpu.mb@53BF = 02</action> <!-- bomb -->
            <action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
            <action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
        </script>
        <script state="off">
            <action>maincpu.mb@5327 = 1A</action>
            <action>maincpu.mb@53BF = 22</action>
            <action>maincpu.mb@53EB = 5E</action>
            <action>maincpu.mb@5495 = 08</action>
        </script>
    </cheat>

    <cheat desc="walk speed (test)">
        <comment>player speed doesn't change when you hold a gun in the upper direction</comment>
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00003000">02       </item>
            <item value="0x00006000">03       </item>
            <item value="0x00009000">04       </item>
            <item value="0x0000c000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04102 = 4EB9000200004EB9</action>
            <action>maincpu.mq@0410A = 0002001208E90001</action>
            <action>maincpu.mq@20000 = 203900500A80611C</action>
            <action>maincpu.mq@20008 = 23C000500A80DC80</action>
            <action>maincpu.mq@20010 = 4E75203900500A84</action>
            <action>maincpu.mq@20018 = 610A23C000500A84</action>
            <action>maincpu.mq@20020 = DE804E754A390050</action>
            <action>maincpu.mq@20028 = 0A986A10223C0000</action>
            <action>maincpu.mq@20030 = 00004A8067066A02</action>
            <action>maincpu.mq@20038 = 448120014E75FFFF</action>
            <!--
            20000 | 2039 0050 0A80 : move.l  $500a80.l, D0 // x position
            20006 | 611C           : bsr     $20024
            20008 | 23C0 0050 0A80 : move.l  D0, $500a80.l
            2000E | DC80           : add.l   D0, D6
            20010 | 4E75           : rts
            20012 | 2039 0050 0A84 : move.l  $500a84.l, D0 // y position
            20018 | 610A           : bsr     $20024
            2001A | 23C0 0050 0A84 : move.l  D0, $500a84.l
            20020 | DE80           : add.l   D0, D7
            20022 | 4E75           : rts
            20024 | 4A39 0050 0A98 : tst.b   $500a98.l     // check auto move flag
            2002A | 6A10           : bpl     $2003c
            2002C | 223C xxxx xxxx : move.l  #$xxxx, D1
            20032 | 4A80           : tst.l   D0
            20034 | 6706           : beq     $2003c
            20036 | 6A02           : bpl     $2003a
            20038 | 4481           : neg.l   D1
            2003A | 2001           : move.l  D1, D0
            2003C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@2002E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04102 = DCB900500A80DEB9</action>
            <action>maincpu.mq@0410A = 00500A8408E90001</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@01088 = 00020040        </action>
            <action>maincpu.mq@20040 = 41F90050000043F9</action>
            <action>maincpu.mq@20048 = 0090000712001029</action>
            <action>maincpu.mq@20050 = 0FFCB20067F60C00</action>
            <action>maincpu.mq@20058 = 007F660253100C00</action>
            <action>maincpu.mq@20060 = 00BF660252100C00</action>
            <action>maincpu.mq@20068 = 00EF660404100010</action>
            <action>maincpu.mq@20070 = 0C0000DF66040610</action>
            <action>maincpu.mq@20078 = 00100C0000FD6602</action>
            <action>maincpu.mq@20080 = 12900C0000FB6604</action>
            <action>maincpu.mq@20088 = 12BC00FF60BEFFFF</action>
            <!--
            20040 | 41F9 0050 0000 : lea     $500000.l, A0 // sound code address
            20046 | 43F9 0090 0007 : lea     $900007.l, A1 // sound latch address
            2004C | 1200           : move.b  D0, D1
            2004E | 1029 0FFC      : move.b  ($ffc,A1), D0 // read input ($900003)
            20052 | B200           : cmp.b   D0, D1
            20054 | 67F6           : beq     $2004c
            20056 | 0C00 007F      : cmpi.b  #$7f, D0
            2005A | 6602           : bne     $2005e
            2005C | 5310           : subq.b  #1, (A0)      // decrease code -01
            2005E | 0C00 00BF      : cmpi.b  #-$41, D0
            20062 | 6602           : bne     $20066
            20064 | 5210           : addq.b  #1, (A0)      // increase code +01
            20066 | 0C00 00EF      : cmpi.b  #-$11, D0
            2006A | 6604           : bne     $20070
            2006C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            20070 | 0C00 00DF      : cmpi.b  #-$21, D0
            20074 | 6604           : bne     $2007a
            20076 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2007A | 0C00 00FD      : cmpi.b  #-$3, D0
            2007E | 6602           : bne     $20082
            20080 | 1290           : move.b  (A0), (A1)    // play sound
            20082 | 0C00 00FB      : cmpi.b  #-$5, D0
            20086 | 6604           : bne     $2008c
            20088 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            2008C | 60BE           : bra     $2004c
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@500000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01088 = 0001E376        </action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
            <action>maincpu.mq@20048 = 0000000000000000</action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : In bayroute1, You can select sound code but no playing sound because of incomplete emulation.