[chwy] Highway Chase

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

[chwy] Highway Chase

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.pw@15da = 6058</action> <!-- enemy -->
        <action>maincpu.pw@1a01 = 6058</action> <!-- motorbike -->
        <action>maincpu.pw@1eda = 6058</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.pw@15da = 45c5</action>
        <action>maincpu.pw@1a01 = 45c5</action>
        <action>maincpu.pw@1eda = 45c5</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="run">
        <action>maincpu.pw@1cf4 = fafa</action>
    </script>
    <script state="off">
        <action>maincpu.pw@1cf4 = 4e25</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x03">02       </item>
        <item value="0x06">03       </item>
        <item value="0x09">04       </item>
        <item value="0x0c">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pb@1cb4 = -param</action> <!-- up -->
        <action>maincpu.pb@1cb6 =  param</action> <!-- down -->
        <action>maincpu.pb@29d5 =  param</action> <!-- right -->
        <action>maincpu.pb@29d6 = -param</action> <!-- left -->
    </script>
    <script state="off">
        <action>maincpu.pb@1cb4 = fe</action>
        <action>maincpu.pb@1cb6 = 02</action>
        <action>maincpu.pb@29d5 = 03</action>
        <action>maincpu.pb@29d6 = fd</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x04">02       </item>
        <item value="0x08">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x10">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pb@1f3d = param</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1f3d = 04</action>
    </script>
</cheat>

<cheat desc="penetration shot">
    <script state="run">
        <action>maincpu.pb@1f1a = 00</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1f1a = 04</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <script state="run">
        <!-- routine -->
        <action>maincpu.pw@0526 =             50c0</action>
        <action>maincpu.pq@50c0 = f011a5e600cd1185</action>
        <action>maincpu.pq@50c8 = 01b002a910c6c8f7</action>
        <action>maincpu.pq@50d0 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@50d8 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@50e0 = 1069188a06b004a9</action>
        <action>maincpu.pq@50e8 = 06f010a9108698ca</action>
        <action>maincpu.pq@50f0 = 148e00c205b020a9</action>
        <action>maincpu.pq@50f8 = 0000000050c02ce4</action>
        <!--
        50c0 | 85 11    : sta $11
        50c2 | ad 00 e6 : lda $e600 // read input
        50c5 | c5 11    : cmp $11
        50c7 | f0 f7    : beq $50c0
        50c9 | a8       : tay
        50ca | a6 10    : ldx $10
        50cc | c9 02    : cmp #$02
        50ce | d0 01    : bne $50d1
        50d0 | ca       : dex       // decrease code -01
        50d1 | c9 01    : cmp #$01
        50d3 | d0 01    : bne $50d6
        50d5 | e8       : inx       // increase code +01
        50d6 | c9 08    : cmp #$08
        50d8 | d0 06    : bne $50e0
        50da | 8a       : txa       // decrease code -10
        50db | 38       : sec
        50dc | e9 10    : sbc #$10
        50de | aa       : tax
        50df | 98       : tya
        50e0 | c9 04    : cmp #$04
        50e2 | d0 06    : bne $50ea
        50e4 | 8a       : txa       // increase code +10
        50e5 | 18       : clc
        50e6 | 69 10    : adc #$10
        50e8 | aa       : tax
        50e9 | 98       : tya
        50ea | 86 10    : stx $10
        50ec | c9 10    : cmp #$10
        50ee | f0 06    : beq $50f6
        50f0 | c9 20    : cmp #$20
        50f2 | d0 05    : bne $50f9
        50f4 | a2 00    : ldx #$00  // stop sound
        50f6 | 8e 14 e4 : stx $e414 // send sound code
        50f9 | 4c c0 50 : jmp $50c0
        -->
        <action>audiocpu.pb@0ab5 = 58</action> <!-- enable interrupt in playing music to stop sound -->
        <!-- display -->
        <output format="----- highway chase sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"                  line="11" align="center" />
        <output format="right : increase code +01"                 line="12" align="center" />
        <output format="down : decrease code -10"                  line="13" align="center" />
        <output format="up : increase code +10"                    line="14" align="center" />
        <output format="button 1 : play sound"                     line="15" align="center" />
        <output format="button 2 : stop sound"                     line="16" align="center" />
        <output format="----------------------------"              line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"        line="19" align="center"  >
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.pw@0526 =             2488</action>
        <action> maincpu.pq@50c0 = 0000000000000000</action>
        <action> maincpu.pq@50c8 = 0000000000000000</action>
        <action> maincpu.pq@50d0 = 0000000000000000</action>
        <action> maincpu.pq@50d8 = 0000000000000000</action>
        <action> maincpu.pq@50e0 = 0000000000000000</action>
        <action> maincpu.pq@50e8 = 0000000000000000</action>
        <action> maincpu.pq@50f0 = 0000000000000000</action>
        <action> maincpu.pq@50f8 = 0000000000000000</action>
        <action>audiocpu.pb@0ab5 =               78</action>
    </script>
</cheat>
jman

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

[chwy] Highway Chase

Post by jman »

Small clean up.

chwy.xml

Code: Select all

<!-- Highway Chase (DECO Cassette) (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.pw@15DA = 6058</action> <!-- enemy -->
            <action>maincpu.pw@1A01 = 6058</action> <!-- motorbike -->
            <action>maincpu.pw@1EDA = 6058</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.pw@15DA = 45C5</action>
            <action>maincpu.pw@1A01 = 45C5</action>
            <action>maincpu.pw@1EDA = 45C5</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="run">
            <action>maincpu.pw@1CF4 = EAEA</action>
        </script>
        <script state="off">
            <action>maincpu.pw@1CF4 = 4E25</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x03">02       </item>
            <item value="0x06">03       </item>
            <item value="0x09">04       </item>
            <item value="0x0c">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.pb@1CB4 = -param</action> <!-- up -->
            <action>maincpu.pb@1CB6 =  param</action> <!-- down -->
            <action>maincpu.pb@29D5 =  param</action> <!-- right -->
            <action>maincpu.pb@29D6 = -param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.pb@1CB4 = FE</action>
            <action>maincpu.pb@1CB6 = 02</action>
            <action>maincpu.pb@29D5 = 03</action>
            <action>maincpu.pb@29D6 = FD</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.pb@1F3D = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F3D = 04</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="run">
            <action>maincpu.pb@1F1A = 00</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F1A = 04</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) then wait data load to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.pw@0526 = 50C0            </action>
            <action>maincpu.pq@50C0 = F081A4E600CC8184</action>
            <action>maincpu.pq@50C8 = AA01B002A080C6F7</action>
            <action>maincpu.pq@50D0 = B008A0E801B001A0</action>
            <action>maincpu.pq@50D8 = 04A0CA10E9588A05</action>
            <action>maincpu.pq@50E0 = 86CA1069188A05B0</action>
            <action>maincpu.pq@50E8 = B020A006F010A080</action>
            <action>maincpu.pq@50F0 = C02CE4148E00C205</action>
            <action>maincpu.pq@50F8 = 0000000000000050</action>
            <!--
            50C0 | 84 81    : sty $81
            50C2 | AC 00 E6 : ldy $e600 // read input
            50C5 | C4 81    : cpy $81
            50C7 | F0 F7    : beq $50c0
            50C9 | A6 80    : ldx $80
            50CB | C0 02    : cpy #$02
            50CD | D0 01    : bne $50d0
            50CF | CA       : dex       // decrease code -01
            50D0 | C0 01    : cpy #$01
            50D2 | D0 01    : bne $50d5
            50D4 | E8       : inx       // increase code +01
            50D5 | C0 08    : cpy #$08
            50D7 | D0 05    : bne $50de
            50D9 | 8A       : txa       // decrease code -10
            50DA | 38       : sec
            50DB | E9 10    : sbc #$10
            50DD | AA       : tax
            50DE | C0 04    : cpy #$04
            50E0 | D0 05    : bne $50e7
            50E2 | 8A       : txa       // increase code +10
            50E3 | 18       : clc
            50E4 | 69 10    : adc #$10
            50E6 | AA       : tax
            50E7 | 86 80    : stx $80
            50E9 | C0 10    : cpy #$10
            50EB | F0 06    : beq $50f3 // play sound
            50ED | C0 20    : cpy #$20
            50EF | D0 05    : bne $50f6
            50F1 | A2 00    : ldx #$00  // stop sound
            50F3 | 8E 14 E4 : stx $e414 // send sound code
            50F6 | 4C C0 50 : jmp $50c0
            -->
            <action>audiocpu.pb@0AB5 = 58</action> <!-- enable interrupt in playing music to stop sound -->
            <!-- 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.pw@0526 = 2488            </action>
            <action> maincpu.pq@50C0 = 0000000000000000</action>
            <action> maincpu.pq@50C8 = 0000000000000000</action>
            <action> maincpu.pq@50D0 = 0000000000000000</action>
            <action> maincpu.pq@50D8 = 0000000000000000</action>
            <action> maincpu.pq@50E0 = 0000000000000000</action>
            <action> maincpu.pq@50E8 = 0000000000000000</action>
            <action> maincpu.pq@50F0 = 0000000000000000</action>
            <action> maincpu.pq@50F8 = 0000000000000000</action>
            <action>audiocpu.pb@0AB5 = 78              </action>
        </script>
    </cheat>

