[rygarj] Rygar/Argus no Senshi

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

[rygarj] Rygar/Argus no Senshi

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.md@3aaa =         cb2750cd</action>
        <action>maincpu.mq@2750 = 3a082847cbc0383a</action>
        <action>maincpu.mq@2758 = 3ac0563202f6c056</action>
        <action>maincpu.mq@2760 = ffffffffffc9c028</action>
        <!--
        2750 | 3a 38 c0 : ld  a,($c038)
        2753 | cb 47    : bit 0,a
        2755 | 28 08    : jr  z,$275f
        2757 | 3a 56 c0 : ld  a,($c056)
        275a | f6 02    : or  $02
        275c | 32 56 c0 : ld  ($c056),a
        275f | 3a 28 c0 : ld  a,($c038)
        2762 | c9       : ret
        -->
    </script>
    <script state="off">
        <action>maincpu.md@3aaa =         cbc0283a</action>
        <action>maincpu.mq@2750 = ffffffffffffffff</action>
        <action>maincpu.mq@2758 = ffffffffffffffff</action>
        <action>maincpu.mq@2760 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.md@3adc =         cb2740cd</action>
        <action>maincpu.mq@2740 = dd042847cbc0563a</action>
        <action>maincpu.mq@2748 = ffc9017edd8601cb</action>
        <!--
        2740 | 3a 56 c0    : ld  a,($c056)
        2743 | cb 47       : bit 0,a
        2744 | 28 04       : jr  z,$2749
        2745 | dd cb 01 86 : res 0,(ix+$01)
        2749 | dd 7e 01    : ld  a,(ix+$01)
        274c | c9          : ret
        -->
    </script>
    <script state="off">
        <action>maincpu.md@3adc =         cb017edd</action>
        <action>maincpu.mq@2740 = dd042847cbc0563a</action>
        <action>maincpu.mq@2748 = ffc9017edd8601cb</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.md@109d =         112770c3</action>
        <action>maincpu.mq@2770 = 003ac10022010021</action>
        <action>maincpu.mq@2778 = b0f8013a470707f8</action>
        <action>maincpu.mq@2780 = 012008feef286fbd</action>
        <action>maincpu.mq@2788 = 01fe25012004fe24</action>
        <action>maincpu.mq@2790 = 2002fe06187c0320</action>
        <action>maincpu.mq@2798 = d318f80632003e05</action>
        <!--
        2770 | 21 00 01 : ld  hl,$0100   // initialize sound and input values
        2773 | 22 00 c1 : ld  ($c100),hl
        2776 | 3a 00 f8 : ld  a,($f800)  // read joystick input
        2779 | 07       : rlca
        277a | 07       : rlca
        277b | 47       : ld  b,a
        277c | 3a 01 f8 : ld  a,($f801)  // read button input
        277f | b0       : or  b
        2780 | bd       : cp  l
        2781 | 6f       : ld  l,a
        2782 | 28 ef    : jr  z,$2773
        2784 | fe 08    : cp  $08
        2786 | 20 01    : jr  nz,$2789
        2788 | 24       : inc h          // decrease code
        2789 | fe 04    : cp  $04
        278b | 20 01    : jr  nz,$278e
        278d | 25       : dec h          // increase code
        278e | fe 01    : cp  $01
        2790 | 20 03    : jr  nz,$2795
        2792 | 7c       : ld  a,h        // play sound
        2793 | 18 06    : jr  $279b
        2795 | fe 02    : cp  $02
        2797 | 20 05    : jr  nz,$279e
        2799 | 3e 00    : ld  a,$00      // stop sound
        279b | 32 06 f8 : ld  ($f806),a  // send sound code
        279e | 18 d3    : jr  $2773
        -->
    </script>
    <script state="run">
        <output format="----- argus no senshi sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                        line="11" align="center" />
        <output format="right : increase code"                       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@c101</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@109d =         11123421</action>
        <action>maincpu.mq@2770 = ffffffffffffffff</action>
        <action>maincpu.mq@2778 = ffffffffffffffff</action>
        <action>maincpu.mq@2780 = ffffffffffffffff</action>
        <action>maincpu.mq@2788 = ffffffffffffffff</action>
        <action>maincpu.mq@2790 = ffffffffffffffff</action>
        <action>maincpu.mq@2798 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.md@10a0 = 0111c1c3</action>
    </script>
    <script state="off">
        <action>maincpu.md@10a0 = 01c98311</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[rygarj] Rygar/Argus no Senshi (update)

Post by jman »

rygarj2 will be added in 0.258. Basic codes seem to be the same as rygarj.

Code: Select all

<!-- Argus no Senshi (Japan set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4560 = f8</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4560 = 49</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@3d19 =             27b0</action>
            <action>maincpu.mw@3d29 =             27b0</action>
            <action>maincpu.mw@3f84 =             27b0</action>
            <action>maincpu.mq@27b0 = c0fec0d53a2800cd</action>
            <action>maincpu.mq@27b8 = ffff9cc927bd21d8</action>
            <!--
            27b0 | cd 00 28 : call $2800
            27b3 | 3a d5 c0 : ld   a,($C0D5)
            27b6 | fe c0    : cp   $C0
            27b8 | d8       : ret  c
            27b9 | 21 bd 27 : ld   hl,$27BD
            27bc | c9       : ret
            27bd | 9c       : foothold value
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3d19 =             2800</action>
            <action>maincpu.mw@3d29 =             2800</action>
            <action>maincpu.mw@3f84 =             2800</action>
            <action>maincpu.mq@27b0 = ffffffffffffffff</action>
            <action>maincpu.mq@27b8 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@3aaa =         cb2740cd</action>
            <action>maincpu.mq@2740 = 3a082847cbc0383a</action>
            <action>maincpu.mq@2748 = 3ac0563202f6c056</action>
            <action>maincpu.mq@2750 = ffffffffffc9c028</action>
            <!--
            2740 | 3a 38 c0 : ld  a,($C038)
            2743 | cb 47    : bit 0,a
            2745 | 28 08    : jr  z,$274F
            2747 | 3a 56 c0 : ld  a,($C056)
            274a | f6 02    : or  $02
            274c | 32 56 c0 : ld  ($C056),a
            274f | 3a 28 c0 : ld  a,($C028)
            2752 | c9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3aaa =         cbc0283a</action>
            <action>maincpu.mq@2740 = ffffffffffffffff</action>
            <action>maincpu.mq@2748 = ffffffffffffffff</action>
            <action>maincpu.mq@2750 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@3adc =         cb2760cd</action>
            <action>maincpu.mq@2760 = dd042847cbc0563a</action>
            <action>maincpu.mq@2768 = ffc9017edd8601cb</action>
            <!--
            2760 | 3a 56 c0    : ld  a,($C056)
            2763 | cb 47       : bit 0,a
            2765 | 28 04       : jr  z,$276B
            2767 | dd cb 01 86 : res 0,(ix+$01)
            276b | dd 7e 01    : ld  a,(ix+$01)
            276e | c9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3adc =         cb017edd</action>
            <action>maincpu.mq@2760 = ffffffffffffffff</action>
            <action>maincpu.mq@2768 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="always have all items (test)">
        <script state="on">
            <action>maincpu.mb@0984 = c9</action> <!-- penetration -->
            <action>maincpu.mb@359a = 00</action> <!-- long range -->
            <action>maincpu.mb@3621 = 00</action> <!-- upper attack -->
            <action>maincpu.mb@4980 = 18</action> <!-- stamp -->
        </script>
        <script state="off">
            <action>maincpu.mb@0984 = c0</action>
            <action>maincpu.mb@359a = 03</action>
            <action>maincpu.mb@3621 = 03</action>
            <action>maincpu.mb@4980 = 20</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7f">01 (slow)</item>
            <item value="0x3f">02       </item>
            <item value="0x1f">03       </item>
            <item value="0x07">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@4a6d =               18</action>
            <action>maincpu.md@4a7f =         1a27c0cd</action>
            <action>maincpu.mq@27c0 = f1022800e6c0c23a</action>
            <action>maincpu.mq@27c8 = ffffffc912911ac9</action>
            <!--
            27c0 | 3a c2 c0 : ld  a,($C0C2)
            27c3 | e6 xx    : and $xx
            27c5 | 28 02    : jr  z,$27C9
            27c7 | f1       : pop af
            27c8 | c9       : ret
            27c9 | 1a       : ld  a,(de)
            27ca | 91       : sub c
            27cb | 12       : ld  (de),a
            27cc | c9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@27c4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4a6d =               20</action>
            <action>maincpu.md@4a7f =         1a12911a</action>
            <action>maincpu.mq@27c0 = ffffffffffffffff</action>
            <action>maincpu.mq@27c8 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@109d =         112770c3</action>
            <action>maincpu.mq@2770 = 0707f8013ac10021</action>
            <action>maincpu.mq@2778 = b9b0f8003a470707</action>
            <action>maincpu.mq@2780 = 35012001fef0284f</action>
            <action>maincpu.mq@2788 = 2004fe34012002fe</action>
            <action>maincpu.mq@2790 = 2008fe0618f03e04</action>
            <action>maincpu.mq@2798 = 10fe797786103e05</action>
            <action>maincpu.mq@27a0 = 2020fe05187e0320</action>
            <action>maincpu.mq@27a8 = ffc418f80632af04</action>
            <!--
            2770 | 21 00 c1 : ld   hl,$C100  // sound code address
            2773 | 3a 01 f8 : ld   a,($F801) // read button inputs
            2776 | 07       : rlca
            2777 | 07       : rlca
            2778 | 07       : rlca
            2779 | 07       : rlca
            277a | 47       : ld   b,a
            277b | 3a 00 f8 : ld   a,($F800) // read joystick
            277e | b0       : or   b
            277f | b9       : cp   c
            2780 | 4f       : ld   c,a
            2781 | 28 f0    : jr   z,$2773
            2783 | fe 01    : cp   $01
            2785 | 20 01    : jr   nz,$2788
            2787 | 35       : dec  (hl)      // decrease code -01
            2788 | fe 02    : cp   $02
            278a | 20 01    : jr   nz,$278D
            278c | 34       : inc  (hl)      // increase code +01
            278d | fe 04    : cp   $04
            278f | 20 04    : jr   nz,$2795
            2791 | 3e f0    : ld   a,$F0     // decrease code -10
            2793 | 18 06    : jr   $279B
            2795 | fe 08    : cp   $08
            2797 | 20 05    : jr   nz,$279E
            2799 | 3e 10    : ld   a,$10     // increase code +10
            279b | 86       : add  a,(hl)
            279c | 77       : ld   (hl),a
            279d | 79       : ld   a,c
            279e | fe 10    : cp   $10
            27a0 | 20 03    : jr   nz,$27A5
            27a2 | 7e       : ld   a,(hl)    // play sound
            27a3 | 18 05    : jr   $27AA
            27a5 | fe 20    : cp   $20
            27a7 | 20 04    : jr   nz,$27AD
            27a9 | af       : xor  a         // stop sound
            27aa | 32 06 f8 : ld   ($F806),a // send sound code
            27ad | 18 c4    : jr   $2773
            -->
        </script>
        <script state="run">
            <output format="----- argus no senshi 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@c100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@109d =         11123421</action>
            <action>maincpu.mq@2770 = ffffffffffffffff</action>
            <action>maincpu.mq@2778 = ffffffffffffffff</action>
            <action>maincpu.mq@2780 = ffffffffffffffff</action>
            <action>maincpu.mq@2788 = ffffffffffffffff</action>
            <action>maincpu.mq@2790 = ffffffffffffffff</action>
            <action>maincpu.mq@2798 = ffffffffffffffff</action>
            <action>maincpu.mq@27a0 = ffffffffffffffff</action>
            <action>maincpu.mq@27a8 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10a0 = 0111c1c3</action>
        </script>
        <script state="off">
            <action>maincpu.md@10a0 = 01c98311</action>
        </script>
    </cheat>

</mamecheat>
  • "no fall down" : add new. it means that "stop fall down at certain height". You can walk along underground passage.
  • "always have all items" : add new as test. "invincibility" item conflicts with "no hit" code so that I remove the code for this item.
  • "timer speed" : add new.
  • "sound test mode" : you can't stop some sfxs/voices by sound stop button.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[rygar]+ Rygar/Argus no Senshi

Post by jman »

rygar.xml

Code: Select all

<!-- Rygar (US set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4560 = F8</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4560 = 49</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@3D19 = 2770            </action>
            <action>maincpu.mw@3D29 = 2770            </action>
            <action>maincpu.mw@3F84 = 2770            </action>
            <action>maincpu.mq@2770 = C0FEC0D53A2800CD</action>
            <action>maincpu.mq@2778 = FFFF9CC9277D21D8</action>
            <!--
            2770 | CD 00 28 : call $2800
            2773 | 3A D5 C0 : ld   a,($C0D5)
            2776 | FE C0    : cp   $C0
            2778 | D8       : ret  c
            2779 | 21 7D 27 : ld   hl,$277D
            277C | C9       : ret
            277D | 9C       : - foothold value -
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3D19 = 2800            </action>
            <action>maincpu.mw@3D29 = 2800            </action>
            <action>maincpu.mw@3F84 = 2800            </action>
            <action>maincpu.mq@2770 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2778 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@3AAA = CB2780CD        </action>
            <action>maincpu.mq@2780 = 3A082847CBC0383A</action>
            <action>maincpu.mq@2788 = 3AC0563202F6C056</action>
            <action>maincpu.mq@2790 = FFFFFFFFFFC9C028</action>
            <!--
            2780 | 3A 38 C0 : ld   a,($C038)
            2783 | CB 47    : bit  0,a
            2785 | 28 08    : jr   z,$278F
            2787 | 3A 56 C0 : ld   a,($C056)
            278A | F6 02    : or   $02
            278C | 32 56 C0 : ld   ($C056),a
            278F | 3A 28 C0 : ld   a,($C028)
            2792 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3AAA = CBC0283A        </action>
            <action>maincpu.mq@2780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2788 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2790 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@3ADC = CB27A0CD        </action>
            <action>maincpu.mq@27A0 = DD042847CBC0563A</action>
            <action>maincpu.mq@27A8 = FFC9017EDD8601CB</action>
            <!--
            27A0 | 3A 56 C0    : ld   a,($C056)
            27A3 | CB 47       : bit  0,a
            27A5 | 28 04       : jr   z,$27AB
            27A7 | DD CB 01 86 : res  0,(ix+$01)
            27AB | DD 7E 01    : ld   a,(ix+$01)
            27AE | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3ADC = CB017EDD        </action>
            <action>maincpu.mq@27A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all items (test)">
        <comment>this code doesn't have invincibility barrier</comment>
        <script state="on">
            <action>maincpu.mb@0984 = C9</action> <!-- penetration -->
            <action>maincpu.mb@359A = 00</action> <!-- long range -->
            <action>maincpu.mb@3621 = 00</action> <!-- upper attack -->
            <action>maincpu.mb@4980 = 18</action> <!-- stamp -->
        </script>
        <script state="off">
            <action>maincpu.mb@0984 = C0</action>
            <action>maincpu.mb@359A = 03</action>
            <action>maincpu.mb@3621 = 03</action>
            <action>maincpu.mb@4980 = 20</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7f">01 (slow)</item>
            <item value="0x3f">02       </item>
            <item value="0x1f">03       </item>
            <item value="0x07">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@4A6D = 18              </action>
            <action>maincpu.md@4A7F = 1A27B0CD        </action>
            <action>maincpu.mq@27B0 = F1022800E6C0C23A</action>
            <action>maincpu.mq@27B8 = FFFFFFC912911AC9</action>
            <!--
            27B0 | 3A C2 C0 : ld   a,($C0C2)
            27B3 | E6 xx    : and  $xx
            27B5 | 28 02    : jr   z,$27B9
            27B7 | F1       : pop  af
            27B8 | C9       : ret
            27B9 | 1A       : ld   a,(de)
            27BA | 91       : sub  c
            27BB | 12       : ld   (de),a
            27BC | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@27B4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4A6D = 20              </action>
            <action>maincpu.md@4A7F = 1A12911A        </action>
            <action>maincpu.mq@27B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@109D = 1127C0C3        </action>
            <action>maincpu.mq@27C0 = 0707F8013AC10021</action>
            <action>maincpu.mq@27C8 = B9B0F8003A470707</action>
            <action>maincpu.mq@27D0 = 35012001FEF0284F</action>
            <action>maincpu.mq@27D8 = 2004FE34012002FE</action>
            <action>maincpu.mq@27E0 = 2008FE0618F03E04</action>
            <action>maincpu.mq@27E8 = 10FE797786103E05</action>
            <action>maincpu.mq@27F0 = 2020FE05187E0320</action>
            <action>maincpu.mq@27F8 = FFC418F80632AF04</action>
            <!--
            27C0 | 21 00 C1 : ld   hl,$C100  // sound code address
            27C3 | 3A 01 F8 : ld   a,($F801) // read buttons
            27C6 | 07       : rlca
            27C7 | 07       : rlca
            27C8 | 07       : rlca
            27C9 | 07       : rlca
            27CA | 47       : ld   b,a
            27CB | 3A 00 F8 : ld   a,($F800) // read other inputs
            27CE | B0       : or   b
            27CF | B9       : cp   c
            27D0 | 4F       : ld   c,a
            27D1 | 28 F0    : jr   z,$27C3
            27D3 | FE 01    : cp   $01
            27D5 | 20 01    : jr   nz,$27D8
            27D7 | 35       : dec  (hl)      // decrease code -01
            27D8 | FE 02    : cp   $02
            27DA | 20 01    : jr   nz,$27DD
            27DC | 34       : inc  (hl)      // increase code +01
            27DD | FE 04    : cp   $04
            27DF | 20 04    : jr   nz,$27E5
            27E1 | 3E F0    : ld   a,$F0     // decrease code -10
            27E3 | 18 06    : jr   $27EB
            27E5 | FE 08    : cp   $08
            27E7 | 20 05    : jr   nz,$27EE
            27E9 | 3E 10    : ld   a,$10     // increase code +10
            27EB | 86       : add  a,(hl)
            27EC | 77       : ld   (hl),a
            27ED | 79       : ld   a,c
            27EE | FE 10    : cp   $10
            27F0 | 20 03    : jr   nz,$27F5
            27F2 | 7E       : ld   a,(hl)    // play sound
            27F3 | 18 05    : jr   $27FA
            27F5 | FE 20    : cp   $20
            27F7 | 20 04    : jr   nz,$27FD
            27F9 | AF       : xor  a         // stop sound
            27FA | 32 06 F8 : ld   ($F806),a // send sound code
            27FD | 18 C4    : jr   $27C3
            -->
        </script>
        <script state="run">
            <output format="----- rygar 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@109D = 11123421        </action>
            <action>maincpu.mq@27C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10A0 = 0111C1C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@10A0 = 01C98311</action>
        </script>
    </cheat>

</mamecheat>
rygar2.xml

Code: Select all

<!-- Rygar (US set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4560 = F8</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4560 = 49</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@3D19 = 2750            </action>
            <action>maincpu.mw@3D29 = 2750            </action>
            <action>maincpu.mw@3F84 = 2750            </action>
            <action>maincpu.mq@2750 = C0FEC0D53A2800CD</action>
            <action>maincpu.mq@2758 = FFFF9CC9275D21D8</action>
            <!--
            2750 | CD 00 28 : call $2800
            2753 | 3A D5 C0 : ld   a,($C0D5)
            2756 | FE C0    : cp   $C0
            2758 | D8       : ret  c
            2759 | 21 5D 27 : ld   hl,$275D
            275C | C9       : ret
            275D | 9C       : - foothold value -
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3D19 = 2800            </action>
            <action>maincpu.mw@3D29 = 2800            </action>
            <action>maincpu.mw@3F84 = 2800            </action>
            <action>maincpu.mq@2750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2758 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@3AAA = CB2760CD        </action>
            <action>maincpu.mq@2760 = 3A082847CBC0383A</action>
            <action>maincpu.mq@2768 = 3AC0563202F6C056</action>
            <action>maincpu.mq@2770 = FFFFFFFFFFC9C028</action>
            <!--
            2760 | 3A 38 C0 : ld   a,($C038)
            2763 | CB 47    : bit  0,a
            2765 | 28 08    : jr   z,$276F
            2767 | 3A 56 C0 : ld   a,($C056)
            276A | F6 02    : or   $02
            276C | 32 56 C0 : ld   ($C056),a
            276F | 3A 28 C0 : ld   a,($C028)
            2772 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3AAA = CBC0283A        </action>
            <action>maincpu.mq@2760 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2768 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2770 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@3ADC = CB2780CD        </action>
            <action>maincpu.mq@2780 = DD042847CBC0563A</action>
            <action>maincpu.mq@2788 = FFC9017EDD8601CB</action>
            <!--
            2780 | 3A 56 C0    : ld   a,($C056)
            2783 | CB 47       : bit  0,a
            2785 | 28 04       : jr   z,$278B
            2787 | DD CB 01 86 : res  0,(ix+$01)
            278B | DD 7E 01    : ld   a,(ix+$01)
            278E | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3ADC = CB017EDD        </action>
            <action>maincpu.mq@2780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2788 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all items (test)">
        <comment>this code doesn't have invincibility barrier</comment>
        <script state="on">
            <action>maincpu.mb@0984 = C9</action> <!-- penetration -->
            <action>maincpu.mb@359A = 00</action> <!-- long range -->
            <action>maincpu.mb@3621 = 00</action> <!-- upper attack -->
            <action>maincpu.mb@4980 = 18</action> <!-- stamp -->
        </script>
        <script state="off">
            <action>maincpu.mb@0984 = C0</action>
            <action>maincpu.mb@359A = 03</action>
            <action>maincpu.mb@3621 = 03</action>
            <action>maincpu.mb@4980 = 20</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7f">01 (slow)</item>
            <item value="0x3f">02       </item>
            <item value="0x1f">03       </item>
            <item value="0x07">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@4A6D = 18              </action>
            <action>maincpu.md@4A7F = 1A2790CD        </action>
            <action>maincpu.mq@2790 = F1022800E6C0C23A</action>
            <action>maincpu.mq@2798 = FFFFFFC912911AC9</action>
            <!--
            2790 | 3A C2 C0 : ld   a,($C0C2)
            2793 | E6 xx    : and  $xx
            2795 | 28 02    : jr   z,$2799
            2797 | F1       : pop  af
            2798 | C9       : ret
            2799 | 1A       : ld   a,(de)
            279A | 91       : sub  c
            279B | 12       : ld   (de),a
            279C | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@2794 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4A6D = 20              </action>
            <action>maincpu.md@4A7F = 1A12911A        </action>
            <action>maincpu.mq@2790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2798 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@109D = 1127A0C3        </action>
            <action>maincpu.mq@27A0 = 0707F8013AC10021</action>
            <action>maincpu.mq@27A8 = B9B0F8003A470707</action>
            <action>maincpu.mq@27B0 = 35012001FEF0284F</action>
            <action>maincpu.mq@27B8 = 2004FE34012002FE</action>
            <action>maincpu.mq@27C0 = 2008FE0618F03E04</action>
            <action>maincpu.mq@27C8 = 10FE797786103E05</action>
            <action>maincpu.mq@27D0 = 2020FE05187E0320</action>
            <action>maincpu.mq@27D8 = FFC418F80632AF04</action>
            <!--
            27A0 | 21 00 C1 : ld   hl,$C100  // sound code address
            27A3 | 3A 01 F8 : ld   a,($F801) // read buttons
            27A6 | 07       : rlca
            27A7 | 07       : rlca
            27A8 | 07       : rlca
            27A9 | 07       : rlca
            27AA | 47       : ld   b,a
            27AB | 3A 00 F8 : ld   a,($F800) // read other inputs
            27AE | B0       : or   b
            27AF | B9       : cp   c
            27B0 | 4F       : ld   c,a
            27B1 | 28 F0    : jr   z,$27A3
            27B3 | FE 01    : cp   $01
            27B5 | 20 01    : jr   nz,$27B8
            27B7 | 35       : dec  (hl)      // decrease code -01
            27B8 | FE 02    : cp   $02
            27BA | 20 01    : jr   nz,$27BD
            27BC | 34       : inc  (hl)      // increase code +01
            27BD | FE 04    : cp   $04
            27BF | 20 04    : jr   nz,$27C5
            27C1 | 3E F0    : ld   a,$F0     // decrease code -10
            27C3 | 18 06    : jr   $27CB
            27C5 | FE 08    : cp   $08
            27C7 | 20 05    : jr   nz,$27CE
            27C9 | 3E 10    : ld   a,$10     // increase code +10
            27CB | 86       : add  a,(hl)
            27CC | 77       : ld   (hl),a
            27CD | 79       : ld   a,c
            27CE | FE 10    : cp   $10
            27D0 | 20 03    : jr   nz,$27D5
            27D2 | 7E       : ld   a,(hl)    // play sound
            27D3 | 18 05    : jr   $27DA
            27D5 | FE 20    : cp   $20
            27D7 | 20 04    : jr   nz,$27DD
            27D9 | AF       : xor  a         // stop sound
            27DA | 32 06 F8 : ld   ($F806),a // send sound code
            27DD | 18 C4    : jr   $27A3
            -->
        </script>
        <script state="run">
            <output format="----- rygar 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@109D = 11123421        </action>
            <action>maincpu.mq@27C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10A0 = 0111C1C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@10A0 = 01C98311</action>
        </script>
    </cheat>

</mamecheat>
rygar3.xml

Code: Select all

<!-- Rygar (US set 3 Old Version) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4560 = F8</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4560 = 49</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@3D19 = 2740            </action>
            <action>maincpu.mw@3D29 = 2740            </action>
            <action>maincpu.mw@3F84 = 2740            </action>
            <action>maincpu.mq@2740 = C0FEC0D53A2800CD</action>
            <action>maincpu.mq@2748 = FFFF9CC9274D21D8</action>
            <!--
            2740 | CD 00 28 : call $2800
            2743 | 3A D5 C0 : ld   a,($C0D5)
            2746 | FE C0    : cp   $C0
            2748 | D8       : ret  c
            2749 | 21 7D 27 : ld   hl,$274D
            274C | C9       : ret
            274D | 9C       : - foothold value -
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3D19 = 2800            </action>
            <action>maincpu.mw@3D29 = 2800            </action>
            <action>maincpu.mw@3F84 = 2800            </action>
            <action>maincpu.mq@2740 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2748 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@3AAA = CB2750CD        </action>
            <action>maincpu.mq@2750 = 3A082847CBC0383A</action>
            <action>maincpu.mq@2758 = 3AC0563202F6C056</action>
            <action>maincpu.mq@2760 = FFFFFFFFFFC9C028</action>
            <!--
            2750 | 3A 38 C0 : ld   a,($C038)
            2753 | CB 47    : bit  0,a
            2755 | 28 08    : jr   z,$275F
            2757 | 3A 56 C0 : ld   a,($C056)
            275A | F6 02    : or   $02
            275C | 32 56 C0 : ld   ($C056),a
            275F | 3A 28 C0 : ld   a,($C028)
            2762 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3AAA = CBC0283A        </action>
            <action>maincpu.mq@2750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2758 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2760 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@3ADC = CB2770CD        </action>
            <action>maincpu.mq@2770 = DD042847CBC0563A</action>
            <action>maincpu.mq@2778 = FFC9017EDD8601CB</action>
            <!--
            2770 | 3A 56 C0    : ld   a,($C056)
            2773 | CB 47       : bit  0,a
            2775 | 28 04       : jr   z,$277B
            2777 | DD CB 01 86 : res  0,(ix+$01)
            277B | DD 7E 01    : ld   a,(ix+$01)
            277E | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3ADC = CB017EDD        </action>
            <action>maincpu.mq@2770 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2778 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all items (test)">
        <comment>this code doesn't have invincibility barrier</comment>
        <script state="on">
            <action>maincpu.mb@0984 = C9</action> <!-- penetration -->
            <action>maincpu.mb@359A = 00</action> <!-- long range -->
            <action>maincpu.mb@3621 = 00</action> <!-- upper attack -->
            <action>maincpu.mb@4980 = 18</action> <!-- stamp -->
        </script>
        <script state="off">
            <action>maincpu.mb@0984 = C0</action>
            <action>maincpu.mb@359A = 03</action>
            <action>maincpu.mb@3621 = 03</action>
            <action>maincpu.mb@4980 = 20</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7f">01 (slow)</item>
            <item value="0x3f">02       </item>
            <item value="0x1f">03       </item>
            <item value="0x07">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@4A6D = 18              </action>
            <action>maincpu.md@4A7F = 1A2780CD        </action>
            <action>maincpu.mq@2780 = F1022800E6C0C23A</action>
            <action>maincpu.mq@2788 = FFFFFFC912911AC9</action>
            <!--
            2780 | 3A C2 C0 : ld   a,($C0C2)
            2783 | E6 xx    : and  $xx
            2785 | 28 02    : jr   z,$2789
            2787 | F1       : pop  af
            2788 | C9       : ret
            2789 | 1A       : ld   a,(de)
            278A | 91       : sub  c
            278B | 12       : ld   (de),a
            278C | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@2784 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4A6D = 20              </action>
            <action>maincpu.md@4A7F = 1A12911A        </action>
            <action>maincpu.mq@2780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2788 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@109D = 112790C3        </action>
            <action>maincpu.mq@2790 = 0707F8013AC10021</action>
            <action>maincpu.mq@2798 = B9B0F8003A470707</action>
            <action>maincpu.mq@27A0 = 35012001FEF0284F</action>
            <action>maincpu.mq@27A8 = 2004FE34012002FE</action>
            <action>maincpu.mq@27B0 = 2008FE0618F03E04</action>
            <action>maincpu.mq@27B8 = 10FE797786103E05</action>
            <action>maincpu.mq@27C0 = 2020FE05187E0320</action>
            <action>maincpu.mq@27C8 = FFC418F80632AF04</action>
            <!--
            2790 | 21 00 C1 : ld   hl,$C100  // sound code address
            2793 | 3A 01 F8 : ld   a,($F801) // read buttons
            2796 | 07       : rlca
            2797 | 07       : rlca
            2798 | 07       : rlca
            2799 | 07       : rlca
            279A | 47       : ld   b,a
            279B | 3A 00 F8 : ld   a,($F800) // read other inputs
            279E | B0       : or   b
            279F | B9       : cp   c
            27A0 | 4F       : ld   c,a
            27A1 | 28 F0    : jr   z,$2793
            27A3 | FE 01    : cp   $01
            27A5 | 20 01    : jr   nz,$27A8
            27A7 | 35       : dec  (hl)      // decrease code -01
            27A8 | FE 02    : cp   $02
            27AA | 20 01    : jr   nz,$27AD
            27AC | 34       : inc  (hl)      // increase code +01
            27AD | FE 04    : cp   $04
            27AF | 20 04    : jr   nz,$27B5
            27B1 | 3E F0    : ld   a,$F0     // decrease code -10
            27B3 | 18 06    : jr   $27BB
            27B5 | FE 08    : cp   $08
            27B7 | 20 05    : jr   nz,$27BE
            27B9 | 3E 10    : ld   a,$10     // increase code +10
            27BB | 86       : add  a,(hl)
            27BC | 77       : ld   (hl),a
            27BD | 79       : ld   a,c
            27BE | FE 10    : cp   $10
            27C0 | 20 03    : jr   nz,$27C5
            27C2 | 7E       : ld   a,(hl)    // play sound
            27C3 | 18 05    : jr   $27CA
            27C5 | FE 20    : cp   $20
            27C7 | 20 04    : jr   nz,$27CD
            27C9 | AF       : xor  a         // stop sound
            27CA | 32 06 F8 : ld   ($F806),a // send sound code
            27CD | 18 C4    : jr   $2793
            -->
        </script>
        <script state="run">
            <output format="----- rygar 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@109D = 11123421        </action>
            <action>maincpu.mq@2790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10A0 = 0111C1C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@10A0 = 01C98311</action>
        </script>
    </cheat>

</mamecheat>
rygarj.xml

Code: Select all

<!-- Argus no Senshi (Japan set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4560 = F8</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4560 = 49</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@3D19 = 2740            </action>
            <action>maincpu.mw@3D29 = 2740            </action>
            <action>maincpu.mw@3F84 = 2740            </action>
            <action>maincpu.mq@2740 = C0FEC0D53A2800CD</action>
            <action>maincpu.mq@2748 = FFFF9CC9274D21D8</action>
            <!--
            2740 | CD 00 28 : call $2800
            2743 | 3A D5 C0 : ld   a,($C0D5)
            2746 | FE C0    : cp   $C0
            2748 | D8       : ret  c
            2749 | 21 4D 27 : ld   hl,$274D
            274C | C9       : ret
            274D | 9C       : - foothold value -
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3D19 = 2800            </action>
            <action>maincpu.mw@3D29 = 2800            </action>
            <action>maincpu.mw@3F84 = 2800            </action>
            <action>maincpu.mq@2740 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2748 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@3AAA = CB2750CD        </action>
            <action>maincpu.mq@2750 = 3A082847CBC0383A</action>
            <action>maincpu.mq@2758 = 3AC0563202F6C056</action>
            <action>maincpu.mq@2760 = FFFFFFFFFFC9C028</action>
            <!--
            2750 | 3A 38 C0 : ld   a,($C038)
            2753 | CB 47    : bit  0,a
            2755 | 28 08    : jr   z,$275F
            2757 | 3A 56 C0 : ld   a,($C056)
            275A | F6 02    : or   $02
            275C | 32 56 C0 : ld   ($C056),a
            275F | 3A 28 C0 : ld   a,($C028)
            2762 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3AAA = CBC0283A        </action>
            <action>maincpu.mq@2750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2758 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2760 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@3ADC = CB2770CD        </action>
            <action>maincpu.mq@2770 = DD042847CBC0563A</action>
            <action>maincpu.mq@2778 = FFC9017EDD8601CB</action>
            <!--
            2770 | 3A 56 C0    : ld   a,($C056)
            2773 | CB 47       : bit  0,a
            2775 | 28 04       : jr   z,$277B
            2777 | DD CB 01 86 : res  0,(ix+$01)
            277B | DD 7E 01    : ld   a,(ix+$01)
            277E | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3ADC = CB017EDD        </action>
            <action>maincpu.mq@2770 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2778 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all items (test)">
        <comment>this code doesn't have invincibility barrier</comment>
        <script state="on">
            <action>maincpu.mb@0984 = C9</action> <!-- penetration -->
            <action>maincpu.mb@359A = 00</action> <!-- long range -->
            <action>maincpu.mb@3621 = 00</action> <!-- upper attack -->
            <action>maincpu.mb@4980 = 18</action> <!-- stamp -->
        </script>
        <script state="off">
            <action>maincpu.mb@0984 = C0</action>
            <action>maincpu.mb@359A = 03</action>
            <action>maincpu.mb@3621 = 03</action>
            <action>maincpu.mb@4980 = 20</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7f">01 (slow)</item>
            <item value="0x3f">02       </item>
            <item value="0x1f">03       </item>
            <item value="0x07">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@4A6D = 18              </action>
            <action>maincpu.md@4A7F = 1A2780CD        </action>
            <action>maincpu.mq@2780 = F1022800E6C0C23A</action>
            <action>maincpu.mq@2788 = FFFFFFC912911AC9</action>
            <!--
            2780 | 3A C2 C0 : ld   a,($C0C2)
            2783 | E6 xx    : and  $xx
            2785 | 28 02    : jr   z,$2789
            2787 | F1       : pop  af
            2788 | C9       : ret
            2789 | 1A       : ld   a,(de)
            278A | 91       : sub  c
            278B | 12       : ld   (de),a
            278C | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@2784 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4A6D = 20              </action>
            <action>maincpu.md@4A7F = 1A12911A        </action>
            <action>maincpu.mq@2780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2788 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@109D = 112790C3        </action>
            <action>maincpu.mq@2790 = 0707F8013AC10021</action>
            <action>maincpu.mq@2798 = B9B0F8003A470707</action>
            <action>maincpu.mq@27A0 = 35012001FEF0284F</action>
            <action>maincpu.mq@27A8 = 2004FE34012002FE</action>
            <action>maincpu.mq@27B0 = 2008FE0618F03E04</action>
            <action>maincpu.mq@27B8 = 10FE797786103E05</action>
            <action>maincpu.mq@27C0 = 2020FE05187E0320</action>
            <action>maincpu.mq@27C8 = FFC418F80632AF04</action>
            <!--
            2790 | 21 00 C1 : ld   hl,$C100  // sound code address
            2793 | 3A 01 F8 : ld   a,($F801) // read buttons
            2796 | 07       : rlca
            2797 | 07       : rlca
            2798 | 07       : rlca
            2799 | 07       : rlca
            279A | 47       : ld   b,a
            279B | 3A 00 F8 : ld   a,($F800) // read other inputs
            279E | B0       : or   b
            279F | B9       : cp   c
            27A0 | 4F       : ld   c,a
            27A1 | 28 F0    : jr   z,$2793
            27A3 | FE 01    : cp   $01
            27A5 | 20 01    : jr   nz,$27A8
            27A7 | 35       : dec  (hl)      // decrease code -01
            27A8 | FE 02    : cp   $02
            27AA | 20 01    : jr   nz,$27AD
            27AC | 34       : inc  (hl)      // increase code +01
            27AD | FE 04    : cp   $04
            27AF | 20 04    : jr   nz,$27B5
            27B1 | 3E F0    : ld   a,$F0     // decrease code -10
            27B3 | 18 06    : jr   $27BB
            27B5 | FE 08    : cp   $08
            27B7 | 20 05    : jr   nz,$27BE
            27B9 | 3E 10    : ld   a,$10     // increase code +10
            27BB | 86       : add  a,(hl)
            27BC | 77       : ld   (hl),a
            27BD | 79       : ld   a,c
            27BE | FE 10    : cp   $10
            27C0 | 20 03    : jr   nz,$27C5
            27C2 | 7E       : ld   a,(hl)    // play sound
            27C3 | 18 05    : jr   $27CA
            27C5 | FE 20    : cp   $20
            27C7 | 20 04    : jr   nz,$27CD
            27C9 | AF       : xor  a         // stop sound
            27CA | 32 06 F8 : ld   ($F806),a // send sound code
            27CD | 18 C4    : jr   $2793
            -->
        </script>
        <script state="run">
            <output format="----- argus no senshi 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@109D = 11123421        </action>
            <action>maincpu.mq@2790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10A0 = 0111C1C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@10A0 = 01C98311</action>
        </script>
    </cheat>

</mamecheat>
rygarj2.xml

Code: Select all

<!-- Argus no Senshi (Japan set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4560 = F8</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4560 = 49</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@3D19 = 2740            </action>
            <action>maincpu.mw@3D29 = 2740            </action>
            <action>maincpu.mw@3F84 = 2740            </action>
            <action>maincpu.mq@2740 = C0FEC0D53A2800CD</action>
            <action>maincpu.mq@2748 = FFFF9CC9274D21D8</action>
            <!--
            2740 | CD 00 28 : call $2800
            2743 | 3A D5 C0 : ld   a,($C0D5)
            2746 | FE C0    : cp   $C0
            2748 | D8       : ret  c
            2749 | 21 4D 27 : ld   hl,$274D
            274C | C9       : ret
            274D | 9C       : - foothold value -
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3D19 = 2800            </action>
            <action>maincpu.mw@3D29 = 2800            </action>
            <action>maincpu.mw@3F84 = 2800            </action>
            <action>maincpu.mq@2740 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2748 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@3AAA = CB2750CD        </action>
            <action>maincpu.mq@2750 = 3A082847CBC0383A</action>
            <action>maincpu.mq@2758 = 3AC0563202F6C056</action>
            <action>maincpu.mq@2760 = FFFFFFFFFFC9C028</action>
            <!--
            2750 | 3A 38 C0 : ld   a,($C038)
            2753 | CB 47    : bit  0,a
            2755 | 28 08    : jr   z,$275F
            2757 | 3A 56 C0 : ld   a,($C056)
            275A | F6 02    : or   $02
            275C | 32 56 C0 : ld   ($C056),a
            275F | 3A 28 C0 : ld   a,($C028)
            2762 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3AAA = CBC0283A        </action>
            <action>maincpu.mq@2750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2758 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2760 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@3ADC = CB2770CD        </action>
            <action>maincpu.mq@2770 = DD042847CBC0563A</action>
            <action>maincpu.mq@2778 = FFC9017EDD8601CB</action>
            <!--
            2770 | 3A 56 C0    : ld   a,($C056)
            2773 | CB 47       : bit  0,a
            2775 | 28 04       : jr   z,$277B
            2777 | DD CB 01 86 : res  0,(ix+$01)
            277B | DD 7E 01    : ld   a,(ix+$01)
            277E | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@3ADC = CB017EDD        </action>
            <action>maincpu.mq@2770 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2778 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all items (test)">
        <comment>this code doesn't have invincibility barrier</comment>
        <script state="on">
            <action>maincpu.mb@0984 = C9</action> <!-- penetration -->
            <action>maincpu.mb@359A = 00</action> <!-- long range -->
            <action>maincpu.mb@3621 = 00</action> <!-- upper attack -->
            <action>maincpu.mb@4980 = 18</action> <!-- stamp -->
        </script>
        <script state="off">
            <action>maincpu.mb@0984 = C0</action>
            <action>maincpu.mb@359A = 03</action>
            <action>maincpu.mb@3621 = 03</action>
            <action>maincpu.mb@4980 = 20</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7f">01 (slow)</item>
            <item value="0x3f">02       </item>
            <item value="0x1f">03       </item>
            <item value="0x07">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@4A6D = 18              </action>
            <action>maincpu.md@4A7F = 1A2780CD        </action>
            <action>maincpu.mq@2780 = F1022800E6C0C23A</action>
            <action>maincpu.mq@2788 = FFFFFFC912911AC9</action>
            <!--
            2780 | 3A C2 C0 : ld   a,($C0C2)
            2783 | E6 xx    : and  $xx
            2785 | 28 02    : jr   z,$2789
            2787 | F1       : pop  af
            2788 | C9       : ret
            2789 | 1A       : ld   a,(de)
            278A | 91       : sub  c
            278B | 12       : ld   (de),a
            278C | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@2784 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4A6D = 20              </action>
            <action>maincpu.md@4A7F = 1A12911A        </action>
            <action>maincpu.mq@2780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2788 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfxs/voices by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@109D = 112790C3        </action>
            <action>maincpu.mq@2790 = 0707F8013AC10021</action>
            <action>maincpu.mq@2798 = B9B0F8003A470707</action>
            <action>maincpu.mq@27A0 = 35012001FEF0284F</action>
            <action>maincpu.mq@27A8 = 2004FE34012002FE</action>
            <action>maincpu.mq@27B0 = 2008FE0618F03E04</action>
            <action>maincpu.mq@27B8 = 10FE797786103E05</action>
            <action>maincpu.mq@27C0 = 2020FE05187E0320</action>
            <action>maincpu.mq@27C8 = FFC418F80632AF04</action>
            <!--
            2790 | 21 00 C1 : ld   hl,$C100  // sound code address
            2793 | 3A 01 F8 : ld   a,($F801) // read buttons
            2796 | 07       : rlca
            2797 | 07       : rlca
            2798 | 07       : rlca
            2799 | 07       : rlca
            279A | 47       : ld   b,a
            279B | 3A 00 F8 : ld   a,($F800) // read other inputs
            279E | B0       : or   b
            279F | B9       : cp   c
            27A0 | 4F       : ld   c,a
            27A1 | 28 F0    : jr   z,$2793
            27A3 | FE 01    : cp   $01
            27A5 | 20 01    : jr   nz,$27A8
            27A7 | 35       : dec  (hl)      // decrease code -01
            27A8 | FE 02    : cp   $02
            27AA | 20 01    : jr   nz,$27AD
            27AC | 34       : inc  (hl)      // increase code +01
            27AD | FE 04    : cp   $04
            27AF | 20 04    : jr   nz,$27B5
            27B1 | 3E F0    : ld   a,$F0     // decrease code -10
            27B3 | 18 06    : jr   $27BB
            27B5 | FE 08    : cp   $08
            27B7 | 20 05    : jr   nz,$27BE
            27B9 | 3E 10    : ld   a,$10     // increase code +10
            27BB | 86       : add  a,(hl)
            27BC | 77       : ld   (hl),a
            27BD | 79       : ld   a,c
            27BE | FE 10    : cp   $10
            27C0 | 20 03    : jr   nz,$27C5
            27C2 | 7E       : ld   a,(hl)    // play sound
            27C3 | 18 05    : jr   $27CA
            27C5 | FE 20    : cp   $20
            27C7 | 20 04    : jr   nz,$27CD
            27C9 | AF       : xor  a         // stop sound
            27CA | 32 06 F8 : ld   ($F806),a // send sound code
            27CD | 18 C4    : jr   $2793
            -->
        </script>
        <script state="run">
            <output format="----- argus no senshi 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@109D = 11123421        </action>
            <action>maincpu.mq@2790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@27C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10A0 = 0111C1C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@10A0 = 01C98311</action>
        </script>
    </cheat>

</mamecheat>
Post Reply