[flowerj] Flower

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

[flowerj] Flower

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>mastercpu.mw@0c59 =             7c60</action> <!-- enemy -->
        <action>mastercpu.mw@0c5f =             7c68</action> <!-- boss -->
        <action>mastercpu.mw@0c9a =             7c60</action> <!-- item -->
        <action>mastercpu.mq@7c60 = c90caacdc87c70cd</action>
        <action>mastercpu.mq@7c68 = c90cddcdc87c70cd</action>
        <action>mastercpu.mq@7c70 = 7e2323c08bfe7ddd</action>
        <action>mastercpu.mq@7c78 = c937af0328a72b2b</action>
        <action>mastercpu.mq@7c80 = ffffffffffc901fe</action>
        <!--
        7c60 | cd 70 7c : call $7C70   // enemy, item
        7c63 | c8       : ret  z
        7c64 | cd aa 0c : call $0CAA
        7c67 | c9       : ret
        7c68 | cd 70 7c : call $7C70   // boss
        7c6b | c8       : ret  z
        7c6c | cd dd 0c : call $0CDD
        7c6f | c9       : ret
        7c70 | dd 7d    : ld   a,ixl   // main check routine
        7c72 | fe 8b    : cp   $8B
        7c74 | c0       : ret  nz
        7c75 | 23       : inc  hl
        7c76 | 23       : inc  hl
        7c77 | 7e       : ld   a,(hl)
        7c78 | 2b       : dec  hl
        7c79 | 2b       : dec  hl
        7c7a | a7       : and  a
        7c7b | 28 03    : jr   z,$7C80
        7c7d | af       : xor  a
        7c7e | 37       : scf
        7c7f | c9       : ret
        7c80 | fe 01    : cp   $01
        7c82 | c9       : ret
        -->
    </script>
    <script state="off">
        <action>mastercpu.mw@0c59 =             0caa</action>
        <action>mastercpu.mw@0c5f =             0cdd</action>
        <action>mastercpu.mw@0c9a =             0caa</action>
        <action>mastercpu.mq@7c60 = ffffffffffffffff</action>
        <action>mastercpu.mq@7c68 = ffffffffffffffff</action>
        <action>mastercpu.mq@7c70 = ffffffffffffffff</action>
        <action>mastercpu.mq@7c78 = ffffffffffffffff</action>
        <action>mastercpu.mq@7c80 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire - main shot">
    <script state="on">
        <action>slavecpu.mb@04a7 = 22</action> <!-- shot -->
        <action>slavecpu.mb@04e0 = 22</action> <!-- laser -->
    </script>
    <script state="off">
        <action>slavecpu.mb@04a7 = 21</action>
        <action>slavecpu.mb@04e0 = 21</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>slavecpu.md@043b =         262cb0cd</action> // y position
        <action>slavecpu.md@0449 =         262cb7cd</action> // x position
        <action>slavecpu.mq@2cb0 = cdc9086edd2cbecd</action>
        <action>slavecpu.mq@2cb8 = a77bc90c6edd2cbe</action>
        <action>slavecpu.mq@2cc0 = 2cccf2083e0016c8</action>
        <action>slavecpu.mq@2cc8 = ffffc95f44edff16</action>
        <!--
        2cb0 | cd be 2c : call $2CBE      // y position
        2cb3 | dd 6e 08 : ld   l,(ix+$08)
        2cb6 | c9       : ret
        2cb7 | cd be 2c : call $2CBE      // x position
        2cba | dd 6e 0c : ld   l,(ix+$0c)
        2cbd | c9       : ret
        2cbe | 7b       : ld   a,e
        2cbf | a7       : and  a
        2cc0 | c8       : ret  z
        2cc1 | 16 00    : ld   d,$00
        2cc3 | 3e xx    : ld   a,$xx
        2cc5 | f2 cc 2c : jp   p,$2CCC
        2cc8 | 16 ff    : ld   d,$FF
        2cca | ed 44    : neg
        2ccc | 5f       : ld   e,a
        2ccd | c9       : ret
        -->
    </script>
    <script state="change">
        <action>slavecpu.mb@2cc4 = param</action>
    </script>
    <script state="off">
        <action>slavecpu.md@043b =         26086edd</action>
        <action>slavecpu.md@0449 =         260c6edd</action>
        <action>slavecpu.mq@2cb0 = ffffffffffffffff</action>
        <action>slavecpu.mq@2cb8 = ffffffffffffffff</action>
        <action>slavecpu.mq@2cc0 = ffffffffffffffff</action>
        <action>slavecpu.mq@2cc8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed - main shot">
    <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>slavecpu.mb@063f = param</action> <!-- player : normal shot -->
        <action>slavecpu.mb@0702 = param</action> <!-- player : laser 1 -->
        <action>slavecpu.mb@070a = param</action> <!-- player : laser 2 -->
        <action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
        <action>slavecpu.mb@083d = param</action> <!-- support : laser 1 -->
        <action>slavecpu.mb@0845 = param</action> <!-- support : laser 2 -->
    </script>
    <script state="off">
        <action>slavecpu.mb@063f = 04</action>
        <action>slavecpu.mb@0702 = 06</action>
        <action>slavecpu.mb@070a = 06</action>
        <action>slavecpu.mb@0791 = 04</action>
        <action>slavecpu.mb@083d = 06</action>
        <action>slavecpu.mb@0845 = 06</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action> slavecpu.mb@00b5 =               3a</action> <!-- disable sound from slavecpu -->
        <action>mastercpu.mw@009b =             7c90</action>
        <action>mastercpu.mq@7c90 = 47b8a1003ac10021</action>
        <action>mastercpu.mq@7c98 = fe350120fbfef928</action>
        <action>mastercpu.mq@7ca0 = 0320effe340120f7</action>
        <action>mastercpu.mq@7ca8 = 3e0520dffe06187e</action>
        <action>mastercpu.mq@7cb0 = ffffdd18a40032ff</action>
        <!--
        7c90 | 21 00 c1 : ld  hl,$C100  // sound code address
        7c93 | 3a 00 a1 : ld  a,($A100) // read input
        7c96 | b8       : cp  b
        7c97 | 47       : ld  b,a
        7c98 | 28 f9    : jr  z,$7C93
        7c9a | fe fb    : cp  $FB
        7c9c | 20 01    : jr  nz,$7C9F
        7c9e | 35       : dec (hl)      // decrease code
        7c9f | fe f7    : cp  $F7
        7ca1 | 20 01    : jr  nz,$7CA4
        7ca3 | 34       : inc (hl)      // increase code
        7ca4 | fe ef    : cp  $EF
        7ca6 | 20 03    : jr  nz,$7CAB
        7ca8 | 7e       : ld  a,(hl)    // play sound
        7ca9 | 18 06    : jr  $7CB1
        7cab | fe df    : cp  $DF
        7cad | 20 05    : jr  nz,$7CB4
        7caf | 3e ff    : ld  a,$FF     // stop sound
        7cb1 | 32 00 a4 : ld  ($A400),a // send sound code
        7cb4 | 18 dd    : jr  $7C93
        -->
    </script>
    <script state="run">
        <output format="----- flower sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"               line="11" align="center" />
        <output format="right : increase code"              line="12" align="center" />
        <output format="button 1 : play sound"              line="13" align="center" />
        <output format="button 2 : stop sound"              line="14" align="center" />
        <output format="----------------------------"       line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;" line="17" align="center">
            <argument>mastercpu.pb@c100</argument>
        </output>
    </script>
    <script state="off">
        <action> slavecpu.mb@00b5 =               32</action>
        <action>mastercpu.mw@009b =             7c00</action>
        <action>mastercpu.mq@7c90 = ffffffffffffffff</action>
        <action>mastercpu.mq@7c98 = ffffffffffffffff</action>
        <action>mastercpu.mq@7ca0 = ffffffffffffffff</action>
        <action>mastercpu.mq@7ca8 = ffffffffffffffff</action>
        <action>mastercpu.mq@7cb0 = ffffffffffffffff</action>
    </script>
</cheat>
I often bother with random stuck game. But I don't know this problem is due to emulation or cheat.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[flower]+ Flower

Post by jman »

flower.xml

Code: Select all

<!-- Flower (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>mastercpu.mw@0C59 = 7C60            </action> <!-- enemy -->
            <action>mastercpu.mw@0C5F = 7C67            </action> <!-- boss -->
            <action>mastercpu.mw@0C9A = 7C60            </action> <!-- item -->
            <action>mastercpu.mq@7C60 = CDC90CAAC47C6ECD</action>
            <action>mastercpu.mq@7C68 = 7DDDC90CDDC47C6E</action>
            <action>mastercpu.mq@7C70 = 2B2B7E2323C08BFE</action>
            <action>mastercpu.mq@7C78 = 01FEC937AF0328A7</action>
            <action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFC9</action>
            <!--
            7C60 | CD 6E 7C : call $7C6E    // enemy, item
            7C63 | C4 AA 0C : call nz,$0CAA
            7C66 | C9       : ret
            7C67 | CD 6E 7C : call $7C6E    // boss
            7C6A | C4 DD 0C : call nz,$0CDD
            7C6D | C9       : ret
            7C6E | DD 7D    : ld   a,ixl    // main routine
            7C70 | FE 8B    : cp   $8B
            7C72 | C0       : ret  nz
            7C73 | 23       : inc  hl
            7C74 | 23       : inc  hl
            7C75 | 7E       : ld   a,(hl)
            7C76 | 2B       : dec  hl
            7C77 | 2B       : dec  hl
            7C78 | A7       : and  a
            7C79 | 28 03    : jr   z,$7C7E
            7C7B | AF       : xor  a
            7C7C | 37       : scf
            7C7D | C9       : ret
            7C7E | FE 01    : cp   $01
            7C80 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>mastercpu.mw@0C59 = 0CAA            </action>
            <action>mastercpu.mw@0C5F = 0CDD            </action>
            <action>mastercpu.mw@0C9A = 0CAA            </action>
            <action>mastercpu.mq@7C60 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C68 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C70 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C78 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire - main shot">
        <script state="on">
            <action>slavecpu.mb@04A7 = 22</action> <!-- shot -->
            <action>slavecpu.mb@04E0 = 22</action> <!-- laser -->
        </script>
        <script state="off">
            <action>slavecpu.mb@04A7 = 21</action>
            <action>slavecpu.mb@04E0 = 21</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>slavecpu.md@043B = 262CB0CD        </action> <!-- y position -->
            <action>slavecpu.md@0449 = 262CB7CD        </action> <!-- x position -->
            <action>slavecpu.mq@2CB0 = CDC9086EDD2CBECD</action>
            <action>slavecpu.mq@2CB8 = A77BC90C6EDD2CBE</action>
            <action>slavecpu.mq@2CC0 = 2CCCF2083E0016C8</action>
            <action>slavecpu.mq@2CC8 = FFFFC95F44EDFF16</action>
            <!--
            2CB0 | CD BE 2C : call $2CBE      // y position
            2CB3 | DD 6E 08 : ld   l,(ix+$08)
            2CB6 | C9       : ret
            2CB7 | CD BE 2C : call $2CBE      // x position
            2CBA | DD 6E 0C : ld   l,(ix+$0c)
            2CBD | C9       : ret
            2CBE | 7B       : ld   a,e        // main routine
            2CBF | A7       : and  a
            2CC0 | C8       : ret  z
            2CC1 | 16 00    : ld   d,$00
            2CC3 | 3E xx    : ld   a,$xx
            2CC5 | F2 CC 2C : jp   p,$2CCC
            2CC8 | 16 FF    : ld   d,$FF
            2CCA | ED 44    : neg
            2CCC | 5F       : ld   e,a
            2CCD | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slavecpu.mb@2CC4 = param</action>
        </script>
        <script state="off">
            <action>slavecpu.md@043B = 26086EDD        </action>
            <action>slavecpu.md@0449 = 260C6EDD        </action>
            <action>slavecpu.mq@2CB0 = FFFFFFFFFFFFFFFF</action>
            <action>slavecpu.mq@2CB8 = FFFFFFFFFFFFFFFF</action>
            <action>slavecpu.mq@2CC0 = FFFFFFFFFFFFFFFF</action>
            <action>slavecpu.mq@2CC8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <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>slavecpu.mb@063F = param</action> <!-- player : normal shot -->
            <action>slavecpu.mb@0702 = param</action> <!-- player : laser 1 -->
            <action>slavecpu.mb@070A = param</action> <!-- player : laser 2 -->
            <action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
            <action>slavecpu.mb@083D = param</action> <!-- support : laser 1 -->
            <action>slavecpu.mb@0845 = param</action> <!-- support : laser 2 -->
        </script>
        <script state="off">
            <action>slavecpu.mb@063F = 04</action>
            <action>slavecpu.mb@0702 = 06</action>
            <action>slavecpu.mb@070A = 06</action>
            <action>slavecpu.mb@0791 = 04</action>
            <action>slavecpu.mb@083D = 06</action>
            <action>slavecpu.mb@0845 = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>mastercpu.mw@009B = 7C90            </action>
            <action>mastercpu.mq@7C90 = 47B8A1003AC00021</action>
            <action>mastercpu.mq@7C98 = FE350120FBFEF928</action>
            <action>mastercpu.mq@7CA0 = 0420FDFE340120F7</action>
            <action>mastercpu.mq@7CA8 = 0520FEFE0618F03E</action>
            <action>mastercpu.mq@7CB0 = 20EFFE787786103E</action>
            <action>mastercpu.mq@7CB8 = 0520DFFE06187E03</action>
            <action>mastercpu.mq@7CC0 = FFCC18A40032FF3E</action>
            <!--
            7C90 | 21 00 C0 : ld   hl,$C000  // sound code address
            7C93 | 3A 00 A1 : ld   a,($A100) // read input
            7C96 | B8       : cp   b
            7C97 | 47       : ld   b,a
            7C98 | 28 F9    : jr   z,$7C93
            7C9A | FE FB    : cp   $FB
            7C9C | 20 01    : jr   nz,$7C9F
            7C9E | 35       : dec  (hl)      // decrease code -01
            7C9F | FE F7    : cp   $F7
            7CA1 | 20 01    : jr   nz,$7CA4
            7CA3 | 34       : inc  (hl)      // increase code +01
            7CA4 | FE FD    : cp   $FD
            7CA6 | 20 04    : jr   nz,$7CAC
            7CA8 | 3E F0    : ld   a,$F0     // decrease code -10
            7CAA | 18 06    : jr   $7CB2
            7CAC | FE FE    : cp   $FE
            7CAE | 20 05    : jr   nz,$7CB5
            7CB0 | 3E 10    : ld   a,$10     // increase code +10
            7CB2 | 86       : add  a,(hl)
            7CB3 | 77       : ld   (hl),a
            7CB4 | 78       : ld   a,b
            7CB5 | FE EF    : cp   $EF
            7CB7 | 20 03    : jr   nz,$7CBC
            7CB9 | 7E       : ld   a,(hl)    // play sound
            7CBA | 18 06    : jr   $7CC2
            7CBC | FE DF    : cp   $DF
            7CBE | 20 05    : jr   nz,$7CC5
            7CC0 | 3E FF    : ld   a,$FF     // stop sound
            7CC2 | 32 00 A4 : ld   ($A400),a // send sound code
            7CC5 | 18 CC    : jr   $7C93
            -->
            <action>slavecpu.mb@00B5 = 3A</action> <!-- disable sound from slavecpu -->
        </script>
        <script state="run">
            <output format="----- flower 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>mastercpu.pb@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>mastercpu.mw@009B = 7C00            </action>
            <action>mastercpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
            <action> slavecpu.mb@00B5 = 32              </action>
        </script>
    </cheat>

</mamecheat>
flowerj.xml

Code: Select all

<!-- Flower (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>mastercpu.mw@0C59 = 7C60            </action> <!-- enemy -->
            <action>mastercpu.mw@0C5F = 7C67            </action> <!-- boss -->
            <action>mastercpu.mw@0C9A = 7C60            </action> <!-- item -->
            <action>mastercpu.mq@7C60 = CDC90CAAC47C6ECD</action>
            <action>mastercpu.mq@7C68 = 7DDDC90CDDC47C6E</action>
            <action>mastercpu.mq@7C70 = 2B2B7E2323C08BFE</action>
            <action>mastercpu.mq@7C78 = 01FEC937AF0328A7</action>
            <action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFC9</action>
            <!--
            7C60 | CD 6E 7C : call $7C6E    // enemy, item
            7C63 | C4 AA 0C : call nz,$0CAA
            7C66 | C9       : ret
            7C67 | CD 6E 7C : call $7C6E    // boss
            7C6A | C4 DD 0C : call nz,$0CDD
            7C6D | C9       : ret
            7C6E | DD 7D    : ld   a,ixl    // main routine
            7C70 | FE 8B    : cp   $8B
            7C72 | C0       : ret  nz
            7C73 | 23       : inc  hl
            7C74 | 23       : inc  hl
            7C75 | 7E       : ld   a,(hl)
            7C76 | 2B       : dec  hl
            7C77 | 2B       : dec  hl
            7C78 | A7       : and  a
            7C79 | 28 03    : jr   z,$7C7E
            7C7B | AF       : xor  a
            7C7C | 37       : scf
            7C7D | C9       : ret
            7C7E | FE 01    : cp   $01
            7C80 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>mastercpu.mw@0C59 = 0CAA            </action>
            <action>mastercpu.mw@0C5F = 0CDD            </action>
            <action>mastercpu.mw@0C9A = 0CAA            </action>
            <action>mastercpu.mq@7C60 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C68 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C70 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C78 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire - main shot">
        <script state="on">
            <action>slavecpu.mb@04A7 = 22</action> <!-- shot -->
            <action>slavecpu.mb@04E0 = 22</action> <!-- laser -->
        </script>
        <script state="off">
            <action>slavecpu.mb@04A7 = 21</action>
            <action>slavecpu.mb@04E0 = 21</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>slavecpu.md@043B = 262CB0CD        </action> <!-- y position -->
            <action>slavecpu.md@0449 = 262CB7CD        </action> <!-- x position -->
            <action>slavecpu.mq@2CB0 = CDC9086EDD2CBECD</action>
            <action>slavecpu.mq@2CB8 = A77BC90C6EDD2CBE</action>
            <action>slavecpu.mq@2CC0 = 2CCCF2083E0016C8</action>
            <action>slavecpu.mq@2CC8 = FFFFC95F44EDFF16</action>
            <!--
            2CB0 | CD BE 2C : call $2CBE      // y position
            2CB3 | DD 6E 08 : ld   l,(ix+$08)
            2CB6 | C9       : ret
            2CB7 | CD BE 2C : call $2CBE      // x position
            2CBA | DD 6E 0C : ld   l,(ix+$0c)
            2CBD | C9       : ret
            2CBE | 7B       : ld   a,e        // main routine
            2CBF | A7       : and  a
            2CC0 | C8       : ret  z
            2CC1 | 16 00    : ld   d,$00
            2CC3 | 3E xx    : ld   a,$xx
            2CC5 | F2 CC 2C : jp   p,$2CCC
            2CC8 | 16 FF    : ld   d,$FF
            2CCA | ED 44    : neg
            2CCC | 5F       : ld   e,a
            2CCD | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slavecpu.mb@2CC4 = param</action>
        </script>
        <script state="off">
            <action>slavecpu.md@043B = 26086EDD        </action>
            <action>slavecpu.md@0449 = 260C6EDD        </action>
            <action>slavecpu.mq@2CB0 = FFFFFFFFFFFFFFFF</action>
            <action>slavecpu.mq@2CB8 = FFFFFFFFFFFFFFFF</action>
            <action>slavecpu.mq@2CC0 = FFFFFFFFFFFFFFFF</action>
            <action>slavecpu.mq@2CC8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <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>slavecpu.mb@063F = param</action> <!-- player : normal shot -->
            <action>slavecpu.mb@0702 = param</action> <!-- player : laser -->
            <action>slavecpu.mb@070A = param</action> <!-- player : laser -->
            <action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
            <action>slavecpu.mb@083D = param</action> <!-- support : laser -->
            <action>slavecpu.mb@0845 = param</action> <!-- support : laser -->
        </script>
        <script state="off">
            <action>slavecpu.mb@063F = 04</action>
            <action>slavecpu.mb@0702 = 06</action>
            <action>slavecpu.mb@070A = 06</action>
            <action>slavecpu.mb@0791 = 04</action>
            <action>slavecpu.mb@083D = 06</action>
            <action>slavecpu.mb@0845 = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>mastercpu.mw@009B = 7C90            </action>
            <action>mastercpu.mq@7C90 = 47B8A1003AC00021</action>
            <action>mastercpu.mq@7C98 = FE350120FBFEF928</action>
            <action>mastercpu.mq@7CA0 = 0420FDFE340120F7</action>
            <action>mastercpu.mq@7CA8 = 0520FEFE0618F03E</action>
            <action>mastercpu.mq@7CB0 = 20EFFE787786103E</action>
            <action>mastercpu.mq@7CB8 = 0520DFFE06187E03</action>
            <action>mastercpu.mq@7CC0 = FFCC18A40032FF3E</action>
            <!--
            7C90 | 21 00 C0 : ld   hl,$C000  // sound code address
            7C93 | 3A 00 A1 : ld   a,($A100) // read input
            7C96 | B8       : cp   b
            7C97 | 47       : ld   b,a
            7C98 | 28 F9    : jr   z,$7C93
            7C9A | FE FB    : cp   $FB
            7C9C | 20 01    : jr   nz,$7C9F
            7C9E | 35       : dec  (hl)      // decrease code -01
            7C9F | FE F7    : cp   $F7
            7CA1 | 20 01    : jr   nz,$7CA4
            7CA3 | 34       : inc  (hl)      // increase code +01
            7CA4 | FE FD    : cp   $FD
            7CA6 | 20 04    : jr   nz,$7CAC
            7CA8 | 3E F0    : ld   a,$F0     // decrease code -10
            7CAA | 18 06    : jr   $7CB2
            7CAC | FE FE    : cp   $FE
            7CAE | 20 05    : jr   nz,$7CB5
            7CB0 | 3E 10    : ld   a,$10     // increase code +10
            7CB2 | 86       : add  a,(hl)
            7CB3 | 77       : ld   (hl),a
            7CB4 | 78       : ld   a,b
            7CB5 | FE EF    : cp   $EF
            7CB7 | 20 03    : jr   nz,$7CBC
            7CB9 | 7E       : ld   a,(hl)    // play sound
            7CBA | 18 06    : jr   $7CC2
            7CBC | FE DF    : cp   $DF
            7CBE | 20 05    : jr   nz,$7CC5
            7CC0 | 3E FF    : ld   a,$FF     // stop sound
            7CC2 | 32 00 A4 : ld   ($A400),a // send sound code
            7CC5 | 18 CC    : jr   $7C93
            -->
            <action>slavecpu.mb@00B5 = 3A</action> <!-- disable sound from slavecpu -->
        </script>
        <script state="run">
            <output format="----- flower 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>mastercpu.pb@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>mastercpu.mw@009B = 7C00            </action>
            <action>mastercpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
            <action>mastercpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
            <action> slavecpu.mb@00B5 = 32              </action>
        </script>
    </cheat>

</mamecheat>
Post Reply