Page 1 of 1

[exedexes] Exed Exes

Posted: Tue Jun 22, 2021 1:46 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@1b95 = 97</action> <!-- normal enemy -->
        <action>maincpu.mb@215f = 61</action> <!-- large enemy -->
    </script>
    <script state="off">
        <action>maincpu.mb@1b95 = 9c</action>
        <action>maincpu.mb@215f = 66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@182d = 2f</action>
    </script>
    <script state="off">
        <action>maincpu.mb@182d = 48</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x08" step="0x01" />
    <script state="on">
        <action>maincpu.mq@16b3 = 041e000000B940cd</action> <!-- right -->
        <action>maincpu.mq@16be = 041e000000B944cd</action> <!-- left -->
        <action>maincpu.md@16c9 =         1eb951cd</action> <!-- down -->
        <action>maincpu.mq@16d1 = 051eb940cdb951cd</action> <!-- lower-right-->
        <action>maincpu.mq@16dc = 051eb944cdb951cd</action> <!-- lower-left -->
        <action>maincpu.md@16e7 =         1eb94dcd</action> <!-- up -->
        <action>maincpu.mq@16ef = 031eb940cdb94dcd</action> <!-- upper-right -->
        <action>maincpu.mq@16fa = 031eb94dcdb944cd</action> <!-- upper-left -->
        <action>maincpu.mq@b940 = 86ddfd3e0218033e</action>
        <action>maincpu.mq@b948 = 18033ec90277DD02</action>
        <action>maincpu.mq@b950 = 77dd0386ddfd3e02</action>
        <action>maincpu.mq@b958 = ffffffffffffc903</action>
        <!--
        16b3 | cd 40 b9 00 00 00 : call $b940 / nop / nop / nop // right
        16be | cd b9 44 00 00 00 : call $b944 / nop / nop / nop // left
        16c9 | cd 51 b9          : call $b951                   // down
        16d1 | cd 51 b9 cd 40 b9 : call $b951 / call $b940      // lower-right
        16dc | cd 51 b9 cd 44 b9 : call $b951 / call $b944      // lower-left
        16e7 | cd 4d b9          : call $b94d                   // up
        16ef | cd 4d b9 cd 40 b9 : call $b94d / call $b940      // upper-right
        16fa | cd 44 b9 cd 4d b9 : call $b944 / call $b94d      // upper-left
        b940 | 3e xx             : ld   a,$xx       // right
        b942 | 18 02             : jr   $b946
        b944 | 3e xx             : ld   a,$xx       // left
        b946 | dd 86 02          : add  a,(ix+$02)
        b949 | dd 77 02          : ld   (ix+$02),a
        b94c | c9                : ret
        b94d | 3e xx             : ld   a,$xx       // up
        b94f | 18 02             : jr   $b953
        b951 | 3e xx             : ld   a,$xx       // down
        b953 | dd 86 03          : add  a,(ix+$03)
        b956 | dd 77 03          : ld   (ix+$03),a
        b959 | c9                : ret
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@b941 =  param</action>
        <action>maincpu.mb@b945 = -param</action>
        <action>maincpu.mb@b94e =  param</action>
        <action>maincpu.mb@b952 = -param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@16b3 = 041e0234dd0234dd</action>
        <action>maincpu.mq@16be = 041e0235dd0235dd</action>
        <action>maincpu.md@16c9 =         1e0335dd</action>
        <action>maincpu.mq@16d1 = 051e0335dd0234dd</action>
        <action>maincpu.mq@16dc = 051e0335dd0235dd</action>
        <action>maincpu.md@16e7 =         1e0334dd</action>
        <action>maincpu.mq@16ef = 031e0334dd0234dd</action>
        <action>maincpu.mq@16fa = 031e0334dd0235dd</action>
        <action>maincpu.mq@b940 = ffffffffffffffff</action>
        <action>maincpu.mq@b948 = ffffffffffffffff</action>
        <action>maincpu.mq@b950 = ffffffffffffffff</action>
        <action>maincpu.mq@b958 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x03">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x09">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x0f">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@18c2 = dd003e00</action>
    </script>
    <script state="change">
        <action>maincpu.mb@18c4 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@18c2 = dd157efd</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@01ce =             b960</action>
        <action>maincpu.mq@b960 = 013ae10022000021</action>
        <action>maincpu.mq@b968 = 20fdfef6286fbdc0</action>
        <action>maincpu.mq@b970 = fe240120fefe2501</action>
        <action>maincpu.mq@b978 = dffe06187c0320ef</action>
        <action>maincpu.mq@b980 = 18c80032003e0520</action>
        <action>maincpu.mq@b988 = ffffffffffffffda</action>
        <!--
        01cd | c3 60 b9 : jp  $b960
        b960 | 21 00 00 : ld  hl,$0000   // initialize sound and input values
        b963 | 22 00 e1 : ld  ($e100),hl
        b966 | 3a 01 c0 : ld  a,($c001)  // read input
        b969 | bd       : cp  l
        b96a | 6f       : ld  l,a
        b96b | 28 f6    : jr  z,$b963
        b96d | fe fd    : cp  $fd
        b96f | 20 01    : jr  nz,$b972
        b971 | 25       : dec h          // decrease code
        b972 | fe fe    : cp  $fe
        b974 | 20 01    : jr  nz,$b977
        b976 | 24       : inc h          // increase code
        b977 | fe ef    : cp  $ef
        b979 | 20 03    : jr  nz,$b97e
        b97b | 7c       : ld  a,h        // play sound
        b97c | 18 06    : jr  $b984
        b97e | fe df    : cp  $df
        b980 | 20 05    : jr  nz,$b987
        b982 | 3e 00    : ld  a,$00      // stop sound
        b984 | 32 00 c8 : ld  ($c800),a  // send sound code
        b987 | 18 da    : jr  $b963
        -->
        <action>audiocpu.mb@0109 = 00</action> <!-- stop sfx and music at the same time -->
    </script>
    <script state="run">
        <output format="----- exed exes 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>maincpu.pb@e101</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.mw@01ce =             00e4</action>
        <action> maincpu.mq@b960 = ffffffffffffffff</action>
        <action> maincpu.mq@b968 = ffffffffffffffff</action>
        <action> maincpu.mq@b970 = ffffffffffffffff</action>
        <action> maincpu.mq@b978 = ffffffffffffffff</action>
        <action> maincpu.mq@b980 = ffffffffffffffff</action>
        <action> maincpu.mq@b988 = ffffffffffffffff</action>
        <action>audiocpu.mb@0109 =               00</action>
    </script>
</cheat>
This game starts the ending when you get 10,000,000 points.

Code: Select all

<cheat desc="P1 1 hit to see the ending">
    <script state="on">
        <action>maincpu.pb@e60a = 01</action>
    </script>
</cheat>
Also the above "score" code has the same effect (and out of my database).

[exedexes] Exed Exes (update)

Posted: Sat Oct 29, 2022 8:41 am
by jman

Code: Select all

<cheat desc="short hit mark">
    <script state="on">
        <action>maincpu.mb@189f = c3</action>
    </script>
    <script state="off">
        <action>maincpu.mb@189f = ca</action>
    </script>
</cheat>
"short hit mark" : add new.

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@01ce =             b960</action>
        <action>maincpu.mq@b960 = 47b8c0013ae10021</action>
        <action>maincpu.mq@b968 = fe350120fdfef928</action>
        <action>maincpu.mq@b970 = 0420fbfe340120fe</action>
        <action>maincpu.mq@b978 = 0520f7fe0618f03e</action>
        <action>maincpu.mq@b980 = 20effe787786103e</action>
        <action>maincpu.mq@b988 = 0420dffe05187e03</action>
        <action>maincpu.mq@b990 = ffffcd18c80032af</action>
        <!--
        b960 | 21 00 e1 : ld  hl,$E100  // sound code address
        b963 | 3a 01 c0 : ld  a,($C001) // read input
        b966 | b8       : cp  b
        b967 | 47       : ld  b,a
        b968 | 28 f9    : jr  z,$B963
        b96a | fe fd    : cp  $FD
        b96c | 20 01    : jr  nz,$B96F
        b96e | 35       : dec (hl)      // decrease code -01
        b96f | fe fe    : cp  $FE
        b971 | 20 01    : jr  nz,$B974
        b973 | 34       : inc (hl)      // increase code +01
        b974 | fe fb    : cp  $FB
        b976 | 20 04    : jr  nz,$B97C
        b978 | 3e f0    : ld  a,$F0     // decrease code -10
        b97a | 18 06    : jr  $B982
        b97c | fe f7    : cp  $F7
        b97e | 20 05    : jr  nz,$B985
        b980 | 3e 10    : ld  a,$10     // increase code +10
        b982 | 86       : add a,(hl)
        b983 | 77       : ld  (hl),a
        b984 | 78       : ld  a,b
        b985 | fe ef    : cp  $EF
        b987 | 20 03    : jr  nz,$B98C
        b989 | 7e       : ld  a,(hl)    // play sound
        b98a | 18 05    : jr  $B991
        b98c | fe df    : cp  $DF
        b98e | 20 04    : jr  nz,$B994
        b990 | af       : xor a         // stop sound
        b991 | 32 00 c8 : ld  ($C800),a // send sound code
        b994 | 18 cd    : jr  $B963
        -->
        <action>audiocpu.mb@0109 = 00</action> <!-- stop sfx and music at the same time -->
    </script>
    <script state="run">
        <output format="----- exed exes 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@e100</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.mw@01ce =             00e4</action>
        <action> maincpu.mq@b960 = ffffffffffffffff</action>
        <action> maincpu.mq@b968 = ffffffffffffffff</action>
        <action> maincpu.mq@b970 = ffffffffffffffff</action>
        <action> maincpu.mq@b978 = ffffffffffffffff</action>
        <action> maincpu.mq@b980 = ffffffffffffffff</action>
        <action> maincpu.mq@b988 = ffffffffffffffff</action>
        <action> maincpu.mq@b990 = ffffffffffffffff</action>
        <action>audiocpu.mb@0109 =               c9</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).

[exedexes]+ Exed Exes/Savage Bees

Posted: Sat Feb 24, 2024 8:28 am
by jman
exedexes.xml

Code: Select all

<!-- Exed Exes -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1B95 = 97</action> <!-- normal enemy -->
            <action>maincpu.mb@215F = 61</action> <!-- large enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B95 = 9C</action>
            <action>maincpu.mb@215F = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@182D = 2F</action>
        </script>
        <script state="off">
            <action>maincpu.mb@182D = 48</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="on">
            <action>maincpu.mq@16B3 = 041E000000B940CD</action> <!-- right -->
            <action>maincpu.mq@16BE = 041E000000B944CD</action> <!-- left -->
            <action>maincpu.md@16C9 = 1EB951CD        </action> <!-- down -->
            <action>maincpu.mq@16D1 = 051EB940CDB951CD</action> <!-- lower-right -->
            <action>maincpu.mq@16DC = 051EB944CDB951CD</action> <!-- lower-left -->
            <action>maincpu.md@16E7 = 1EB94DCD        </action> <!-- up -->
            <action>maincpu.mq@16EF = 031EB940CDB94DCD</action> <!-- upper-right -->
            <action>maincpu.mq@16FA = 031EB94DCDB944CD</action> <!-- upper-left -->
            <action>maincpu.mq@B940 = 86DDFD3E0218033E</action>
            <action>maincpu.mq@B948 = 18033EC90277DD02</action>
            <action>maincpu.mq@B950 = 77DD0386DDFD3E02</action>
            <action>maincpu.mq@B958 = FFFFFFFFFFFFC903</action>
            <!--
            B940 | 3E xx    : ld   a,$xx      // right
            B942 | 18 02    : jr   $B946
            B944 | 3E xx    : ld   a,$xx      // left
            B946 | DD 86 02 : add  a,(ix+$02)
            B949 | DD 77 02 : ld   (ix+$02),a
            B94C | C9       : ret
            B94D | 3E xx    : ld   a,$xx      // up
            B94F | 18 02    : jr   $B953
            B951 | 3E xx    : ld   a,$xx      // down
            B953 | DD 86 03 : add  a,(ix+$03)
            B956 | DD 77 03 : ld   (ix+$03),a
            B959 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@B941 =  param</action>
            <action>maincpu.mb@B945 = -param</action>
            <action>maincpu.mb@B94E =  param</action>
            <action>maincpu.mb@B952 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16B3 = 041E0234DD0234DD</action>
            <action>maincpu.mq@16BE = 041E0235DD0235DD</action>
            <action>maincpu.md@16C9 = 1E0335DD        </action>
            <action>maincpu.mq@16D1 = 051E0335DD0234DD</action>
            <action>maincpu.mq@16DC = 051E0335DD0235DD</action>
            <action>maincpu.md@16E7 = 1E0334DD        </action>
            <action>maincpu.mq@16EF = 031E0334DD0234DD</action>
            <action>maincpu.mq@16FA = 031E0334DD0235DD</action>
            <action>maincpu.mq@B940 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B948 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B950 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B958 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x03">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@18C2 = DD00003E</action>
        </script>
        <script state="change">
            <action>maincpu.mb@18C3 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@18C2 = DD157EFD</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@189F = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@189F = CA</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@01CE = B960            </action>
            <action>maincpu.mq@B960 = 47B8C0013AE10021</action>
            <action>maincpu.mq@B968 = FE350120FDFEF928</action>
            <action>maincpu.mq@B970 = 0420FBFE340120FE</action>
            <action>maincpu.mq@B978 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@B980 = 20EFFE787786103E</action>
            <action>maincpu.mq@B988 = 0420DFFE05187E03</action>
            <action>maincpu.mq@B990 = FFFFCD18C80032AF</action>
            <!--
            B960 | 21 00 E1 : ld   hl,$E100  // sound code address
            B963 | 3A 01 C0 : ld   a,($C001) // read input
            B966 | B8       : cp   b
            B967 | 47       : ld   b,a
            B968 | 28 F9    : jr   z,$B963
            B96A | FE FD    : cp   $FD
            B96C | 20 01    : jr   nz,$B96F
            B96E | 35       : dec  (hl)      // decrease code -01
            B96F | FE FE    : cp   $FE
            B971 | 20 01    : jr   nz,$B974
            B973 | 34       : inc  (hl)      // increase code +01
            B974 | FE FB    : cp   $FB
            B976 | 20 04    : jr   nz,$B97C
            B978 | 3E F0    : ld   a,$F0     // decrease code -10
            B97A | 18 06    : jr   $B982
            B97C | FE F7    : cp   $F7
            B97E | 20 05    : jr   nz,$B985
            B980 | 3E 10    : ld   a,$10     // increase code +10
            B982 | 86       : add  a,(hl)
            B983 | 77       : ld   (hl),a
            B984 | 78       : ld   a,b
            B985 | FE EF    : cp   $EF
            B987 | 20 03    : jr   nz,$B98C
            B989 | 7E       : ld   a,(hl)    // play sound
            B98A | 18 05    : jr   $B991
            B98C | FE DF    : cp   $DF
            B98E | 20 04    : jr   nz,$B994
            B990 | AF       : xor  a         // stop sound
            B991 | 32 00 C8 : ld   ($C800),a // send sound code
            B994 | 18 CD    : jr   $B963
            -->
            <action>audiocpu.mb@0109 = 00</action> <!-- stop sfx and music at the same time -->
        </script>
        <script state="run">
            <output format="----- exed exes 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@E100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@01CE = 00E4            </action>
            <action> maincpu.mq@B960 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B968 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B970 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B978 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B980 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B988 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B990 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mb@0109 = C9              </action>
        </script>
    </cheat>

