[rastsaga] Rastan/Rastan Saga

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

[rastsaga] Rastan/Rastan Saga

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <!-- attack -->
        <action>maincpu.mb@44b84 = 60</action>
        <!-- enemy, trap -->
        <action>maincpu.mq@44a36 = 4eb90005e780673e</action>
        <action>maincpu.mq@5e780 = 4a2c00036724102c</action>
        <action>maincpu.mq@5e788 = 00050c0000156726</action>
        <action>maincpu.mq@5e790 = 0c00001767200c00</action>
        <action>maincpu.mq@5e798 = 001b671a0c00001c</action>
        <action>maincpu.mq@5e7a0 = 67140c00001e670e</action>
        <action>maincpu.mq@5e7a8 = 60080c2c000d0029</action>
        <action>maincpu.mq@5e7b0 = 6404424060064eb9</action>
        <action>maincpu.mq@5e7b8 = 000449504a404e75</action>
        <!--
        5e780 | 4a2c 0003      : tst.b  ($3,A4)
        5e784 | 6724           : beq    $5e7aa
        5e786 | 102c 0005      : move.b ($5,A4),D0   // check traps
        5e78a | 0c00 0015      : cmpi.b #$15,D0
        5e78e | 6726           : beq    $5e7b6
        5e790 | 0c00 0017      : cmpi.b #$17,D0
        5e794 | 6720           : beq    $5e7b6
        5e796 | 0c00 001b      : cmpi.b #$1b,D0
        5e79a | 671a           : beq    $5e7b6
        5e79c | 0c00 001c      : cmpi.b #$1c,D0
        5e7a0 | 6714           : beq    $5e7b6
        5e7a2 | 0c00 001e      : cmpi.b #$1e,D0
        5e7a6 | 670e           : beq    $5e7b6
        5e7a8 | 6008           : bra    $5e7b2
        5e7aa | 0c2c 000d 0029 : cmpi.b #$d,($29,A4) // check items
        5e7b0 | 6404           : bcc    $5e7b6
        5e7b2 | 4240           : clr.w  D0
        5e7b4 | 6006           : bra    $5e7bc
        5e7b6 | 4eb9 0004 4950 : jsr    $44950.l     // call collision check
        5e7bc | 4a40           : tst.w  D0
        5e7be | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mb@44b84 =               67</action>
        <action>maincpu.mq@44a36 = 6100ff184a40673e</action>
        <action>maincpu.mq@5e780 = ffffffffffffffff</action>
        <action>maincpu.mq@5e788 = ffffffffffffffff</action>
        <action>maincpu.mq@5e790 = ffffffffffffffff</action>
        <action>maincpu.mq@5e798 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7a0 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7a8 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7b0 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7b8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@51647 = ff</action>
    </script>
    <script state="off">
        <action>maincpu.mb@51647 = 01</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mb@51d8d =               08</action> <!-- fire sword -->
        <action>maincpu.mq@51d4a = 4eb90005e7c04e75</action> <!-- initialize attack timer -->
        <action>maincpu.mq@51da2 = 4eb90005e7cc322d</action> <!-- set attack timer -->
        <action>maincpu.mq@5e7c0 = 506d110a3b7c0001</action>
        <action>maincpu.mq@5e7c8 = 11084e753b6d1390</action>
        <action>maincpu.mq@5e7d0 = 110a4e75ffffffff</action>
        <!--
        5e7c0 | 506d 110a      : addq.w #8,($110a,A5)         // initialize attack timer
        5e7c4 | 3b7c 0001 1108 : move.w #$1,($1108,A5)
        5e7ca | 4e75           : rts
        5e7cc | 3b6d 1390 110a : move.w ($1390,A5),($110a,A5) // set attack timer
        5e7d2 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mb@51d8d =                b</action>
        <action>maincpu.mq@51d4a = 3b7c000111084e75</action>
        <action>maincpu.mq@51da2 = 52403b40110a322d</action>
        <action>maincpu.mq@5e7c0 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7c8 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7d0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.mq@513e8 = 4eb90005e7e06634</action>
        <action>maincpu.mq@51474 = 4eb90005e7f46732</action>
        <action>maincpu.mq@5e7e0 = 0c6d0011136e6604</action>
        <action>maincpu.mq@5e7e8 = 426d10e80c6d0002</action>
        <action>maincpu.mq@5e7f0 = 10e84e750c6d0011</action>
        <action>maincpu.mq@5e7f8 = 136e660608ed0002</action>
        <action>maincpu.mq@5e800 = 10cf0c6d000910e8</action>
        <action>maincpu.mq@5e808 = 4e75ffffffffffff</action>
        <!--
        5e7e0 | 0c6d 0011 136e : cmpi.w #$11,($136e,A5)
        5e7e6 | 6604           : bne    $5e7ec
        5e7e8 | 426d 10e8      : clr.w  ($10e8,A5)
        5e7ec | 0c6d 0002 10e8 : cmpi.w #$2,($10e8,A5)
        5e7f2 | 4e75           : rts
        5e7f4 | 0c6d 0011 136e : cmpi.w #$11,($136e,A5)
        5e7fa | 6606           : bne    $5e802
        5e7fc | 08ed 0002 10cf : bset   #$2,($10cf,A5)
        5e802 | 0c6d 0009 10e8 : cmpi.w #$9,($10e8,A5)
        5e808 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@513e8 = 0c6d000210e86634</action>
        <action>maincpu.mq@51474 = 0c6d000910e86732</action>
        <action>maincpu.mq@5e7e0 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7e8 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7f0 = ffffffffffffffff</action>
        <action>maincpu.mq@5e7f8 = ffffffffffffffff</action>
        <action>maincpu.mq@5e800 = ffffffffffffffff</action>
        <action>maincpu.mq@5e808 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mq@3b06a = 4ef90005e8106706</action>
        <action>maincpu.mq@5e810 = 41f90010d00043f9</action>
        <action>maincpu.mq@5e818 = 0003f0a4103c00ef</action>
        <action>maincpu.mq@5e820 = 4e9133c0003c0000</action>
        <action>maincpu.mq@5e828 = 1401123900390001</action>
        <action>maincpu.mq@5e830 = b40167ee0c0100fb</action>
        <action>maincpu.mq@5e838 = 660253100c0100f7</action>
        <action>maincpu.mq@5e840 = 660252100c0100fd</action>
        <action>maincpu.mq@5e848 = 6604041000100c01</action>
        <action>maincpu.mq@5e850 = 00fe660406100010</action>
        <action>maincpu.mq@5e858 = 0c0100ef66041010</action>
        <action>maincpu.mq@5e860 = 4e910c0100df6604</action>
        <action>maincpu.mq@5e868 = 42004e9160b4ffff</action>
        <!--
        5e810 | 41f9 0010 d000 : lea    $10d000.l,A0 // sound code address
        5e816 | 43f9 0003 f0a4 : lea    $3f0a4.l,A1  // sound latch routine address
        5e81c | 103c 00ef      : move.b #$ef,D0      // enable sound
        5e820 | 4e91           : jsr    (A1)
        5e822 | 33c0 003c 0000 : move.w D0,$3c0000.l // watchdog
        5e828 | 1401           : move.b D1,D2
        5e82a | 1239 0039 0001 : move.b $390001.l,D1 // read input
        5e830 | b401           : cmp.b  D1,D2
        5e832 | 67ee           : beq    $5e822
        5e834 | 0c01 00fb      : cmpi.b #-$5,D1
        5e838 | 6602           : bne    $5e83c
        5e83a | 5310           : subq.b #1,(A0)      // decrease code -01
        5e83c | 0c01 00f7      : cmpi.b #-$9,D1
        5e840 | 6602           : bne    $5e844
        5e842 | 5210           : addq.b #1,(A0)      // increase code +01
        5e844 | 0c01 00fd      : cmpi.b #-$3,D1
        5e848 | 6604           : bne    $5e84e
        5e84a | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        5e84e | 0c01 00fe      : cmpi.b #-$2,D1
        5e852 | 6604           : bne    $5e858
        5e854 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        5e858 | 0c01 00ef      : cmpi.b #-$11,D1
        5e85c | 6604           : bne    $5e862
        5e85e | 1010           : move.b (A0),D0      // play sound
        5e860 | 4e91           : jsr    (A1)
        5e862 | 0c01 00df      : cmpi.b #-$21,D1
        5e866 | 6604           : bne    $5e86c
        5e868 | 4200           : clr.b  D0           // stop sound
        5e86a | 4e91           : jsr    (A1)
        5e86c | 60b4           : bra    $5e822
        -->
    </script>
    <script state="run">
        <output format="----- rastan saga 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@10d000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@3b06a = 082d000200196706</action>
        <action>maincpu.mq@5e810 = ffffffffffffffff</action>
        <action>maincpu.mq@5e818 = ffffffffffffffff</action>
        <action>maincpu.mq@5e820 = ffffffffffffffff</action>
        <action>maincpu.mq@5e828 = ffffffffffffffff</action>
        <action>maincpu.mq@5e830 = ffffffffffffffff</action>
        <action>maincpu.mq@5e838 = ffffffffffffffff</action>
        <action>maincpu.mq@5e840 = ffffffffffffffff</action>
        <action>maincpu.mq@5e848 = ffffffffffffffff</action>
        <action>maincpu.mq@5e850 = ffffffffffffffff</action>
        <action>maincpu.mq@5e858 = ffffffffffffffff</action>
        <action>maincpu.mq@5e860 = ffffffffffffffff</action>
        <action>maincpu.mq@5e868 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 874
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times

[rastan]+ Rastan/Rastan Saga

Post by jman »

rastan.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B64 = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@44A16 = 4EB90005E2E0673E</action>
            <action>maincpu.mq@5E2E0 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E2E8 = 00050C0000156726</action>
            <action>maincpu.mq@5E2F0 = 0C00001767200C00</action>
            <action>maincpu.mq@5E2F8 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E300 = 67140C00001E670E</action>
            <action>maincpu.mq@5E308 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E310 = 6404424060064EB9</action>
            <action>maincpu.mq@5E318 = 000449304A404E75</action>
            <!--
            5E2E0 | 4A2C 0003      : tst.b   ($3,A4)
            5E2E4 | 6724           : beq     $5e30a
            5E2E6 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E2EA | 0C00 0015      : cmpi.b  #$15, D0
            5E2EE | 6726           : beq     $5e316
            5E2F0 | 0C00 0017      : cmpi.b  #$17, D0
            5E2F4 | 6720           : beq     $5e316
            5E2F6 | 0C00 001B      : cmpi.b  #$1b, D0
            5E2FA | 671A           : beq     $5e316
            5E2FC | 0C00 001C      : cmpi.b  #$1c, D0
            5E300 | 6714           : beq     $5e316
            5E302 | 0C00 001E      : cmpi.b  #$1e, D0
            5E306 | 670E           : beq     $5e316
            5E308 | 6008           : bra     $5e312
            5E30A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E310 | 6404           : bcc     $5e316
            5E312 | 4240           : clr.w   D0
            5E314 | 6006           : bra     $5e31c
            5E316 | 4EB9 0004 4930 : jsr     $44930.l      // call collision check
            5E31C | 4A40           : tst.w   D0
            5E31E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B64 = 67              </action>
            <action>maincpu.mq@44A16 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E318 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51627 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51627 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51D6D = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51D2A = 4EB90005E3204E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51D82 = 4EB90005E32C322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E320 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E328 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E330 = 110A4E75FFFFFFFF</action>
            <!--
            5E320 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E324 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E32A | 4E75           : rts
            5E32C | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E332 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51D6D =  B              </action>
            <action>maincpu.mq@51D2A = 3B7C000111084E75</action>
            <action>maincpu.mq@51D82 = 52403B40110A322D</action>
            <action>maincpu.mq@5E320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E328 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E330 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@513C8 = 4EB90005E3406634</action>
            <action>maincpu.mq@51454 = 4EB90005E3546732</action>
            <action>maincpu.mq@5E340 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E348 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E350 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E358 = 136E660608ED0002</action>
            <action>maincpu.mq@5E360 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E368 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E340 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E346 | 6604           : bne     $5e34c
            5E348 | 426D 10E8      : clr.w   ($10e8,A5)
            5E34C | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E352 | 4E75           : rts
            5E354 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E35A | 6606           : bne     $5e362
            5E35C | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E362 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E368 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@513C8 = 0C6D000210E86634</action>
            <action>maincpu.mq@51454 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E340 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E348 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E350 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E358 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E368 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B04E = 4EF90005E3706706</action>
            <action>maincpu.mq@5E370 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E378 = 0003F084103C00EF</action>
            <action>maincpu.mq@5E380 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E388 = 1401123900390001</action>
            <action>maincpu.mq@5E390 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E398 = 660253100C0100F7</action>
            <action>maincpu.mq@5E3A0 = 660252100C0100FD</action>
            <action>maincpu.mq@5E3A8 = 6604041000100C01</action>
            <action>maincpu.mq@5E3B0 = 00FE660406100010</action>
            <action>maincpu.mq@5E3B8 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E3C0 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E3C8 = 42004E9160B4FFFF</action>
            <!--
            5E810 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E816 | 43F9 0003 F084 : lea     $3f084.l, A1  // sound latch routine address
            5E81C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E820 | 4E91           : jsr     (A1)
            5E822 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E828 | 1401           : move.b  D1, D2
            5E82A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E830 | B401           : cmp.b   D1, D2
            5E832 | 67EE           : beq     $5e382
            5E834 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E838 | 6602           : bne     $5e39c
            5E83A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E83C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E840 | 6602           : bne     $5e3a4
            5E842 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E844 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E848 | 6604           : bne     $5e3ae
            5E84A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E84E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E852 | 6604           : bne     $5e3b8
            5E854 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E858 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E85C | 6604           : bne     $5e3c2
            5E85E | 1010           : move.b  (A0), D0     // play sound
            5E860 | 4E91           : jsr     (A1)
            5E862 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E866 | 6604           : bne     $5e3cc
            5E868 | 4200           : clr.b   D0           // stop sound
            5E86A | 4E91           : jsr     (A1)
            5E86C | 60B4           : bra     $5e382
            -->
        </script>
        <script state="run">
            <output format="----- rastan 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B04E = 082D000200196706</action>
            <action>maincpu.mq@5E370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastana.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B64 = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@44A16 = 4EB90005E2E0673E</action>
            <action>maincpu.mq@5E2E0 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E2E8 = 00050C0000156726</action>
            <action>maincpu.mq@5E2F0 = 0C00001767200C00</action>
            <action>maincpu.mq@5E2F8 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E300 = 67140C00001E670E</action>
            <action>maincpu.mq@5E308 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E310 = 6404424060064EB9</action>
            <action>maincpu.mq@5E318 = 000449304A404E75</action>
            <!--
            5E2E0 | 4A2C 0003      : tst.b   ($3,A4)
            5E2E4 | 6724           : beq     $5e30a
            5E2E6 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E2EA | 0C00 0015      : cmpi.b  #$15, D0
            5E2EE | 6726           : beq     $5e316
            5E2F0 | 0C00 0017      : cmpi.b  #$17, D0
            5E2F4 | 6720           : beq     $5e316
            5E2F6 | 0C00 001B      : cmpi.b  #$1b, D0
            5E2FA | 671A           : beq     $5e316
            5E2FC | 0C00 001C      : cmpi.b  #$1c, D0
            5E300 | 6714           : beq     $5e316
            5E302 | 0C00 001E      : cmpi.b  #$1e, D0
            5E306 | 670E           : beq     $5e316
            5E308 | 6008           : bra     $5e312
            5E30A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E310 | 6404           : bcc     $5e316
            5E312 | 4240           : clr.w   D0
            5E314 | 6006           : bra     $5e31c
            5E316 | 4EB9 0004 4930 : jsr     $44930.l      // call collision check
            5E31C | 4A40           : tst.w   D0
            5E31E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B64 = 67              </action>
            <action>maincpu.mq@44A16 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E318 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51627 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51627 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51D6D = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51D2A = 4EB90005E3204E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51D82 = 4EB90005E32C322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E320 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E328 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E330 = 110A4E75FFFFFFFF</action>
            <!--
            5E320 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E324 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E32A | 4E75           : rts
            5E32C | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E332 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51D6D =  B              </action>
            <action>maincpu.mq@51D2A = 3B7C000111084E75</action>
            <action>maincpu.mq@51D82 = 52403B40110A322D</action>
            <action>maincpu.mq@5E320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E328 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E330 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@513C8 = 4EB90005E3406634</action>
            <action>maincpu.mq@51454 = 4EB90005E3546732</action>
            <action>maincpu.mq@5E340 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E348 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E350 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E358 = 136E660608ED0002</action>
            <action>maincpu.mq@5E360 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E368 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E340 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E346 | 6604           : bne     $5e34c
            5E348 | 426D 10E8      : clr.w   ($10e8,A5)
            5E34C | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E352 | 4E75           : rts
            5E354 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E35A | 6606           : bne     $5e362
            5E35C | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E362 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E368 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@513C8 = 0C6D000210E86634</action>
            <action>maincpu.mq@51454 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E340 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E348 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E350 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E358 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E368 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B04E = 4EF90005E3706706</action>
            <action>maincpu.mq@5E370 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E378 = 0003F084103C00EF</action>
            <action>maincpu.mq@5E380 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E388 = 1401123900390001</action>
            <action>maincpu.mq@5E390 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E398 = 660253100C0100F7</action>
            <action>maincpu.mq@5E3A0 = 660252100C0100FD</action>
            <action>maincpu.mq@5E3A8 = 6604041000100C01</action>
            <action>maincpu.mq@5E3B0 = 00FE660406100010</action>
            <action>maincpu.mq@5E3B8 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E3C0 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E3C8 = 42004E9160B4FFFF</action>
            <!--
            5E810 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E816 | 43F9 0003 F084 : lea     $3f084.l, A1  // sound latch routine address
            5E81C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E820 | 4E91           : jsr     (A1)
            5E822 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E828 | 1401           : move.b  D1, D2
            5E82A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E830 | B401           : cmp.b   D1, D2
            5E832 | 67EE           : beq     $5e382
            5E834 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E838 | 6602           : bne     $5e39c
            5E83A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E83C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E840 | 6602           : bne     $5e3a4
            5E842 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E844 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E848 | 6604           : bne     $5e3ae
            5E84A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E84E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E852 | 6604           : bne     $5e3b8
            5E854 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E858 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E85C | 6604           : bne     $5e3c2
            5E85E | 1010           : move.b  (A0), D0     // play sound
            5E860 | 4E91           : jsr     (A1)
            5E862 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E866 | 6604           : bne     $5e3cc
            5E868 | 4200           : clr.b   D0           // stop sound
            5E86A | 4E91           : jsr     (A1)
            5E86C | 60B4           : bra     $5e382
            -->
        </script>
        <script state="run">
            <output format="----- rastan 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B04E = 082D000200196706</action>
            <action>maincpu.mq@5E370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastanu.xml

