[skyarmy] Sky Army

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

[skyarmy] Sky Army

Post by jman »

skyarmy.xml

Code: Select all

<!-- Sky Army -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@16D2 = 3E</action>
            <action>maincpu.mb@434D = 3E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16D2 = 32</action>
            <action>maincpu.mb@434D = 32</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@288B = CA0066CB</action> <!-- button 1 -->
            <action>maincpu.md@2894 = C0006ECB</action> <!-- button 2 -->
        </script>
        <script state="off">
            <action>maincpu.md@288B = C2D71006</action>
            <action>maincpu.md@2894 = C8D72006</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@2524 = 87E0</action> <!-- up -->
            <action>maincpu.mw@2527 = 87E5</action> <!-- down -->
            <action>maincpu.mw@252A = 87EA</action> <!-- left -->
            <action>maincpu.mw@252D = 87EF</action> <!-- right -->
        </script>
        <script state="run">
            <action>maincpu.pq@87E0 = 2554210D18254221</action>
            <action>maincpu.pq@87E8 = 2103182566210818</action>
            <action>maincpu.pq@87F0 = D587F9110006257C</action>
            <action>maincpu.pq@87F8 = 00000000C9F910E9</action>
            <action>maincpu.pb@87F3 = param           </action>
            <!--
            87E0 | 21 42 25 : ld   hl,$2542 // up
            87E3 | 18 0D    : jr   $87F2
            87E5 | 21 54 25 : ld   hl,$2554 // down
            87E8 | 18 08    : jr   $87F2
            87EA | 21 66 25 : ld   hl,$2566 // left
            87ED | 18 03    : jr   $87F2
            87EF | 21 7C 25 : ld   hl,$257C // right
            87F2 | 06 xx    : ld   b,$xx
            87F4 | 11 F9 87 : ld   de,$87F9
            87F7 | D5       : push de
            87F8 | E9       : jp   (hl)
            87F9 | 10 F9    : djnz $87F4
            87FB | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@2524 = 2542            </action>
            <action>maincpu.mw@2527 = 2554            </action>
            <action>maincpu.mw@252A = 2566            </action>
            <action>maincpu.mw@252D = 257C            </action>
            <action>maincpu.pq@87E0 = 0000000000000000</action>
            <action>maincpu.pq@87E8 = 0000000000000000</action>
            <action>maincpu.pq@87F0 = 0000000000000000</action>
            <action>maincpu.pq@87F8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@2936 = DD0000C6</action> <!-- down -->
            <action>maincpu.md@295F = FE0000D6</action> <!-- left -->
            <action>maincpu.md@2968 = FE0000C6</action> <!-- right -->
            <action>maincpu.md@2962 = 26380000</action> <!-- range (left) -->
            <action>maincpu.md@296B = 1D380000</action> <!-- range (right) -->
        </script>
        <script state="change">
            <action>maincpu.mb@2937 =  param</action>
            <action>maincpu.mb@2960 =  param</action>
            <action>maincpu.mb@2969 =  param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2936 = DD1786DD</action>
            <action>maincpu.md@295F = FE1896DD</action>
            <action>maincpu.md@2968 = FE1886DD</action>
            <action>maincpu.md@2962 = 263808FE</action>
            <action>maincpu.md@296B = 1D30F0FE</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@0EF6 = C9              </action> <!-- disable 1UP strings -->
            <action>maincpu.mq@422D = 840121842132803E</action>
            <action>maincpu.mq@4235 = FE2BC877BEA0013A</action>
            <action>maincpu.mq@423D = 012008FE35012004</action>
            <action>maincpu.mq@4245 = 18F03E042002FE34</action>
            <action>maincpu.mq@424D = 86103E052001FE06</action>
            <action>maincpu.mq@4255 = CD7E052010FEC977</action>
            <action>maincpu.mq@425D = 32AFC020FEC94268</action>
            <action>maincpu.mq@4265 = 21053009FEC98421</action>
            <action>maincpu.mq@426D = 073011FE40188209</action>
            <action>maincpu.mq@4275 = FE351808D6822721</action>
            <action>maincpu.mq@427D = 10D6824521073019</action>
            <action>maincpu.mq@4285 = 8121073021FE2A18</action>
            <action>maincpu.mq@428D = 3029FE1F1818D682</action>
            <action>maincpu.mq@4295 = 141820D6829F2107</action>
            <action>maincpu.mq@429D = D6826321073031FE</action>
            <action>maincpu.mq@42A5 = 828132013E091828</action>
            <action>maincpu.mq@42AD = AF47C8A7C9829F32</action>
            <action>maincpu.mq@42B5 = 0000C977FD101737</action>
            <!--
            422D | 3E 80    : ld   a,$80     // disable auto sound stop
            422F | 32 21 84 : ld   ($8421),a
            4232 | 21 01 86 : ld   hl,$8401  // temporary input address
            4235 | 3A 01 A0 : ld   a,($A001) // read input
            4238 | BE       : cp   (hl)
            4239 | 77       : ld   (hl),a
            423A | C8       : ret  z
            423B | 2B       : dec  hl        // sound code address ($8401)
            423C | FE 04    : cp   $04
            423E | 20 01    : jr   nz,$4241
            4240 | 35       : dec  (hl)      // decrease code -01
            4241 | FE 08    : cp   $08
            4243 | 20 01    : jr   nz,$4246
            4245 | 34       : inc  (hl)      // increase code +01
            4246 | FE 02    : cp   $02
            4248 | 20 04    : jr   nz,$424E
            424A | 3E F0    : ld   a,$F0     // decrease code -10
            424C | 18 06    : jr   $4254
            424E | FE 01    : cp   $01
            4250 | 20 05    : jr   nz,$4257
            4252 | 3E 10    : ld   a,$10     // increase code +10
            4254 | 86       : add  a,(hl)
            4255 | 77       : ld   (hl),a
            4256 | C9       : ret
            4257 | FE 10    : cp   $10
            4259 | 20 05    : jr   nz,$4260
            425B | 7E       : ld   a,(hl)    // play sound
            425C | CD 68 42 : call $4268
            425F | C9       : ret
            4260 | FE 20    : cp   $20
            4262 | C0       : ret  nz
            4263 | AF       : xor  a         // stop sound
            4264 | 32 21 84 : ld   ($8421),a
            4267 | C9       : ret
            4268 | FE 09    : cp   $09       // sound code/parameter conversion routine
            426A | 30 05    : jr   nc,$4271
            426C | 21 09 82 : ld   hl,$8209  // code $00 - $08
            426F | 18 40    : jr   $42B1
            4271 | FE 11    : cp   $11
            4273 | 30 07    : jr   nc,$427C
            4275 | 21 27 82 : ld   hl,$8227  // code $09 - $10
            4278 | D6 08    : sub  $08
            427A | 18 35    : jr   $42B1
            427C | FE 19    : cp   $19
            427E | 30 07    : jr   nc,$4287
            4280 | 21 45 82 : ld   hl,$8245  // code $11 - $18
            4283 | D6 10    : sub  $10
            4285 | 18 2A    : jr   $42B1
            4287 | FE 21    : cp   $21
            4289 | 30 07    : jr   nc,$4292
            428B | 21 81 82 : ld   hl,$8281  // code $19 - $20
            428E | D6 18    : sub  $18
            4290 | 18 1F    : jr   $42B1
            4292 | FE 29    : cp   $29
            4294 | 30 07    : jr   nc,$429D
            4296 | 21 9F 82 : ld   hl,$829F  // code $21 - $28
            4299 | D6 20    : sub  $20
            429B | 18 14    : jr   $42B1
            429D | FE 31    : cp   $31
            429F | 30 07    : jr   nc,$42A8
            42A1 | 21 63 82 : ld   hl,$8263  // code $29 - $30
            42A4 | D6 28    : sub  $28
            42A6 | 18 09    : jr   $42B1
            42A8 | 3E 01    : ld   a,$01     // code $31 or later (main theme)
            42AA | 32 81 82 : ld   ($8281),a
            42AD | 32 9F 82 : ld   ($829F),a
            42B0 | C9       : ret
            42B1 | A7       : and  a
            42B2 | C8       : ret  z
            42B3 | 47       : ld   b,a
            42B4 | AF       : xor  a
            42B5 | 37       : scf
            42B6 | 17       : rla
            42B7 | 10 FD    : djnz $42B6
            42B9 | 77       : ld   (hl),a
            42BA | C9       : ret
            -->
        </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="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@8400</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@0EF6 = C8              </action>
            <action>maincpu.mq@422D = 214595CD040011DF</action>
            <action>maincpu.mq@4235 = 0100368001118000</action>
            <action>maincpu.mq@423D = 11808021B0ED003F</action>
            <action>maincpu.mq@4245 = ED001F0100368081</action>
            <action>maincpu.mq@424D = CD00011145B7CDB0</action>
            <action>maincpu.mq@4255 = 4595CD0240114595</action>
            <action>maincpu.mq@425D = 42114595CD000311</action>
            <action>maincpu.mq@4265 = CD0100114595CD02</action>
            <action>maincpu.mq@426D = 4595CD0800114595</action>
            <action>maincpu.mq@4275 = 213A4595CD002611</action>
            <action>maincpu.mq@427D = 0002110C2867CB84</action>
            <action>maincpu.mq@4285 = 95CD0241114595CD</action>
            <action>maincpu.mq@428D = 114595CD000A1145</action>
            <action>maincpu.mq@4295 = 000C114595CD000B</action>
            <action>maincpu.mq@429D = 95CD000F114595CD</action>
            <action>maincpu.mq@42A5 = 95CD001511060645</action>
            <action>maincpu.mq@42AD = 36810021FA101C45</action>
            <action>maincpu.mq@42B5 = 21E7C93480E62102</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