[dommy] Dommy

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: 856
Joined: Tue Dec 01, 2020 1:24 pm

[dommy] Dommy

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@af3e = 60</action>
        <action>maincpu.mb@c2d3 = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@af3e = a5</action>
        <action>maincpu.mb@c2d3 = a5</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mw@a567 = 1029</action>
    </script>
    <script state="off">
        <action>maincpu.mw@a567 = 6a85</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mb@a80e = 01</action> <!-- attack -->
        <action>maincpu.mb@a8a0 = 01</action> <!-- push -->
    </script>
    <script state="off">
        <action>maincpu.mb@a80e = 05</action>
        <action>maincpu.mb@a8a0 = 07</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x02">02       </item>
        <item value="0x04">03       </item>
        <item value="0x06">04       </item>
        <item value="0x08">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@a7c7 = -param</action> <!-- up -->
        <action>maincpu.mb@a7c8 =  param</action> <!-- right -->
        <action>maincpu.mb@a7cb =  param</action> <!-- down -->
        <action>maincpu.mb@a7cc = -param</action> <!-- left -->
    </script>
    <script state="off">
        <action>maincpu.mb@a7c7 = fe</action>
        <action>maincpu.mb@a7c8 = 02</action>
        <action>maincpu.mb@a7cb = 02</action>
        <action>maincpu.mb@a7cc = fe</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@a0db =             f4f0</action>
        <action>maincpu.mq@f4f0 = 8184808600a000a2</action>
        <action>maincpu.mq@f4f8 = 4002ad80a6d99920</action>
        <action>maincpu.mq@f500 = 03ad8285bf29ff49</action>
        <action>maincpu.mq@f508 = a882054029ff4940</action>
        <action>maincpu.mq@f510 = 01d002c9e0f081c5</action>
        <action>maincpu.mq@f518 = 08c9e801d001c9ca</action>
        <action>maincpu.mq@f520 = aa10e9388a4807d0</action>
        <action>maincpu.mq@f528 = 188a4807d004c968</action>
        <action>maincpu.mq@f530 = 10d010c968aa1069</action>
        <action>maincpu.mq@f538 = dd8d069020c98a48</action>
        <action>maincpu.mq@f540 = 6803e08df5474c03</action>
        <action>maincpu.mq@f548 = dd8dffa905d040c9</action>
        <action>maincpu.mq@f550 = 00000000f4f44c03</action>
        <!--
        f4f0 | a2 00    : ldx #$00  // initialize sound code value
        f4f2 | a0 00    : ldy #$00  // initialize input code value
        f4f4 | 86 80    : stx $80
        f4f6 | 84 81    : sty $81
        f4f8 | 20 99 d9 : jsr $d999
        f4fb | a6 80    : ldx $80
        f4fd | ad 02 40 : lda $4002 // read other inputs
        f500 | 49 ff    : eor #$ff
        f502 | 29 bf    : and #$bf
        f504 | 85 82    : sta $82
        f506 | ad 03 40 : lda $4003 // read start button input
        f509 | 49 ff    : eor #$ff
        f50b | 29 40    : and #$40
        f50d | 05 82    : ora $82
        f50f | a8       : tay
        f510 | c5 81    : cmp $81
        f512 | f0 e0    : beq $f4f4
        f514 | c9 02    : cmp #$02
        f516 | d0 01    : bne $f519
        f518 | ca       : dex       // decrease code -01
        f519 | c9 01    : cmp #$01
        f51b | d0 01    : bne $f51e
        f51d | e8       : inx       // increase code +01
        f51e | c9 08    : cmp #$08
        f520 | d0 07    : bne $f529
        f522 | 48       : pha       // decrease code -10
        f523 | 8a       : txa
        f524 | 38       : sec
        f525 | e9 10    : sbc #$10
        f527 | aa       : tax
        f528 | 68       : pla
        f529 | c9 04    : cmp #$04
        f52b | d0 07    : bne $f534
        f52d | 48       : pha       // increase code +10
        f52e | 8a       : txa
        f52f | 18       : clc
        f530 | 69 10    : adc #$10
        f532 | aa       : tax
        f533 | 68       : pla
        f534 | c9 10    : cmp #$10
        f536 | d0 10    : bne $f548
        f538 | 48       : pha       // play sound
        f539 | 8a       : txa
        f53a | c9 20    : cmp #$20
        f53c | 90 06    : bcc $f544
        f53e | 8d dd 03 : sta $03dd // music
        f541 | 4c 47 f5 : jmp $f547
        f544 | 8d e0 03 : sta $03e0 // sfx
        f547 | 68       : pla
        f548 | c9 40    : cmp #$40
        f54a | d0 05    : bne $f551
        f54c | a9 ff    : lda #$ff  // stop sound
        f54e | 8d dd 03 : sta $03dd
        f551 | 4c f4 f4 : jmp $f4f4
        -->
    </script>
    <script state="run">
        <output format="----- dommy 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 %2.2X &gt;&gt;" line="19" align="center"  >
            <argument>maincpu.pb@0080</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@a0db =             a134</action>
        <action>maincpu.mq@f4f0 = 0000000000000000</action>
        <action>maincpu.mq@f4f8 = 0000000000000000</action>
        <action>maincpu.mq@f500 = 0000000000000000</action>
        <action>maincpu.mq@f508 = 0000000000000000</action>
        <action>maincpu.mq@f510 = 0000000000000000</action>
        <action>maincpu.mq@f518 = 0000000000000000</action>
        <action>maincpu.mq@f520 = 0000000000000000</action>
        <action>maincpu.mq@f528 = 0000000000000000</action>
        <action>maincpu.mq@f530 = 0000000000000000</action>
        <action>maincpu.mq@f538 = 0000000000000000</action>
        <action>maincpu.mq@f540 = 0000000000000000</action>
        <action>maincpu.mq@f548 = 0000000000000000</action>
        <action>maincpu.mq@f550 = 0000000000000000</action>
    </script>
</cheat>
The following is test code.

Code: Select all

<cheat desc="walk through wall (test)">
    <script state="on">
        <action>maincpu.mw@a733 =             f4e0</action>
        <action>maincpu.mq@f4e0 = a9029050c9ccd320</action>
        <action>maincpu.mq@f4e8 = ffffffffffff6000</action>
        <!--
        f4e0 | 20 d3 cc : jsr $ccd3
        f4e3 | c9 50    : cmp #$50
        f4e5 | 90 02    : bcc $f4e9
        f4e7 | a9 00    : lda #$00
        f4e9 | 60       : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mw@a733 =             ccd3</action>
        <action>maincpu.mq@f4e0 = ffffffffffffffff</action>
        <action>maincpu.mq@f4e8 = ffffffffffffffff</action>
    </script>
</cheat>
Sometimes you will fail to push a tile.
Post Reply