[bayroutej] Bay Route

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 1317
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[bayroutej] Bay Route

Post 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.
jman

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

[bayroute]+ Bay Route

Post 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.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply