Page 1 of 1

[wecleman]+ WEC Le Mans 24

Posted: Fri Jun 06, 2025 9:17 am
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>