Page 1 of 1

[rygarj] Rygar/Argus no Senshi

Posted: Wed Jun 16, 2021 1:15 pm
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>

[rygarj] Rygar/Argus no Senshi (update)

Posted: Thu Aug 10, 2023 11:09 am
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.

[rygar]+ Rygar/Argus no Senshi

Posted: Sun Jan 21, 2024 12:32 am
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>