</mamecheat>
jman

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

[madalien]+ Mad Alien

Post by jman »

madalien is the original game of chwy.

madalien.xml

Code: Select all

<!-- Mad Alien (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@CFE3 = 6038</action> <!-- enemy -->
            <action>maincpu.mw@D4A9 = 6038</action> <!-- motorbike -->
            <action>maincpu.mw@DA85 = 6038</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@CFE3 = 42A5</action>
            <action>maincpu.mw@D4A9 = 42A5</action>
            <action>maincpu.mw@DA85 = 42A5</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@D79F = EAEA</action>
        </script>
        <script state="off">
            <action>maincpu.mw@D79F = 454B</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@E5B5 =  param</action> <!-- right -->
            <action>maincpu.mb@E5B6 = -param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mb@E5B5 = 03</action>
            <action>maincpu.mb@E5B6 = FD</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@DB66 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@DB66 = 08</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@DB43 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@DB43 = 04</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@C01B = 3D              </action> <!-- disable score display -->
            <action>maincpu.mb@E720 = FF              </action> <!-- disable background? -->
            <action>maincpu.mw@E163 = B000            </action>
            <action>maincpu.mq@B000 = F081C49000AC8184</action>
            <action>maincpu.mq@B008 = CA01D0FDC080A6F7</action>
            <action>maincpu.mq@B010 = D0F7C0E801D0FEC0</action>
            <action>maincpu.mq@B018 = FBC0AA10E9388A05</action>
            <action>maincpu.mq@B020 = 86AA1069188A05D0</action>
            <action>maincpu.mq@B028 = D0DFC006F0EFC080</action>
            <action>maincpu.mq@B030 = 004C80068E0DA205</action>
            <action>maincpu.mq@B038 = 00000000000000B0</action>
            <!--
            B000 | 84 81    : sty $81
            B002 | AC 00 90 : ldy $9000 // read input
            B005 | C4 81    : cpy $81
            B007 | F0 F7    : beq $b000
            B009 | A6 80    : ldx $80
            B00B | C0 FD    : cpy #$fd
            B00D | D0 01    : bne $b010
            B00F | CA       : dex       // decrease code -01
            B010 | C0 FE    : cpy #$fe
            B012 | D0 01    : bne $b015
            B014 | E8       : inx       // increase code +01
            B015 | C0 F7    : cpy #$f7
            B017 | D0 05    : bne $b01e
            B019 | 8A       : txa       // decrease code -10
            B01A | 38       : sec
            B01B | E9 10    : sbc #$10
            B01D | AA       : tax
            B01E | C0 FB    : cpy #$fb
            B020 | D0 05    : bne $b027
            B022 | 8A       : txa       // increase code +10
            B023 | 18       : clc
            B024 | 69 10    : adc #$10
            B026 | AA       : tax
            B027 | 86 80    : stx $80
            B029 | C0 EF    : cpy #$ef
            B02B | F0 06    : beq $b033 // play sound
            B02D | C0 DF    : cpy #$df
            B02F | D0 05    : bne $b036
            B031 | A2 0D    : ldx #$0d  // stop sound
            B033 | 8E 06 80 : stx $8006 // send sound code
            B036 | 4C 00 B0 : jmp $b000
            -->
            <!-- enable interrupt to stop sound in playing code 0x0e -->
            <action>audiocpu.mw@FBD0 = FF80            </action>
            <action>audiocpu.mq@FF80 = 00000000FDA24C58</action>
            <!--
            FF80 | 58       : cli
            FF81 | 4C A2 FD : jmp $fda2
            -->
        </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="start : 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@C01B = 3E              </action>
            <action> maincpu.mb@E720 = 4C              </action>
            <action> maincpu.mw@E163 = E101            </action>
            <action> maincpu.mq@B000 = 0000000000000000</action>
            <action> maincpu.mq@B008 = 0000000000000000</action>
            <action> maincpu.mq@B010 = 0000000000000000</action>
            <action> maincpu.mq@B018 = 0000000000000000</action>
            <action> maincpu.mq@B020 = 0000000000000000</action>
            <action> maincpu.mq@B028 = 0000000000000000</action>
            <action> maincpu.mq@B030 = 0000000000000000</action>
            <action> maincpu.mq@B038 = 0000000000000000</action>
            <action>audiocpu.mw@FBD0 = FDA2            </action>
            <action>audiocpu.mq@FF80 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
madaliena.xml

Code: Select all

<!-- Mad Alien (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@BFFC = 6038</action> <!-- enemy -->
            <action>maincpu.mw@C4BC = 6038</action> <!-- motorbike -->
            <action>maincpu.mw@CA87 = 6038</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@BFFC = 42A5</action>
            <action>maincpu.mw@C4BC = 42A5</action>
            <action>maincpu.mw@CA87 = 42A5</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@C7A1 = EAEA</action>
        </script>
        <script state="off">
            <action>maincpu.mw@C7A1 = 454B</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@D5CD =  param</action> <!-- right -->
            <action>maincpu.mb@D5CE = -param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mb@D5CD = 03</action>
            <action>maincpu.mb@D5CE = FD</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@CB68 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@CB68 = 08</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@CB45 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@CB45 = 04</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@B01B = 3C              </action> <!-- disable score display -->
            <action>maincpu.mb@D738 = FF              </action> <!-- disable background? -->
            <action>maincpu.mw@D162 = DE80            </action>
            <action>maincpu.mq@DE80 = F081C49000AC8184</action>
            <action>maincpu.mq@DE88 = CA01D0FDC080A6F7</action>
            <action>maincpu.mq@DE90 = D0F7C0E801D0FEC0</action>
            <action>maincpu.mq@DE98 = FBC0AA10E9388A05</action>
            <action>maincpu.mq@DEA0 = 86AA1069188A05D0</action>
            <action>maincpu.mq@DEA8 = D0DFC006F0EFC080</action>
            <action>maincpu.mq@DEB0 = 804C80068E0DA205</action>
            <action>maincpu.mq@DEB8 = 00000000000000DE</action>
            <!--
            DE80 | 84 81    : sty $81
            DE82 | AC 00 90 : ldy $9000 // read input
            DE85 | C4 81    : cpy $81
            DE87 | F0 F7    : beq $de80
            DE89 | A6 80    : ldx $80
            DE8B | C0 FD    : cpy #$fd
            DE8D | D0 01    : bne $de90
            DE8F | CA       : dex       // decrease code -01
            DE90 | C0 FE    : cpy #$fe
            DE92 | D0 01    : bne $de95
            DE94 | E8       : inx       // increase code +01
            DE95 | C0 F7    : cpy #$f7
            DE97 | D0 05    : bne $de9e
            DE99 | 8A       : txa       // decrease code -10
            DE9A | 38       : sec
            DE9B | E9 10    : sbc #$10
            DE9D | AA       : tax
            DE9E | C0 FB    : cpy #$fb
            DEA0 | D0 05    : bne $dea7
            DEA2 | 8A       : txa       // increase code +10
            DEA3 | 18       : clc
            DEA4 | 69 10    : adc #$10
            DEA6 | AA       : tax
            DEA7 | 86 80    : stx $80
            DEA9 | C0 EF    : cpy #$ef
            DEAB | F0 06    : beq $deb3 // play sound
            DEAD | C0 DF    : cpy #$df
            DEAF | D0 05    : bne $deb6
            DEB1 | A2 0D    : ldx #$0d  // stop sound
            DEB3 | 8E 06 80 : stx $8006 // send sound code
            DEB6 | 4C 80 DE : jmp $de80
            -->
            <!-- enable interrupt to stop sound in playing code 0x0e -->
            <action>audiocpu.mw@FBD0 = FF80            </action>
            <action>audiocpu.mq@FF80 = 00000000FDA24C58</action>
            <!--
            FF80 | 58       : cli
            FF81 | 4C A2 FD : jmp $fda2
            -->
        </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="start : 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@B01B = 3D              </action>
            <action> maincpu.mb@D738 = 4C              </action>
            <action> maincpu.mw@D162 = D100            </action>
            <action> maincpu.mq@DE80 = 0000000000000000</action>
            <action> maincpu.mq@DE88 = 0000000000000000</action>
            <action> maincpu.mq@DE90 = 0000000000000000</action>
            <action> maincpu.mq@DE98 = 0000000000000000</action>
            <action> maincpu.mq@DEA0 = 0000000000000000</action>
            <action> maincpu.mq@DEA8 = 0000000000000000</action>
            <action> maincpu.mq@DEB0 = 0000000000000000</action>
            <action> maincpu.mq@DEB8 = 0000000000000000</action>
            <action>audiocpu.mw@FBD0 = FDA2            </action>
            <action>audiocpu.mq@FF80 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
madalienb.xml

Code: Select all

<!-- Mad Alien (set 2, alt gfx) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@BFFC = 6038</action> <!-- enemy -->
            <action>maincpu.mw@C4BC = 6038</action> <!-- motorbike -->
            <action>maincpu.mw@CA87 = 6038</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@BFFC = 42A5</action>
            <action>maincpu.mw@C4BC = 42A5</action>
            <action>maincpu.mw@CA87 = 42A5</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@C7A1 = EAEA</action>
        </script>
        <script state="off">
            <action>maincpu.mw@C7A1 = 454B</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@D5CD =  param</action> <!-- right -->
            <action>maincpu.mb@D5CE = -param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mb@D5CD = 03</action>
            <action>maincpu.mb@D5CE = FD</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@CB68 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@CB68 = 08</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@CB45 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@CB45 = 04</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@B01B = 3C              </action> <!-- disable score display -->
            <action>maincpu.mb@D738 = FF              </action> <!-- disable background? -->
            <action>maincpu.mw@D162 = DE80            </action>
            <action>maincpu.mq@DE80 = F081C49000AC8184</action>
            <action>maincpu.mq@DE88 = CA01D0FDC080A6F7</action>
            <action>maincpu.mq@DE90 = D0F7C0E801D0FEC0</action>
            <action>maincpu.mq@DE98 = FBC0AA10E9388A05</action>
            <action>maincpu.mq@DEA0 = 86AA1069188A05D0</action>
            <action>maincpu.mq@DEA8 = D0DFC006F0EFC080</action>
            <action>maincpu.mq@DEB0 = 804C80068E0DA205</action>
            <action>maincpu.mq@DEB8 = 00000000000000DE</action>
            <!--
            DE80 | 84 81    : sty $81
            DE82 | AC 00 90 : ldy $9000 // read input
            DE85 | C4 81    : cpy $81
            DE87 | F0 F7    : beq $de80
            DE89 | A6 80    : ldx $80
            DE8B | C0 FD    : cpy #$fd
            DE8D | D0 01    : bne $de90
            DE8F | CA       : dex       // decrease code -01
            DE90 | C0 FE    : cpy #$fe
            DE92 | D0 01    : bne $de95
            DE94 | E8       : inx       // increase code +01
            DE95 | C0 F7    : cpy #$f7
            DE97 | D0 05    : bne $de9e
            DE99 | 8A       : txa       // decrease code -10
            DE9A | 38       : sec
            DE9B | E9 10    : sbc #$10
            DE9D | AA       : tax
            DE9E | C0 FB    : cpy #$fb
            DEA0 | D0 05    : bne $dea7
            DEA2 | 8A       : txa       // increase code +10
            DEA3 | 18       : clc
            DEA4 | 69 10    : adc #$10
            DEA6 | AA       : tax
            DEA7 | 86 80    : stx $80
            DEA9 | C0 EF    : cpy #$ef
            DEAB | F0 06    : beq $deb3 // play sound
            DEAD | C0 DF    : cpy #$df
            DEAF | D0 05    : bne $deb6
            DEB1 | A2 0D    : ldx #$0d  // stop sound
            DEB3 | 8E 06 80 : stx $8006 // send sound code
            DEB6 | 4C 80 DE : jmp $de80
            -->
            <!-- enable interrupt to stop sound in playing code 0x0e -->
            <action>audiocpu.mw@FBD0 = FF80            </action>
            <action>audiocpu.mq@FF80 = 00000000FDA24C58</action>
            <!--
            FF80 | 58       : cli
            FF81 | 4C A2 FD : jmp $fda2
            -->
        </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="start : 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@B01B = 3D              </action>
            <action> maincpu.mb@D738 = 4C              </action>
            <action> maincpu.mw@D162 = D100            </action>
            <action> maincpu.mq@DE80 = 0000000000000000</action>
            <action> maincpu.mq@DE88 = 0000000000000000</action>
            <action> maincpu.mq@DE90 = 0000000000000000</action>
            <action> maincpu.mq@DE98 = 0000000000000000</action>
            <action> maincpu.mq@DEA0 = 0000000000000000</action>
            <action> maincpu.mq@DEA8 = 0000000000000000</action>
            <action> maincpu.mq@DEB0 = 0000000000000000</action>
            <action> maincpu.mq@DEB8 = 0000000000000000</action>
            <action>audiocpu.mw@FBD0 = FDA2            </action>
            <action>audiocpu.mq@FF80 = 0000000000000000</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