Code: Select all

<!-- Rastan (US Rev 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B64 = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@44A16 = 4EB90005E2E0673E</action>
            <action>maincpu.mq@5E2E0 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E2E8 = 00050C0000156726</action>
            <action>maincpu.mq@5E2F0 = 0C00001767200C00</action>
            <action>maincpu.mq@5E2F8 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E300 = 67140C00001E670E</action>
            <action>maincpu.mq@5E308 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E310 = 6404424060064EB9</action>
            <action>maincpu.mq@5E318 = 000449304A404E75</action>
            <!--
            5E2E0 | 4A2C 0003      : tst.b   ($3,A4)
            5E2E4 | 6724           : beq     $5e30a
            5E2E6 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E2EA | 0C00 0015      : cmpi.b  #$15, D0
            5E2EE | 6726           : beq     $5e316
            5E2F0 | 0C00 0017      : cmpi.b  #$17, D0
            5E2F4 | 6720           : beq     $5e316
            5E2F6 | 0C00 001B      : cmpi.b  #$1b, D0
            5E2FA | 671A           : beq     $5e316
            5E2FC | 0C00 001C      : cmpi.b  #$1c, D0
            5E300 | 6714           : beq     $5e316
            5E302 | 0C00 001E      : cmpi.b  #$1e, D0
            5E306 | 670E           : beq     $5e316
            5E308 | 6008           : bra     $5e312
            5E30A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E310 | 6404           : bcc     $5e316
            5E312 | 4240           : clr.w   D0
            5E314 | 6006           : bra     $5e31c
            5E316 | 4EB9 0004 4930 : jsr     $44930.l      // call collision check
            5E31C | 4A40           : tst.w   D0
            5E31E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B64 = 67              </action>
            <action>maincpu.mq@44A16 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E318 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51627 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51627 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51D6D = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51D2A = 4EB90005E3204E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51D82 = 4EB90005E32C322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E320 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E328 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E330 = 110A4E75FFFFFFFF</action>
            <!--
            5E320 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E324 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E32A | 4E75           : rts
            5E32C | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E332 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51D6D =  B              </action>
            <action>maincpu.mq@51D2A = 3B7C000111084E75</action>
            <action>maincpu.mq@51D82 = 52403B40110A322D</action>
            <action>maincpu.mq@5E320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E328 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E330 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@513C8 = 4EB90005E3406634</action>
            <action>maincpu.mq@51454 = 4EB90005E3546732</action>
            <action>maincpu.mq@5E340 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E348 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E350 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E358 = 136E660608ED0002</action>
            <action>maincpu.mq@5E360 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E368 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E340 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E346 | 6604           : bne     $5e34c
            5E348 | 426D 10E8      : clr.w   ($10e8,A5)
            5E34C | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E352 | 4E75           : rts
            5E354 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E35A | 6606           : bne     $5e362
            5E35C | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E362 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E368 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@513C8 = 0C6D000210E86634</action>
            <action>maincpu.mq@51454 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E340 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E348 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E350 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E358 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E368 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B04E = 4EF90005E3706706</action>
            <action>maincpu.mq@5E370 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E378 = 0003F084103C00EF</action>
            <action>maincpu.mq@5E380 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E388 = 1401123900390001</action>
            <action>maincpu.mq@5E390 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E398 = 660253100C0100F7</action>
            <action>maincpu.mq@5E3A0 = 660252100C0100FD</action>
            <action>maincpu.mq@5E3A8 = 6604041000100C01</action>
            <action>maincpu.mq@5E3B0 = 00FE660406100010</action>
            <action>maincpu.mq@5E3B8 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E3C0 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E3C8 = 42004E9160B4FFFF</action>
            <!--
            5E810 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E816 | 43F9 0003 F084 : lea     $3f084.l, A1  // sound latch routine address
            5E81C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E820 | 4E91           : jsr     (A1)
            5E822 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E828 | 1401           : move.b  D1, D2
            5E82A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E830 | B401           : cmp.b   D1, D2
            5E832 | 67EE           : beq     $5e382
            5E834 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E838 | 6602           : bne     $5e39c
            5E83A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E83C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E840 | 6602           : bne     $5e3a4
            5E842 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E844 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E848 | 6604           : bne     $5e3ae
            5E84A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E84E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E852 | 6604           : bne     $5e3b8
            5E854 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E858 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E85C | 6604           : bne     $5e3c2
            5E85E | 1010           : move.b  (A0), D0     // play sound
            5E860 | 4E91           : jsr     (A1)
            5E862 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E866 | 6604           : bne     $5e3cc
            5E868 | 4200           : clr.b   D0           // stop sound
            5E86A | 4E91           : jsr     (A1)
            5E86C | 60B4           : bra     $5e382
            -->
        </script>
        <script state="run">
            <output format="----- rastan 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B04E = 082D000200196706</action>
            <action>maincpu.mq@5E370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastanua.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B64 = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@44A16 = 4EB90005E2E0673E</action>
            <action>maincpu.mq@5E2E0 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E2E8 = 00050C0000156726</action>
            <action>maincpu.mq@5E2F0 = 0C00001767200C00</action>
            <action>maincpu.mq@5E2F8 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E300 = 67140C00001E670E</action>
            <action>maincpu.mq@5E308 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E310 = 6404424060064EB9</action>
            <action>maincpu.mq@5E318 = 000449304A404E75</action>
            <!--
            5E2E0 | 4A2C 0003      : tst.b   ($3,A4)
            5E2E4 | 6724           : beq     $5e30a
            5E2E6 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E2EA | 0C00 0015      : cmpi.b  #$15, D0
            5E2EE | 6726           : beq     $5e316
            5E2F0 | 0C00 0017      : cmpi.b  #$17, D0
            5E2F4 | 6720           : beq     $5e316
            5E2F6 | 0C00 001B      : cmpi.b  #$1b, D0
            5E2FA | 671A           : beq     $5e316
            5E2FC | 0C00 001C      : cmpi.b  #$1c, D0
            5E300 | 6714           : beq     $5e316
            5E302 | 0C00 001E      : cmpi.b  #$1e, D0
            5E306 | 670E           : beq     $5e316
            5E308 | 6008           : bra     $5e312
            5E30A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E310 | 6404           : bcc     $5e316
            5E312 | 4240           : clr.w   D0
            5E314 | 6006           : bra     $5e31c
            5E316 | 4EB9 0004 4930 : jsr     $44930.l      // call collision check
            5E31C | 4A40           : tst.w   D0
            5E31E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B64 = 67              </action>
            <action>maincpu.mq@44A16 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E2F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E318 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51627 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51627 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51D6D = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51D2A = 4EB90005E3204E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51D82 = 4EB90005E32C322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E320 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E328 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E330 = 110A4E75FFFFFFFF</action>
            <!--
            5E320 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E324 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E32A | 4E75           : rts
            5E32C | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E332 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51D6D =  B              </action>
            <action>maincpu.mq@51D2A = 3B7C000111084E75</action>
            <action>maincpu.mq@51D82 = 52403B40110A322D</action>
            <action>maincpu.mq@5E320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E328 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E330 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@513C8 = 4EB90005E3406634</action>
            <action>maincpu.mq@51454 = 4EB90005E3546732</action>
            <action>maincpu.mq@5E340 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E348 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E350 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E358 = 136E660608ED0002</action>
            <action>maincpu.mq@5E360 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E368 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E340 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E346 | 6604           : bne     $5e34c
            5E348 | 426D 10E8      : clr.w   ($10e8,A5)
            5E34C | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E352 | 4E75           : rts
            5E354 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E35A | 6606           : bne     $5e362
            5E35C | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E362 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E368 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@513C8 = 0C6D000210E86634</action>
            <action>maincpu.mq@51454 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E340 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E348 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E350 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E358 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E368 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B04E = 4EF90005E3706706</action>
            <action>maincpu.mq@5E370 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E378 = 0003F084103C00EF</action>
            <action>maincpu.mq@5E380 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E388 = 1401123900390001</action>
            <action>maincpu.mq@5E390 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E398 = 660253100C0100F7</action>
            <action>maincpu.mq@5E3A0 = 660252100C0100FD</action>
            <action>maincpu.mq@5E3A8 = 6604041000100C01</action>
            <action>maincpu.mq@5E3B0 = 00FE660406100010</action>
            <action>maincpu.mq@5E3B8 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E3C0 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E3C8 = 42004E9160B4FFFF</action>
            <!--
            5E810 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E816 | 43F9 0003 F084 : lea     $3f084.l, A1  // sound latch routine address
            5E81C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E820 | 4E91           : jsr     (A1)
            5E822 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E828 | 1401           : move.b  D1, D2
            5E82A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E830 | B401           : cmp.b   D1, D2
            5E832 | 67EE           : beq     $5e382
            5E834 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E838 | 6602           : bne     $5e39c
            5E83A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E83C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E840 | 6602           : bne     $5e3a4
            5E842 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E844 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E848 | 6604           : bne     $5e3ae
            5E84A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E84E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E852 | 6604           : bne     $5e3b8
            5E854 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E858 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E85C | 6604           : bne     $5e3c2
            5E85E | 1010           : move.b  (A0), D0     // play sound
            5E860 | 4E91           : jsr     (A1)
            5E862 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E866 | 6604           : bne     $5e3cc
            5E868 | 4200           : clr.b   D0           // stop sound
            5E86A | 4E91           : jsr     (A1)
            5E86C | 60B4           : bra     $5e382
            -->
        </script>
        <script state="run">
            <output format="----- rastan 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B04E = 082D000200196706</action>
            <action>maincpu.mq@5E370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E3C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastsaga.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B84 = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@44A36 = 4EB90005E780673E</action>
            <action>maincpu.mq@5E780 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E788 = 00050C0000156726</action>
            <action>maincpu.mq@5E790 = 0C00001767200C00</action>
            <action>maincpu.mq@5E798 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E7A0 = 67140C00001E670E</action>
            <action>maincpu.mq@5E7A8 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E7B0 = 6404424060064EB9</action>
            <action>maincpu.mq@5E7B8 = 000449504A404E75</action>
            <!--
            5E780 | 4A2C 0003      : tst.b   ($3,A4)
            5E784 | 6724           : beq     $5e7aa
            5E786 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E78A | 0C00 0015      : cmpi.b  #$15, D0
            5E78E | 6726           : beq     $5e7b6
            5E790 | 0C00 0017      : cmpi.b  #$17, D0
            5E794 | 6720           : beq     $5e7b6
            5E796 | 0C00 001B      : cmpi.b  #$1b, D0
            5E79A | 671A           : beq     $5e7b6
            5E79C | 0C00 001C      : cmpi.b  #$1c, D0
            5E7A0 | 6714           : beq     $5e7b6
            5E7A2 | 0C00 001E      : cmpi.b  #$1e, D0
            5E7A6 | 670E           : beq     $5e7b6
            5E7A8 | 6008           : bra     $5e7b2
            5E7AA | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E7B0 | 6404           : bcc     $5e7b6
            5E7B2 | 4240           : clr.w   D0
            5E7B4 | 6006           : bra     $5e7bc
            5E7B6 | 4EB9 0004 4950 : jsr     $44950.l      // call collision check
            5E7BC | 4A40           : tst.w   D0
            5E7BE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B84 = 67              </action>
            <action>maincpu.mq@44A36 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E788 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51647 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51647 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51D8D = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51D4A = 4EB90005E7C04E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51DA2 = 4EB90005E7CC322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E7C0 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E7C8 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E7D0 = 110A4E75FFFFFFFF</action>
            <!--
            5E7C0 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E7C4 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E7CA | 4E75           : rts
            5E7CC | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E7D2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51D8D =  B              </action>
            <action>maincpu.mq@51D4A = 3B7C000111084E75</action>
            <action>maincpu.mq@51DA2 = 52403B40110A322D</action>
            <action>maincpu.mq@5E7C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7D0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@513E8 = 4EB90005E7E06634</action>
            <action>maincpu.mq@51474 = 4EB90005E7F46732</action>
            <action>maincpu.mq@5E7E0 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E7E8 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E7F0 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E7F8 = 136E660608ED0002</action>
            <action>maincpu.mq@5E800 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E808 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E7E0 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E7E6 | 6604           : bne     $5e7ec
            5E7E8 | 426D 10E8      : clr.w   ($10e8,A5)
            5E7EC | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E7F2 | 4E75           : rts
            5E7F4 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E7FA | 6606           : bne     $5e802
            5E7FC | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E802 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E808 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@513E8 = 0C6D000210E86634</action>
            <action>maincpu.mq@51474 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E7E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E7F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E800 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E808 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B06A = 4EF90005E8106706</action>
            <action>maincpu.mq@5E810 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E818 = 0003F0A4103C00EF</action>
            <action>maincpu.mq@5E820 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E828 = 1401123900390001</action>
            <action>maincpu.mq@5E830 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E838 = 660253100C0100F7</action>
            <action>maincpu.mq@5E840 = 660252100C0100FD</action>
            <action>maincpu.mq@5E848 = 6604041000100C01</action>
            <action>maincpu.mq@5E850 = 00FE660406100010</action>
            <action>maincpu.mq@5E858 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E860 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E868 = 42004E9160B4FFFF</action>
            <!--
            5E810 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E816 | 43F9 0003 F0A4 : lea     $3f0a4.l, A1  // sound latch routine address
            5E81C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E820 | 4E91           : jsr     (A1)
            5E822 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E828 | 1401           : move.b  D1, D2
            5E82A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E830 | B401           : cmp.b   D1, D2
            5E832 | 67EE           : beq     $5e822
            5E834 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E838 | 6602           : bne     $5e83c
            5E83A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E83C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E840 | 6602           : bne     $5e844
            5E842 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E844 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E848 | 6604           : bne     $5e84e
            5E84A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E84E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E852 | 6604           : bne     $5e858
            5E854 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E858 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E85C | 6604           : bne     $5e862
            5E85E | 1010           : move.b  (A0), D0     // play sound
            5E860 | 4E91           : jsr     (A1)
            5E862 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E866 | 6604           : bne     $5e86c
            5E868 | 4200           : clr.b   D0           // stop sound
            5E86A | 4E91           : jsr     (A1)
            5E86C | 60B4           : bra     $5e822
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B06A = 082D000200196706</action>
            <action>maincpu.mq@5E810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E868 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
jman
Posts: 874
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times

[rastan]+ Rastan/Rastan Saga

Post by jman »

rastanb.xml

Code: Select all

<!-- Rastan (World, earlier code base) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44AFE = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@449B0 = 4EB90005E1D0673E</action>
            <action>maincpu.mq@5E1D0 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E1D8 = 00050C0000156726</action>
            <action>maincpu.mq@5E1E0 = 0C00001767200C00</action>
            <action>maincpu.mq@5E1E8 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E1F0 = 67140C00001E670E</action>
            <action>maincpu.mq@5E1F8 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E200 = 6404424060064EB9</action>
            <action>maincpu.mq@5E208 = 000448CA4A404E75</action>
            <!--
            5E1D0 | 4A2C 0003      : tst.b   ($3,A4)
            5E1D4 | 6724           : beq     $5e1fa
            5E1D6 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E1DA | 0C00 0015      : cmpi.b  #$15, D0
            5E1DE | 6726           : beq     $5e206
            5E1E0 | 0C00 0017      : cmpi.b  #$17, D0
            5E1E4 | 6720           : beq     $5e206
            5E1E6 | 0C00 001B      : cmpi.b  #$1b, D0
            5E1EA | 671A           : beq     $5e206
            5E1EC | 0C00 001C      : cmpi.b  #$1c, D0
            5E1F0 | 6714           : beq     $5e206
            5E1F2 | 0C00 001E      : cmpi.b  #$1e, D0
            5E1F6 | 670E           : beq     $5e206
            5E1F8 | 6008           : bra     $5e202
            5E1FA | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E200 | 6404           : bcc     $5e206
            5E202 | 4240           : clr.w   D0
            5E204 | 6006           : bra     $5e20c
            5E206 | 4EB9 0004 48CA : jsr     $448ca.l      // call collision check
            5E20C | 4A40           : tst.w   D0
            5E20E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44AFE = 67              </action>
            <action>maincpu.mq@449B0 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E1D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E200 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E208 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51519 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51519 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51C5F = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51C1C = 4EB90005E2104E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51C74 = 4EB90005E21C322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E210 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E218 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E220 = 110A4E75FFFFFFFF</action>
            <!--
            5E210 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E214 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E21A | 4E75           : rts
            5E21C | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E222 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51C5F =  B              </action>
            <action>maincpu.mq@51C1C = 3B7C000111084E75</action>
            <action>maincpu.mq@51C74 = 52403B40110A322D</action>
            <action>maincpu.mq@5E210 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E218 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E220 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@512BA = 4EB90005E2306634</action>
            <action>maincpu.mq@51346 = 4EB90005E2446732</action>
            <action>maincpu.mq@5E230 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E238 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E240 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E248 = 136E660608ED0002</action>
            <action>maincpu.mq@5E250 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E258 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E230 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E236 | 6604           : bne     $5e23c
            5E238 | 426D 10E8      : clr.w   ($10e8,A5)
            5E23C | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E242 | 4E75           : rts
            5E244 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E24A | 6606           : bne     $5e252
            5E24C | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E252 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E258 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@512BA = 0C6D000210E86634</action>
            <action>maincpu.mq@51346 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E230 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E238 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E240 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E248 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E258 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B022 = 4EF90005E2606706</action>
            <action>maincpu.mq@5E260 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E268 = 0003F058103C00EF</action>
            <action>maincpu.mq@5E270 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E278 = 1401123900390001</action>
            <action>maincpu.mq@5E280 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E288 = 660253100C0100F7</action>
            <action>maincpu.mq@5E290 = 660252100C0100FD</action>
            <action>maincpu.mq@5E298 = 6604041000100C01</action>
            <action>maincpu.mq@5E2A0 = 00FE660406100010</action>
            <action>maincpu.mq@5E2A8 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E2B0 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E2B8 = 42004E9160B4FFFF</action>
            <!--
            5E260 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E266 | 43F9 0003 F058 : lea     $3f058.l, A1  // sound latch routine address
            5E26C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E270 | 4E91           : jsr     (A1)
            5E272 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E278 | 1401           : move.b  D1, D2
            5E27A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E280 | B401           : cmp.b   D1, D2
            5E282 | 67EE           : beq     $5e272
            5E284 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E288 | 6602           : bne     $5e28c
            5E28A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E28C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E290 | 6602           : bne     $5e294
            5E292 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E294 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E298 | 6604           : bne     $5e29e
            5E29A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E29E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E2A2 | 6604           : bne     $5e2a8
            5E2A4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E2A8 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E2AC | 6604           : bne     $5e2b2
            5E2AE | 1010           : move.b  (A0), D0     // play sound
            5E2B0 | 4E91           : jsr     (A1)
            5E2B2 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E2B6 | 6604           : bne     $5e2bc
            5E2B8 | 4200           : clr.b   D0           // stop sound
            5E2BA | 4E91           : jsr     (A1)
            5E2BC | 60B4           : bra     $5e272
            -->
        </script>
        <script state="run">
            <output format="----- rastan 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B022 = 082D000200196706</action>
            <action>maincpu.mq@5E810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E868 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastanub.xml

Code: Select all

<!-- Rastan (US, earlier code base) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44AFE = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@449B0 = 4EB90005E1D0673E</action>
            <action>maincpu.mq@5E1D0 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E1D8 = 00050C0000156726</action>
            <action>maincpu.mq@5E1E0 = 0C00001767200C00</action>
            <action>maincpu.mq@5E1E8 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E1F0 = 67140C00001E670E</action>
            <action>maincpu.mq@5E1F8 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E200 = 6404424060064EB9</action>
            <action>maincpu.mq@5E208 = 000448CA4A404E75</action>
            <!--
            5E1D0 | 4A2C 0003      : tst.b   ($3,A4)
            5E1D4 | 6724           : beq     $5e1fa
            5E1D6 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E1DA | 0C00 0015      : cmpi.b  #$15, D0
            5E1DE | 6726           : beq     $5e206
            5E1E0 | 0C00 0017      : cmpi.b  #$17, D0
            5E1E4 | 6720           : beq     $5e206
            5E1E6 | 0C00 001B      : cmpi.b  #$1b, D0
            5E1EA | 671A           : beq     $5e206
            5E1EC | 0C00 001C      : cmpi.b  #$1c, D0
            5E1F0 | 6714           : beq     $5e206
            5E1F2 | 0C00 001E      : cmpi.b  #$1e, D0
            5E1F6 | 670E           : beq     $5e206
            5E1F8 | 6008           : bra     $5e202
            5E1FA | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E200 | 6404           : bcc     $5e206
            5E202 | 4240           : clr.w   D0
            5E204 | 6006           : bra     $5e20c
            5E206 | 4EB9 0004 48CA : jsr     $448ca.l      // call collision check
            5E20C | 4A40           : tst.w   D0
            5E20E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44AFE = 67              </action>
            <action>maincpu.mq@449B0 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E1D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E1F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E200 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E208 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51519 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51519 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51C5F = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51C1C = 4EB90005E2104E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51C74 = 4EB90005E21C322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E210 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E218 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E220 = 110A4E75FFFFFFFF</action>
            <!--
            5E210 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E214 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E21A | 4E75           : rts
            5E21C | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E222 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51C5F =  B              </action>
            <action>maincpu.mq@51C1C = 3B7C000111084E75</action>
            <action>maincpu.mq@51C74 = 52403B40110A322D</action>
            <action>maincpu.mq@5E210 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E218 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E220 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@512BA = 4EB90005E2306634</action>
            <action>maincpu.mq@51346 = 4EB90005E2446732</action>
            <action>maincpu.mq@5E230 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E238 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E240 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E248 = 136E660608ED0002</action>
            <action>maincpu.mq@5E250 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E258 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E230 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E236 | 6604           : bne     $5e23c
            5E238 | 426D 10E8      : clr.w   ($10e8,A5)
            5E23C | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E242 | 4E75           : rts
            5E244 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E24A | 6606           : bne     $5e252
            5E24C | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E252 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E258 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@512BA = 0C6D000210E86634</action>
            <action>maincpu.mq@51346 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E230 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E238 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E240 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E248 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E258 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B022 = 4EF90005E2606706</action>
            <action>maincpu.mq@5E260 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E268 = 0003F058103C00EF</action>
            <action>maincpu.mq@5E270 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E278 = 1401123900390001</action>
            <action>maincpu.mq@5E280 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E288 = 660253100C0100F7</action>
            <action>maincpu.mq@5E290 = 660252100C0100FD</action>
            <action>maincpu.mq@5E298 = 6604041000100C01</action>
            <action>maincpu.mq@5E2A0 = 00FE660406100010</action>
            <action>maincpu.mq@5E2A8 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E2B0 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E2B8 = 42004E9160B4FFFF</action>
            <!--
            5E260 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E266 | 43F9 0003 F058 : lea     $3f058.l, A1  // sound latch routine address
            5E26C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E270 | 4E91           : jsr     (A1)
            5E272 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E278 | 1401           : move.b  D1, D2
            5E27A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E280 | B401           : cmp.b   D1, D2
            5E282 | 67EE           : beq     $5e272
            5E284 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E288 | 6602           : bne     $5e28c
            5E28A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E28C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E290 | 6602           : bne     $5e294
            5E292 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E294 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E298 | 6604           : bne     $5e29e
            5E29A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E29E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E2A2 | 6604           : bne     $5e2a8
            5E2A4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E2A8 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E2AC | 6604           : bne     $5e2b2
            5E2AE | 1010           : move.b  (A0), D0     // play sound
            5E2B0 | 4E91           : jsr     (A1)
            5E2B2 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E2B6 | 6604           : bne     $5e2bc
            5E2B8 | 4200           : clr.b   D0           // stop sound
            5E2BA | 4E91           : jsr     (A1)
            5E2BC | 60B4           : bra     $5e272
            -->
        </script>
        <script state="run">
            <output format="----- rastan 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B022 = 082D000200196706</action>
            <action>maincpu.mq@5E810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E868 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastsagaa.xml

Code: Select all

<!-- Rastan Saga (Japan Rev 1, earlier code base) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B1E = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@449D0 = 4EB90005E670673E</action>
            <action>maincpu.mq@5E670 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E678 = 00050C0000156726</action>
            <action>maincpu.mq@5E680 = 0C00001767200C00</action>
            <action>maincpu.mq@5E688 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E690 = 67140C00001E670E</action>
            <action>maincpu.mq@5E698 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E6A0 = 6404424060064EB9</action>
            <action>maincpu.mq@5E6A8 = 000448EA4A404E75</action>
            <!--
            5E670 | 4A2C 0003      : tst.b   ($3,A4)
            5E674 | 6724           : beq     $5e69a
            5E676 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E67A | 0C00 0015      : cmpi.b  #$15, D0
            5E67E | 6726           : beq     $5e6a6
            5E680 | 0C00 0017      : cmpi.b  #$17, D0
            5E684 | 6720           : beq     $5e6a6
            5E686 | 0C00 001B      : cmpi.b  #$1b, D0
            5E68A | 671A           : beq     $5e6a6
            5E68C | 0C00 001C      : cmpi.b  #$1c, D0
            5E690 | 6714           : beq     $5e6a6
            5E692 | 0C00 001E      : cmpi.b  #$1e, D0
            5E696 | 670E           : beq     $5e6a6
            5E698 | 6008           : bra     $5e6a2
            5E69A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E6A0 | 6404           : bcc     $5e6a6
            5E6A2 | 4240           : clr.w   D0
            5E6A4 | 6006           : bra     $5e6ac
            5E6A6 | 4EB9 0004 48EA : jsr     $448ea.l      // call collision check
            5E6AC | 4A40           : tst.w   D0
            5E6AE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B1E = 67              </action>
            <action>maincpu.mq@449D0 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E670 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E678 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E680 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E688 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E690 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E698 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6A8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51539 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51539 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51C7F = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51C3C = 4EB90005E6B04E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51C94 = 4EB90005E6BC322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E6B0 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E6B8 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E6C0 = 110A4E75FFFFFFFF</action>
            <!--
            5E6B0 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E6B4 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E6BA | 4E75           : rts
            5E6BC | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E6C2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51C7F =  B              </action>
            <action>maincpu.mq@51C3C = 3B7C000111084E75</action>
            <action>maincpu.mq@51C94 = 52403B40110A322D</action>
            <action>maincpu.mq@5E6B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@512DA = 4EB90005E6D06634</action>
            <action>maincpu.mq@51366 = 4EB90005E6E46732</action>
            <action>maincpu.mq@5E6D0 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E6D8 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E6E0 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E6E8 = 136E660608ED0002</action>
            <action>maincpu.mq@5E6F0 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E6F8 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E6D0 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E6D6 | 6604           : bne     $5e6dc
            5E6D8 | 426D 10E8      : clr.w   ($10e8,A5)
            5E6DC | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E6E2 | 4E75           : rts
            5E6E4 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E6EA | 6606           : bne     $5e6f2
            5E6EC | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E6F2 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E6F8 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@512DA = 0C6D000210E86634</action>
            <action>maincpu.mq@51366 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E6D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B03E = 4EF90005E7006706</action>
            <action>maincpu.mq@5E700 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E708 = 0003F078103C00EF</action>
            <action>maincpu.mq@5E710 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E718 = 1401123900390001</action>
            <action>maincpu.mq@5E720 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E728 = 660253100C0100F7</action>
            <action>maincpu.mq@5E730 = 660252100C0100FD</action>
            <action>maincpu.mq@5E738 = 6604041000100C01</action>
            <action>maincpu.mq@5E740 = 00FE660406100010</action>
            <action>maincpu.mq@5E748 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E750 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E758 = 42004E9160B4FFFF</action>
            <!--
            5E700 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E706 | 43F9 0003 F078 : lea     $3f078.l, A1  // sound latch routine address
            5E70C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E710 | 4E91           : jsr     (A1)
            5E712 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E718 | 1401           : move.b  D1, D2
            5E71A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E720 | B401           : cmp.b   D1, D2
            5E722 | 67EE           : beq     $5e822
            5E724 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E728 | 6602           : bne     $5e83c
            5E72A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E72C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E730 | 6602           : bne     $5e844
            5E732 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E734 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E738 | 6604           : bne     $5e84e
            5E73A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E73E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E742 | 6604           : bne     $5e858
            5E744 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E748 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E74C | 6604           : bne     $5e862
            5E74E | 1010           : move.b  (A0), D0     // play sound
            5E750 | 4E91           : jsr     (A1)
            5E752 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E756 | 6604           : bne     $5e86c
            5E758 | 4200           : clr.b   D0           // stop sound
            5E75A | 4E91           : jsr     (A1)
            5E75C | 60B4           : bra     $5e822
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B03E = 082D000200196706</action>
            <action>maincpu.mq@5E700 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E708 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E710 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E718 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E720 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E728 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E730 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E738 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E740 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E748 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E758 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastsagaabl.xml

Code: Select all

<!-- Rastan Saga (bootleg, Japan Rev 1, earlier code base) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B1E = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@449D0 = 4EB90005E670673E</action>
            <action>maincpu.mq@5E670 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E678 = 00050C0000156726</action>
            <action>maincpu.mq@5E680 = 0C00001767200C00</action>
            <action>maincpu.mq@5E688 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E690 = 67140C00001E670E</action>
            <action>maincpu.mq@5E698 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E6A0 = 6404424060064EB9</action>
            <action>maincpu.mq@5E6A8 = 000448EA4A404E75</action>
            <!--
            5E670 | 4A2C 0003      : tst.b   ($3,A4)
            5E674 | 6724           : beq     $5e69a
            5E676 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E67A | 0C00 0015      : cmpi.b  #$15, D0
            5E67E | 6726           : beq     $5e6a6
            5E680 | 0C00 0017      : cmpi.b  #$17, D0
            5E684 | 6720           : beq     $5e6a6
            5E686 | 0C00 001B      : cmpi.b  #$1b, D0
            5E68A | 671A           : beq     $5e6a6
            5E68C | 0C00 001C      : cmpi.b  #$1c, D0
            5E690 | 6714           : beq     $5e6a6
            5E692 | 0C00 001E      : cmpi.b  #$1e, D0
            5E696 | 670E           : beq     $5e6a6
            5E698 | 6008           : bra     $5e6a2
            5E69A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E6A0 | 6404           : bcc     $5e6a6
            5E6A2 | 4240           : clr.w   D0
            5E6A4 | 6006           : bra     $5e6ac
            5E6A6 | 4EB9 0004 48EA : jsr     $448ea.l      // call collision check
            5E6AC | 4A40           : tst.w   D0
            5E6AE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B1E = 67              </action>
            <action>maincpu.mq@449D0 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E670 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E678 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E680 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E688 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E690 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E698 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6A8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51539 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51539 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51C7F = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51C3C = 4EB90005E6B04E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51C94 = 4EB90005E6BC322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E6B0 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E6B8 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E6C0 = 110A4E75FFFFFFFF</action>
            <!--
            5E6B0 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E6B4 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E6BA | 4E75           : rts
            5E6BC | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E6C2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51C7F =  B              </action>
            <action>maincpu.mq@51C3C = 3B7C000111084E75</action>
            <action>maincpu.mq@51C94 = 52403B40110A322D</action>
            <action>maincpu.mq@5E6B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@512DA = 4EB90005E6D06634</action>
            <action>maincpu.mq@51366 = 4EB90005E6E46732</action>
            <action>maincpu.mq@5E6D0 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E6D8 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E6E0 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E6E8 = 136E660608ED0002</action>
            <action>maincpu.mq@5E6F0 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E6F8 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E6D0 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E6D6 | 6604           : bne     $5e6dc
            5E6D8 | 426D 10E8      : clr.w   ($10e8,A5)
            5E6DC | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E6E2 | 4E75           : rts
            5E6E4 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E6EA | 6606           : bne     $5e6f2
            5E6EC | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E6F2 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E6F8 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@512DA = 0C6D000210E86634</action>
            <action>maincpu.mq@51366 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E6D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B03E = 4EF90005E7006706</action>
            <action>maincpu.mq@5E700 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E708 = 0003F078103C00EF</action>
            <action>maincpu.mq@5E710 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E718 = 1401123900390001</action>
            <action>maincpu.mq@5E720 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E728 = 660253100C0100F7</action>
            <action>maincpu.mq@5E730 = 660252100C0100FD</action>
            <action>maincpu.mq@5E738 = 6604041000100C01</action>
            <action>maincpu.mq@5E740 = 00FE660406100010</action>
            <action>maincpu.mq@5E748 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E750 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E758 = 42004E9160B4FFFF</action>
            <!--
            5E700 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E706 | 43F9 0003 F078 : lea     $3f078.l, A1  // sound latch routine address
            5E70C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E710 | 4E91           : jsr     (A1)
            5E712 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E718 | 1401           : move.b  D1, D2
            5E71A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E720 | B401           : cmp.b   D1, D2
            5E722 | 67EE           : beq     $5e822
            5E724 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E728 | 6602           : bne     $5e83c
            5E72A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E72C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E730 | 6602           : bne     $5e844
            5E732 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E734 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E738 | 6604           : bne     $5e84e
            5E73A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E73E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E742 | 6604           : bne     $5e858
            5E744 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E748 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E74C | 6604           : bne     $5e862
            5E74E | 1010           : move.b  (A0), D0     // play sound
            5E750 | 4E91           : jsr     (A1)
            5E752 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E756 | 6604           : bne     $5e86c
            5E758 | 4200           : clr.b   D0           // stop sound
            5E75A | 4E91           : jsr     (A1)
            5E75C | 60B4           : bra     $5e822
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B03E = 082D000200196706</action>
            <action>maincpu.mq@5E700 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E708 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E710 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E718 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E720 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E728 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E730 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E738 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E740 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E748 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E758 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
rastsagab.xml

Code: Select all

<!-- Rastan Saga (Japan, earlier code base) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- attack -->
            <action>maincpu.mb@44B1E = 60</action>
            <!-- enemy, trap -->
            <action>maincpu.mq@449D0 = 4EB90005E670673E</action>
            <action>maincpu.mq@5E670 = 4A2C00036724102C</action>
            <action>maincpu.mq@5E678 = 00050C0000156726</action>
            <action>maincpu.mq@5E680 = 0C00001767200C00</action>
            <action>maincpu.mq@5E688 = 001B671A0C00001C</action>
            <action>maincpu.mq@5E690 = 67140C00001E670E</action>
            <action>maincpu.mq@5E698 = 60080C2C000D0029</action>
            <action>maincpu.mq@5E6A0 = 6404424060064EB9</action>
            <action>maincpu.mq@5E6A8 = 000448EA4A404E75</action>
            <!--
            5E670 | 4A2C 0003      : tst.b   ($3,A4)
            5E674 | 6724           : beq     $5e69a
            5E676 | 102C 0005      : move.b  ($5,A4), D0   // check traps
            5E67A | 0C00 0015      : cmpi.b  #$15, D0
            5E67E | 6726           : beq     $5e6a6
            5E680 | 0C00 0017      : cmpi.b  #$17, D0
            5E684 | 6720           : beq     $5e6a6
            5E686 | 0C00 001B      : cmpi.b  #$1b, D0
            5E68A | 671A           : beq     $5e6a6
            5E68C | 0C00 001C      : cmpi.b  #$1c, D0
            5E690 | 6714           : beq     $5e6a6
            5E692 | 0C00 001E      : cmpi.b  #$1e, D0
            5E696 | 670E           : beq     $5e6a6
            5E698 | 6008           : bra     $5e6a2
            5E69A | 0C2C 000D 0029 : cmpi.b  #$d, ($29,A4) // check items
            5E6A0 | 6404           : bcc     $5e6a6
            5E6A2 | 4240           : clr.w   D0
            5E6A4 | 6006           : bra     $5e6ac
            5E6A6 | 4EB9 0004 48EA : jsr     $448ea.l      // call collision check
            5E6AC | 4A40           : tst.w   D0
            5E6AE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@44B1E = 67              </action>
            <action>maincpu.mq@449D0 = 6100FF184A40673E</action>
            <action>maincpu.mq@5E670 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E678 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E680 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E688 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E690 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E698 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6A8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@51539 = FF</action>
        </script>
        <script state="off">
            <action>maincpu.mb@51539 = 01</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@51C7F = 08              </action> <!-- fire sword -->
            <action>maincpu.mq@51C3C = 4EB90005E6B04E75</action> <!-- initialize attack timer -->
            <action>maincpu.mq@51C94 = 4EB90005E6BC322D</action> <!-- set attack timer -->
            <action>maincpu.mq@5E6B0 = 506D110A3B7C0001</action>
            <action>maincpu.mq@5E6B8 = 11084E753B6D1390</action>
            <action>maincpu.mq@5E6C0 = 110A4E75FFFFFFFF</action>
            <!--
            5E6B0 | 506D 110A      : addq.w  #8, ($110a,A5)         // initialize attack timer
            5E6B4 | 3B7C 0001 1108 : move.w  #$1, ($1108,A5)
            5E6BA | 4E75           : rts
            5E6BC | 3B6D 1390 110A : move.w  ($1390,A5), ($110a,A5) // set attack timer
            5E6C2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@51C7F =  B              </action>
            <action>maincpu.mq@51C3C = 3B7C000111084E75</action>
            <action>maincpu.mq@51C94 = 52403B40110A322D</action>
            <action>maincpu.mq@5E6B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@512DA = 4EB90005E6D06634</action>
            <action>maincpu.mq@51366 = 4EB90005E6E46732</action>
            <action>maincpu.mq@5E6D0 = 0C6D0011136E6604</action>
            <action>maincpu.mq@5E6D8 = 426D10E80C6D0002</action>
            <action>maincpu.mq@5E6E0 = 10E84E750C6D0011</action>
            <action>maincpu.mq@5E6E8 = 136E660608ED0002</action>
            <action>maincpu.mq@5E6F0 = 10CF0C6D000910E8</action>
            <action>maincpu.mq@5E6F8 = 4E75FFFFFFFFFFFF</action>
            <!--
            5E6D0 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E6D6 | 6604           : bne     $5e6dc
            5E6D8 | 426D 10E8      : clr.w   ($10e8,A5)
            5E6DC | 0C6D 0002 10E8 : cmpi.w  #$2, ($10e8,A5)
            5E6E2 | 4E75           : rts
            5E6E4 | 0C6D 0011 136E : cmpi.w  #$11, ($136e,A5)
            5E6EA | 6606           : bne     $5e6f2
            5E6EC | 08ED 0002 10CF : bset    #$2, ($10cf,A5)
            5E6F2 | 0C6D 0009 10E8 : cmpi.w  #$9, ($10e8,A5)
            5E6F8 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@512DA = 0C6D000210E86634</action>
            <action>maincpu.mq@51366 = 0C6D000910E86732</action>
            <action>maincpu.mq@5E6D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E6F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@3B03E = 4EF90005E7006706</action>
            <action>maincpu.mq@5E700 = 41F90010C00043F9</action>
            <action>maincpu.mq@5E708 = 0003F078103C00EF</action>
            <action>maincpu.mq@5E710 = 4E9133C0003C0000</action>
            <action>maincpu.mq@5E718 = 1401123900390001</action>
            <action>maincpu.mq@5E720 = B40167EE0C0100FB</action>
            <action>maincpu.mq@5E728 = 660253100C0100F7</action>
            <action>maincpu.mq@5E730 = 660252100C0100FD</action>
            <action>maincpu.mq@5E738 = 6604041000100C01</action>
            <action>maincpu.mq@5E740 = 00FE660406100010</action>
            <action>maincpu.mq@5E748 = 0C0100EF66041010</action>
            <action>maincpu.mq@5E750 = 4E910C0100DF6604</action>
            <action>maincpu.mq@5E758 = 42004E9160B4FFFF</action>
            <!--
            5E700 | 41F9 0010 C000 : lea     $10c000.l, A0 // sound code address
            5E706 | 43F9 0003 F078 : lea     $3f078.l, A1  // sound latch routine address
            5E70C | 103C 00EF      : move.b  #$ef, D0      // enable sound
            5E710 | 4E91           : jsr     (A1)
            5E712 | 33C0 003C 0000 : move.w  D0, $3c0000.l // watchdog
            5E718 | 1401           : move.b  D1, D2
            5E71A | 1239 0039 0001 : move.b  $390001.l, D1 // read input
            5E720 | B401           : cmp.b   D1, D2
            5E722 | 67EE           : beq     $5e822
            5E724 | 0C01 00FB      : cmpi.b  #-$5, D1
            5E728 | 6602           : bne     $5e83c
            5E72A | 5310           : subq.b  #1, (A0)      // decrease code -01
            5E72C | 0C01 00F7      : cmpi.b  #-$9, D1
            5E730 | 6602           : bne     $5e844
            5E732 | 5210           : addq.b  #1, (A0)      // increase coce +01
            5E734 | 0C01 00FD      : cmpi.b  #-$3, D1
            5E738 | 6604           : bne     $5e84e
            5E73A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            5E73E | 0C01 00FE      : cmpi.b  #-$2, D1
            5E742 | 6604           : bne     $5e858
            5E744 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5E748 | 0C01 00EF      : cmpi.b  #-$11, D1
            5E74C | 6604           : bne     $5e862
            5E74E | 1010           : move.b  (A0), D0     // play sound
            5E750 | 4E91           : jsr     (A1)
            5E752 | 0C01 00DF      : cmpi.b  #-$21, D1
            5E756 | 6604           : bne     $5e86c
            5E758 | 4200           : clr.b   D0           // stop sound
            5E75A | 4E91           : jsr     (A1)
            5E75C | 60B4           : bra     $5e822
            -->
        </script>
        <script state="run">
            <output format="----- rastan saga 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@10C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@3B03E = 082D000200196706</action>
            <action>maincpu.mq@5E700 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E708 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E710 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E718 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E720 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E728 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E730 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E738 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E740 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E748 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E750 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5E758 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply