[regulus] Regulus

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: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[regulus] Regulus

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@2ae3 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2ae3 = 90</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">
        <!-- y-position -->
        <action>maincpu.od@27c3 = 23ffffcd</action>
        <action>maincpu.md@27c3 = ffb2d0ff</action>
        <!-- x-position -->
        <action>maincpu.od@27c8 = ddffffcd</action>
        <action>maincpu.md@27c8 = ffb2deff</action>
        <!-- main routine -->
        <action>maincpu.mq@b2d0 = b2daf2003e0728a7</action>
        <action>maincpu.mq@b2d8 = 28a7c90b77dd44ed</action>
        <action>maincpu.mq@b2e0 = 44edb2e8f2003e07</action>
        <action>maincpu.mq@b2e8 = ffffffffc90c77dd</action>
        <!--
        b2d0 | a7       : and a          // y-position
        b2d1 | 28 07    : jr  z,$B2DA
        b2d3 | 3e 04    : ld  a,$04
        b2d5 | f2 da b2 : jp  p,$B2DA
        b2d8 | ed 44    : neg
        b2da | dd 77 0b : ld  (ix+$0b),a
        b2dd | c9       : ret
        b2de | a7       : and a          // x-position
        b2df | 28 07    : jr  z,$B2E8
        b2e1 | 3e 04    : ld  a,$04
        b2e3 | f2 e8 b2 : jp  p,$B2E8
        b2e6 | ed 44    : neg
        b2e8 | dd 77 0c : ld  (ix+$0c),a
        b2eb | c9       : ret
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@b2d4 = param</action>
        <action>maincpu.mb@b2e2 = param</action>
    </script>
    <script state="off">
        <action>maincpu.od@27c3 =         230b77dd</action>
        <action>maincpu.md@27c3 =         ab0bffdd</action>
        <action>maincpu.od@27c8 =         ddac77dd</action>
        <action>maincpu.md@27c8 =         dd0c7755</action>
        <action>maincpu.mq@b2d0 = ffffffffffffffff</action>
        <action>maincpu.mq@b2d8 = ffffffffffffffff</action>
        <action>maincpu.mq@b2e0 = ffffffffffffffff</action>
        <action>maincpu.mq@b2e8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed - shot">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x05">02       </item>
        <item value="0x0a">03       </item>
        <item value="0x0f">04       </item>
        <item value="0x14">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@3079 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3079 = 05</action>
    </script>
</cheat>

<cheat desc="fast bomb">
    <script state="on">
        <action>maincpu.mb@2a53 = c7</action>
        <action>maincpu.ob@2a85 = 3e</action>
        <action>maincpu.mb@2a86 = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2a53 = 67</action>
        <action>maincpu.ob@2a85 = d6</action>
        <action>maincpu.mb@2a86 = 06</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@0138 =             b2f0</action>
        <action>maincpu.mq@b2f0 = 00dbc2002116d3af</action>
        <action>maincpu.mq@b2f8 = 01207ffefa2847b8</action>
        <action>maincpu.mq@b300 = effe340120bffe35</action>
        <action>maincpu.mq@b308 = dffe0618f03e0420</action>
        <action>maincpu.mq@b310 = fe787786103e0520</action>
        <action>maincpu.mq@b318 = 051880f67e0520fb</action>
        <action>maincpu.mq@b320 = 1814d3af0320fdfe</action>
        <action>maincpu.mq@b328 = ffffffffffffffcd</action>
        <!--
        b2f0 | af       : xor a        // enable sound
        b2f1 | d3 16    : out ($16),a
        b2f3 | 21 00 c2 : ld  hl,$C200
        b2f6 | db 00    : in  a,($00)  // read input
        b2f8 | b8       : cp  b
        b2f9 | 47       : ld  b,a
        b2fa | 28 fa    : jr  z,$B2F6
        b2fc | fe 7f    : cp  $7F
        b2fe | 20 01    : jr  nz,$B301
        b300 | 35       : dec (hl)     // decrease code -01
        b301 | fe bf    : cp  $BF
        b303 | 20 01    : jr  nz,$B306
        b305 | 34       : inc (hl)     // increase code +01
        b306 | fe ef    : cp  $EF
        b308 | 20 04    : jr  nz,$B30E
        b30a | 3e f0    : ld  a,$F0    // decrease code -10
        b30c | 18 06    : jr  $B314
        b30e | fe df    : cp  $DF
        b310 | 20 05    : jr  nz,$B317
        b312 | 3e 10    : ld  a,$10    // increase code +10
        b314 | 86       : add a,(hl)
        b315 | 77       : ld  (hl),a
        b316 | 78       : ld  a,b
        b317 | fe fb    : cp  $FB
        b319 | 20 05    : jr  nz,$B320
        b31b | 7e       : ld  a,(hl)   // play sound
        b31c | f6 80    : or  $80
        b31e | 18 05    : jr  $B325
        b320 | fe fd    : cp  $FD
        b322 | 20 03    : jr  nz,$B327
        b324 | af       : xor a        // stop sound
        b325 | d3 14    : out ($14),a  // send sound code
        b327 | 18 cd    : jr  $B2F6
        -->
    </script>
    <script state="run">
        <output format="----- regulus 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@c200</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@0138 =             0857</action>
        <action>maincpu.mq@b2f0 = ffffffffffffffff</action>
        <action>maincpu.mq@b2f8 = ffffffffffffffff</action>
        <action>maincpu.mq@b300 = ffffffffffffffff</action>
        <action>maincpu.mq@b308 = ffffffffffffffff</action>
        <action>maincpu.mq@b310 = ffffffffffffffff</action>
        <action>maincpu.mq@b318 = ffffffffffffffff</action>
        <action>maincpu.mq@b320 = ffffffffffffffff</action>
        <action>maincpu.mq@b328 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[regulus]+ Regulus

Post by jman »

regulus.xml

Code: Select all

<!-- Regulus (315-5033, Rev A.) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2556 = 58</action> <!-- background -->
            <action>maincpu.ob@25D1 = C9</action> <!-- pitfall -->
            <action>maincpu.ob@2980 = C3</action> <!-- enemy -->
            <action>maincpu.ob@35A9 = C3</action> <!-- laser -->
            <action>maincpu.ob@363E = C3</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@2556 = DF</action>
            <action>maincpu.ob@25D1 = D8</action>
            <action>maincpu.ob@2980 = CA</action>
            <action>maincpu.ob@35A9 = CA</action>
            <action>maincpu.ob@363E = CA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2AE3 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AE3 = 90</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">
            <!-- y position -->
            <action>maincpu.od@27C3 = 23FFFFCD</action>
            <action>maincpu.md@27C3 = FFB2D0FF</action>
            <!-- x position -->
            <action>maincpu.od@27C8 = DDFFFFCD</action>
            <action>maincpu.md@27C8 = FFB2DEFF</action>
            <!-- main routine -->
            <action>maincpu.mq@B2D0 = B2DAF2003E0728A7</action>
            <action>maincpu.mq@B2D8 = 28A7C90B77DD44ED</action>
            <action>maincpu.mq@B2E0 = 44EDB2E8F2003E07</action>
            <action>maincpu.mq@B2E8 = FFFFFFFFC90C77DD</action>
            <!--
            B2D0 | A7       : and  a          // y position
            B2D1 | 28 07    : jr   z,$B2DA
            B2D3 | 3E xx    : ld   a,$xx
            B2D5 | F2 DA B2 : jp   p,$B2DA
            B2D8 | ED 44    : neg
            B2DA | DD 77 0B : ld   (ix+$0b),a
            B2DD | C9       : ret
            B2DE | A7       : and  a          // x position
            B2DF | 28 07    : jr   z,$B2E8
            B2E1 | 3E xx    : ld   a,$xx
            B2E3 | F2 E8 B2 : jp   p,$B2E8
            B2E6 | ED 44    : neg
            B2E8 | DD 77 0C : ld   (ix+$0c),a
            B2EB | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@B2D4 = param</action>
            <action>maincpu.mb@B2E2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.od@27C3 = 230B77DD        </action>
            <action>maincpu.md@27C3 = AB0BFFDD        </action>
            <action>maincpu.od@27C8 = DDAC77DD        </action>
            <action>maincpu.md@27C8 = DD0C7755        </action>
            <action>maincpu.mq@B2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x05">02       </item>
            <item value="0x0a">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3079 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3079 = 05</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.mb@2A53 = C7</action>
            <action>maincpu.ob@2A85 = 3E</action>
            <action>maincpu.mb@2A86 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A53 = 67</action>
            <action>maincpu.ob@2A85 = D6</action>
            <action>maincpu.mb@2A86 = 06</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@0138 = B2F0            </action>
            <action>maincpu.mq@B2F0 = 00DBC2002116D3AF</action>
            <action>maincpu.mq@B2F8 = 01207FFEFA2847B8</action>
            <action>maincpu.mq@B300 = EFFE340120BFFE35</action>
            <action>maincpu.mq@B308 = DFFE0618F03E0420</action>
            <action>maincpu.mq@B310 = FE787786103E0520</action>
            <action>maincpu.mq@B318 = 051880F67E0520FB</action>
            <action>maincpu.mq@B320 = 1814D3AF0320FDFE</action>
            <action>maincpu.mq@B328 = FFFFFFFFFFFFFFCD</action>
            <!--
            B2F0 | AF       : xor  a        // enable sound
            B2F1 | D3 16    : out  ($16),a
            B2F3 | 21 00 C2 : ld   hl,$C200 // sound code address
            B2F6 | DB 00    : in   a,($00)  // read input
            B2F8 | B8       : cp   b
            B2F9 | 47       : ld   b,a
            B2FA | 28 FA    : jr   z,$B2F6
            B2FC | FE 7F    : cp   $7F
            B2FE | 20 01    : jr   nz,$B301
            B300 | 35       : dec  (hl)     // decrease code -01
            B301 | FE BF    : cp   $BF
            B303 | 20 01    : jr   nz,$B306
            B305 | 34       : inc  (hl)     // increase code +01
            B306 | FE EF    : cp   $EF
            B308 | 20 04    : jr   nz,$B30E
            B30A | 3E F0    : ld   a,$F0    // decrease code -10
            B30C | 18 06    : jr   $B314
            B30E | FE DF    : cp   $DF
            B310 | 20 05    : jr   nz,$B317
            B312 | 3E 10    : ld   a,$10    // increase code +10
            B314 | 86       : add  a,(hl)
            B315 | 77       : ld   (hl),a
            B316 | 78       : ld   a,b
            B317 | FE FB    : cp   $FB
            B319 | 20 05    : jr   nz,$B320
            B31B | 7E       : ld   a,(hl)   // play sound
            B31C | F6 80    : or   $80
            B31E | 18 05    : jr   $B325
            B320 | FE FD    : cp   $FD
            B322 | 20 03    : jr   nz,$B327
            B324 | AF       : xor  a        // stop sound
            B325 | D3 14    : out  ($14),a  // send sound code
            B327 | 18 CD    : jr   $B2F6
            -->
        </script>
        <script state="run">
            <output format="----- regulus 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@C200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0138 = 0857            </action>
            <action>maincpu.mq@B2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B318 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B328 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
reguluso.xml

Code: Select all

<!-- Regulus (315-5033) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2502 = 04</action> <!-- background -->
            <action>maincpu.ob@257D = C9</action> <!-- pitfall -->
            <action>maincpu.ob@292C = C3</action> <!-- enemy -->
            <action>maincpu.ob@3555 = C3</action> <!-- laser -->
            <action>maincpu.ob@35EA = C3</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@2502 = 8B</action>
            <action>maincpu.ob@257D = D8</action>
            <action>maincpu.ob@292C = CA</action>
            <action>maincpu.ob@3555 = CA</action>
            <action>maincpu.ob@35EA = CA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2A8F = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A8F = 90</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">
            <!-- y position -->
            <action>maincpu.od@276F = 23FFFFCD</action>
            <action>maincpu.md@276F = FFB2D0FF</action>
            <!-- x position -->
            <action>maincpu.od@2774 = DDFFFFCD</action>
            <action>maincpu.md@2774 = FFB2DEFF</action>
            <!-- main routine -->
            <action>maincpu.mq@B2D0 = B2DAF2003E0728A7</action>
            <action>maincpu.mq@B2D8 = 28A7C90B77DD44ED</action>
            <action>maincpu.mq@B2E0 = 44EDB2E8F2003E07</action>
            <action>maincpu.mq@B2E8 = FFFFFFFFC90C77DD</action>
            <!--
            B2D0 | A7       : and  a          // y position
            B2D1 | 28 07    : jr   z,$B2DA
            B2D3 | 3E xx    : ld   a,$xx
            B2D5 | F2 DA B2 : jp   p,$B2DA
            B2D8 | ED 44    : neg
            B2DA | DD 77 0B : ld   (ix+$0b),a
            B2DD | C9       : ret
            B2DE | A7       : and  a          // x position
            B2DF | 28 07    : jr   z,$B2E8
            B2E1 | 3E xx    : ld   a,$xx
            B2E3 | F2 E8 B2 : jp   p,$B2E8
            B2E6 | ED 44    : neg
            B2E8 | DD 77 0C : ld   (ix+$0c),a
            B2EB | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@B2D4 = param</action>
            <action>maincpu.mb@B2E2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.od@276F = 230B77DD        </action>
            <action>maincpu.md@276F = 230B77DD        </action>
            <action>maincpu.od@2774 = DD0C77DD        </action>
            <action>maincpu.md@2774 = DD0C77DD        </action>
            <action>maincpu.mq@B2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x05">02       </item>
            <item value="0x0a">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3025 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3025 = 05</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.mb@29FF = C7</action>
            <action>maincpu.ob@2A31 = 3E</action>
            <action>maincpu.mb@2A32 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@29FF = 67</action>
            <action>maincpu.ob@2A31 = D6</action>
            <action>maincpu.mb@2A32 = 06</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@0138 = B2F0            </action>
            <action>maincpu.mq@B2F0 = 00DBC2002116D3AF</action>
            <action>maincpu.mq@B2F8 = 01207FFEFA2847B8</action>
            <action>maincpu.mq@B300 = EFFE340120BFFE35</action>
            <action>maincpu.mq@B308 = DFFE0618F03E0420</action>
            <action>maincpu.mq@B310 = FE787786103E0520</action>
            <action>maincpu.mq@B318 = 051880F67E0520FB</action>
            <action>maincpu.mq@B320 = 1814D3AF0320FDFE</action>
            <action>maincpu.mq@B328 = FFFFFFFFFFFFFFCD</action>
            <!--
            B2F0 | AF       : xor  a        // enable sound
            B2F1 | D3 16    : out  ($16),a
            B2F3 | 21 00 C2 : ld   hl,$C200 // sound code address
            B2F6 | DB 00    : in   a,($00)  // read input
            B2F8 | B8       : cp   b
            B2F9 | 47       : ld   b,a
            B2FA | 28 FA    : jr   z,$B2F6
            B2FC | FE 7F    : cp   $7F
            B2FE | 20 01    : jr   nz,$B301
            B300 | 35       : dec  (hl)     // decrease code -01
            B301 | FE BF    : cp   $BF
            B303 | 20 01    : jr   nz,$B306
            B305 | 34       : inc  (hl)     // increase code +01
            B306 | FE EF    : cp   $EF
            B308 | 20 04    : jr   nz,$B30E
            B30A | 3E F0    : ld   a,$F0    // decrease code -10
            B30C | 18 06    : jr   $B314
            B30E | FE DF    : cp   $DF
            B310 | 20 05    : jr   nz,$B317
            B312 | 3E 10    : ld   a,$10    // increase code +10
            B314 | 86       : add  a,(hl)
            B315 | 77       : ld   (hl),a
            B316 | 78       : ld   a,b
            B317 | FE FB    : cp   $FB
            B319 | 20 05    : jr   nz,$B320
            B31B | 7E       : ld   a,(hl)   // play sound
            B31C | F6 80    : or   $80
            B31E | 18 05    : jr   $B325
            B320 | FE FD    : cp   $FD
            B322 | 20 03    : jr   nz,$B327
            B324 | AF       : xor  a        // stop sound
            B325 | D3 14    : out  ($14),a  // send sound code
            B327 | 18 CD    : jr   $B2F6
            -->
        </script>
        <script state="run">
            <output format="----- regulus 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@C200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0138 = 077A            </action>
            <action>maincpu.mq@B2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B318 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B328 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
regulusu.xml

Code: Select all

<!-- Regulus (not encrypted) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2556 = 58</action> <!-- background -->
            <action>maincpu.mb@25D1 = C9</action> <!-- pitfall -->
            <action>maincpu.mb@2980 = C3</action> <!-- enemy -->
            <action>maincpu.mb@35A9 = C3</action> <!-- laser -->
            <action>maincpu.mb@363E = C3</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@2556 = DF</action>
            <action>maincpu.mb@25D1 = D8</action>
            <action>maincpu.mb@2980 = CA</action>
            <action>maincpu.mb@35A9 = CA</action>
            <action>maincpu.mb@363E = CA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2AE3 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AE3 = 90</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.md@27C3 = 23B2D0CD        </action> <!-- y position -->
            <action>maincpu.md@27C8 = DDB2DECD        </action> <!-- x position -->
            <action>maincpu.mq@B2D0 = B2DAF2003E0728A7</action>
            <action>maincpu.mq@B2D8 = 28A7C90B77DD44ED</action>
            <action>maincpu.mq@B2E0 = 44EDB2E8F2003E07</action>
            <action>maincpu.mq@B2E8 = FFFFFFFFC90C77DD</action>
            <!--
            B2D0 | A7       : and  a          // y position
            B2D1 | 28 07    : jr   z,$B2DA
            B2D3 | 3E xx    : ld   a,$xx
            B2D5 | F2 DA B2 : jp   p,$B2DA
            B2D8 | ED 44    : neg
            B2DA | DD 77 0B : ld   (ix+$0b),a
            B2DD | C9       : ret
            B2DE | A7       : and  a          // x position
            B2DF | 28 07    : jr   z,$B2E8
            B2E1 | 3E xx    : ld   a,$xx
            B2E3 | F2 E8 B2 : jp   p,$B2E8
            B2E6 | ED 44    : neg
            B2E8 | DD 77 0C : ld   (ix+$0c),a
            B2EB | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@B2D4 = param</action>
            <action>maincpu.mb@B2E2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@27C3 = 230B77DD        </action>
            <action>maincpu.md@27C8 = DD0C77DD        </action>
            <action>maincpu.mq@B2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x05">02       </item>
            <item value="0x0a">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3079 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3079 = 05</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.mb@2A53 = C7  </action>
            <action>maincpu.mw@2A85 = 013E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A53 = 67  </action>
            <action>maincpu.mw@2A85 = 06D6</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@0138 = B2F0            </action>
            <action>maincpu.mq@B2F0 = 00DBC2002116D3AF</action>
            <action>maincpu.mq@B2F8 = 01207FFEFA2847B8</action>
            <action>maincpu.mq@B300 = EFFE340120BFFE35</action>
            <action>maincpu.mq@B308 = DFFE0618F03E0420</action>
            <action>maincpu.mq@B310 = FE787786103E0520</action>
            <action>maincpu.mq@B318 = 051880F67E0520FB</action>
            <action>maincpu.mq@B320 = 1814D3AF0320FDFE</action>
            <action>maincpu.mq@B328 = FFFFFFFFFFFFFFCD</action>
            <!--
            B2F0 | AF       : xor  a        // enable sound
            B2F1 | D3 16    : out  ($16),a
            B2F3 | 21 00 C2 : ld   hl,$C200 // sound code address
            B2F6 | DB 00    : in   a,($00)  // read input
            B2F8 | B8       : cp   b
            B2F9 | 47       : ld   b,a
            B2FA | 28 FA    : jr   z,$B2F6
            B2FC | FE 7F    : cp   $7F
            B2FE | 20 01    : jr   nz,$B301
            B300 | 35       : dec  (hl)     // decrease code -01
            B301 | FE BF    : cp   $BF
            B303 | 20 01    : jr   nz,$B306
            B305 | 34       : inc  (hl)     // increase code +01
            B306 | FE EF    : cp   $EF
            B308 | 20 04    : jr   nz,$B30E
            B30A | 3E F0    : ld   a,$F0    // decrease code -10
            B30C | 18 06    : jr   $B314
            B30E | FE DF    : cp   $DF
            B310 | 20 05    : jr   nz,$B317
            B312 | 3E 10    : ld   a,$10    // increase code +10
            B314 | 86       : add  a,(hl)
            B315 | 77       : ld   (hl),a
            B316 | 78       : ld   a,b
            B317 | FE FB    : cp   $FB
            B319 | 20 05    : jr   nz,$B320
            B31B | 7E       : ld   a,(hl)   // play sound
            B31C | F6 80    : or   $80
            B31E | 18 05    : jr   $B325
            B320 | FE FD    : cp   $FD
            B322 | 20 03    : jr   nz,$B327
            B324 | AF       : xor  a        // stop sound
            B325 | D3 14    : out  ($14),a  // send sound code
            B327 | 18 CD    : jr   $B2F6
            -->
        </script>
        <script state="run">
            <output format="----- regulus 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@C200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0138 = 0857            </action>
            <action>maincpu.mq@B2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B318 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B328 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply