[wecleman]+ WEC Le Mans 24

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: 1296
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[wecleman]+ WEC Le Mans 24

Post by jman »

wecleman.xml

Code: Select all

<!-- WEC Le Mans 24 (v2.01) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@08C36 = 60</action> <!-- obstacle -->
            <action>maincpu.mb@1CFFC = 60</action> <!-- car -->
        </script>
        <script state="off">
            <action>maincpu.mb@08C36 = 64</action>
            <action>maincpu.mb@1CFFC = 62</action>
        </script>
    </cheat>

    <cheat desc="no offroad slowdown">
        <script state="on">
            <action>maincpu.mb@8AE2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8AE2 = 63</action>
        </script>
    </cheat>

    <cheat desc="no tire slip">
        <script state="on">
            <action>maincpu.mw@92D2 = 426E</action>
            <action>maincpu.mw@9396 = 604A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@92D2 = 3D40</action>
            <action>maincpu.mw@9396 = 674A</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0800">01 (slow)</item>
            <item value="0x1000">02       </item>
            <item value="0x4000">03       </item>
            <item value="0x8000">04       </item>
            <item value="0xFFFF">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1F9A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1F9A = 8001</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@010C6 = 4EF90003D0004E71</action>
            <action>maincpu.mq@3D000 = 41EE100043F90014</action>
            <action>maincpu.mq@3D008 = 000145E900041D7C</action>
            <action>maincpu.mq@3D010 = 0080003C12004280</action>
            <action>maincpu.mq@3D018 = 0C2E0060001A6602</action>
            <action>maincpu.mq@3D020 = 70204A2E003A6702</action>
            <action>maincpu.mq@3D028 = 70100C2E0080003C</action>
            <action>maincpu.mq@3D030 = 6708640470016002</action>
            <action>maincpu.mq@3D038 = 7002B20067D60C00</action>
            <action>maincpu.mq@3D040 = 0001660253100C00</action>
            <action>maincpu.mq@3D048 = 0002660252100C00</action>
            <action>maincpu.mq@3D050 = 0010660412906008</action>
            <action>maincpu.mq@3D058 = 0C00002066124211</action>
            <action>maincpu.mq@3D060 = 142E018108C20002</action>
            <action>maincpu.mq@3D068 = 1482088200021482</action>
            <action>maincpu.mq@3D070 = 60A2FFFFFFFFFFFF</action>
            <!--
            3D000 | 41EE 1000      : lea     ($1000,A6), A0  // sound code address ($41000)
            3D004 | 43F9 0014 0001 : lea     $140001.l, A1   // sound latch address
            3D00A | 45E9 0004      : lea     ($4,A1), A2     // sound trigger address ($140005)
            3D00E | 1D7C 0080 003C : move.b  #$80, ($3c,A6)  // avoid sound code decrement at reset
            3D014 | 1200           : move.b  D0, D1
            3D016 | 4280           : clr.l   D0
            3D018 | 0C2E 0060 001A : cmpi.b  #$60, ($1a,A6)  // read brake input
            3D01E | 6602           : bne     $3d022
            3D020 | 7020           : moveq   #$20, D0
            3D022 | 4A2E 003A      : tst.b   ($3a,A6)        // read accel input
            3D026 | 6702           : beq     $3d02a
            3D028 | 7010           : moveq   #$10, D0
            3D02A | 0C2E 0080 003C : cmpi.b  #-$80, ($3c,A6) // read wheel input
            3D030 | 6708           : beq     $3d03a
            3D032 | 6404           : bcc     $3d038
            3D034 | 7001           : moveq   #$1, D0
            3D036 | 6002           : bra     $3d03a
            3D038 | 7002           : moveq   #$2, D0
            3D03A | B200           : cmp.b   D0, D1
            3D03C | 67D6           : beq     $3d014
            3D03E | 0C00 0001      : cmpi.b  #$1, D0
            3D042 | 6602           : bne     $3d046
            3D044 | 5310           : subq.b  #1, (A0)        // decrease code -01
            3D046 | 0C00 0002      : cmpi.b  #$2, D0
            3D04A | 6602           : bne     $3d04e
            3D04C | 5210           : addq.b  #1, (A0)        // increase code +01
            3D04E | 0C00 0010      : cmpi.b  #$10, D0
            3D052 | 6604           : bne     $3d058
            3D054 | 1290           : move.b  (A0), (A1)      // play sound
            3D056 | 6008           : bra     $3d060
            3D058 | 0C00 0020      : cmpi.b  #$20, D0
            3D05C | 6612           : bne     $3d070
            3D05E | 4211           : clr.b   (A1)            // stop sound
            3D060 | 142E 0181      : move.b  ($181,A6), D2
            3D064 | 08C2 0002      : bset    #$2, D2
            3D068 | 1482           : move.b  D2, (A2)
            3D06A | 0882 0002      : bclr    #$2, D2
            3D06E | 1482           : move.b  D2, (A2)
            3D070 | 60A2           : bra     $3d014
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code"              line="11" align="center" />
            <output format="right : increase code"             line="12" align="center" />
            <output format="accel : play sound"                line="13" align="center" />
            <output format="brake : stop sound"                line="14" align="center" />
            <output format="----------------------------"      line="15" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="17" align="center">
                <argument>maincpu.pb@41000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@010C6 = 13EE018100140005</action>
            <action>maincpu.mq@3D000 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D008 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D010 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D018 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D020 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D028 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D030 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D038 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D048 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D060 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D068 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D070 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@108C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@108C = 4E4F</action>
        </script>
    </cheat>

</mamecheat>
weclemana.xml

Code: Select all

<!-- WEC Le Mans 24 (v2.00) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@08C36 = 60</action> <!-- obstacle -->
            <action>maincpu.mb@1CFFC = 60</action> <!-- car -->
        </script>
        <script state="off">
            <action>maincpu.mb@08C36 = 64</action>
            <action>maincpu.mb@1CFFC = 62</action>
        </script>
    </cheat>

    <cheat desc="no offroad slowdown">
        <script state="on">
            <action>maincpu.mb@8AE2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8AE2 = 63</action>
        </script>
    </cheat>

    <cheat desc="no tire slip">
        <script state="on">
            <action>maincpu.mw@92D2 = 426E</action>
            <action>maincpu.mw@9396 = 604A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@92D2 = 3D40</action>
            <action>maincpu.mw@9396 = 674A</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0800">01 (slow)</item>
            <item value="0x1000">02       </item>
            <item value="0x4000">03       </item>
            <item value="0x8000">04       </item>
            <item value="0xFFFF">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1F9A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1F9A = 8001</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@010C6 = 4EF90003D0004E71</action>
            <action>maincpu.mq@3D000 = 41EE100043F90014</action>
            <action>maincpu.mq@3D008 = 000145E900041D7C</action>
            <action>maincpu.mq@3D010 = 0080003C12004280</action>
            <action>maincpu.mq@3D018 = 0C2E0060001A6602</action>
            <action>maincpu.mq@3D020 = 70204A2E003A6702</action>
            <action>maincpu.mq@3D028 = 70100C2E0080003C</action>
            <action>maincpu.mq@3D030 = 6708640470016002</action>
            <action>maincpu.mq@3D038 = 7002B20067D60C00</action>
            <action>maincpu.mq@3D040 = 0001660253100C00</action>
            <action>maincpu.mq@3D048 = 0002660252100C00</action>
            <action>maincpu.mq@3D050 = 0010660412906008</action>
            <action>maincpu.mq@3D058 = 0C00002066124211</action>
            <action>maincpu.mq@3D060 = 142E018108C20002</action>
            <action>maincpu.mq@3D068 = 1482088200021482</action>
            <action>maincpu.mq@3D070 = 60A2FFFFFFFFFFFF</action>
            <!--
            3D000 | 41EE 1000      : lea     ($1000,A6), A0  // sound code address ($41000)
            3D004 | 43F9 0014 0001 : lea     $140001.l, A1   // sound latch address
            3D00A | 45E9 0004      : lea     ($4,A1), A2     // sound trigger address ($140005)
            3D00E | 1D7C 0080 003C : move.b  #$80, ($3c,A6)  // avoid sound code decrement at reset
            3D014 | 1200           : move.b  D0, D1
            3D016 | 4280           : clr.l   D0
            3D018 | 0C2E 0060 001A : cmpi.b  #$60, ($1a,A6)  // read brake input
            3D01E | 6602           : bne     $3d022
            3D020 | 7020           : moveq   #$20, D0
            3D022 | 4A2E 003A      : tst.b   ($3a,A6)        // read accel input
            3D026 | 6702           : beq     $3d02a
            3D028 | 7010           : moveq   #$10, D0
            3D02A | 0C2E 0080 003C : cmpi.b  #-$80, ($3c,A6) // read wheel input
            3D030 | 6708           : beq     $3d03a
            3D032 | 6404           : bcc     $3d038
            3D034 | 7001           : moveq   #$1, D0
            3D036 | 6002           : bra     $3d03a
            3D038 | 7002           : moveq   #$2, D0
            3D03A | B200           : cmp.b   D0, D1
            3D03C | 67D6           : beq     $3d014
            3D03E | 0C00 0001      : cmpi.b  #$1, D0
            3D042 | 6602           : bne     $3d046
            3D044 | 5310           : subq.b  #1, (A0)        // decrease code -01
            3D046 | 0C00 0002      : cmpi.b  #$2, D0
            3D04A | 6602           : bne     $3d04e
            3D04C | 5210           : addq.b  #1, (A0)        // increase code +01
            3D04E | 0C00 0010      : cmpi.b  #$10, D0
            3D052 | 6604           : bne     $3d058
            3D054 | 1290           : move.b  (A0), (A1)      // play sound
            3D056 | 6008           : bra     $3d060
            3D058 | 0C00 0020      : cmpi.b  #$20, D0
            3D05C | 6612           : bne     $3d070
            3D05E | 4211           : clr.b   (A1)            // stop sound
            3D060 | 142E 0181      : move.b  ($181,A6), D2
            3D064 | 08C2 0002      : bset    #$2, D2
            3D068 | 1482           : move.b  D2, (A2)
            3D06A | 0882 0002      : bclr    #$2, D2
            3D06E | 1482           : move.b  D2, (A2)
            3D070 | 60A2           : bra     $3d014
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code"              line="11" align="center" />
            <output format="right : increase code"             line="12" align="center" />
            <output format="accel : play sound"                line="13" align="center" />
            <output format="brake : stop sound"                line="14" align="center" />
            <output format="----------------------------"      line="15" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="17" align="center">
                <argument>maincpu.pb@41000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@010C6 = 13EE018100140005</action>
            <action>maincpu.mq@3D000 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D008 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D010 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D018 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D020 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D028 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D030 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D038 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D048 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D060 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D068 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D070 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@108C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@108C = 4E4F</action>
        </script>
    </cheat>

</mamecheat>
weclemanb.xml

Code: Select all

<!-- WEC Le Mans 24 (v2.00, hack) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@08C36 = 60</action> <!-- obstacle -->
            <action>maincpu.mb@1CFFC = 60</action> <!-- car -->
        </script>
        <script state="off">
            <action>maincpu.mb@08C36 = 64</action>
            <action>maincpu.mb@1CFFC = 62</action>
        </script>
    </cheat>

    <cheat desc="no offroad slowdown">
        <script state="on">
            <action>maincpu.mb@8AE2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8AE2 = 63</action>
        </script>
    </cheat>

    <cheat desc="no tire slip">
        <script state="on">
            <action>maincpu.mw@92D2 = 426E</action>
            <action>maincpu.mw@9396 = 604A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@92D2 = 3D40</action>
            <action>maincpu.mw@9396 = 674A</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0800">01 (slow)</item>
            <item value="0x1000">02       </item>
            <item value="0x4000">03       </item>
            <item value="0x8000">04       </item>
            <item value="0xFFFF">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1F9A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1F9A = 8001</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@010C6 = 4EF90003D0004E71</action>
            <action>maincpu.mq@3D000 = 41EE100043F90014</action>
            <action>maincpu.mq@3D008 = 000145E900041D7C</action>
            <action>maincpu.mq@3D010 = 0080003C12004280</action>
            <action>maincpu.mq@3D018 = 0C2E0060001A6602</action>
            <action>maincpu.mq@3D020 = 70204A2E003A6702</action>
            <action>maincpu.mq@3D028 = 70100C2E0080003C</action>
            <action>maincpu.mq@3D030 = 6708640470016002</action>
            <action>maincpu.mq@3D038 = 7002B20067D60C00</action>
            <action>maincpu.mq@3D040 = 0001660253100C00</action>
            <action>maincpu.mq@3D048 = 0002660252100C00</action>
            <action>maincpu.mq@3D050 = 0010660412906008</action>
            <action>maincpu.mq@3D058 = 0C00002066124211</action>
            <action>maincpu.mq@3D060 = 142E018108C20002</action>
            <action>maincpu.mq@3D068 = 1482088200021482</action>
            <action>maincpu.mq@3D070 = 60A2FFFFFFFFFFFF</action>
            <!--
            3D000 | 41EE 1000      : lea     ($1000,A6), A0  // sound code address ($41000)
            3D004 | 43F9 0014 0001 : lea     $140001.l, A1   // sound latch address
            3D00A | 45E9 0004      : lea     ($4,A1), A2     // sound trigger address ($140005)
            3D00E | 1D7C 0080 003C : move.b  #$80, ($3c,A6)  // avoid sound code decrement at reset
            3D014 | 1200           : move.b  D0, D1
            3D016 | 4280           : clr.l   D0
            3D018 | 0C2E 0060 001A : cmpi.b  #$60, ($1a,A6)  // read brake input
            3D01E | 6602           : bne     $3d022
            3D020 | 7020           : moveq   #$20, D0
            3D022 | 4A2E 003A      : tst.b   ($3a,A6)        // read accel input
            3D026 | 6702           : beq     $3d02a
            3D028 | 7010           : moveq   #$10, D0
            3D02A | 0C2E 0080 003C : cmpi.b  #-$80, ($3c,A6) // read wheel input
            3D030 | 6708           : beq     $3d03a
            3D032 | 6404           : bcc     $3d038
            3D034 | 7001           : moveq   #$1, D0
            3D036 | 6002           : bra     $3d03a
            3D038 | 7002           : moveq   #$2, D0
            3D03A | B200           : cmp.b   D0, D1
            3D03C | 67D6           : beq     $3d014
            3D03E | 0C00 0001      : cmpi.b  #$1, D0
            3D042 | 6602           : bne     $3d046
            3D044 | 5310           : subq.b  #1, (A0)        // decrease code -01
            3D046 | 0C00 0002      : cmpi.b  #$2, D0
            3D04A | 6602           : bne     $3d04e
            3D04C | 5210           : addq.b  #1, (A0)        // increase code +01
            3D04E | 0C00 0010      : cmpi.b  #$10, D0
            3D052 | 6604           : bne     $3d058
            3D054 | 1290           : move.b  (A0), (A1)      // play sound
            3D056 | 6008           : bra     $3d060
            3D058 | 0C00 0020      : cmpi.b  #$20, D0
            3D05C | 6612           : bne     $3d070
            3D05E | 4211           : clr.b   (A1)            // stop sound
            3D060 | 142E 0181      : move.b  ($181,A6), D2
            3D064 | 08C2 0002      : bset    #$2, D2
            3D068 | 1482           : move.b  D2, (A2)
            3D06A | 0882 0002      : bclr    #$2, D2
            3D06E | 1482           : move.b  D2, (A2)
            3D070 | 60A2           : bra     $3d014
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code"              line="11" align="center" />
            <output format="right : increase code"             line="12" align="center" />
            <output format="accel : play sound"                line="13" align="center" />
            <output format="brake : stop sound"                line="14" align="center" />
            <output format="----------------------------"      line="15" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="17" align="center">
                <argument>maincpu.pb@41000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@010C6 = 13EE018100140005</action>
            <action>maincpu.mq@3D000 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D008 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D010 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D018 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D020 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D028 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D030 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D038 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D048 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D060 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D068 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D070 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@108C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@108C = 4E4F</action>
        </script>
    </cheat>

</mamecheat>
weclemanc.xml

Code: Select all

<!-- WEC Le Mans 24 (v1.26) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@08C36 = 60</action> <!-- obstacle -->
            <action>maincpu.mb@1CFFC = 60</action> <!-- car -->
        </script>
        <script state="off">
            <action>maincpu.mb@08C36 = 64</action>
            <action>maincpu.mb@1CFFC = 62</action>
        </script>
    </cheat>

    <cheat desc="no offroad slowdown">
        <script state="on">
            <action>maincpu.mb@8AE2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8AE2 = 63</action>
        </script>
    </cheat>

    <cheat desc="no tire slip">
        <script state="on">
            <action>maincpu.mw@92D2 = 426E</action>
            <action>maincpu.mw@9396 = 604A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@92D2 = 3D40</action>
            <action>maincpu.mw@9396 = 674A</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0800">01 (slow)</item>
            <item value="0x1000">02       </item>
            <item value="0x4000">03       </item>
            <item value="0x8000">04       </item>
            <item value="0xFFFF">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1F9A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1F9A = 8001</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@010C6 = 4EF90003D0004E71</action>
            <action>maincpu.mq@3D000 = 41EE100043F90014</action>
            <action>maincpu.mq@3D008 = 000145E900041D7C</action>
            <action>maincpu.mq@3D010 = 0080003C12004280</action>
            <action>maincpu.mq@3D018 = 0C2E0060001A6602</action>
            <action>maincpu.mq@3D020 = 70204A2E003A6702</action>
            <action>maincpu.mq@3D028 = 70100C2E0080003C</action>
            <action>maincpu.mq@3D030 = 6708640470016002</action>
            <action>maincpu.mq@3D038 = 7002B20067D60C00</action>
            <action>maincpu.mq@3D040 = 0001660253100C00</action>
            <action>maincpu.mq@3D048 = 0002660252100C00</action>
            <action>maincpu.mq@3D050 = 0010660412906008</action>
            <action>maincpu.mq@3D058 = 0C00002066124211</action>
            <action>maincpu.mq@3D060 = 142E018108C20002</action>
            <action>maincpu.mq@3D068 = 1482088200021482</action>
            <action>maincpu.mq@3D070 = 60A2FFFFFFFFFFFF</action>
            <!--
            3D000 | 41EE 1000      : lea     ($1000,A6), A0  // sound code address ($41000)
            3D004 | 43F9 0014 0001 : lea     $140001.l, A1   // sound latch address
            3D00A | 45E9 0004      : lea     ($4,A1), A2     // sound trigger address ($140005)
            3D00E | 1D7C 0080 003C : move.b  #$80, ($3c,A6)  // avoid sound code decrement at reset
            3D014 | 1200           : move.b  D0, D1
            3D016 | 4280           : clr.l   D0
            3D018 | 0C2E 0060 001A : cmpi.b  #$60, ($1a,A6)  // read brake input
            3D01E | 6602           : bne     $3d022
            3D020 | 7020           : moveq   #$20, D0
            3D022 | 4A2E 003A      : tst.b   ($3a,A6)        // read accel input
            3D026 | 6702           : beq     $3d02a
            3D028 | 7010           : moveq   #$10, D0
            3D02A | 0C2E 0080 003C : cmpi.b  #-$80, ($3c,A6) // read wheel input
            3D030 | 6708           : beq     $3d03a
            3D032 | 6404           : bcc     $3d038
            3D034 | 7001           : moveq   #$1, D0
            3D036 | 6002           : bra     $3d03a
            3D038 | 7002           : moveq   #$2, D0
            3D03A | B200           : cmp.b   D0, D1
            3D03C | 67D6           : beq     $3d014
            3D03E | 0C00 0001      : cmpi.b  #$1, D0
            3D042 | 6602           : bne     $3d046
            3D044 | 5310           : subq.b  #1, (A0)        // decrease code -01
            3D046 | 0C00 0002      : cmpi.b  #$2, D0
            3D04A | 6602           : bne     $3d04e
            3D04C | 5210           : addq.b  #1, (A0)        // increase code +01
            3D04E | 0C00 0010      : cmpi.b  #$10, D0
            3D052 | 6604           : bne     $3d058
            3D054 | 1290           : move.b  (A0), (A1)      // play sound
            3D056 | 6008           : bra     $3d060
            3D058 | 0C00 0020      : cmpi.b  #$20, D0
            3D05C | 6612           : bne     $3d070
            3D05E | 4211           : clr.b   (A1)            // stop sound
            3D060 | 142E 0181      : move.b  ($181,A6), D2
            3D064 | 08C2 0002      : bset    #$2, D2
            3D068 | 1482           : move.b  D2, (A2)
            3D06A | 0882 0002      : bclr    #$2, D2
            3D06E | 1482           : move.b  D2, (A2)
            3D070 | 60A2           : bra     $3d014
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code"              line="11" align="center" />
            <output format="right : increase code"             line="12" align="center" />
            <output format="accel : play sound"                line="13" align="center" />
            <output format="brake : stop sound"                line="14" align="center" />
            <output format="----------------------------"      line="15" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="17" align="center">
                <argument>maincpu.pb@41000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@010C6 = 13EE018100140005</action>
            <action>maincpu.mq@3D000 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D008 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D010 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D018 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D020 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D028 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D030 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D038 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D048 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D060 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D068 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3D070 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@108C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@108C = 4E4F</action>
        </script>
    </cheat>

</mamecheat>
jman

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