[hvyunitj] Heavy Unit

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

[hvyunitj] Heavy Unit

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>master.mw@4e5d = 0818</action> <!-- enemy -->
        <action>master.mw@4ecc = 0818</action> <!-- bullet -->
        <action>master.mb@cc26 =   c3</action> <!-- tentacle ($8c26) -->
        <action>master.mb@dcea =   c3</action> <!-- bone ($9cea) -->
        <action> slave.mb@4d0a =   00</action> <!-- background -->
    </script>
    <script state="off">
        <action>master.mw@4e5d = d716</action>
        <action>master.mw@4ecc = d716</action>
        <action>master.mb@cc26 =   da</action>
        <action>master.mb@dcea =   da</action>
        <action> slave.mb@4d0a =   01</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>master.mb@3e32 = 34</action> <!-- main shot -->
        <action>master.mb@3e69 = 6b</action> <!-- sub weapon -->
    </script>
    <script state="off">
        <action>master.mb@3e32 = 46</action>
        <action>master.mb@3e69 = 7d</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x03">02       </item>
        <item value="0x05">03       </item>
        <item value="0x07">04       </item>
        <item value="0x09">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>slave.md@0677 =         867f10cd</action> <!-- y position -->
        <action>slave.md@068d =         867f1bcd</action> <!-- x position -->
        <action>slave.mq@7f10 = f0003ec8a7f0833a</action>
        <action>slave.mq@7f18 = c8a7f08c3ac944ed</action>
        <action>slave.mq@7f20 = 0000c944edf0003e</action>
        <!--
        7f10 | 3a 83 f0 : ld  a,($F083) // y position
        7f13 | a7       : and a
        7f14 | c8       : ret z
        7f15 | 3e 09    : ld  a,$09
        7f17 | f0       : ret p
        7f18 | ed 44    : neg
        7f1a | c9       : ret
        7f1b | 3a 8c f0 : ld  a,($F08C) // x position
        7f1e | a7       : and a
        7f1f | c8       : ret z
        7f20 | 3e 09    : ld  a,$09
        7f22 | f0       : ret p
        7f23 | ed 44    : neg
        7f25 | c9       : ret
        -->
    </script>
    <script state="change">
        <action>slave.mb@7f16 = param</action>
        <action>slave.mb@7f21 = param</action>
    </script>
    <script state="off">
        <action>slave.md@0677 =         86f0833a</action>
        <action>slave.md@068d =         86f08c3a</action>
        <action>slave.mq@7f10 = 0000000000000000</action>
        <action>slave.mq@7f18 = 0000000000000000</action>
        <action>slave.mq@7f20 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>master.mw@0010 =             fe18</action> <!-- disable master cpu interrupt -->
        <action> slave.mb@5671 =               33</action> <!-- enable input check -->
        <action> slave.md@0219 =         7f30c300</action>
        <action> slave.mq@7f30 = 4d33cde5c5d20021</action>
        <action> slave.mq@7f38 = 2847b8e06a3ac1e1</action>
        <action> slave.mq@7f40 = 88fe35012084fef2</action>
        <action> slave.mq@7f48 = 3e042082fe340120</action>
        <action> slave.mq@7f50 = 3e052081fe0618f0</action>
        <action> slave.mq@7f58 = 032090fe78778610</action>
        <action> slave.mq@7f60 = af0320a0fe05187e</action>
        <action> slave.mq@7f68 = 00000000c71802d3</action>
        <!--
        7f30 | 21 00 d2 : ld   hl,$D200  // sound code address
        7f33 | c5       : push bc
        7f34 | e5       : push hl
        7f35 | cd 33 4d : call $4D33     // call input check
        7f38 | e1       : pop  hl
        7f39 | c1       : pop  bc
        7f3a | 3a 6a e0 : ld   a,($E06A) // read input
        7f3d | b8       : cp   b
        7f3e | 47       : ld   b,a
        7f3f | 28 f2    : jr   z,$7F33
        7f41 | fe 84    : cp   $84
        7f43 | 20 01    : jr   nz,$7F46
        7f45 | 35       : dec  (hl)      // decrease code -01
        7f46 | fe 88    : cp   $88
        7f48 | 20 01    : jr   nz,$7F4B
        7f4a | 34       : inc  (hl)      // increase code +01
        7f4b | fe 82    : cp   $82
        7f4d | 20 04    : jr   nz,$7F53
        7f4f | 3e f0    : ld   a,$F0     // decrease code -10
        7f51 | 18 06    : jr   $7F59
        7f53 | fe 81    : cp   $81
        7f55 | 20 05    : jr   nz,$7F5C
        7f57 | 3e 10    : ld   a,$10     // increase code +10
        7f59 | 86       : add  a,(hl)
        7f5a | 77       : ld   (hl),a
        7f5b | 78       : ld   a,b
        7f5c | fe 90    : cp   $90
        7f5e | 20 03    : jr   nz,$7F63
        7f60 | 7e       : ld   a,(hl)    // play sound
        7f61 | 18 05    : jr   $7F68
        7f63 | fe a0    : cp   $A0
        7f65 | 20 03    : jr   nz,$7F6A
        7f67 | af       : xor  a         // stop sound
        7f68 | d3 02    : out  ($02),a   // send sound code
        7f6a | 18 c7    : jr   $7F33
        -->
    </script>
    <script state="run">
        <output format="----- heavy unit sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"               line="11" align="center" />
        <output format="right : increase code +01"              line="12" align="center" />
        <output format="up : increase code +10"                 line="13" align="center" />
        <output format="down : decrease code -10"               line="14" align="center" />
        <output format="button 1 : play sound"                  line="15" align="center" />
        <output format="button 2 : stop sound"                  line="16" align="center" />
        <output format="----------------------------"           line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"     line="19" align="center">
            <argument>slave.pb@d200</argument>
        </output>
    </script>
    <script state="off">
        <action>master.mw@0010 =             5eed</action>
        <action> slave.mb@5671 =               85</action>
        <action> slave.md@0219 =         e10b3afb</action>
        <action> slave.mq@7f30 = 0000000000000000</action>
        <action> slave.mq@7f38 = 0000000000000000</action>
        <action> slave.mq@7f40 = 0000000000000000</action>
        <action> slave.mq@7f48 = 0000000000000000</action>
        <action> slave.mq@7f50 = 0000000000000000</action>
        <action> slave.mq@7f58 = 0000000000000000</action>
        <action> slave.mq@7f60 = 0000000000000000</action>
        <action> slave.mq@7f68 = 0000000000000000</action>
    </script>
</cheat>
Post Reply