Page 1 of 1

[raflesiau] Rafflesia

Posted: Sat Sep 11, 2021 10:07 am
by jman
raflesiau is (re)added in 0.235.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@60c0 = 69</action>
    </script>
    <script state="off">
        <action>maincpu.mb@60c0 = 4e</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.md@64b8 = c6c26fcb</action>
    </script>
    <script state="off">
        <action>maincpu.md@64b8 = c6ca20fe</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0100">01 (slow)</item>
        <item value="0x0280">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0680">04       </item>
        <item value="0x0800">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@257e =  param</action> <!-- up -->
        <action>maincpu.mw@258e = -param</action> <!-- down -->
        <action>maincpu.mw@2598 = -param</action> <!-- left -->
        <action>maincpu.mw@2588 =  param</action> <!-- right -->
        <action>maincpu.mw@2582 =  param</action> <!-- upper-right : up -->
        <action>maincpu.mw@2584 =  param</action> <!-- upper-right : right -->
        <action>maincpu.mw@258a = -param</action> <!-- lower-right : down -->
        <action>maincpu.mw@258c =  param</action> <!-- lower-right : right -->
        <action>maincpu.mw@2592 = -param</action> <!-- lower-left : down -->
        <action>maincpu.mw@2594 = -param</action> <!-- lower-left : left -->
        <action>maincpu.mw@259a =  param</action> <!-- upper-left : up -->
        <action>maincpu.mw@259c = -param</action> <!-- upper-left : left -->
    </script>
    <script state="off">
        <action>maincpu.mw@257e = 0300</action>
        <action>maincpu.mw@258e = fd00</action>
        <action>maincpu.mw@2598 = fe00</action>
        <action>maincpu.mw@2588 = 0200</action>
        <action>maincpu.mw@2582 = 0300</action>
        <action>maincpu.mw@2584 = 0180</action>
        <action>maincpu.mw@258a = fd00</action>
        <action>maincpu.mw@258c = 0180</action>
        <action>maincpu.mw@2592 = fd00</action>
        <action>maincpu.mw@2594 = fe80</action>
        <action>maincpu.mw@259a = 0300</action>
        <action>maincpu.mw@259c = fe80</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x02">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@64e0 = param</action> <!-- shot 1 -->
        <action>maincpu.mb@64f0 = param</action> <!-- shot 2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@64e0 = 08</action>
        <action>maincpu.mb@64f0 = 10</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mq@0066 = 6c1177803ec10021</action>
        <action>maincpu.mq@006e = fec847b800dbd500</action>
        <action>maincpu.mq@0076 = 0120bffe3501207f</action>
        <action>maincpu.mq@007e = 04187e0320fbfe34</action>
        <action>maincpu.mq@0086 = 00c914d3afc0fdfe</action>
        <!--
        0066 | 21 00 c1 : ld   hl,$c100 // sound code address
        0069 | 3e 80    : ld   a,$80    // initialize sound code
        006b | 77       : ld   (hl),a
        006c | 11 6c 00 : ld   de,$006c
        006f | d5       : push de
        0070 | db 00    : in   a,($00)  // read input
        0072 | b8       : cp   b
        0073 | 47       : ld   b,a
        0074 | c8       : ret  z
        0075 | fe 7f    : cp   $7f
        0077 | 20 01    : jr   nz,$007a
        0079 | 35       : dec  (hl)     // decrease code
        007a | fe bf    : cp   $bf
        007c | 20 01    : jr   nz,$007f
        007e | 34       : inc  (hl)     // increase code
        007f | fe fb    : cp   $fb
        0081 | 20 03    : jr   nz,$0086
        0083 | 7e       : ld   a,(hl)   // play sound
        0084 | 18 04    : jr   $008a
        0086 | fe fd    : cp   $fd
        0088 | c0       : ret  nz
        0089 | af       : xor  a        // stop sound
        008a | d3 14    : out  ($14),a  // send sound code
        008c | c9       : ret
        -->
    </script>
    <script state="run">
        <output format="----- rafflesia sound test mode -----" line="10" align="center" />
        <output format="left : code decrement"                 line="11" align="center" />
        <output format="right : code increment"                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@c100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0066 = 01accdc04532013e</action>
        <action>maincpu.mq@006e = 86cbc039210676c3</action>
        <action>maincpu.mq@0076 = c90031f323189ecb</action>
        <action>maincpu.mq@007e = 210b2040e6c0393a</action>
        <action>maincpu.mq@0086 = 0090da01d67ec028</action>
    </script>
</cheat>

[raflesia]+ Rafflesia

Posted: Fri Dec 09, 2022 9:47 am
by jman
I convert the cheat codes from raflesiau to raflesia. raflesia has encrypted region though.

raflesia.xml

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@60b9 = 62</action>
    </script>
    <script state="off">
        <action>maincpu.mb@60b9 = 47</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.od@64b1 = efc26fcb</action>
    </script>
    <script state="off">
        <action>maincpu.od@64b1 = efca70fe</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0100">01 (slow)</item>
        <item value="0x0280">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0680">04       </item>
        <item value="0x0800">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@2577 =  param</action> <!-- up -->
        <action>maincpu.mw@257b =  param</action> <!-- upper-right : up -->
        <action>maincpu.mw@257d =  param</action> <!-- upper-right : right -->
        <action>maincpu.mw@2581 =  param</action> <!-- right -->
        <action>maincpu.mw@2583 = -param</action> <!-- lower-right : down -->
        <action>maincpu.mw@2585 =  param</action> <!-- lower-right : right -->
        <action>maincpu.mw@2587 = -param</action> <!-- down -->
        <action>maincpu.mw@258b = -param</action> <!-- lower-left : down -->
        <action>maincpu.mw@258d = -param</action> <!-- lower-left : left -->
        <action>maincpu.mw@2591 = -param</action> <!-- left -->
        <action>maincpu.mw@2593 =  param</action> <!-- upper-left : up -->
        <action>maincpu.mw@2595 = -param</action> <!-- upper-left : left -->
    </script>
    <script state="off">
        <action>maincpu.mw@2577 = 0300</action>
        <action>maincpu.mw@257b = 0300</action>
        <action>maincpu.mw@257d = 0180</action>
        <action>maincpu.mw@2581 = 0200</action>
        <action>maincpu.mw@2583 = fd00</action>
        <action>maincpu.mw@2585 = 0180</action>
        <action>maincpu.mw@2587 = fd00</action>
        <action>maincpu.mw@258b = fd00</action>
        <action>maincpu.mw@258d = fe80</action>
        <action>maincpu.mw@2591 = fe00</action>
        <action>maincpu.mw@2593 = 0300</action>
        <action>maincpu.mw@2595 = fe80</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x02">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@64d9 = param</action> <!-- shot 1 -->
        <action>maincpu.mb@64e9 = param</action> <!-- shot 2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@64d9 = 08</action>
        <action>maincpu.mb@64e9 = 10</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.oq@0066 = 2847b890db325521</action>
        <action>maincpu.mq@0066 = 01ad8c0045c2006e</action>
        <action>maincpu.oq@006e = 86fe35692056fec3</action>
        <action>maincpu.mq@006e = bf9bc001757f00fa</action>
        <action>maincpu.oq@0076 = 3e5020f3fe349e20</action>
        <action>maincpu.mq@0076 = c90461ef2348019b</action>
        <action>maincpu.oq@007e = 3e5b2010fe90183a</action>
        <action>maincpu.mq@007e = 750574dfb20639f0</action>
        <action>maincpu.oq@0086 = 5520dafe78778678</action>
        <action>maincpu.mq@0086 = 0590fb01832ec010</action>
        <action>maincpu.oq@008e = 205bfe401821f67e</action>
        <action>maincpu.mq@008e = 17fd990565802277</action>
        <action>maincpu.oq@0096 = cbaecb18cbd3af21</action>
        <action>maincpu.mq@0096 = 9efecd9618c03903</action>
        <!--
        0066 | 21 00 c2 : ld  hl,$C200 // sound code address
        0069 | db 00    : in  a,($00)  // read input
        006b | b8       : cp  b
        006c | 47       : ld  b,a
        006d | 28 fa    : jr  z,$0069
        006f | fe 7f    : cp  $7F
        0071 | 20 01    : jr  nz,$0074
        0073 | 35       : dec (hl)     // decrease code -01
        0074 | fe bf    : cp  $BF
        0076 | 20 01    : jr  nz,$0079
        0078 | 34       : inc (hl)     // increase code +01
        0079 | fe ef    : cp  $EF
        007b | 20 04    : jr  nz,$0081
        007d | 3e f0    : ld  a,$F0    // decrease code -10
        007f | 18 06    : jr  $0087
        0081 | fe df    : cp  $DF
        0083 | 20 05    : jr  nz,$008A
        0085 | 3e 10    : ld  a,$10    // increase code +10
        0087 | 86       : add a,(hl)
        0088 | 77       : ld  (hl),a
        0089 | 78       : ld  a,b
        008a | fe fb    : cp  $FB
        008c | 20 05    : jr  nz,$0093
        008e | 7e       : ld  a,(hl)   // play sound
        008f | f6 80    : or  $80
        0091 | 18 05    : jr  $0098
        0093 | fe fd    : cp  $FD
        0095 | 20 03    : jr  nz,$009A
        0097 | af       : xor a        // stop sound
        0098 | d3 18    : out ($18),a  // send sound code
        009a | 18 cd    : jr  $0069
        -->
    </script>
    <script state="run">
        <output format="----- rafflesia 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.oq@005e = fb56ed5b4ccd975a</action>
        <action>maincpu.mq@005e = af06b90b189dc20a</action>
        <action>maincpu.oq@0066 = 51fdcd900132553e</action>
        <action>maincpu.mq@0066 = 01ad8cc04562016e</action>
        <action>maincpu.oq@006e = 86cb9469215622c3</action>
        <action>maincpu.mq@006e = d29bc03975067793</action>
        <action>maincpu.oq@0076 = 995031f373189ecb</action>
        <action>maincpu.mq@0076 = c90061a32348ca9b</action>
        <action>maincpu.oq@007e = 215b2010e690783a</action>
        <action>maincpu.mq@007e = 750b7440b2c0396a</action>
        <action>maincpu.oq@0086 = 55c0da51d67e9478</action>
        <action>maincpu.mq@0086 = 00908f01832ec028</action>
        <action>maincpu.oq@008e = 435bcd4031217727</action>
        <action>maincpu.mq@008e = 170b991065712277</action>
        <action>maincpu.oq@0096 = cbaecbc6cb906d21</action>
        <action>maincpu.mq@0096 = 9efe9e969ec03971</action>
    </script>
</cheat>
The codes for raflesiau is not changed except "sound test mode" (rewrite routine, add up/down key (code ±10)).
The following code is for raflesiau.

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mq@0066 = 2847b800dbc20021</action>
        <action>maincpu.mq@006e = bffe3501207ffefa</action>
        <action>maincpu.mq@0076 = 3e0420effe340120</action>
        <action>maincpu.mq@007e = 3e0520dffe0618f0</action>
        <action>maincpu.mq@0086 = 0520fbfe78778610</action>
        <action>maincpu.mq@008e = 20fdfe051880f67e</action>
        <action>maincpu.mq@0096 = cbaecd1814d3af03</action>
        <!--
        0066 | 21 00 c2 : ld  hl,$C200 // sound code address
        0069 | db 00    : in  a,($00)  // read input
        006b | b8       : cp  b
        006c | 47       : ld  b,a
        006d | 28 fa    : jr  z,$0069
        006f | fe 7f    : cp  $7F
        0071 | 20 01    : jr  nz,$0074
        0073 | 35       : dec (hl)     // decrease code -01
        0074 | fe bf    : cp  $BF
        0076 | 20 01    : jr  nz,$0079
        0078 | 34       : inc (hl)     // increase code +01
        0079 | fe ef    : cp  $EF
        007b | 20 04    : jr  nz,$0081
        007d | 3e f0    : ld  a,$F0    // decrease code -10
        007f | 18 06    : jr  $0087
        0081 | fe df    : cp  $DF
        0083 | 20 05    : jr  nz,$008A
        0085 | 3e 10    : ld  a,$10    // increase code +10
        0087 | 86       : add a,(hl)
        0088 | 77       : ld  (hl),a
        0089 | 78       : ld  a,b
        008a | fe fb    : cp  $FB
        008c | 20 05    : jr  nz,$0093
        008e | 7e       : ld  a,(hl)   // play sound
        008f | f6 80    : or  $80
        0091 | 18 05    : jr  $0098
        0093 | fe fd    : cp  $FD
        0095 | 20 03    : jr  nz,$009A
        0097 | af       : xor a        // stop sound
        0098 | d3 14    : out ($14),a  // send sound code
        009a | 18 cd    : jr  $0069
        -->
    </script>
    <script state="run">
        <output format="----- rafflesia 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.mq@0066 = 01accdc04532013e</action>
        <action>maincpu.mq@006e = 86cbc039210676c3</action>
        <action>maincpu.mq@0076 = c90031f323189ecb</action>
        <action>maincpu.mq@007e = 210b2040e6c0393a</action>
        <action>maincpu.mq@0086 = 0090da01d67ec028</action>
        <action>maincpu.mq@008e = 16e6cd1048217727</action>
        <action>maincpu.mq@0096 = cbaecbc6cbc03921</action>
    </script>
</cheat>

[raflesia]+ Rafflesia

Posted: Wed Feb 14, 2024 12:18 am
by jman
raflesia.xml

Code: Select all

<!-- Rafflesia (315-5162) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@60B9 = 62</action>
        </script>
        <script state="off">
            <action>maincpu.mb@60B9 = 47</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.od@64B1 = EFC26FCB</action>
        </script>
        <script state="off">
            <action>maincpu.od@64B1 = EFCA70FE</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0280">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0680">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@2577 =  param</action> <!-- up -->
            <action>maincpu.mw@257B =  param</action> <!-- upper-right : up -->
            <action>maincpu.mw@257D =  param</action> <!-- upper-right : right -->
            <action>maincpu.mw@2581 =  param</action> <!-- right -->
            <action>maincpu.mw@2583 = -param</action> <!-- lower-right : down -->
            <action>maincpu.mw@2585 =  param</action> <!-- lower-right : right -->
            <action>maincpu.mw@2587 = -param</action> <!-- down -->
            <action>maincpu.mw@258B = -param</action> <!-- lower-left : down -->
            <action>maincpu.mw@258D = -param</action> <!-- lower-left : left -->
            <action>maincpu.mw@2591 = -param</action> <!-- left -->
            <action>maincpu.mw@2593 =  param</action> <!-- upper-left : up -->
            <action>maincpu.mw@2595 = -param</action> <!-- upper-left : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@2577 = 0300</action>
            <action>maincpu.mw@257B = 0300</action>
            <action>maincpu.mw@257D = 0180</action>
            <action>maincpu.mw@2581 = 0200</action>
            <action>maincpu.mw@2583 = FD00</action>
            <action>maincpu.mw@2585 = 0180</action>
            <action>maincpu.mw@2587 = FD00</action>
            <action>maincpu.mw@258B = FD00</action>
            <action>maincpu.mw@258D = FE80</action>
            <action>maincpu.mw@2591 = FE00</action>
            <action>maincpu.mw@2593 = 0300</action>
            <action>maincpu.mw@2595 = FE80</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x02">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@64D9 = param</action> <!-- shot 1 -->
            <action>maincpu.mb@64E9 = param</action> <!-- shot 2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@64D9 = 08</action>
            <action>maincpu.mb@64E9 = 10</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.oq@0066 = 2847B890DB325521</action>
            <action>maincpu.mq@0066 = 01AD8C0045C2006E</action>
            <action>maincpu.oq@006E = 86FE35692056FEC3</action>
            <action>maincpu.mq@006E = BF9BC001757F00FA</action>
            <action>maincpu.oq@0076 = 3E5020F3FE349E20</action>
            <action>maincpu.mq@0076 = C90461EF2348019B</action>
            <action>maincpu.oq@007E = 3E5B2010FE90183A</action>
            <action>maincpu.mq@007E = 750574DFB20639F0</action>
            <action>maincpu.oq@0086 = 5520DAFE78778678</action>
            <action>maincpu.mq@0086 = 0590FB01832EC010</action>
            <action>maincpu.oq@008E = 205BFE401821F67E</action>
            <action>maincpu.mq@008E = 17FD990565802277</action>
            <action>maincpu.oq@0096 = CBAECB18CBD3AF21</action>
            <action>maincpu.mq@0096 = 9EFECD9618C03903</action>
            <!--
            0066 | 21 00 C2 : ld   hl,$C200 // sound code address
            0069 | DB 00    : in   a,($00)  // read input
            006B | B8       : cp   b
            006C | 47       : ld   b,a
            006D | 28 FA    : jr   z,$0069
            006F | FE 7F    : cp   $7F
            0071 | 20 01    : jr   nz,$0074
            0073 | 35       : dec  (hl)     // decrease code -01
            0074 | FE BF    : cp   $BF
            0076 | 20 01    : jr   nz,$0079
            0078 | 34       : inc  (hl)     // increase code +01
            0079 | FE EF    : cp   $EF
            007B | 20 04    : jr   nz,$0081
            007D | 3E F0    : ld   a,$F0    // decrease code -10
            007F | 18 06    : jr   $0087
            0081 | FE DF    : cp   $DF
            0083 | 20 05    : jr   nz,$008A
            0085 | 3E 10    : ld   a,$10    // increase code +10
            0087 | 86       : add  a,(hl)
            0088 | 77       : ld   (hl),a
            0089 | 78       : ld   a,b
            008A | FE FB    : cp   $FB
            008C | 20 05    : jr   nz,$0093
            008E | 7E       : ld   a,(hl)   // play sound
            008F | F6 80    : or   $80
            0091 | 18 05    : jr   $0098
            0093 | FE FD    : cp   $FD
            0095 | 20 03    : jr   nz,$009A
            0097 | AF       : xor  a        // stop sound
            0098 | D3 18    : out  ($18),a  // send sound code
            009A | 18 CD    : jr   $0069
            -->
        </script>
        <script state="run">
            <output format="----- rafflesia 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.oq@005E = FB56ED5B4CCD975A</action>
            <action>maincpu.mq@005E = AF06B90B189DC20A</action>
            <action>maincpu.oq@0066 = 51FDCD900132553E</action>
            <action>maincpu.mq@0066 = 01AD8CC04562016E</action>
            <action>maincpu.oq@006E = 86CB9469215622C3</action>
            <action>maincpu.mq@006E = D29BC03975067793</action>
            <action>maincpu.oq@0076 = 995031F373189ECB</action>
            <action>maincpu.mq@0076 = C90061A32348CA9B</action>
            <action>maincpu.oq@007E = 215B2010E690783A</action>
            <action>maincpu.mq@007E = 750B7440B2C0396A</action>
            <action>maincpu.oq@0086 = 55C0DA51D67E9478</action>
            <action>maincpu.mq@0086 = 00908F01832EC028</action>
            <action>maincpu.oq@008E = 435BCD4031217727</action>
            <action>maincpu.mq@008E = 170B991065712277</action>
            <action>maincpu.oq@0096 = CBAECBC6CB906D21</action>
            <action>maincpu.mq@0096 = 9EFE9E969EC03971</action>
        </script>
    </cheat>

</mamecheat>
raflesiau.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@60C0 = 69</action>
        </script>
        <script state="off">
            <action>maincpu.mb@60C0 = 4E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@64B8 = C6C26FCB</action>
        </script>
        <script state="off">
            <action>maincpu.md@64B8 = C6CA20FE</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0280">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0680">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@257E =  param</action> <!-- up -->
            <action>maincpu.mw@2582 =  param</action> <!-- upper-right : up -->
            <action>maincpu.mw@2584 =  param</action> <!-- upper-right : right -->
            <action>maincpu.mw@2588 =  param</action> <!-- right -->
            <action>maincpu.mw@258A = -param</action> <!-- lower-right : down -->
            <action>maincpu.mw@258C =  param</action> <!-- lower-right : right -->
            <action>maincpu.mw@258E = -param</action> <!-- down -->
            <action>maincpu.mw@2592 = -param</action> <!-- lower-left : down -->
            <action>maincpu.mw@2594 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mw@2598 = -param</action> <!-- left -->
            <action>maincpu.mw@259A =  param</action> <!-- upper-left : up -->
            <action>maincpu.mw@259C = -param</action> <!-- upper-left : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@257E = 0300</action>
            <action>maincpu.mw@2582 = 0300</action>
            <action>maincpu.mw@2584 = 0180</action>
            <action>maincpu.mw@2588 = 0200</action>
            <action>maincpu.mw@258A = FD00</action>
            <action>maincpu.mw@258C = 0180</action>
            <action>maincpu.mw@258E = FD00</action>
            <action>maincpu.mw@2592 = FD00</action>
            <action>maincpu.mw@2594 = FE80</action>
            <action>maincpu.mw@2598 = FE00</action>
            <action>maincpu.mw@259A = 0300</action>
            <action>maincpu.mw@259C = FE80</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x02">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@64E0 = param</action> <!-- shot 1 -->
            <action>maincpu.mb@64F0 = param</action> <!-- shot 2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@64E0 = 08</action>
            <action>maincpu.mb@64F0 = 10</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@0066 = 2847B800DBC20021</action>
            <action>maincpu.mq@006E = BFFE3501207FFEFA</action>
            <action>maincpu.mq@0076 = 3E0420EFFE340120</action>
            <action>maincpu.mq@007E = 3E0520DFFE0618F0</action>
            <action>maincpu.mq@0086 = 0520FBFE78778610</action>
            <action>maincpu.mq@008E = 20FDFE051880F67E</action>
            <action>maincpu.mq@0096 = CBAECD1814D3AF03</action>
            <!--
            0066 | 21 00 C2 : ld   hl,$C200 // sound code address
            0069 | DB 00    : in   a,($00)  // read input
            006B | B8       : cp   b
            006C | 47       : ld   b,a
            006D | 28 FA    : jr   z,$0069
            006F | FE 7F    : cp   $7F
            0071 | 20 01    : jr   nz,$0074
            0073 | 35       : dec  (hl)     // decrease code -01
            0074 | FE BF    : cp   $BF
            0076 | 20 01    : jr   nz,$0079
            0078 | 34       : inc  (hl)     // increase code +01
            0079 | FE EF    : cp   $EF
            007B | 20 04    : jr   nz,$0081
            007D | 3E F0    : ld   a,$F0    // decrease code -10
            007F | 18 06    : jr   $0087
            0081 | FE DF    : cp   $DF
            0083 | 20 05    : jr   nz,$008A
            0085 | 3E 10    : ld   a,$10    // increase code +10
            0087 | 86       : add  a,(hl)
            0088 | 77       : ld   (hl),a
            0089 | 78       : ld   a,b
            008A | FE FB    : cp   $FB
            008C | 20 05    : jr   nz,$0093
            008E | 7E       : ld   a,(hl)   // play sound
            008F | F6 80    : or   $80
            0091 | 18 05    : jr   $0098
            0093 | FE FD    : cp   $FD
            0095 | 20 03    : jr   nz,$009A
            0097 | AF       : xor  a        // stop sound
            0098 | D3 14    : out  ($14),a  // send sound code
            009A | 18 CD    : jr   $0069
            -->
        </script>
        <script state="run">
            <output format="----- rafflesia 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.mq@0066 = 01ACCDC04532013E</action>
            <action>maincpu.mq@006E = 86CBC039210676C3</action>
            <action>maincpu.mq@0076 = C90031F323189ECB</action>
            <action>maincpu.mq@007E = 210B2040E6C0393A</action>
            <action>maincpu.mq@0086 = 0090DA01D67EC028</action>
            <action>maincpu.mq@008E = 16E6CD1048217727</action>
            <action>maincpu.mq@0096 = CBAECBC6CBC03921</action>
        </script>
    </cheat>

</mamecheat>