</mamecheat>
savgbees.xml

Code: Select all

<!-- Savage Bees -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1AC6 = C8</action> <!-- normal enemy -->
            <action>maincpu.mb@20A9 = AB</action> <!-- large enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1AC6 = CD</action>
            <action>maincpu.mb@20A9 = B0</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@175E = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@175E = 79</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="on">
            <action>maincpu.mq@15E4 = 041E000000B930CD</action> <!-- right -->
            <action>maincpu.mq@15EF = 041E000000B934CD</action> <!-- left -->
            <action>maincpu.md@15FA = 1EB941CD        </action> <!-- down -->
            <action>maincpu.mq@1602 = 051EB930CDB941CD</action> <!-- lower-right -->
            <action>maincpu.mq@160D = 051EB934CDB941CD</action> <!-- lower-left -->
            <action>maincpu.md@1618 = 1EB93DCD        </action> <!-- up -->
            <action>maincpu.mq@1620 = 031EB930CDB93DCD</action> <!-- upper-right -->
            <action>maincpu.mq@162B = 031EB93DCDB934CD</action> <!-- upper-left -->

            <action>maincpu.mq@B930 = 86DDFD3E0218033E</action>
            <action>maincpu.mq@B938 = 18033EC90277DD02</action>
            <action>maincpu.mq@B940 = 77DD0386DDFD3E02</action>
            <action>maincpu.mq@B948 = FFFFFFFFFFFFC903</action>
            <!--
            B930 | 3E xx    : ld   a,$xx      // right
            B932 | 18 02    : jr   $B936
            B934 | 3E xx    : ld   a,$xx      // left
            B936 | DD 86 02 : add  a,(ix+$02)
            B939 | DD 77 02 : ld   (ix+$02),a
            B93C | C9       : ret
            B93D | 3E xx    : ld   a,$xx      // up
            B93F | 18 02    : jr   $B943
            B941 | 3E xx    : ld   a,$xx      // down
            B943 | DD 86 03 : add  a,(ix+$03)
            B946 | DD 77 03 : ld   (ix+$03),a
            B949 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@B931 =  param</action>
            <action>maincpu.mb@B935 = -param</action>
            <action>maincpu.mb@B93E =  param</action>
            <action>maincpu.mb@B942 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@15E4 = 041E0234DD0234DD</action>
            <action>maincpu.mq@15EF = 041E0235DD0235DD</action>
            <action>maincpu.md@15FA = 1E0335DD        </action>
            <action>maincpu.mq@1602 = 051E0335DD0234DD</action>
            <action>maincpu.mq@160D = 051E0335DD0235DD</action>
            <action>maincpu.md@1618 = 1E0334DD        </action>
            <action>maincpu.mq@1620 = 031E0334DD0234DD</action>
            <action>maincpu.mq@162B = 031E0334DD0235DD</action>
            <action>maincpu.mq@B930 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B938 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B940 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B948 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x03">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@17F3 = DD00003E</action>
        </script>
        <script state="change">
            <action>maincpu.mb@17F4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@17F3 = DD157EFD</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@17D0 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17D0 = CA</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@01CE = B950            </action>
            <action>maincpu.mq@B950 = 47B8C0013AE10021</action>
            <action>maincpu.mq@B958 = FE350120FDFEF928</action>
            <action>maincpu.mq@B960 = 0420FBFE340120FE</action>
            <action>maincpu.mq@B968 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@B970 = 20EFFE787786103E</action>
            <action>maincpu.mq@B978 = 0420DFFE05187E03</action>
            <action>maincpu.mq@B980 = FFFFCD18C80032AF</action>
            <!--
            B950 | 21 00 E1 : ld   hl,$E100  // sound code address
            B953 | 3A 01 C0 : ld   a,($C001) // read input
            B956 | B8       : cp   b
            B957 | 47       : ld   b,a
            B958 | 28 F9    : jr   z,$B953
            B95A | FE FD    : cp   $FD
            B95C | 20 01    : jr   nz,$B95F
            B95E | 35       : dec  (hl)      // decrease code -01
            B95F | FE FE    : cp   $FE
            B961 | 20 01    : jr   nz,$B964
            B963 | 34       : inc  (hl)      // increase code +01
            B964 | FE FB    : cp   $FB
            B966 | 20 04    : jr   nz,$B96C
            B968 | 3E F0    : ld   a,$F0     // decrease code -10
            B96A | 18 06    : jr   $B972
            B96C | FE F7    : cp   $F7
            B96E | 20 05    : jr   nz,$B975
            B970 | 3E 10    : ld   a,$10     // increase code +10
            B972 | 86       : add  a,(hl)
            B973 | 77       : ld   (hl),a
            B974 | 78       : ld   a,b
            B975 | FE EF    : cp   $EF
            B977 | 20 03    : jr   nz,$B97C
            B979 | 7E       : ld   a,(hl)    // play sound
            B97A | 18 05    : jr   $B981
            B97C | FE DF    : cp   $DF
            B97E | 20 04    : jr   nz,$B984
            B980 | AF       : xor  a         // stop sound
            B981 | 32 00 C8 : ld   ($C800),a // send sound code
            B984 | 18 CD    : jr   $B953
            -->
            <action>audiocpu.mb@011C = 00</action> <!-- stop sfx and music at the same time -->
        </script>
        <script state="run">
            <output format="----- savage bees 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@E100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@01CE = 00E4            </action>
            <action> maincpu.mq@B950 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B958 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B960 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B968 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B970 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B978 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@B980 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mb@011C = C9              </action>
        </script>
    </cheat>

</mamecheat>