[rougien] Rougien

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

[rougien] Rougien

Post by jman »

rougien.xml

Code: Select all

<!-- Rougien -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.md@2550 = 009990CD        </action>
            <action>maincpu.mq@9990 = 9521DD03FEC15A3A</action>
            <action>maincpu.mq@9998 = FFC9C19F21DDC0C1</action>
            <!--
            9990 | 3A 5A C1    : ld   a,($C15A) // check current scene
            9993 | FE 03       : cp   $03
            9995 | DD 21 95 C1 : ld   ix,$C195
            9999 | C0          : ret  nz
            999A | DD 21 9F C1 : ld   ix,$C19F
            999E | C9          : ret
            -->
            <action>maincpu.mb@2C2B = 00</action> <!-- wall (scene 3) -->
            <action>maincpu.mb@2C43 = 18</action> <!-- wall (scene 3) -->
        </script>
        <script state="off">
            <action>maincpu.md@2550 = C19021DD        </action>
            <action>maincpu.mq@9990 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9998 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@2C2B = 04              </action>
            <action>maincpu.mb@2C43 = 28              </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@28F0 = 01</action>
            <action>maincpu.mb@28FF = 03</action>
        </script>
        <script state="off">
            <action>maincpu.mb@28F0 = 14</action>
            <action>maincpu.mb@28FF = 72</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@2B28 = 2399AFCD        </action> <!-- y position -->
            <action>maincpu.md@2B2D = FD99B6CD        </action> <!-- x position -->
            <action>maincpu.mq@99A0 = F2003E0828A77A5F</action>
            <action>maincpu.mq@99A8 = CDC97B5744ED99AC</action>
            <action>maincpu.mq@99B0 = A0CDC90472FD99A0</action>
            <action>maincpu.mq@99B8 = FFFFFFC90572FD99</action>
            <!--
            99A0 | 5F       : ld   e,a        // speed calculation routine
            99A1 | 7A       : ld   a,d
            99A2 | A7       : and  a
            99A3 | 28 08    : jr   z,$99AD
            99A5 | 3E xx    : ld   a,$xx
            99A7 | F2 AC 99 : jp   p,$99AC
            99AA | ED 44    : neg
            99AC | 57       : ld   d,a
            99AD | 7B       : ld   a,e
            99AE | C9       : ret
            99AF | CD A0 99 : call $99A0      // y position
            99B2 | FD 72 04 : ld   (iy+$04),d
            99B5 | C9       : ret
            99B6 | CD A0 99 : call $99A0      // x position
            99B9 | FD 72 05 : ld   (iy+$05),d
            99BC | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@99A6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2B28 = 230472FD        </action>
            <action>maincpu.md@2B2D = FD0572FD        </action>
            <action>maincpu.mq@9AA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9AA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9AB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9AB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop samples (0x1A-0x1C) by sound stop button -->
        <!-- code 0x1D causes the game freeze -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@176B = C9              </action> <!-- sample play routine stopper -->
            <action>maincpu.mb@2D4D = C9              </action> <!-- sound stop routine stopper -->
            <action>maincpu.mb@30EF = C9              </action> <!-- sample play routine stopper -->
            <action>maincpu.mb@32F7 = C9              </action> <!-- sample play routine stopper -->
            <action>maincpu.mb@8A87 = 00              </action> <!-- disable sound code check -->
            <action>maincpu.mw@2D3A = 99C0            </action>
            <action>maincpu.mq@99C0 = 47B8E8003AC00021</action>
            <action>maincpu.mq@99C8 = FE35012004FEF928</action>
            <action>maincpu.mq@99D0 = 042008FE34012002</action>
            <action>maincpu.mq@99D8 = 052001FE0618F03E</action>
            <action>maincpu.mq@99E0 = 2010FE787786103E</action>
            <action>maincpu.mq@99E8 = DFCD05201AFE7E23</action>
            <action>maincpu.mq@99F0 = CD05201BFE221830</action>
            <action>maincpu.mq@99F8 = 05201CFE1918175A</action>
            <action>maincpu.mq@9A00 = C7CDD9101832E7CD</action>
            <action>maincpu.mq@9A08 = 052020FE0918D914</action>
            <action>maincpu.mq@9A10 = FFAC18D92D3FCDD9</action>
            <!--
            99C0 | 21 00 C0 : ld   hl,$C000  // sound code address
            99C3 | 3A 00 E8 : ld   a,($E800) // read input
            99C6 | B8       : cp   b
            99C7 | 47       : ld   b,a
            99C8 | 28 F9    : jr   z,$99C3
            99CA | FE 04    : cp   $04
            99CC | 20 01    : jr   nz,$99CF
            99CE | 35       : dec  (hl)      // decrease code -01
            99CF | FE 02    : cp   $02
            99D1 | 20 01    : jr   nz,$99D4
            99D3 | 34       : inc  (hl)      // increase code +01
            99D4 | FE 08    : cp   $08
            99D6 | 20 04    : jr   nz,$99DC
            99D8 | 3E F0    : ld   a,$F0     // decrease code -10
            99DA | 18 06    : jr   $99E2
            99DC | FE 01    : cp   $01
            99DE | 20 05    : jr   nz,$99E5
            99E0 | 3E 10    : ld   a,$10     // increase code +10
            99E2 | 86       : add  a,(hl)
            99E3 | 77       : ld   (hl),a
            99E4 | 78       : ld   a,b
            99E5 | FE 10    : cp   $10
            99E7 | 20 23    : jr   nz,$9A0C
            99E9 | 7E       : ld   a,(hl)    // play sound
            99EA | FE 1A    : cp   $1A
            99EC | 20 05    : jr   nz,$99F3
            99EE | CD DF 30 : call $30DF     // voice "rougien"
            99F1 | 18 22    : jr   $9A15
            99F3 | FE 1B    : cp   $1B
            99F5 | 20 05    : jr   nz,$99FC
            99F7 | CD 5A 17 : call $175A     // voice cry
            99FA | 18 19    : jr   $9A15
            99FC | FE 1C    : cp   $1C
            99FE | 20 05    : jr   nz,$9A05
            9A00 | CD E7 32 : call $32E7     // voice laugh
            9A03 | 18 10    : jr   $9A15
            9A05 | D9       : exx
            9A06 | CD C7 14 : call $14C7     // other sounds
            9A09 | D9       : exx
            9A0A | 18 09    : jr   $9A15
            9A0C | FE 20    : cp   $20
            9A0E | 20 05    : jr   nz,$9A15
            9A10 | D9       : exx            // stop sound
            9A11 | CD 3F 2D : call $2D3F
            9A14 | D9       : exx
            9A15 | 18 AC    : jr   $99C3
            -->
        </script>
        <script state="run">
            <output format="----- 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="start : 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@176B = 32              </action>
            <action>maincpu.mb@2D4D = 21              </action>
            <action>maincpu.mb@30EF = 3E              </action>
            <action>maincpu.mb@32F7 = 3E              </action>
            <action>maincpu.mb@8A87 = C8              </action>
            <action>maincpu.mw@2D3A = 960A            </action>
            <action>maincpu.mq@99C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@99F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9A00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9A08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@9A10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : You can't stop samples (0x1A-0x1C) by sound stop button. Code 0x1D causes the game freeze
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply