[rastsag2] Nastar/Rastan Saga 2

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

[rastsag2] Nastar/Rastan Saga 2

Post by jman »

Code: Select all

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mw@a85c = 0002</action>
        <action>maincpu.mw@a412 = 0002</action>
        <action>maincpu.mw@a61a = 0002</action>
        <action>maincpu.mw@a74c = 0002</action>
    </script>
    <script state="off">
        <action>maincpu.mw@a85c = 0132</action>
        <action>maincpu.mw@a412 = 011a</action>
        <action>maincpu.mw@a61a = 012a</action>
        <action>maincpu.mw@a74c = 0108</action>
    </script>
</cheat>
Attack speed up code seems to work for both players but require more test.

Code: Select all

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.mq@0776a = 4eb90002ee604eba</action>
        <action>maincpu.mq@079ae = 4eb90002ee604eba</action>
        <action>maincpu.mq@2ee60 = 207c00601c2a227c</action>
        <action>maincpu.mq@2ee68 = 00607100082d0005</action>
        <action>maincpu.mq@2ee70 = 04d4661052510c51</action>
        <action>maincpu.mq@2ee78 = 000166064eb90000</action>
        <action>maincpu.mq@2ee80 = 9f2e4e7542514e75</action>
        <!-- 
        0776a | 4eb9 0002 ee60 : jsr     $2ee60.l
        079ae | 4eb9 0002 ee60 : jsr     $2ee60.l
        2ee60 | 207c 0060 1c2a : movea.l #$601c2a,A0
        2ee66 | 227c 0060 7100 : movea.l #$607100,A1
        2ee6c | 082d 0005 04d4 : btst    #$5,($4d4,A5)
        2ee72 | 6610           : bne     $2ee84
        2ee74 | 5251           : addq.w  #$1,(A1)
        2ee76 | 0c51           : cmpi.w  #$1,(A1)
        2ee7a | 6606           : beq     $2ee82
        2ee7c | 4eb9 0000 9f2e : jsr     $9f2e.l
        2ee82 | 4e75           : rts
        2ee84 | 4251           : clr.w   (A1)
        2ee86 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@0776a = 207c00601c2a4eba</action>
        <action>maincpu.mq@079ae = 207c00601c2a4eba</action>
        <action>maincpu.mq@2ee60 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee68 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee70 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee78 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee80 = ffffffffffffffff</action>
    </script>
</cheat>
This code enables multiple jump in air. The jump distance is depending on the time of pressed jump button from normal jump to moon jump.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@1094a = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1094a = 6f</action>
    </script>
</cheat>
Also no-hit code. this code seems to work for both players.

Code: Select all

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@00bdc = 4e75</action>
    </script>
    <script state="off">
        <action>maincpu.mw@00bdc = 4280</action>
    </script>
</cheat>
But this game has ROM check at boot. So you need to prevent from an error when you use ROM code.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1324
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times

[rastsag2] update

Post by jman »

Improved "multiple jump". Now player 2 gets it.

Code: Select all

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.mq@0776a = 4eb90002ee604eba</action> <!-- P1 jump -->
        <action>maincpu.mq@079ae = 4eb90002ee604eba</action> <!-- P1 fall -->
        <action>maincpu.mq@082d6 = 4eb90002ee704eba</action> <!-- P2 jump -->
        <action>maincpu.mq@0851a = 4eb90002ee704eba</action> <!-- P2 fall -->
        <action>maincpu.mq@2ee60 = 41ed1c2a43ed7100</action>
        <action>maincpu.mq@2ee68 = 082d000504d4600e</action>
        <action>maincpu.mq@2ee70 = 41ed1c3e43ed7102</action>
        <action>maincpu.mq@2ee78 = 082d000504d5660e</action>
        <action>maincpu.mq@2ee80 = 4a5166064eb90000</action>
        <action>maincpu.mq@2ee88 = 9f2e52514e754251</action>
        <action>maincpu.mq@2ee90 = 4e75ffffffffffff</action>
        <!--
        2ee60 | 41ed 1c2a      : lea    ($1c2a,A5),A0 // P1
        2ee64 | 43ed 7100      : lea    ($7100,A5),A1
        2ee68 | 082d 0005 04d4 : btst   #$5,($4d4,A5)
        2ee6e | 600e           : bra    $2ee7e
        2ee70 | 41ed 1c3e      : lea    ($1c3e,A5),A0 // P2
        2ee74 | 43ed 7102      : lea    ($7102,A5),A1
        2ee78 | 082d 0005 04d5 : btst   #$5,($4d5,A5)
        2ee7e | 660e           : bne    $2ee8e
        2ee80 | 4a51           : tst.w  (A1)
        2ee82 | 6606           : bne    $2ee8a
        2ee84 | 4eb9 0000 9f2e : jsr    $9f2e.l
        2ee8a | 5251           : addq.w #1,(A1)
        2ee8c | 4e75           : rts
        2ee8e | 4251           : clr.w  (A1)
        2ee90 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@0776a = 207c00601c2a4eba</action>
        <action>maincpu.mq@079ae = 207c00601c2a4eba</action>
        <action>maincpu.mq@082d6 = 207c00601c3e4eba</action>
        <action>maincpu.mq@0851a = 207c00601c3e4eba</action>
        <action>maincpu.mq@2ee60 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee68 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee70 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee78 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee80 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee88 = ffffffffffffffff</action>
        <action>maincpu.mq@2ee90 = ffffffffffffffff</action>
    </script>
</cheat>
Added "timer speed" and "sound test mode".

Code: Select all

<cheat desc="timer speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0x80">02       </item>
        <item value="0x40">03       </item>
        <item value="0x20">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@6c4f = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@6c4f = 1c</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@0402a = 4eb90002ee904eba</action>
        <action>maincpu.mq@2eea0 = 41ed010043f900a0</action>
        <action>maincpu.mq@2eea8 = 0000128012001029</action>
        <action>maincpu.mq@2eeb0 = 0004b20067f40c00</action>
        <action>maincpu.mq@2eeb8 = 00fb660253100c00</action>
        <action>maincpu.mq@2eec0 = 00f7660252100c00</action>
        <action>maincpu.mq@2eec8 = 00fd660404100010</action>
        <action>maincpu.mq@2eed0 = 0c0000fe66040610</action>
        <action>maincpu.mq@2eed8 = 00100c0000ef6604</action>
        <action>maincpu.mq@2eee0 = 1e1060080c0000df</action>
        <action>maincpu.mq@2eee8 = 660842074eb90000</action>
        <action>maincpu.mq@2eef0 = 2d2c60b6ffffffff</action>
        <!--
        2eea0 | 41ed 0100      : lea    ($100,A5),A0 // sound code address
        2eea4 | 43f9 00a0 0000 : lea    $a00000.l,A1 // watchdog and input addresses
        2eeaa | 1280           : move.b D0,(A1)
        2eeac | 1200           : move.b D0,D1
        2eeae | 1029 0004      : move.b ($4,A1),D0   // read input
        2eeb2 | b200           : cmp.b  D0,D1
        2eeb4 | 67f4           : beq    $2eeaa
        2eeb6 | 0c00 00fb      : cmpi.b #-$5,D0
        2eeba | 6602           : bne    $2eebe
        2eebc | 5310           : subq.b #1,(A0)      // decrease code -01
        2eebe | 0c00 00f7      : cmpi.b #-$9,D0
        2eec2 | 6602           : bne    $2eec6
        2eec4 | 5210           : addq.b #1,(A0)      // increase code +01
        2eec6 | 0c00 00fd      : cmpi.b #-$3,D0
        2eeca | 6604           : bne    $2eed0
        2eecc | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        2eed0 | 0c00 00fe      : cmpi.b #-$2,D0
        2eed4 | 6604           : bne    $2eeda
        2eed6 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        2eeda | 0c00 00ef      : cmpi.b #-$11,D0
        2eede | 6604           : bne    $2eee4
        2eee0 | 1e10           : move.b (A0),D7      // play sound
        2eee2 | 6008           : bra    $2eeec
        2eee4 | 0c00 00df      : cmpi.b #-$21,D0
        2eee8 | 6608           : bne    $2eef2
        2eeea | 4207           : clr.b  D7           // stop sound
        2eeec | 4eb9 0000 2d2c : jsr    $2d2c.l
        2eef2 | 60b6           : bra    $2eeaa
        -->
    </script>
    <script state="run">
        <output format="----- rastan saga 2 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="up : increase code +10"                    line="13" align="center" />
        <output format="down : decrease 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@600100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0402a = 3b7c01e01b2a4eba</action>
        <action>maincpu.mq@2eea0 = ffffffffffffffff</action>
        <action>maincpu.mq@2eea8 = ffffffffffffffff</action>
        <action>maincpu.mq@2eeb0 = ffffffffffffffff</action>
        <action>maincpu.mq@2eeb8 = ffffffffffffffff</action>
        <action>maincpu.mq@2eec0 = ffffffffffffffff</action>
        <action>maincpu.mq@2eec8 = ffffffffffffffff</action>
        <action>maincpu.mq@2eed0 = ffffffffffffffff</action>
        <action>maincpu.mq@2eed8 = ffffffffffffffff</action>
        <action>maincpu.mq@2eee0 = ffffffffffffffff</action>
        <action>maincpu.mq@2eee8 = ffffffffffffffff</action>
        <action>maincpu.mq@2eef0 = ffffffffffffffff</action>
    </script>
</cheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1324
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times

[nastar]+ Nastar/Rastan Saga 2

Post by jman »

nastar.xml

Code: Select all

<!-- Nastar (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1094A = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1094A = 6F</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mw@A85C = 0002</action> <!-- stand -->
            <action>maincpu.mw@A412 = 0002</action> <!-- crouch -->
            <action>maincpu.mw@A61A = 0002</action> <!-- upper attack -->
            <action>maincpu.mw@A74C = 0002</action> <!-- lower attack in jumping -->
        </script>
        <script state="off">
            <action>maincpu.mw@A85C = 0132</action>
            <action>maincpu.mw@A412 = 011A</action>
            <action>maincpu.mw@A61A = 012A</action>
            <action>maincpu.mw@A74C = 0108</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- P1 jump -->
            <action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- P1 fall -->
            <action>maincpu.mq@082D6 = 4EB90002EE6E4EBA</action> <!-- P2 jump -->
            <action>maincpu.mq@0851A = 4EB90002EE6E4EBA</action> <!-- P2 fall -->
            <action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
            <action>maincpu.mq@2EE68 = 102D04D4600C41ED</action>
            <action>maincpu.mq@2EE70 = 1C3E43ED7102102D</action>
            <action>maincpu.mq@2EE78 = 04D5080000056632</action>
            <action>maincpu.mq@2EE80 = 4A51662C4EB90000</action>
            <action>maincpu.mq@2EE88 = 9F2E08000002660C</action>
            <action>maincpu.mq@2EE90 = 197C0001003008EC</action>
            <action>maincpu.mq@2EE98 = 0006000608000003</action>
            <action>maincpu.mq@2EEA0 = 660A426C003008AC</action>
            <action>maincpu.mq@2EEA8 = 0006000612BC0001</action>
            <action>maincpu.mq@2EEB0 = 4E7542514E75FFFF</action>
            <!--
            2EE60 | 41ED 1C2A      : lea     ($1c2a,A5), A0 // P1
            2EE64 | 43ED 7100      : lea     ($7100,A5), A1
            2EE68 | 102D 04D4      : move.b  ($4d4,A5), D0
            2EE6C | 600C           : bra     $2ee7a
            2EE6E | 41ED 1C3E      : lea     ($1c3e,A5), A0 // P2
            2EE72 | 43ED 7102      : lea     ($7102,A5), A1
            2EE76 | 102D 04D5      : move.b  ($4d5,A5), D0
            2EE7A | 0800 0005      : btst    #$5, D0        // check jump button
            2EE7E | 6632           : bne     $2eeb2
            2EE80 | 4A51           : tst.w   (A1)           // check hold jump button flag
            2EE82 | 662C           : bne     $2eeb0
            2EE84 | 4EB9 0000 9F2E : jsr     $9f2e.l        // initialize jump
            2EE8A | 0800 0002      : btst    #$2, D0
            2EE8E | 660C           : bne     $2ee9c
            2EE90 | 197C 0001 0030 : move.b  #$1, ($30,A4)  // turn to left
            2EE96 | 08EC 0006 0006 : bset    #$6, ($6,A4)
            2EE9C | 0800 0003      : btst    #$3, D0
            2EEA0 | 660A           : bne     $2eeac
            2EEA2 | 426C 0030      : clr.w   ($30,A4)       // turn to right
            2EEA6 | 08AC 0006 0006 : bclr    #$6, ($6,A4)
            2EEAC | 12BC 0001      : move.b  #$1, (A1)      // set hold jump button flag
            2EEB0 | 4E75           : rts
            2EEB2 | 4251           : clr.w   (A1)           // clear hold jump button flag
            2EEB4 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
            <action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
            <action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
            <action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
            <action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@6BB1 = param</action>
            <action>maincpu.mb@6C4F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6BB1 = 3C</action>
            <action>maincpu.mb@6C4F = 1C</action>
        </script>
    </cheat>

    <cheat desc="unlock scene select mode">
        <!-- start with 255 lives -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@0D44 = 4E71</action>
            <action>maincpu.mw@5604 = 0002</action>
            <action>maincpu.mw@5690 = 4E71</action>
            <action>maincpu.mw@57B2 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0D44 = 671A</action>
            <action>maincpu.mw@5604 = 0086</action>
            <action>maincpu.mw@5690 = 6708</action>
            <action>maincpu.mw@57B2 = 661C</action>
        </script>
    </cheat>

    <cheat desc="region">
        <comment>reset the game (F3) to change region</comment>
        <parameter>
            <item value="0x00">rastan saga 2 (japan)</item>
            <item value="0x01">nastar warrior (us)  </item>
            <item value="0x03">nastar (world)       </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3FFFF = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3FFFF = 02</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@04020 = 4EB90002EEC04E71</action>
            <action>maincpu.mq@2EEC0 = 41ED100043F900A0</action>
            <action>maincpu.mq@2EEC8 = 0000128012001029</action>
            <action>maincpu.mq@2EED0 = 0004B20067F40C00</action>
            <action>maincpu.mq@2EED8 = 00FB660253100C00</action>
            <action>maincpu.mq@2EEE0 = 00F7660252100C00</action>
            <action>maincpu.mq@2EEE8 = 00FD660404100010</action>
            <action>maincpu.mq@2EEF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@2EEF8 = 00100C0000EF6604</action>
            <action>maincpu.mq@2EF00 = 1E1060080C0000DF</action>
            <action>maincpu.mq@2EF08 = 660642074EB82D2C</action>
            <action>maincpu.mq@2EF10 = 60B8FFFFFFFFFFFF</action>
            <!--
            2EEC0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($601000)
            2EEC4 | 43F9 00A0 0000 : lea     $a00000.l, A1  // input address
            2EECA | 1280           : move.b  D0, (A1)       // watchdog
            2EECC | 1200           : move.b  D0, D1
            2EECE | 1029 0004      : move.b  ($4,A1), D0    // read input
            2EED2 | B200           : cmp.b   D0, D1
            2EED4 | 67F4           : beq     $2eeca
            2EED6 | 0C00 00FB      : cmpi.b  #-$5, D0
            2EEDA | 6602           : bne     $2eede
            2EEDC | 5310           : subq.b  #1, (A0)       // decrease code -01
            2EEDE | 0C00 00F7      : cmpi.b  #-$9, D0
            2EEE2 | 6602           : bne     $2eee6
            2EEE4 | 5210           : addq.b  #1, (A0)       // increase code +01
            2EEE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            2EEEA | 6604           : bne     $2eef0
            2EEEC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            2EEF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            2EEF4 | 6604           : bne     $2eefa
            2EEF6 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2EEFA | 0C00 00EF      : cmpi.b  #-$11, D0
            2EEFE | 6604           : bne     $2ef04
            2EF00 | 1E10           : move.b  (A0), D7       // play sound
            2EF02 | 6008           : bra     $2ef0c
            2EF04 | 0C00 00DF      : cmpi.b  #-$21, D0
            2EF08 | 6606           : bne     $2ef10
            2EF0A | 4207           : clr.b   D7             // stop sound
            2EF0C | 4EB8 2D2C      : jsr     $2d2c.w        // send sound code
            2EF10 | 60B8           : bra     $2eeca
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 2 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@601000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@04020 = 0C7900000003FFFE</action>
            <action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@0BDC = 4E75</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0BDC = 4280</action>
        </script>
    </cheat>

</mamecheat>
nastarw.xml

Code: Select all

<!-- Nastar Warrior (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1094A = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1094A = 6F</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mw@A85C = 0002</action> <!-- stand -->
            <action>maincpu.mw@A412 = 0002</action> <!-- crouch -->
            <action>maincpu.mw@A61A = 0002</action> <!-- upper attack -->
            <action>maincpu.mw@A74C = 0002</action> <!-- lower attack in jumping -->
        </script>
        <script state="off">
            <action>maincpu.mw@A85C = 0132</action>
            <action>maincpu.mw@A412 = 011A</action>
            <action>maincpu.mw@A61A = 012A</action>
            <action>maincpu.mw@A74C = 0108</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- P1 jump -->
            <action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- P1 fall -->
            <action>maincpu.mq@082D6 = 4EB90002EE6E4EBA</action> <!-- P2 jump -->
            <action>maincpu.mq@0851A = 4EB90002EE6E4EBA</action> <!-- P2 fall -->
            <action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
            <action>maincpu.mq@2EE68 = 102D04D4600C41ED</action>
            <action>maincpu.mq@2EE70 = 1C3E43ED7102102D</action>
            <action>maincpu.mq@2EE78 = 04D5080000056632</action>
            <action>maincpu.mq@2EE80 = 4A51662C4EB90000</action>
            <action>maincpu.mq@2EE88 = 9F2E08000002660C</action>
            <action>maincpu.mq@2EE90 = 197C0001003008EC</action>
            <action>maincpu.mq@2EE98 = 0006000608000003</action>
            <action>maincpu.mq@2EEA0 = 660A426C003008AC</action>
            <action>maincpu.mq@2EEA8 = 0006000612BC0001</action>
            <action>maincpu.mq@2EEB0 = 4E7542514E75FFFF</action>
            <!--
            2EE60 | 41ED 1C2A      : lea     ($1c2a,A5), A0 // P1
            2EE64 | 43ED 7100      : lea     ($7100,A5), A1
            2EE68 | 102D 04D4      : move.b  ($4d4,A5), D0
            2EE6C | 600C           : bra     $2ee7a
            2EE6E | 41ED 1C3E      : lea     ($1c3e,A5), A0 // P2
            2EE72 | 43ED 7102      : lea     ($7102,A5), A1
            2EE76 | 102D 04D5      : move.b  ($4d5,A5), D0
            2EE7A | 0800 0005      : btst    #$5, D0        // check jump button
            2EE7E | 6632           : bne     $2eeb2
            2EE80 | 4A51           : tst.w   (A1)           // check hold jump button flag
            2EE82 | 662C           : bne     $2eeb0
            2EE84 | 4EB9 0000 9F2E : jsr     $9f2e.l        // initialize jump
            2EE8A | 0800 0002      : btst    #$2, D0
            2EE8E | 660C           : bne     $2ee9c
            2EE90 | 197C 0001 0030 : move.b  #$1, ($30,A4)  // turn to left
            2EE96 | 08EC 0006 0006 : bset    #$6, ($6,A4)
            2EE9C | 0800 0003      : btst    #$3, D0
            2EEA0 | 660A           : bne     $2eeac
            2EEA2 | 426C 0030      : clr.w   ($30,A4)       // turn to right
            2EEA6 | 08AC 0006 0006 : bclr    #$6, ($6,A4)
            2EEAC | 12BC 0001      : move.b  #$1, (A1)      // set hold jump button flag
            2EEB0 | 4E75           : rts
            2EEB2 | 4251           : clr.w   (A1)           // clear hold jump button flag
            2EEB4 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
            <action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
            <action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
            <action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
            <action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@6BB1 = param</action>
            <action>maincpu.mb@6C4F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6BB1 = 3C</action>
            <action>maincpu.mb@6C4F = 1C</action>
        </script>
    </cheat>

    <cheat desc="unlock scene select mode">
        <!-- start with 255 lives -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@0D44 = 4E71</action>
            <action>maincpu.mw@5604 = 0002</action>
            <action>maincpu.mw@5690 = 4E71</action>
            <action>maincpu.mw@57B2 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0D44 = 671A</action>
            <action>maincpu.mw@5604 = 0086</action>
            <action>maincpu.mw@5690 = 6708</action>
            <action>maincpu.mw@57B2 = 661C</action>
        </script>
    </cheat>

    <cheat desc="region">
        <comment>reset the game (F3) to change region</comment>
        <parameter>
            <item value="0x00">rastan saga 2 (japan)</item>
            <item value="0x01">nastar warrior (us)  </item>
            <item value="0x03">nastar (world)       </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3FFFF = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3FFFF = 01</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@04020 = 4EB90002EEC04E71</action>
            <action>maincpu.mq@2EEC0 = 41ED100043F900A0</action>
            <action>maincpu.mq@2EEC8 = 0000128012001029</action>
            <action>maincpu.mq@2EED0 = 0004B20067F40C00</action>
            <action>maincpu.mq@2EED8 = 00FB660253100C00</action>
            <action>maincpu.mq@2EEE0 = 00F7660252100C00</action>
            <action>maincpu.mq@2EEE8 = 00FD660404100010</action>
            <action>maincpu.mq@2EEF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@2EEF8 = 00100C0000EF6604</action>
            <action>maincpu.mq@2EF00 = 1E1060080C0000DF</action>
            <action>maincpu.mq@2EF08 = 660642074EB82D2C</action>
            <action>maincpu.mq@2EF10 = 60B8FFFFFFFFFFFF</action>
            <!--
            2EEC0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($601000)
            2EEC4 | 43F9 00A0 0000 : lea     $a00000.l, A1  // input address
            2EECA | 1280           : move.b  D0, (A1)       // watchdog
            2EECC | 1200           : move.b  D0, D1
            2EECE | 1029 0004      : move.b  ($4,A1), D0    // read input
            2EED2 | B200           : cmp.b   D0, D1
            2EED4 | 67F4           : beq     $2eeca
            2EED6 | 0C00 00FB      : cmpi.b  #-$5, D0
            2EEDA | 6602           : bne     $2eede
            2EEDC | 5310           : subq.b  #1, (A0)       // decrease code -01
            2EEDE | 0C00 00F7      : cmpi.b  #-$9, D0
            2EEE2 | 6602           : bne     $2eee6
            2EEE4 | 5210           : addq.b  #1, (A0)       // increase code +01
            2EEE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            2EEEA | 6604           : bne     $2eef0
            2EEEC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            2EEF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            2EEF4 | 6604           : bne     $2eefa
            2EEF6 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2EEFA | 0C00 00EF      : cmpi.b  #-$11, D0
            2EEFE | 6604           : bne     $2ef04
            2EF00 | 1E10           : move.b  (A0), D7       // play sound
            2EF02 | 6008           : bra     $2ef0c
            2EF04 | 0C00 00DF      : cmpi.b  #-$21, D0
            2EF08 | 6606           : bne     $2ef10
            2EF0A | 4207           : clr.b   D7             // stop sound
            2EF0C | 4EB8 2D2C      : jsr     $2d2c.w        // send sound code
            2EF10 | 60B8           : bra     $2eeca
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 2 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@601000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@04020 = 0C7900000003FFFE</action>
            <action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@0BDC = 4E75</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0BDC = 4280</action>
        </script>
    </cheat>

</mamecheat>
rastsag2.xml

Code: Select all

<!-- Rastan Saga 2 (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1094A = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1094A = 6F</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mw@A85C = 0002</action> <!-- stand -->
            <action>maincpu.mw@A412 = 0002</action> <!-- crouch -->
            <action>maincpu.mw@A61A = 0002</action> <!-- upper attack -->
            <action>maincpu.mw@A74C = 0002</action> <!-- lower attack in jumping -->
        </script>
        <script state="off">
            <action>maincpu.mw@A85C = 0132</action>
            <action>maincpu.mw@A412 = 011A</action>
            <action>maincpu.mw@A61A = 012A</action>
            <action>maincpu.mw@A74C = 0108</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- P1 jump -->
            <action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- P1 fall -->
            <action>maincpu.mq@082D6 = 4EB90002EE6E4EBA</action> <!-- P2 jump -->
            <action>maincpu.mq@0851A = 4EB90002EE6E4EBA</action> <!-- P2 fall -->
            <action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
            <action>maincpu.mq@2EE68 = 102D04D4600C41ED</action>
            <action>maincpu.mq@2EE70 = 1C3E43ED7102102D</action>
            <action>maincpu.mq@2EE78 = 04D5080000056632</action>
            <action>maincpu.mq@2EE80 = 4A51662C4EB90000</action>
            <action>maincpu.mq@2EE88 = 9F2E08000002660C</action>
            <action>maincpu.mq@2EE90 = 197C0001003008EC</action>
            <action>maincpu.mq@2EE98 = 0006000608000003</action>
            <action>maincpu.mq@2EEA0 = 660A426C003008AC</action>
            <action>maincpu.mq@2EEA8 = 0006000612BC0001</action>
            <action>maincpu.mq@2EEB0 = 4E7542514E75FFFF</action>
            <!--
            2EE60 | 41ED 1C2A      : lea     ($1c2a,A5), A0 // P1
            2EE64 | 43ED 7100      : lea     ($7100,A5), A1
            2EE68 | 102D 04D4      : move.b  ($4d4,A5), D0
            2EE6C | 600C           : bra     $2ee7a
            2EE6E | 41ED 1C3E      : lea     ($1c3e,A5), A0 // P2
            2EE72 | 43ED 7102      : lea     ($7102,A5), A1
            2EE76 | 102D 04D5      : move.b  ($4d5,A5), D0
            2EE7A | 0800 0005      : btst    #$5, D0        // check jump button
            2EE7E | 6632           : bne     $2eeb2
            2EE80 | 4A51           : tst.w   (A1)           // check hold jump button flag
            2EE82 | 662C           : bne     $2eeb0
            2EE84 | 4EB9 0000 9F2E : jsr     $9f2e.l        // initialize jump
            2EE8A | 0800 0002      : btst    #$2, D0
            2EE8E | 660C           : bne     $2ee9c
            2EE90 | 197C 0001 0030 : move.b  #$1, ($30,A4)  // turn to left
            2EE96 | 08EC 0006 0006 : bset    #$6, ($6,A4)
            2EE9C | 0800 0003      : btst    #$3, D0
            2EEA0 | 660A           : bne     $2eeac
            2EEA2 | 426C 0030      : clr.w   ($30,A4)       // turn to right
            2EEA6 | 08AC 0006 0006 : bclr    #$6, ($6,A4)
            2EEAC | 12BC 0001      : move.b  #$1, (A1)      // set hold jump button flag
            2EEB0 | 4E75           : rts
            2EEB2 | 4251           : clr.w   (A1)           // clear hold jump button flag
            2EEB4 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
            <action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
            <action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
            <action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
            <action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@6BB1 = param</action>
            <action>maincpu.mb@6C4F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6BB1 = 3C</action>
            <action>maincpu.mb@6C4F = 1C</action>
        </script>
    </cheat>

    <cheat desc="unlock scene select mode">
        <!-- start with 255 lives -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@0D44 = 4E71</action>
            <action>maincpu.mw@5604 = 0002</action>
            <action>maincpu.mw@5690 = 4E71</action>
            <action>maincpu.mw@57B2 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0D44 = 671A</action>
            <action>maincpu.mw@5604 = 0086</action>
            <action>maincpu.mw@5690 = 6708</action>
            <action>maincpu.mw@57B2 = 661C</action>
        </script>
    </cheat>

    <cheat desc="region">
        <comment>reset the game (F3) to change region</comment>
        <parameter>
            <item value="0x00">rastan saga 2 (japan)</item>
            <item value="0x01">nastar warrior (us)  </item>
            <item value="0x03">nastar (world)       </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3FFFF = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3FFFF = 00</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0402A = 4EB90002EEC04EBA</action>
            <action>maincpu.mq@2EEC0 = 41ED100043F900A0</action>
            <action>maincpu.mq@2EEC8 = 0000128012001029</action>
            <action>maincpu.mq@2EED0 = 0004B20067F40C00</action>
            <action>maincpu.mq@2EED8 = 00FB660253100C00</action>
            <action>maincpu.mq@2EEE0 = 00F7660252100C00</action>
            <action>maincpu.mq@2EEE8 = 00FD660404100010</action>
            <action>maincpu.mq@2EEF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@2EEF8 = 00100C0000EF6604</action>
            <action>maincpu.mq@2EF00 = 1E1060080C0000DF</action>
            <action>maincpu.mq@2EF08 = 660642074EB82D2C</action>
            <action>maincpu.mq@2EF10 = 60B8FFFFFFFFFFFF</action>
            <!--
            2EEC0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($601000)
            2EEC4 | 43F9 00A0 0000 : lea     $a00000.l, A1  // input address
            2EECA | 1280           : move.b  D0, (A1)       // watchdog
            2EECC | 1200           : move.b  D0, D1
            2EECE | 1029 0004      : move.b  ($4,A1), D0    // read input
            2EED2 | B200           : cmp.b   D0, D1
            2EED4 | 67F4           : beq     $2eeca
            2EED6 | 0C00 00FB      : cmpi.b  #-$5, D0
            2EEDA | 6602           : bne     $2eede
            2EEDC | 5310           : subq.b  #1, (A0)       // decrease code -01
            2EEDE | 0C00 00F7      : cmpi.b  #-$9, D0
            2EEE2 | 6602           : bne     $2eee6
            2EEE4 | 5210           : addq.b  #1, (A0)       // increase code +01
            2EEE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            2EEEA | 6604           : bne     $2eef0
            2EEEC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            2EEF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            2EEF4 | 6604           : bne     $2eefa
            2EEF6 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2EEFA | 0C00 00EF      : cmpi.b  #-$11, D0
            2EEFE | 6604           : bne     $2ef04
            2EF00 | 1E10           : move.b  (A0), D7       // play sound
            2EF02 | 6008           : bra     $2ef0c
            2EF04 | 0C00 00DF      : cmpi.b  #-$21, D0
            2EF08 | 6606           : bne     $2ef10
            2EF0A | 4207           : clr.b   D7             // stop sound
            2EF0C | 4EB8 2D2C      : jsr     $2d2c.w        // send sound code
            2EF10 | 60B8           : bra     $2eeca
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 2 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@601000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0402A = 3B7C01E01B2A4EBA</action>
            <action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@0BDC = 4E75</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0BDC = 4280</action>
        </script>
    </cheat>

</mamecheat>
  • "multiple jump" : Improved. Now correct direction of face in jumping when you input left or right key.
  • "unlock scene select mode", "region" : Added new.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1324
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times

[nastar]+ Nastar/Nastar Warrior/Rastan Saga 2

Post by jman »

nastar.xml

Code: Select all

<!-- Nastar (World) -->
<mamecheat version="1">

    <cheat desc="walk speed">
        <parameter>
            <item value="0x52">01 (slow)</item>
            <item value="0x54">02       </item>
            <item value="0x58">03       </item>
            <item value="0x5C">04       </item>
            <item value="0x50">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- 1P -->
            <action>maincpu.mb@7634 = 60</action> <!-- disable boots item (left) -->
            <action>maincpu.mb@7674 = 60</action> <!-- disable boots item (right) -->
            <!-- 2P -->
            <action>maincpu.mb@81A0 = 60</action> <!-- disable boots item (left) -->
            <action>maincpu.mb@81E0 = 60</action> <!-- disable boots item (right) -->
        </script>
        <script state="change">
            <!-- 1P -->
            <action>maincpu.mb@761C = param + 1</action> <!-- left -->
            <action>maincpu.mb@765C = param    </action> <!-- right -->
            <!-- 2P -->
            <action>maincpu.mb@8188 = param + 1</action> <!-- left -->
            <action>maincpu.mb@81C8 = param    </action> <!-- right -->
        </script>
        <script state="off">
            <action>maincpu.mb@761C = 53</action>
            <action>maincpu.mb@7634 = 67</action>
            <action>maincpu.mb@765C = 52</action>
            <action>maincpu.mb@7674 = 67</action>
            <action>maincpu.mb@8188 = 53</action>
            <action>maincpu.mb@81A0 = 67</action>
            <action>maincpu.mb@81C8 = 52</action>
            <action>maincpu.mb@81E0 = 67</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- 1P jump -->
            <action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- 1P fall -->
            <action>maincpu.mq@082D6 = 4EB90002EE6A4EBA</action> <!-- 2P jump -->
            <action>maincpu.mq@0851A = 4EB90002EE6A4EBA</action> <!-- 2P fall -->
            <action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
            <action>maincpu.mq@2EE68 = 600841ED1C3E43ED</action>
            <action>maincpu.mq@2EE70 = 7101102993D41200</action>
            <action>maincpu.mq@2EE78 = 141112804601C401</action>
            <action>maincpu.mq@2EE80 = 0802000567284EB9</action>
            <action>maincpu.mq@2EE88 = 00009F2E08000002</action>
            <action>maincpu.mq@2EE90 = 660C397C00010030</action>
            <action>maincpu.mq@2EE98 = 08EC000600060800</action>
            <action>maincpu.mq@2EEA0 = 0003660A426C0030</action>
            <action>maincpu.mq@2EEA8 = 08AC000600064E75</action>
            <!--
            2EE60 | 41ED 1C2A      : lea     ($1c2a,A5), A0  // 1P
            2EE64 | 43ED 7100      : lea     ($7100,A5), A1
            2EE68 | 6008           : bra     $2ee72
            2EE6A | 41ED 1C3E      : lea     ($1c3e,A5), A0  // 2P
            2EE6E | 43ED 7101      : lea     ($7101,A5), A1
            2EE72 | 1029 93D4      : move.b  (-$6c2c,A1), D0 // read input (1P : $604D4, 2P : $604D5)
            2EE76 | 1200           : move.b  D0, D1
            2EE78 | 1411           : move.b  (A1), D2
            2EE7A | 1280           : move.b  D0, (A1)
            2EE7C | 4601           : not.b   D1
            2EE7E | C401           : and.b   D1, D2
            2EE80 | 0802 0005      : btst    #$5, D2         // check jump button
            2EE84 | 6728           : beq     $2eeae
            2EE86 | 4EB9 0000 9F2E : jsr     $9f2e.l         // initialize jump
            2EE8C | 0800 0002      : btst    #$2, D0
            2EE90 | 660C           : bne     $2ee9e
            2EE92 | 397C 0001 0030 : move.w  #$1, ($30,A4)   // turn to left
            2EE98 | 08EC 0006 0006 : bset    #$6, ($6,A4)
            2EE9E | 0800 0003      : btst    #$3, D0
            2EEA2 | 660A           : bne     $2eeae
            2EEA4 | 426C 0030      : clr.w   ($30,A4)        // turn to right
            2EEA8 | 08AC 0006 0006 : bclr    #$6, ($6,A4)
            2EEAE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
            <action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
            <action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
            <action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
            <action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="no jump wait">
        <script state="on">
            <action>maincpu.mb@9F41 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9F41 = 0A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@04020 = 4EB90002EEB04E71</action>
            <action>maincpu.mq@2EEB0 = 41ED100043F900A0</action>
            <action>maincpu.mq@2EEB8 = 0000128012001029</action>
            <action>maincpu.mq@2EEC0 = 0004B20067F40C00</action>
            <action>maincpu.mq@2EEC8 = 00FB660253100C00</action>
            <action>maincpu.mq@2EED0 = 00F7660252100C00</action>
            <action>maincpu.mq@2EED8 = 00FD660404100010</action>
            <action>maincpu.mq@2EEE0 = 0C0000FE66040610</action>
            <action>maincpu.mq@2EEE8 = 00100C0000EF6604</action>
            <action>maincpu.mq@2EEF0 = 1E1060080C0000DF</action>
            <action>maincpu.mq@2EEF8 = 660642074EB82D2C</action>
            <action>maincpu.mq@2EF00 = 60B8FFFFFFFFFFFF</action>
            <!--
            2EEB0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($601000)
            2EEB4 | 43F9 00A0 0000 : lea     $a00000.l, A1  // watchdog address
            2EEBA | 1280           : move.b  D0, (A1)       // watchdog
            2EEBC | 1200           : move.b  D0, D1
            2EEBE | 1029 0004      : move.b  ($4,A1), D0    // read input ($A00004)
            2EEC2 | B200           : cmp.b   D0, D1
            2EEC4 | 67F4           : beq     $2eeba
            2EEC6 | 0C00 00FB      : cmpi.b  #-$5, D0
            2EECA | 6602           : bne     $2eece
            2EECC | 5310           : subq.b  #1, (A0)       // decrease code -01
            2EECE | 0C00 00F7      : cmpi.b  #-$9, D0
            2EED2 | 6602           : bne     $2eed6
            2EED4 | 5210           : addq.b  #1, (A0)       // increase code +01
            2EED6 | 0C00 00FD      : cmpi.b  #-$3, D0
            2EEDA | 6604           : bne     $2eee0
            2EEDC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            2EEE0 | 0C00 00FE      : cmpi.b  #-$2, D0
            2EEE4 | 6604           : bne     $2eeea
            2EEE6 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2EEEA | 0C00 00EF      : cmpi.b  #-$11, D0
            2EEEE | 6604           : bne     $2eef4
            2EEF0 | 1E10           : move.b  (A0), D7       // play sound
            2EEF2 | 6008           : bra     $2eefc
            2EEF4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2EEF8 | 6606           : bne     $2ef00
            2EEFA | 4207           : clr.b   D7             // stop sound
            2EEFC | 4EB8 2D2C      : jsr     $2d2c.w        // send sound code
            2EF00 | 60B8           : bra     $2eeba
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="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@601000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@04020 = 0C7900000003FFFE</action>
            <action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
nastarw.xml

Code: Select all

<!-- Nastar Warrior (US) -->
<mamecheat version="1">

    <cheat desc="walk speed">
        <parameter>
            <item value="0x52">01 (slow)</item>
            <item value="0x54">02       </item>
            <item value="0x58">03       </item>
            <item value="0x5C">04       </item>
            <item value="0x50">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- 1P -->
            <action>maincpu.mb@7634 = 60</action> <!-- disable boots item (left) -->
            <action>maincpu.mb@7674 = 60</action> <!-- disable boots item (right) -->
            <!-- 2P -->
            <action>maincpu.mb@81A0 = 60</action> <!-- disable boots item (left) -->
            <action>maincpu.mb@81E0 = 60</action> <!-- disable boots item (right) -->
        </script>
        <script state="change">
            <!-- 1P -->
            <action>maincpu.mb@761C = param + 1</action> <!-- left -->
            <action>maincpu.mb@765C = param    </action> <!-- right -->
            <!-- 2P -->
            <action>maincpu.mb@8188 = param + 1</action> <!-- left -->
            <action>maincpu.mb@81C8 = param    </action> <!-- right -->
        </script>
        <script state="off">
            <action>maincpu.mb@761C = 53</action>
            <action>maincpu.mb@7634 = 67</action>
            <action>maincpu.mb@765C = 52</action>
            <action>maincpu.mb@7674 = 67</action>
            <action>maincpu.mb@8188 = 53</action>
            <action>maincpu.mb@81A0 = 67</action>
            <action>maincpu.mb@81C8 = 52</action>
            <action>maincpu.mb@81E0 = 67</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- 1P jump -->
            <action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- 1P fall -->
            <action>maincpu.mq@082D6 = 4EB90002EE6A4EBA</action> <!-- 2P jump -->
            <action>maincpu.mq@0851A = 4EB90002EE6A4EBA</action> <!-- 2P fall -->
            <action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
            <action>maincpu.mq@2EE68 = 600841ED1C3E43ED</action>
            <action>maincpu.mq@2EE70 = 7101102993D41200</action>
            <action>maincpu.mq@2EE78 = 141112804601C401</action>
            <action>maincpu.mq@2EE80 = 0802000567284EB9</action>
            <action>maincpu.mq@2EE88 = 00009F2E08000002</action>
            <action>maincpu.mq@2EE90 = 660C397C00010030</action>
            <action>maincpu.mq@2EE98 = 08EC000600060800</action>
            <action>maincpu.mq@2EEA0 = 0003660A426C0030</action>
            <action>maincpu.mq@2EEA8 = 08AC000600064E75</action>
            <!--
            2EE60 | 41ED 1C2A      : lea     ($1c2a,A5), A0  // 1P
            2EE64 | 43ED 7100      : lea     ($7100,A5), A1
            2EE68 | 6008           : bra     $2ee72
            2EE6A | 41ED 1C3E      : lea     ($1c3e,A5), A0  // 2P
            2EE6E | 43ED 7101      : lea     ($7101,A5), A1
            2EE72 | 1029 93D4      : move.b  (-$6c2c,A1), D0 // read input (1P : $604D4, 2P : $604D5)
            2EE76 | 1200           : move.b  D0, D1
            2EE78 | 1411           : move.b  (A1), D2
            2EE7A | 1280           : move.b  D0, (A1)
            2EE7C | 4601           : not.b   D1
            2EE7E | C401           : and.b   D1, D2
            2EE80 | 0802 0005      : btst    #$5, D2         // check jump button
            2EE84 | 6728           : beq     $2eeae
            2EE86 | 4EB9 0000 9F2E : jsr     $9f2e.l         // initialize jump
            2EE8C | 0800 0002      : btst    #$2, D0
            2EE90 | 660C           : bne     $2ee9e
            2EE92 | 397C 0001 0030 : move.w  #$1, ($30,A4)   // turn to left
            2EE98 | 08EC 0006 0006 : bset    #$6, ($6,A4)
            2EE9E | 0800 0003      : btst    #$3, D0
            2EEA2 | 660A           : bne     $2eeae
            2EEA4 | 426C 0030      : clr.w   ($30,A4)        // turn to right
            2EEA8 | 08AC 0006 0006 : bclr    #$6, ($6,A4)
            2EEAE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
            <action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
            <action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
            <action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
            <action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="no jump wait">
        <script state="on">
            <action>maincpu.mb@9F41 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9F41 = 0A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@04020 = 4EB90002EEB04E71</action>
            <action>maincpu.mq@2EEB0 = 41ED100043F900A0</action>
            <action>maincpu.mq@2EEB8 = 0000128012001029</action>
            <action>maincpu.mq@2EEC0 = 0004B20067F40C00</action>
            <action>maincpu.mq@2EEC8 = 00FB660253100C00</action>
            <action>maincpu.mq@2EED0 = 00F7660252100C00</action>
            <action>maincpu.mq@2EED8 = 00FD660404100010</action>
            <action>maincpu.mq@2EEE0 = 0C0000FE66040610</action>
            <action>maincpu.mq@2EEE8 = 00100C0000EF6604</action>
            <action>maincpu.mq@2EEF0 = 1E1060080C0000DF</action>
            <action>maincpu.mq@2EEF8 = 660642074EB82D2C</action>
            <action>maincpu.mq@2EF00 = 60B8FFFFFFFFFFFF</action>
            <!--
            2EEB0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($601000)
            2EEB4 | 43F9 00A0 0000 : lea     $a00000.l, A1  // watchdog address
            2EEBA | 1280           : move.b  D0, (A1)       // watchdog
            2EEBC | 1200           : move.b  D0, D1
            2EEBE | 1029 0004      : move.b  ($4,A1), D0    // read input ($A00004)
            2EEC2 | B200           : cmp.b   D0, D1
            2EEC4 | 67F4           : beq     $2eeba
            2EEC6 | 0C00 00FB      : cmpi.b  #-$5, D0
            2EECA | 6602           : bne     $2eece
            2EECC | 5310           : subq.b  #1, (A0)       // decrease code -01
            2EECE | 0C00 00F7      : cmpi.b  #-$9, D0
            2EED2 | 6602           : bne     $2eed6
            2EED4 | 5210           : addq.b  #1, (A0)       // increase code +01
            2EED6 | 0C00 00FD      : cmpi.b  #-$3, D0
            2EEDA | 6604           : bne     $2eee0
            2EEDC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            2EEE0 | 0C00 00FE      : cmpi.b  #-$2, D0
            2EEE4 | 6604           : bne     $2eeea
            2EEE6 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2EEEA | 0C00 00EF      : cmpi.b  #-$11, D0
            2EEEE | 6604           : bne     $2eef4
            2EEF0 | 1E10           : move.b  (A0), D7       // play sound
            2EEF2 | 6008           : bra     $2eefc
            2EEF4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2EEF8 | 6606           : bne     $2ef00
            2EEFA | 4207           : clr.b   D7             // stop sound
            2EEFC | 4EB8 2D2C      : jsr     $2d2c.w        // send sound code
            2EF00 | 60B8           : bra     $2eeba
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="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@601000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@04020 = 0C7900000003FFFE</action>
            <action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@0BDC = 4E75</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0BDC = 4280</action>
        </script>
    </cheat>

</mamecheat>
rastsag2.xml

Code: Select all

<!-- Rastan Saga 2 (Japan) -->
<mamecheat version="1">

    <cheat desc="walk speed">
        <parameter>
            <item value="0x52">01 (slow)</item>
            <item value="0x54">02       </item>
            <item value="0x58">03       </item>
            <item value="0x5C">04       </item>
            <item value="0x50">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- 1P -->
            <action>maincpu.mb@7634 = 60</action> <!-- disable boots item (left) -->
            <action>maincpu.mb@7674 = 60</action> <!-- disable boots item (right) -->
            <!-- 2P -->
            <action>maincpu.mb@81A0 = 60</action> <!-- disable boots item (left) -->
            <action>maincpu.mb@81E0 = 60</action> <!-- disable boots item (right) -->
        </script>
        <script state="change">
            <!-- 1P -->
            <action>maincpu.mb@761C = param + 1</action> <!-- left -->
            <action>maincpu.mb@765C = param    </action> <!-- right -->
            <!-- 2P -->
            <action>maincpu.mb@8188 = param + 1</action> <!-- left -->
            <action>maincpu.mb@81C8 = param    </action> <!-- right -->
        </script>
        <script state="off">
            <action>maincpu.mb@761C = 53</action>
            <action>maincpu.mb@7634 = 67</action>
            <action>maincpu.mb@765C = 52</action>
            <action>maincpu.mb@7674 = 67</action>
            <action>maincpu.mb@8188 = 53</action>
            <action>maincpu.mb@81A0 = 67</action>
            <action>maincpu.mb@81C8 = 52</action>
            <action>maincpu.mb@81E0 = 67</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- 1P jump -->
            <action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- 1P fall -->
            <action>maincpu.mq@082D6 = 4EB90002EE6A4EBA</action> <!-- 2P jump -->
            <action>maincpu.mq@0851A = 4EB90002EE6A4EBA</action> <!-- 2P fall -->
            <action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
            <action>maincpu.mq@2EE68 = 600841ED1C3E43ED</action>
            <action>maincpu.mq@2EE70 = 7101102993D41200</action>
            <action>maincpu.mq@2EE78 = 141112804601C401</action>
            <action>maincpu.mq@2EE80 = 0802000567284EB9</action>
            <action>maincpu.mq@2EE88 = 00009F2E08000002</action>
            <action>maincpu.mq@2EE90 = 660C397C00010030</action>
            <action>maincpu.mq@2EE98 = 08EC000600060800</action>
            <action>maincpu.mq@2EEA0 = 0003660A426C0030</action>
            <action>maincpu.mq@2EEA8 = 08AC000600064E75</action>
            <!--
            2EE60 | 41ED 1C2A      : lea     ($1c2a,A5), A0  // 1P
            2EE64 | 43ED 7100      : lea     ($7100,A5), A1
            2EE68 | 6008           : bra     $2ee72
            2EE6A | 41ED 1C3E      : lea     ($1c3e,A5), A0  // 2P
            2EE6E | 43ED 7101      : lea     ($7101,A5), A1
            2EE72 | 1029 93D4      : move.b  (-$6c2c,A1), D0 // read input (1P : $604D4, 2P : $604D5)
            2EE76 | 1200           : move.b  D0, D1
            2EE78 | 1411           : move.b  (A1), D2
            2EE7A | 1280           : move.b  D0, (A1)
            2EE7C | 4601           : not.b   D1
            2EE7E | C401           : and.b   D1, D2
            2EE80 | 0802 0005      : btst    #$5, D2         // check jump button
            2EE84 | 6728           : beq     $2eeae
            2EE86 | 4EB9 0000 9F2E : jsr     $9f2e.l         // initialize jump
            2EE8C | 0800 0002      : btst    #$2, D0
            2EE90 | 660C           : bne     $2ee9e
            2EE92 | 397C 0001 0030 : move.w  #$1, ($30,A4)   // turn to left
            2EE98 | 08EC 0006 0006 : bset    #$6, ($6,A4)
            2EE9E | 0800 0003      : btst    #$3, D0
            2EEA2 | 660A           : bne     $2eeae
            2EEA4 | 426C 0030      : clr.w   ($30,A4)        // turn to right
            2EEA8 | 08AC 0006 0006 : bclr    #$6, ($6,A4)
            2EEAE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
            <action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
            <action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
            <action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
            <action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="no jump wait">
        <script state="on">
            <action>maincpu.mb@9F41 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9F41 = 0A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0402A = 4EB90002EEB04EBA</action>
            <action>maincpu.mq@2EEB0 = 41ED100043F900A0</action>
            <action>maincpu.mq@2EEB8 = 0000128012001029</action>
            <action>maincpu.mq@2EEC0 = 0004B20067F40C00</action>
            <action>maincpu.mq@2EEC8 = 00FB660253100C00</action>
            <action>maincpu.mq@2EED0 = 00F7660252100C00</action>
            <action>maincpu.mq@2EED8 = 00FD660404100010</action>
            <action>maincpu.mq@2EEE0 = 0C0000FE66040610</action>
            <action>maincpu.mq@2EEE8 = 00100C0000EF6604</action>
            <action>maincpu.mq@2EEF0 = 1E1060080C0000DF</action>
            <action>maincpu.mq@2EEF8 = 660642074EB82D2C</action>
            <action>maincpu.mq@2EF00 = 60B8FFFFFFFFFFFF</action>
            <!--
            2EEB0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($601000)
            2EEB4 | 43F9 00A0 0000 : lea     $a00000.l, A1  // watchdog address
            2EEBA | 1280           : move.b  D0, (A1)       // watchdog
            2EEBC | 1200           : move.b  D0, D1
            2EEBE | 1029 0004      : move.b  ($4,A1), D0    // read input ($A00004)
            2EEC2 | B200           : cmp.b   D0, D1
            2EEC4 | 67F4           : beq     $2eeba
            2EEC6 | 0C00 00FB      : cmpi.b  #-$5, D0
            2EECA | 6602           : bne     $2eece
            2EECC | 5310           : subq.b  #1, (A0)       // decrease code -01
            2EECE | 0C00 00F7      : cmpi.b  #-$9, D0
            2EED2 | 6602           : bne     $2eed6
            2EED4 | 5210           : addq.b  #1, (A0)       // increase code +01
            2EED6 | 0C00 00FD      : cmpi.b  #-$3, D0
            2EEDA | 6604           : bne     $2eee0
            2EEDC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            2EEE0 | 0C00 00FE      : cmpi.b  #-$2, D0
            2EEE4 | 6604           : bne     $2eeea
            2EEE6 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2EEEA | 0C00 00EF      : cmpi.b  #-$11, D0
            2EEEE | 6604           : bne     $2eef4
            2EEF0 | 1E10           : move.b  (A0), D7       // play sound
            2EEF2 | 6008           : bra     $2eefc
            2EEF4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2EEF8 | 6606           : bne     $2ef00
            2EEFA | 4207           : clr.b   D7             // stop sound
            2EEFC | 4EB8 2D2C      : jsr     $2d2c.w        // send sound code
            2EF00 | 60B8           : bra     $2eeba
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="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@601000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0402A = 3B7C01E01B2A4EBA</action>
            <action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
  • "walk speed" : Added new.
  • "multiple jump" : Rewritten routine.
  • "no jump wait" : Added new. This game has "wait" between pressing jump button and starting jump. This code ignores "wait" so that character jumps soon.
  • "sound test mode" : Adjusted address and fixed comment.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply