[argus] Argus

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

[argus] Argus

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@2339 = c9</action> <!-- pipe -->
        <action>maincpu.mb@3272 = c9</action> <!-- pipe -->
        <action>maincpu.mb@58dc = c9</action> <!-- bullet -->
        <action>maincpu.mb@5af5 = c3</action> <!-- mine -->
        <action>maincpu.mb@5e3d = c9</action> <!-- laser -->
        <action>maincpu.mb@60f0 = af</action> <!-- bullet from ground -->
        <action>maincpu.mb@756a = c3</action> <!-- enemy -->
    </script>
    <script state="off">
        <action>maincpu.mb@2339 = cb</action>
        <action>maincpu.mb@3272 = 21</action>
        <action>maincpu.mb@58dc = d0</action>
        <action>maincpu.mb@5af5 = d2</action>
        <action>maincpu.mb@5e3d = d0</action>
        <action>maincpu.mb@60f0 = b9</action>
        <action>maincpu.mb@756a = c2</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@2930 = 18</action> <!-- shot -->
        <action>maincpu.mb@294f = 18</action> <!-- shot -->
        <action>maincpu.mb@29a2 = 18</action> <!-- bomb -->
    </script>
    <script state="off">
        <action>maincpu.mb@2930 = 28</action>
        <action>maincpu.mb@294f = 28</action>
        <action>maincpu.mb@29a2 = 28</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0100">01 (slow)</item>
        <item value="0x0200">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0600">04       </item>
        <item value="0x0800">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@205c = 00000011</action> <!-- left scroll -->
        <action>maincpu.md@2085 = 00000011</action> <!-- right scroll -->
        <action>maincpu.md@215b = 00000011</action> <!-- down -->
        <action>maincpu.md@2172 = 00000011</action> <!-- up -->
        <action>maincpu.md@2cd0 = 00000011</action> <!-- bomb? -->
        <action>maincpu.md@5848 = 00000001</action> <!-- left/right -->
    </script>
    <script state="change">
        <action>maincpu.mw@205d = param</action>
        <action>maincpu.mw@2086 = param</action>
        <action>maincpu.mw@215c = param</action>
        <action>maincpu.mw@2173 = param</action>
        <action>maincpu.mw@2cd1 = param</action>
        <action>maincpu.mw@5849 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@205c = fc645bed</action>
        <action>maincpu.md@2085 = fc645bed</action>
        <action>maincpu.md@215b = fc625bed</action>
        <action>maincpu.md@2172 = fc625bed</action>
        <action>maincpu.md@2cd0 = fc645bed</action>
        <action>maincpu.md@5848 = fc644bed</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@1121b = param</action> <!-- shot ($921b) -->
        <action>maincpu.mb@11228 = param</action> <!-- shot ($9228) -->
        <action>maincpu.mb@11235 = param</action> <!-- v-shot ($9235) -->
        <action>maincpu.mb@1123f = param</action> <!-- v-shot ($923f) -->
        <action>maincpu.mb@1124c = param</action> <!-- twin shot ($924c) -->
        <action>maincpu.mb@11256 = param</action> <!-- twin shot ($9256) -->
    </script>
    <script state="off">
        <action>maincpu.mb@1121b = 08</action>
        <action>maincpu.mb@11228 = 0a</action>
        <action>maincpu.mb@11235 = 08</action>
        <action>maincpu.mb@1123f = 08</action>
        <action>maincpu.mb@1124c = 08</action>
        <action>maincpu.mb@11256 = 08</action>
    </script>
</cheat>

<cheat desc="weapon - shot">
    <parameter>
        <item value="0x00">single shot     </item>
        <item value="0x01">fast single shot</item>
        <item value="0x02">v-shot          </item>
        <item value="0x03">twin shot       </item>
        <item value="0x06">laser           </item>
    </parameter>
    <script state="on">
        <action>maincpu.md@28f2 = cd00003e</action>
        <action>maincpu.md@2bfd = cd00003e</action>
    </script>
    <script state="change">
        <action>maincpu.mb@28f3 = param</action>
        <action>maincpu.mb@2bfe = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@28f2 = cde0803a</action>
        <action>maincpu.md@2bfd = cde0803a</action>
    </script>
</cheat>

<cheat desc="weapon - bomb">
    <parameter>
        <item value="0x04">twin   </item>
        <item value="0x05">missile</item>
        <item value="0x07">laser  </item>
    </parameter>
    <script state="on">
        <action>maincpu.md@2912 = cd00003e</action>
        <action>maincpu.md@2c0f = cd00003e</action>
    </script>
    <script state="change">
        <action>maincpu.mb@2913 = param</action>
        <action>maincpu.mb@2c10 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@2912 = cde0813a</action>
        <action>maincpu.md@2c0f = cde0813a</action>
    </script>
</cheat>

<cheat desc="fast bomb">
    <script state="on">
        <action>maincpu.mw@02a55 =             9e70</action> <!-- twin -->
        <action>maincpu.mw@02a88 =             9e70</action> <!-- missile -->
        <action>maincpu.mq@11e70 = dd040436dd2b8bcd</action>
        <action>maincpu.mq@11e78 = c90c77dd66c60c7e</action>
        <!--
        9e70 | cd 8b 2b    : call $2B8B
        9e73 | dd 36 04 04 : ld   (ix+$04),$04
        9e77 | dd 7e 0c    : ld   a,(ix+$0c)
        9e7a | c6 66       : add  a,$66
        9e7c | dd 77 0c    : ld   (ix+$0c),a
        9e7f | c9          : ret
        -->
        <action>maincpu.mb@2a93 = 04</action> <!-- missile at boss area -->
    </script>
    <script state="off">
        <action>maincpu.mw@02a55 =             2b8b</action>
        <action>maincpu.mw@02a88 =             2b8b</action>
        <action>maincpu.mq@11e70 = 0000000000000000</action>
        <action>maincpu.mq@11e78 = 0000000000000000</action>
        <action>maincpu.mb@02a93 =               68</action>
    </script>
</cheat>

<cheat desc="landing successful">
    <script state="on">
        <action>maincpu.mb@3b2c = 00</action> <!-- wind -->
        <action>maincpu.mb@3b44 = 18</action> <!-- runway -->
    </script>
    <script state="off">
        <action>maincpu.mb@3b2c = 1b</action>
        <action>maincpu.mb@3b44 = 30</action>
    </script>
</cheat>

<cheat desc="unlock test mode">
    <comment>reset the game (F3) to enter test mode</comment>
    <script state="on">
        <action>maincpu.mb@0339 = 3b</action>
    </script>
    <script state="off">
        <action>maincpu.mb@0339 = 43</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@00005 =               3b</action> <!-- go to test mode directly -->
        <action>maincpu.mw@1502c =             9c00</action> <!-- ($902c) -->
        <action>maincpu.mq@15c00 = 47b8c0013ae10021</action>
        <action>maincpu.mq@15c08 = fe350120fdfef928</action>
        <action>maincpu.mq@15c10 = 0420fbfe340120fe</action>
        <action>maincpu.mq@15c18 = 0520f7fe0618f03e</action>
        <action>maincpu.mq@15c20 = 20effe787786103e</action>
        <action>maincpu.mq@15c28 = 0420dffe05187e03</action>
        <action>maincpu.mq@15c30 = ffffcd18c20032af</action>
        <!--
        9c00 | 21 00 e1 : ld  hl,$E100  // sound code address
        9c03 | 3a 01 c0 : ld  a,($C001) // read input
        9c06 | b8       : cp  b
        9c07 | 47       : ld  b,a
        9c08 | 28 f9    : jr  z,$9C03
        9c0a | fe fd    : cp  $FD
        9c0c | 20 01    : jr  nz,$9C0F
        9c0e | 35       : dec (hl)      // decrease code -01
        9c0f | fe fe    : cp  $FE
        9c11 | 20 01    : jr  nz,$9C14
        9c13 | 34       : inc (hl)      // increase code +01
        9c14 | fe fb    : cp  $FB
        9c16 | 20 04    : jr  nz,$9C1C
        9c18 | 3e f0    : ld  a,$F0     // decrease code -10
        9c1a | 18 06    : jr  $9C22
        9c1c | fe f7    : cp  $F7
        9c1e | 20 05    : jr  nz,$9C25
        9c20 | 3e 10    : ld  a,$10     // increase code +10
        9c22 | 86       : add a,(hl)
        9c23 | 77       : ld  (hl),a
        9c24 | 78       : ld  a,b
        9c25 | fe ef    : cp  $EF
        9c27 | 20 03    : jr  nz,$9C2C
        9c29 | 7e       : ld  a,(hl)    // play sound
        9c2a | 18 05    : jr  $9C31
        9c2c | fe df    : cp  $DF
        9c2e | 20 04    : jr  nz,$9C34
        9c30 | af       : xor a         // stop sound
        9c31 | 32 00 c2 : ld  ($C200),a // send sound code
        9c34 | 18 cd    : jr  $9C03
        -->
    </script>
    <script state="run">
        <output format="----- argus 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>maincpu.pb@e100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@00005 =               33</action>
        <action>maincpu.mw@1502c =             94d9</action>
        <action>maincpu.mq@15c00 = ffffffffffffffff</action>
        <action>maincpu.mq@15c08 = ffffffffffffffff</action>
        <action>maincpu.mq@15c10 = ffffffffffffffff</action>
        <action>maincpu.mq@15c18 = ffffffffffffffff</action>
        <action>maincpu.mq@15c20 = ffffffffffffffff</action>
        <action>maincpu.mq@15c28 = ffffffffffffffff</action>
        <action>maincpu.mq@15c30 = ffffffffffffffff</action>
    </script>
</cheat>
"landing successful" is unique. You always succeed in landing.
Image
Post Reply