[formatz]+ Formation Z/Aeroboto

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

[formatz]+ Formation Z/Aeroboto

Post by jman »

formatz.xml

Code: Select all

<!-- Formation Z -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@B204 = B2B1</action> <!-- objects -->
            <action>maincpu.mw@B23D = B2B1</action> <!-- objects -->
            <action>maincpu.mw@B276 = B2B1</action> <!-- objects -->
            <action>maincpu.mw@B2AF = B2B1</action> <!-- objects -->
            <action>maincpu.mw@CD98 = 1216</action> <!-- ground (fighter) -->
        </script>
        <script state="off">
            <action>maincpu.mw@B204 = B2F8</action>
            <action>maincpu.mw@B23D = B2F8</action>
            <action>maincpu.mw@B276 = B2F8</action>
            <action>maincpu.mw@B2AF = B2F8</action>
            <action>maincpu.mw@CD98 = 1026</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <!-- buggy shot sound -->
        <comment>you can't shoot power-up shot unless use &quot;power up shot&quot;</comment>
        <script state="on">
            <action>maincpu.mb@D10E = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@D10E = 27</action>
        </script>
    </cheat>

    <cheat desc="energy speed">
        <parameter>
            <item value="0xFF">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.pb@01D2 = param</action>
            <action>maincpu.mb@E314 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@01D2 = 30</action>
            <action>maincpu.mb@E314 = 30</action>
        </script>
    </cheat>

    <cheat desc="power up shot">
        <script state="on">
            <!-- 1st bullet -->
            <action>maincpu.md@D16E = BD6FA012</action>
            <action>maincpu.mb@D175 = 02      </action>
            <action>maincpu.mb@D179 = 03      </action>
            <!-- 2nd bullet -->
            <action>maincpu.md@D193 = BD6FA612</action>
            <action>maincpu.mb@D19A = 02      </action>
            <action>maincpu.mb@D19E = 03      </action>
            <!-- 3rd bullet -->
            <action>maincpu.md@D1BA = BD6FAC12</action>
            <action>maincpu.mb@D1C1 = 02      </action>
            <action>maincpu.mb@D1C5 = 03      </action>
            <!-- common routine -->
            <action>maincpu.mq@6FA0 = F602AFD77E39F602</action>
            <action>maincpu.mq@6FA8 = AFD78339F602AFD7</action>
            <action>maincpu.mq@6FB0 = 8839FFFFFFFFFFFF</action>
            <!--
            6FA0 | F6 02 AF : LDB    $02AF // 1st bullet
            6FA3 | D7 7E    : STB    $7E
            6FA5 | 39       : RTS
            6FA6 | F6 02 AF : LDB    $02AF // 2nd bullet
            6FA9 | D7 83    : STB    $83
            6FAB | 39       : RTS
            6FAC | F6 02 AF : LDB    $02AF // 3rd bullet
            6FAF | D7 88    : STB    $88
            6FB1 | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D16E = D67AD77E        </action>
            <action>maincpu.mb@D175 = 01              </action>
            <action>maincpu.mb@D179 = 02              </action>
            <action>maincpu.md@D193 = D67AD783        </action>
            <action>maincpu.mb@D19A = 01              </action>
            <action>maincpu.mb@D19E = 02              </action>
            <action>maincpu.md@D1BA = D67AD788        </action>
            <action>maincpu.mb@D1C1 = 01              </action>
            <action>maincpu.mb@D1C5 = 02              </action>
            <action>maincpu.mq@6FA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6FA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6FB0 = FFFFFFFFFFFFFFFF</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@8B01 = 6F00            </action>
            <action>maincpu.mq@6F00 = 8E00006F808C3000</action>
            <action>maincpu.mq@6F08 = 26F9CE3000C6FFD7</action>
            <action>maincpu.mq@6F10 = 0B1CEFD60B26FC1A</action>
            <action>maincpu.mq@6F18 = 50C6FFE741E74297</action>
            <action>maincpu.mq@6F20 = 81A6C4918127E6D6</action>
            <action>maincpu.mq@6F28 = 8081F726015A81FB</action>
            <action>maincpu.mq@6F30 = 26015C81FD2602C0</action>
            <action>maincpu.mq@6F38 = 1081FE2602CB10D7</action>
            <action>maincpu.mq@6F40 = 8081BF2606D682C8</action>
            <action>maincpu.mq@6F48 = 01D78281DF261034</action>
            <action>maincpu.mq@6F50 = 04D68226063504E7</action>
            <action>maincpu.mq@6F58 = 4120043504E74281</action>
            <action>maincpu.mq@6F60 = EF26055FE741E742</action>
            <action>maincpu.mq@6F68 = 20A3000000000000</action>
            <!--
            6F00 | 8E 00 00 : LDX    #$0000 // clear graphics
            6F03 | 6F 80    : CLR    ,X+
            6F05 | 8C 30 00 : CMPX   #$3000
            6F08 | 26 F9    : BNE    $6F03
            6F0A | CE 30 00 : LDU    #$3000 // input address
            6F0D | C6 FF    : LDB    #$FF
            6F0F | D7 0B    : STB    $0B
            6F11 | 1C EF    : ANDCC  #$EF   // enable interrupt
            6F13 | D6 0B    : LDB    $0B    // wait interrput
            6F15 | 26 FC    : BNE    $6F13
            6F17 | 1A 50    : ORCC   #$50   // disable interrupt
            6F19 | C6 FF    : LDB    #$FF
            6F1B | E7 41    : STB    $1,U
            6F1D | E7 42    : STB    $2,U
            6F1F | 97 81    : STA    $81
            6F21 | A6 C4    : LDA    ,U     // read input
            6F23 | 91 81    : CMPA   $81
            6F25 | 27 E6    : BEQ    $6F0D
            6F27 | D6 80    : LDB    $80
            6F29 | 81 F7    : CMPA   #$F7
            6F2B | 26 01    : BNE    $6F2E
            6F2D | 5A       : DECB          // decrease code -01
            6F2E | 81 FB    : CMPA   #$FB
            6F30 | 26 01    : BNE    $6F33
            6F32 | 5C       : INCB          // increase code +01
            6F33 | 81 FD    : CMPA   #$FD
            6F35 | 26 02    : BNE    $6F39
            6F37 | C0 10    : SUBB   #$10   // decrease code -10
            6F39 | 81 FE    : CMPA   #$FE
            6F3B | 26 02    : BNE    $6F3F
            6F3D | CB 10    : ADDB   #$10   // increase code +10
            6F3F | D7 80    : STB    $80
            6F41 | 81 BF    : CMPA   #$BF
            6F43 | 26 06    : BNE    $6F4B
            6F45 | D6 82    : LDB    $82    // switch sound latch
            6F47 | C8 01    : EORB   #$01
            6F49 | D7 82    : STB    $82
            6F4B | 81 DF    : CMPA   #$DF
            6F4D | 26 10    : BNE    $6F5F
            6F4F | 34 04    : PSHS   B      // play sound
            6F51 | D6 82    : LDB    $82
            6F53 | 26 06    : BNE    $6F5B
            6F55 | 35 04    : PULS   B
            6F57 | E7 41    : STB    $1,U   // sound latch 1
            6F59 | 20 04    : BRA    $6F5F
            6F5B | 35 04    : PULS   B
            6F5D | E7 42    : STB    $2,U   // sound latch 2
            6F5F | 81 EF    : CMPA   #$EF
            6F61 | 26 05    : BNE    $6F68
            6F63 | 5F       : CLRB          // stop sound
            6F64 | E7 41    : STB    $1,U
            6F66 | E7 42    : STB    $2,U
            6F68 | 20 A3    : BRA    $6F0D
            -->
            <!-- reset audio cpu to stop sound -->
            <action>audiocpu.mw@F08B = F720            </action>
            <action>audiocpu.mq@F720 = BDF081810026037E</action>
            <action>audiocpu.mq@F728 = F00039FFFFFFFFFF</action>
            <!--
            F720 | BD F0 81 : JSR    $F081
            F723 | 81 00    : CMPA   #$00
            F725 | 26 03    : BNE    $F72A
            F727 | 7E F0 00 : JMP    $F000
            F72A | 39       : RTS
            -->
        </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="start : switch sound latch"         line="17" align="center" />
            <output format="----------------------------"       line="18" align="center" />
            <output format="&lt;&lt; sound latch %01X &gt;&gt;" line="20" align="center"  >
                <argument>maincpu.pb@0082</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="22" align="center"  >
                <argument>maincpu.pb@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@8B01 = A972            </action>
            <action> maincpu.mq@6F00 = 0000000000000000</action>
            <action> maincpu.mq@6F08 = 0000000000000000</action>
            <action> maincpu.mq@6F10 = 0000000000000000</action>
            <action> maincpu.mq@6F18 = 0000000000000000</action>
            <action> maincpu.mq@6F20 = 0000000000000000</action>
            <action> maincpu.mq@6F28 = 0000000000000000</action>
            <action> maincpu.mq@6F30 = 0000000000000000</action>
            <action> maincpu.mq@6F38 = 0000000000000000</action>
            <action> maincpu.mq@6F40 = 0000000000000000</action>
            <action> maincpu.mq@6F48 = 0000000000000000</action>
            <action> maincpu.mq@6F50 = 0000000000000000</action>
            <action> maincpu.mq@6F58 = 0000000000000000</action>
            <action> maincpu.mq@6F60 = 0000000000000000</action>
            <action> maincpu.mq@6F68 = 0000000000000000</action>
            <action>audiocpu.mw@F08B = F081            </action>
            <action>audiocpu.mq@F720 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@F728 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
aeroboto.xml

Code: Select all

<!-- Aeroboto -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@B204 = B2B1</action> <!-- objects -->
            <action>maincpu.mw@B23D = B2B1</action> <!-- objects -->
            <action>maincpu.mw@B276 = B2B1</action> <!-- objects -->
            <action>maincpu.mw@B2AF = B2B1</action> <!-- objects -->
            <action>maincpu.mw@CD98 = 1216</action> <!-- ground (fighter) -->
        </script>
        <script state="off">
            <action>maincpu.mw@B204 = B2F8</action>
            <action>maincpu.mw@B23D = B2F8</action>
            <action>maincpu.mw@B276 = B2F8</action>
            <action>maincpu.mw@B2AF = B2F8</action>
            <action>maincpu.mw@CD98 = 1026</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <!-- buggy shot sound -->
        <comment>you can't shoot power-up shot unless use &quot;power up shot&quot;</comment>
        <script state="on">
            <action>maincpu.mb@D10E = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@D10E = 27</action>
        </script>
    </cheat>

    <cheat desc="energy speed">
        <parameter>
            <item value="0xFF">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.pb@01D2 = param</action>
            <action>maincpu.mb@E314 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@01D2 = 30</action>
            <action>maincpu.mb@E314 = 30</action>
        </script>
    </cheat>

    <cheat desc="power up shot">
        <script state="on">
            <!-- 1st bullet -->
            <action>maincpu.md@D16E = BD6FA012</action>
            <action>maincpu.mb@D175 = 02      </action>
            <action>maincpu.mb@D179 = 03      </action>
            <!-- 2nd bullet -->
            <action>maincpu.md@D193 = BD6FA612</action>
            <action>maincpu.mb@D19A = 02      </action>
            <action>maincpu.mb@D19E = 03      </action>
            <!-- 3rd bullet -->
            <action>maincpu.md@D1BA = BD6FAC12</action>
            <action>maincpu.mb@D1C1 = 02      </action>
            <action>maincpu.mb@D1C5 = 03      </action>
            <!-- common routine -->
            <action>maincpu.mq@6FA0 = F602AFD77E39F602</action>
            <action>maincpu.mq@6FA8 = AFD78339F602AFD7</action>
            <action>maincpu.mq@6FB0 = 8839FFFFFFFFFFFF</action>
            <!--
            6FA0 | F6 02 AF : LDB    $02AF // 1st bullet
            6FA3 | D7 7E    : STB    $7E
            6FA5 | 39       : RTS
            6FA6 | F6 02 AF : LDB    $02AF // 2nd bullet
            6FA9 | D7 83    : STB    $83
            6FAB | 39       : RTS
            6FAC | F6 02 AF : LDB    $02AF // 3rd bullet
            6FAF | D7 88    : STB    $88
            6FB1 | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D16E = D67AD77E        </action>
            <action>maincpu.mb@D175 = 01              </action>
            <action>maincpu.mb@D179 = 02              </action>
            <action>maincpu.md@D193 = D67AD783        </action>
            <action>maincpu.mb@D19A = 01              </action>
            <action>maincpu.mb@D19E = 02              </action>
            <action>maincpu.md@D1BA = D67AD788        </action>
            <action>maincpu.mb@D1C1 = 01              </action>
            <action>maincpu.mb@D1C5 = 02              </action>
            <action>maincpu.mq@6FA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6FA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6FB0 = FFFFFFFFFFFFFFFF</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@8B01 = 6F00            </action>
            <action>maincpu.mq@6F00 = 8E00006F808C3000</action>
            <action>maincpu.mq@6F08 = 26F9CE3000C6FFD7</action>
            <action>maincpu.mq@6F10 = 0B1CEFD60B26FC1A</action>
            <action>maincpu.mq@6F18 = 50C6FFE741E74297</action>
            <action>maincpu.mq@6F20 = 81A6C4918127E6D6</action>
            <action>maincpu.mq@6F28 = 8081F726015A81FB</action>
            <action>maincpu.mq@6F30 = 26015C81FD2602C0</action>
            <action>maincpu.mq@6F38 = 1081FE2602CB10D7</action>
            <action>maincpu.mq@6F40 = 8081BF2606D682C8</action>
            <action>maincpu.mq@6F48 = 01D78281DF261034</action>
            <action>maincpu.mq@6F50 = 04D68226063504E7</action>
            <action>maincpu.mq@6F58 = 4120043504E74281</action>
            <action>maincpu.mq@6F60 = EF26055FE741E742</action>
            <action>maincpu.mq@6F68 = 20A3000000000000</action>
            <!--
            6F00 | 8E 00 00 : LDX    #$0000 // clear graphics
            6F03 | 6F 80    : CLR    ,X+
            6F05 | 8C 30 00 : CMPX   #$3000
            6F08 | 26 F9    : BNE    $6F03
            6F0A | CE 30 00 : LDU    #$3000 // input address
            6F0D | C6 FF    : LDB    #$FF
            6F0F | D7 0B    : STB    $0B
            6F11 | 1C EF    : ANDCC  #$EF   // enable interrupt
            6F13 | D6 0B    : LDB    $0B    // wait interrput
            6F15 | 26 FC    : BNE    $6F13
            6F17 | 1A 50    : ORCC   #$50   // disable interrupt
            6F19 | C6 FF    : LDB    #$FF
            6F1B | E7 41    : STB    $1,U
            6F1D | E7 42    : STB    $2,U
            6F1F | 97 81    : STA    $81
            6F21 | A6 C4    : LDA    ,U     // read input
            6F23 | 91 81    : CMPA   $81
            6F25 | 27 E6    : BEQ    $6F0D
            6F27 | D6 80    : LDB    $80
            6F29 | 81 F7    : CMPA   #$F7
            6F2B | 26 01    : BNE    $6F2E
            6F2D | 5A       : DECB          // decrease code -01
            6F2E | 81 FB    : CMPA   #$FB
            6F30 | 26 01    : BNE    $6F33
            6F32 | 5C       : INCB          // increase code +01
            6F33 | 81 FD    : CMPA   #$FD
            6F35 | 26 02    : BNE    $6F39
            6F37 | C0 10    : SUBB   #$10   // decrease code -10
            6F39 | 81 FE    : CMPA   #$FE
            6F3B | 26 02    : BNE    $6F3F
            6F3D | CB 10    : ADDB   #$10   // increase code +10
            6F3F | D7 80    : STB    $80
            6F41 | 81 BF    : CMPA   #$BF
            6F43 | 26 06    : BNE    $6F4B
            6F45 | D6 82    : LDB    $82    // switch sound latch
            6F47 | C8 01    : EORB   #$01
            6F49 | D7 82    : STB    $82
            6F4B | 81 DF    : CMPA   #$DF
            6F4D | 26 10    : BNE    $6F5F
            6F4F | 34 04    : PSHS   B      // play sound
            6F51 | D6 82    : LDB    $82
            6F53 | 26 06    : BNE    $6F5B
            6F55 | 35 04    : PULS   B
            6F57 | E7 41    : STB    $1,U   // sound latch 1
            6F59 | 20 04    : BRA    $6F5F
            6F5B | 35 04    : PULS   B
            6F5D | E7 42    : STB    $2,U   // sound latch 2
            6F5F | 81 EF    : CMPA   #$EF
            6F61 | 26 05    : BNE    $6F68
            6F63 | 5F       : CLRB          // stop sound
            6F64 | E7 41    : STB    $1,U
            6F66 | E7 42    : STB    $2,U
            6F68 | 20 A3    : BRA    $6F0D
            -->
            <!-- reset audio cpu to stop sound -->
            <action>audiocpu.mw@F08B = F720            </action>
            <action>audiocpu.mq@F720 = BDF081810026037E</action>
            <action>audiocpu.mq@F728 = F00039FFFFFFFFFF</action>
            <!--
            F720 | BD F0 81 : JSR    $F081
            F723 | 81 00    : CMPA   #$00
            F725 | 26 03    : BNE    $F72A
            F727 | 7E F0 00 : JMP    $F000
            F72A | 39       : RTS
            -->
        </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="start : switch sound latch"         line="17" align="center" />
            <output format="----------------------------"       line="18" align="center" />
            <output format="&lt;&lt; sound latch %01X &gt;&gt;" line="20" align="center"  >
                <argument>maincpu.pb@0082</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="22" align="center"  >
                <argument>maincpu.pb@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@8B01 = A972            </action>
            <action> maincpu.mq@6F00 = 0000000000000000</action>
            <action> maincpu.mq@6F08 = 0000000000000000</action>
            <action> maincpu.mq@6F10 = 0000000000000000</action>
            <action> maincpu.mq@6F18 = 0000000000000000</action>
            <action> maincpu.mq@6F20 = 0000000000000000</action>
            <action> maincpu.mq@6F28 = 0000000000000000</action>
            <action> maincpu.mq@6F30 = 0000000000000000</action>
            <action> maincpu.mq@6F38 = 0000000000000000</action>
            <action> maincpu.mq@6F40 = 0000000000000000</action>
            <action> maincpu.mq@6F48 = 0000000000000000</action>
            <action> maincpu.mq@6F50 = 0000000000000000</action>
            <action> maincpu.mq@6F58 = 0000000000000000</action>
            <action> maincpu.mq@6F60 = 0000000000000000</action>
            <action> maincpu.mq@6F68 = 0000000000000000</action>
            <action>audiocpu.mw@F08B = F081            </action>
            <action>audiocpu.mq@F720 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@F728 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit" : You die when you fall into sea in robot mode. Also you die when you crash into coast in fighter mode.
  • "rapid fire" : Buggy shot sound is played during holding fire button.
  • "power up shot" : This code replaces normal shot with super shot. So you can use "rapid fire" at the same time.
  • "sound test mode" : Different sound is played when you switch sound latch. But I don't grasp that what sound code is what sound.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply