[csuperas] Super Astro Fighter

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

[csuperas] Super Astro Fighter

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.pw@10a0 =     0dd0</action> <!-- bullet -->
        <action>maincpu.pd@16aa = 8516ca2c</action> <!-- enemy (attack) -->
        <action>maincpu.pd@19a7 = c519b92c</action> <!-- enemy (stand-by) -->
    </script>
    <script state="off">
        <action>maincpu.pw@10a0 =     45c5</action>
        <action>maincpu.pd@16aa = 850254dd</action>
        <action>maincpu.pd@19a7 = c50fdd40</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="run">
        <action>maincpu.pb@0edd = 00</action>
    </script>
    <script state="off">
        <action>maincpu.pb@0edd = ea</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="run">
        <action>maincpu.pb@0e1c =  param</action>
        <action>maincpu.pb@0e21 = -param</action>
    </script>
    <script state="off">
        <action>maincpu.pb@0ecd = 02</action>
        <action>maincpu.pb@0e21 = fe</action>
    </script>
</cheat>

<cheat desc="bullet 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@0ecd = param</action>
    </script>
    <script state="off">
        <action>maincpu.pb@0ecd = 03</action>
    </script>
</cheat>

<cheat desc="energy speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0xc0">02       </item>
        <item value="0x80">03       </item>
        <item value="0x40">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pd@2860 = b0ea00eb</action>
        <action>maincpu.pb@2861 =    param</action>
    </script>
    <script state="off">
        <action>maincpu.pd@2860 = b0288ffd</action>
    </script>
</cheat>

<cheat desc="no decrease energy by shot">
    <script state="run">
        <action>maincpu.pw@0ef6 = fafa</action>
    </script>
    <script state="off">
        <action>maincpu.pw@0ef6 = bba6</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@0522 =             4dc0</action>
        <action>maincpu.pq@4dc0 = f011a5e600cd1185</action>
        <action>maincpu.pq@4dc8 = 01b002a980c6c8f7</action>
        <action>maincpu.pq@4dd0 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@4dd8 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@4de0 = 1069188a06b004a9</action>
        <action>maincpu.pq@4de8 = 06f010a9808698ca</action>
        <action>maincpu.pq@4df0 = 148e00c205b020a9</action>
        <action>maincpu.pq@4df8 = 000000004dc02ce4</action>
        <!--
        4dc0 | 85 11    : sta $11
        4dc2 | ad 00 e6 : lda $e600 // read input
        4dc5 | c5 11    : cmp $11
        4dc7 | f0 f7    : beq $4dc0
        4dc9 | a8       : tay
        4dca | a6 80    : ldx $80
        4dcc | c9 02    : cmp #$02
        4dce | d0 01    : bne $4dd1
        4dd0 | ca       : dex       // decrease code -01
        4dd1 | c9 01    : cmp #$01
        4dd3 | d0 01    : bne $4dd6
        4dd5 | e8       : inx       // increase code +01
        4dd6 | c9 08    : cmp #$08
        4dd8 | d0 06    : bne $4de0
        4dda | 8a       : txa       // decrease code -10
        4ddb | 38       : sec
        4ddc | e9 10    : sbc #$10
        4dde | aa       : tax
        4ddf | 98       : tya
        4de0 | c9 04    : cmp #$04
        4de2 | d0 06    : bne $4dea
        4de4 | 8a       : txa       // increase code +10
        4de5 | 18       : clc
        4de6 | 69 10    : adc #$10
        4de8 | aa       : tax
        4de9 | 98       : tya
        4dea | 86 80    : stx $80
        4dec | c9 10    : cmp #$10
        4dee | f0 06    : beq $4df6
        4df0 | c9 40    : cmp #$20
        4df2 | d0 05    : bne $4df9
        4df4 | a2 00    : ldx #$00  // stop sound
        4df6 | 8e 14 e4 : stx $e414 // send sound code
        4df9 | 4c a0 2d : jmp $4dc0
        -->
        <!-- display -->
        <output format="----- super astro fighter 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@0080</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.pw@0522 =             1cc6</action>
        <action>maincpu.pq@4dc0 = 0000000000000000</action>
        <action>maincpu.pq@4dc8 = 0000000000000000</action>
        <action>maincpu.pq@4dd0 = 0000000000000000</action>
        <action>maincpu.pq@4dd8 = 0000000000000000</action>
        <action>maincpu.pq@4de0 = 0000000000000000</action>
        <action>maincpu.pq@4de8 = 0000000000000000</action>
        <action>maincpu.pq@4df0 = 0000000000000000</action>
        <action>maincpu.pq@4df8 = 0000000000000000</action>
    </script>
</cheat>
Post Reply