[bombsa] Bombs Away (Jaleco)

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

[bombsa] Bombs Away (Jaleco)

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@209c = 2b7d</action> <!-- boss -->
        <action>maincpu.mw@20e4 = 2b7d</action> <!-- middle enemy -->
        <action>maincpu.mw@2100 = 2b7d</action> <!-- enemy -->
        <action>maincpu.mw@2165 = 2b7d</action> <!-- bullet (air) -->
        <action>maincpu.mw@21e6 = 2b7d</action> <!-- bullet (ground) -->
    </script>
    <script state="off">
        <action>maincpu.mw@209c = 24e6</action>
        <action>maincpu.mw@20e4 = 24e6</action>
        <action>maincpu.mw@2100 = 24e6</action>
        <action>maincpu.mw@2165 = 24e6</action>
        <action>maincpu.mw@21e6 = 24e6</action>
    </script>
</cheat>

<cheat desc="auto fire - shot">
    <script state="on">
        <action>maincpu.mb@3874 = 76</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3874 = ee</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0280">03       </item>
        <item value="0x0380">04       </item>
        <item value="0x0480">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@34a2 = fd000021</action> <!-- up -->
        <action>maincpu.md@351a = fd000021</action> <!-- down -->
        <action>maincpu.md@3565 = fd000021</action> <!-- left -->
        <action>maincpu.md@35db = fd000021</action> <!-- right -->
    </script>
    <script state="change">
        <action>maincpu.mw@34a3 =  param</action>
        <action>maincpu.mw@351b = -param</action>
        <action>maincpu.mw@3566 = -param</action>
        <action>maincpu.mw@35dc =  param</action>
    </script>
    <script state="off">
        <action>maincpu.md@34a2 = fd190016</action>
        <action>maincpu.md@351a = fd52edb7</action>
        <action>maincpu.md@3565 = fd52edb7</action>
        <action>maincpu.md@35db = fd190016</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x08">02       </item>
        <item value="0x10">03       </item>
        <item value="0x18">04       </item>
        <item value="0x20">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@3919 = param</action> <!-- normal -->
        <action>maincpu.mb@391e = param</action> <!-- normal (power-up) -->
        <action>maincpu.mb@392f = param</action> <!-- reverse -->
        <action>maincpu.mb@3934 = param</action> <!-- reverse (power-up) -->
    </script>
    <script state="off">
        <action>maincpu.mb@3919 = 0c</action>
        <action>maincpu.mb@391e = 0c</action>
        <action>maincpu.mb@392f = 0c</action>
        <action>maincpu.mb@3934 = 0c</action>
    </script>
</cheat>

<cheat desc="fast bomb">
    <script state="on">
        <action>maincpu.mw@3b26 = 3b12</action>
    </script>
    <script state="off">
        <action>maincpu.mw@3b26 = 3a95</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@01e9 =             7620</action>
        <action>maincpu.mq@7620 = 47b8e0013ad90021</action>
        <action>maincpu.mq@7628 = fe350120fdfef928</action>
        <action>maincpu.mq@7630 = 0420fbfe340120fe</action>
        <action>maincpu.mq@7638 = 0520f7fe0618f03e</action>
        <action>maincpu.mq@7640 = 20effe787786103e</action>
        <action>maincpu.mq@7648 = 0420dffe05187e03</action>
        <action>maincpu.mq@7650 = 0000cd18d00032af</action>
        <!--
        7620 | 21 00 d9 : ld  hl,$D900  // sound code address
        7623 | 3a 01 e0 : ld  a,($E001) // read input
        7626 | b8       : cp  b
        7627 | 47       : ld  b,a
        7628 | 28 f9    : jr  z,$7623
        762a | fe fd    : cp  $FD
        762c | 20 01    : jr  nz,$762F
        762e | 35       : dec (hl)      // decrease code -01
        762f | fe fe    : cp  $FE
        7631 | 20 01    : jr  nz,$7634
        7633 | 34       : inc (hl)      // increase code +01
        7634 | fe fb    : cp  $FB
        7636 | 20 04    : jr  nz,$763C
        7638 | 3e f0    : ld  a,$F0     // decrease code -10
        763a | 18 06    : jr  $7642
        763c | fe f7    : cp  $F7
        763e | 20 05    : jr  nz,$7645
        7640 | 3e 10    : ld  a,$10     // increase code +10
        7642 | 86       : add a,(hl)
        7643 | 77       : ld  (hl),a
        7644 | 78       : ld  a,b
        7645 | fe ef    : cp  $EF
        7647 | 20 03    : jr  nz,$764C
        7649 | 7e       : ld  a,(hl)    // play sound
        764a | 18 05    : jr  $7651
        764c | fe df    : cp  $DF
        764e | 20 04    : jr  nz,$7654
        7650 | af       : xor a         // stop sound
        7651 | 32 00 d0 : ld  ($D000),a // send sound code
        7654 | 18 cd    : jr  $7623
        -->
    </script>
    <script state="run">
        <output format="----- bombs away 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@d900</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@01e9 =             01c2</action>
        <action>maincpu.mq@7620 = 0000000000000000</action>
        <action>maincpu.mq@7628 = 0000000000000000</action>
        <action>maincpu.mq@7630 = 0000000000000000</action>
        <action>maincpu.mq@7638 = 0000000000000000</action>
        <action>maincpu.mq@7640 = 0000000000000000</action>
        <action>maincpu.mq@7648 = 0000000000000000</action>
        <action>maincpu.mq@7650 = 0000000000000000</action>
    </script>
</cheat>
"invincibility" in the database based on 0.245 has minor problem. "hit" sound is played when you are hit by a bullet or enemy.
Post Reply