[divebomb] Kyuukoukabakugekitai

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

[divebomb] Kyuukoukabakugekitai

Post by jman »

Code: Select all

<!-- Kyuukoukabakugekitai - Dive Bomber Squad (Japan, prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- objects -->
            <action>spritecpu.mb@02c5 = c9</action>
            <action>spritecpu.mb@03b4 = c9</action>
            <action>spritecpu.mb@04a3 = c9</action>
            <action>spritecpu.mb@05c2 = c9</action>
            <action>spritecpu.mb@06f7 = c9</action>
            <action>spritecpu.mb@082c = c9</action>
            <action>spritecpu.mb@0962 = c9</action>
            <action>spritecpu.mb@0a97 = c9</action>
            <action>spritecpu.mb@0bcc = c9</action>
            <action>spritecpu.mb@0d01 = c9</action>
            <action>spritecpu.mb@0e36 = c9</action>
            <action>spritecpu.mb@59c2 = c9</action>
            <action>spritecpu.mb@5eb1 = c9</action>
            <!-- background -->
            <action>rozcpu.mb@0615 = c3</action>
        </script>
        <script state="off">
            <action>spritecpu.mb@02c5 = d0</action>
            <action>spritecpu.mb@03b4 = d0</action>
            <action>spritecpu.mb@04a3 = d0</action>
            <action>spritecpu.mb@05c2 = d0</action>
            <action>spritecpu.mb@06f7 = d0</action>
            <action>spritecpu.mb@082c = d0</action>
            <action>spritecpu.mb@0962 = d0</action>
            <action>spritecpu.mb@0a97 = d0</action>
            <action>spritecpu.mb@0bcc = d0</action>
            <action>spritecpu.mb@0d01 = d0</action>
            <action>spritecpu.mb@0e36 = d0</action>
            <action>spritecpu.mb@59c2 = d0</action>
            <action>spritecpu.mb@5eb1 = d0</action>
            <action>   rozcpu.mb@0615 = ca</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot (buggy)">
        <comment>broken music</comment>
        <script state="on">
            <action>fgcpu.mb@09bf = 00</action>
        </script>
        <script state="off">
            <action>fgcpu.mb@09bf = 09</action>
        </script>
    </cheat>

    <cheat desc="auto fire - bomb (buggy)">
        <comment>out of control</comment>
        <script state="on">
            <action>fgcpu.mb@09ad = af</action>
        </script>
        <script state="off">
            <action>fgcpu.mb@09bd = b3</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>spritecpu.mb@4e3a = 04</action>
            <action>spritecpu.mb@4e46 = 88</action>
        </script>
        <script state="off">
            <action>spritecpu.mb@4e3a = 02</action>
            <action>spritecpu.mb@4e46 = 48</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>fgcpu.mw@04c7 =             5340</action>
            <action>fgcpu.mq@5340 = 2847b830dbe10021</action>
            <action>fgcpu.mq@5348 = fdfe350120f7fef7</action>
            <action>fgcpu.mq@5350 = 3e0420fbfe340120</action>
            <action>fgcpu.mq@5358 = 3e0520fefe0618f0</action>
            <action>fgcpu.mq@5360 = 0820effe78778610</action>
            <action>fgcpu.mq@5368 = 78e06132e060327e</action>
            <action>fgcpu.mq@5370 = 2193cdc50520dffe</action>
            <action>fgcpu.mq@5378 = ffffffffffc518c1</action>
            <!--
            5340 | 21 00 e1 : ld   hl,$E100  // sound code address
            5343 | db 30    : in   a,($30)   // read input
            5345 | b8       : cp   b
            5346 | 47       : ld   b,a
            5347 | 28 f7    : jr   z,$5340
            5349 | fe f7    : cp   $F7
            534b | 20 01    : jr   nz,$534E
            534d | 35       : dec  (hl)      // decrease code -01
            534e | fe fd    : cp   $FD
            5350 | 20 01    : jr   nz,$5353
            5352 | 34       : inc  (hl)      // increase code +01
            5353 | fe fb    : cp   $FB
            5355 | 20 04    : jr   nz,$535B
            5357 | 3e f0    : ld   a,$F0     // decrease code -10
            5359 | 18 06    : jr   $5361
            535b | fe fe    : cp   $FE
            535d | 20 05    : jr   nz,$5364
            535f | 3e 10    : ld   a,$10     // increase code +10
            5361 | 86       : add  a,(hl)
            5362 | 77       : ld   (hl),a
            5363 | 78       : ld   a,b
            5364 | fe ef    : cp   $EF
            5366 | 20 08    : jr   nz,$5370
            5368 | 7e       : ld   a,(hl)    // play sound
            5369 | 32 60 e0 : ld   ($E060),a
            536c | 32 61 e0 : ld   ($E061),a
            536f | 78       : ld   a,b
            5370 | fe df    : cp   $DF
            5372 | 20 05    : jr   nz,$5379
            5374 | c5       : push bc        // stop sound
            5375 | cd 93 21 : call $2193
            5378 | c1       : pop  bc
            5379 | 18 c5    : jr   $5340
            -->
        </script>
        <script state="run">
            <output format="----- kyuukoukabakugekitai 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>fgcpu.pb@e100</argument>
            </output>
        </script>
        <script state="off">
            <action>fgcpu.mw@04c7 =             1408</action>
            <action>fgcpu.mq@5340 = ffffffffffffffff</action>
            <action>fgcpu.mq@5348 = ffffffffffffffff</action>
            <action>fgcpu.mq@5350 = ffffffffffffffff</action>
            <action>fgcpu.mq@5358 = ffffffffffffffff</action>
            <action>fgcpu.mq@5360 = ffffffffffffffff</action>
            <action>fgcpu.mq@5368 = ffffffffffffffff</action>
            <action>fgcpu.mq@5370 = ffffffffffffffff</action>
            <action>fgcpu.mq@5378 = ffffffffffffffff</action>
        </script>
    </cheat>

</mamecheat>
"auto fire - shot/bomb" are buggy code. These cause some troubles. Especially, "auto fire - bomb" has critical problem so that I don't recommend it.
Post Reply