[exedexes] Exed Exes

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

[exedexes] Exed Exes

Post 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).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[exedexes] Exed Exes (update)

Post 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).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[exedexes]+ Exed Exes/Savage Bees

Post 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>
Post Reply