[karnovj] Karnov

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

[karnovj] Karnov

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@1e1b = 80</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1e1b = 82</action>
    </script>
</cheat>

<cheat desc="bullet speed - main shot">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x03">02       </item>
        <item value="0x06">03       </item>
        <item value="0x09">04       </item>
        <item value="0x0c">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@29c5 =  param</action> <!-- shot level 1 : right -->
        <action>maincpu.mb@29c7 = -param</action> <!-- shot level 1 : left -->
        <action>maincpu.mb@29c9 =  param</action> <!-- shot level 2 : right -->
        <action>maincpu.mb@29cb = -param</action> <!-- shot level 2 : left -->
        <action>maincpu.mb@29d1 =  param</action> <!-- shot level 3 : right -->
        <action>maincpu.mb@29d3 = -param</action> <!-- shot level 3 : left -->
    </script>
    <script state="off">
        <action>maincpu.mb@29c5 = 03</action>
        <action>maincpu.mb@29c7 = fd</action>
        <action>maincpu.mb@29c9 = 04</action>
        <action>maincpu.mb@29cb = fc</action>
        <action>maincpu.mb@29d1 = 04</action>
        <action>maincpu.mb@29d3 = fc</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.mq@012da = 4eb90004d5f02070</action>
        <action>maincpu.mq@4d5f0 = 024000030c000001</action>
        <action>maincpu.mq@4d5f8 = 660c083900050006</action>
        <action>maincpu.mq@4d600 = 0c8267024240e548</action>
        <action>maincpu.mq@4d608 = 4e75ffffffffffff</action>
        <!--
        4d5f0 | 0240 0003           : andi.w #$3,D0
        4d5f4 | 0c00 0001           : cmpi.b #$1,D0
        4d5f8 | 660c                : bne    $4d606
        4d5fa | 0839 0005 0006 0c82 : btst   #$5,$60c82.l
        4d602 | 6702                : beq    $4d606
        4d604 | 4240                : clr.w  D0
        4d606 | e548                : lsl.w  #2,D0
        4d608 | 4e75                : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@012da = 02400003e5482070</action>
        <action>maincpu.mq@4d5f0 = ffffffffffffffff</action>
        <action>maincpu.mq@4d5f8 = ffffffffffffffff</action>
        <action>maincpu.mq@4d600 = ffffffffffffffff</action>
        <action>maincpu.mq@4d608 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="open hidden item">
    <script state="on">
        <!-- invisible point -->
        <action>maincpu.mq@03a9e = 4eb90004d6106700</action>
        <action>maincpu.mq@4d610 = 4247322800029279</action>
        <action>maincpu.mq@4d618 = 0006020264024441</action>
        <action>maincpu.mq@4d620 = 0c41001064043e3c</action>
        <action>maincpu.mq@4d628 = ffff4a474e75ffff</action>
        <!--
        4d610 | 4247           : clr.w  D7
        4d612 | 3228 0002      : move.w ($2,A0),D1
        4d616 | 9279 0006 0202 : sub.w  $60202.l,D1
        4d61c | 6402           : bcc    $4d620
        4d61e | 4441           : neg.w  D1
        4d620 | 0c41 0010      : cmpi.w #$10,D1
        4d624 | 6404           : bcc    $4d62a
        4d626 | 3e3c ffff      : move.w #$ffff,D7
        4d62a | 4a47           : tst.w  D7
        4d62c | 4e75           : rts
        -->
        <!-- mask -->
        <action>maincpu.mw@3b2e = 4e71</action>
    </script>
    <script state="off">
        <action>maincpu.mq@03a9e = 610002aa4a476700</action>
        <action>maincpu.mq@4d610 = ffffffffffffffff</action>
        <action>maincpu.mq@4d618 = ffffffffffffffff</action>
        <action>maincpu.mq@4d620 = ffffffffffffffff</action>
        <action>maincpu.mq@4d628 = ffffffffffffffff</action>
        <action>maincpu.mw@03b2e =             6718</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0x0100">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x0040">03       </item>
        <item value="0x0020">04       </item>
        <item value="0x0001">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mw@10f32 = 0c40</action> <!-- cmpi.w #$xx,D0 -->
    </script>
    <script state="change">
        <action>maincpu.mw@10f34 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@10f32 = b0701000</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.md@0060a =         0004d630</action>
        <action>maincpu.mq@4d630 = 4eb90000097e41f9</action>
        <action>maincpu.mq@4d638 = 0006010043f9000c</action>
        <action>maincpu.mq@4d640 = 000312001029fffe</action>
        <action>maincpu.mq@4d648 = b20067f60c0000fb</action>
        <action>maincpu.mq@4d650 = 660253100c0000f7</action>
        <action>maincpu.mq@4d658 = 660252100c0000fd</action>
        <action>maincpu.mq@4d660 = 6604041000100c00</action>
        <action>maincpu.mq@4d668 = 00fe660406100010</action>
        <action>maincpu.mq@4d670 = 0c0000ef66021290</action>
        <action>maincpu.mq@4d678 = 0c0000df660412bc</action>
        <action>maincpu.mq@4d680 = 001c60beffffffff</action>
        <!--
        4d630 | 4eb9 0000 097e : jsr    $97e.l      // clear objects
        4d636 | 41f9 0006 0100 : lea    $60100.l,A0 // sound code address
        4d63c | 43f9 000c 0003 : lea    $c0003.l,A1 // sound latch address
        4d642 | 1200           : move.b D0,D1
        4d644 | 1029 fffe      : move.b (-$2,A1),D0 // read input
        4d648 | b200           : cmp.b  D0,D1
        4d64a | 67f6           : beq    $4d642
        4d64c | 0c00 00fb      : cmpi.b #-$5,D0
        4d650 | 6602           : bne    $4d654
        4d652 | 5310           : subq.b #1,(A0)     // decrease code -01
        4d654 | 0c00 00f7      : cmpi.b #-$9,D0
        4d658 | 6602           : bne    $4d65c
        4d65a | 5210           : addq.b #1,(A0)     // increase code +01
        4d65c | 0c00 00fd      : cmpi.b #-$3,D0
        4d660 | 6604           : bne    $4d666
        4d662 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        4d666 | 0c00 00fe      : cmpi.b #-$2,D0
        4d66a | 6604           : bne    $4d670
        4d66c | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        4d670 | 0c00 00ef      : cmpi.b #-$11,D0
        4d674 | 6602           : bne    $4d678
        4d676 | 1290           : move.b (A0),(A1)   // play sound
        4d678 | 0c00 00df      : cmpi.b #-$21,D0
        4d67c | 6604           : bne    $4d682
        4d67e | 12bc 001c      : move.b #$1c,(A1)   // stop sound
        4d682 | 60be           : bra    $4d642
        -->
    </script>
    <script state="run">
        <output format="----- karnov 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@60100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@0060a =         00010d22</action>
        <action>maincpu.mq@4d630 = ffffffffffffffff</action>
        <action>maincpu.mq@4d638 = ffffffffffffffff</action>
        <action>maincpu.mq@4d640 = ffffffffffffffff</action>
        <action>maincpu.mq@4d648 = ffffffffffffffff</action>
        <action>maincpu.mq@4d650 = ffffffffffffffff</action>
        <action>maincpu.mq@4d658 = ffffffffffffffff</action>
        <action>maincpu.mq@4d660 = ffffffffffffffff</action>
        <action>maincpu.mq@4d668 = ffffffffffffffff</action>
        <action>maincpu.mq@4d670 = ffffffffffffffff</action>
        <action>maincpu.mq@4d678 = ffffffffffffffff</action>
        <action>maincpu.mq@4d680 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[karnov]+ Karnov

Post by jman »

karnov.xml

Code: Select all

<!-- Karnov (US, rev 6) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@030EA = 60</action> <!-- bomb -->
            <action>maincpu.mb@09260 = 60</action> <!-- enemy -->
            <action>maincpu.mb@0EEE2 = 60</action> <!-- enemy -->
            <action>maincpu.mb@11226 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@030EA = 67</action>
            <action>maincpu.mb@09260 = 64</action>
            <action>maincpu.mb@0EEE2 = 64</action>
            <action>maincpu.mb@11226 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1E35 = 80</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1E35 = 82</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x03">02       </item>
            <item value="0x06">03       </item>
            <item value="0x09">04       </item>
            <item value="0x0c">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@29CF =  param</action> <!-- shot level 1 : right -->
            <action>maincpu.mb@29D1 = -param</action> <!-- shot level 1 : left -->
            <action>maincpu.mb@29D3 =  param</action> <!-- shot level 2 : right -->
            <action>maincpu.mb@29D5 = -param</action> <!-- shot level 2 : left -->
            <action>maincpu.mb@29DB =  param</action> <!-- shot level 3 : right -->
            <action>maincpu.mb@29DD = -param</action> <!-- shot level 3 : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@29CF = 03</action>
            <action>maincpu.mb@29D1 = FD</action>
            <action>maincpu.mb@29D3 = 04</action>
            <action>maincpu.mb@29D5 = FC</action>
            <action>maincpu.mb@29DB = 04</action>
            <action>maincpu.mb@29DD = FC</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@012F4 = 4EB90004D8102070</action>
            <action>maincpu.mq@4D810 = 024000030C000001</action>
            <action>maincpu.mq@4D818 = 660C083900050006</action>
            <action>maincpu.mq@4D820 = 0C8267024240E548</action>
            <action>maincpu.mq@4D828 = 4E75FFFFFFFFFFFF</action>
            <!--
            4D810 | 0240 0003           : andi.w  #$3, D0
            4D814 | 0C00 0001           : cmpi.b  #$1, D0
            4D818 | 660C                : bne     $4d826
            4D81A | 0839 0005 0006 0C82 : btst    #$5, $60c82.l
            4D822 | 6702                : beq     $4d826
            4D824 | 4240                : clr.w   D0
            4D826 | E548                : lsl.w   #2, D0
            4D828 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@012F4 = 02400003E5482070</action>
            <action>maincpu.mq@4D810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D828 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <!-- invisible point -->
            <action>maincpu.mq@03AA8 = 4EB90004D8306700</action>
            <action>maincpu.mq@4D830 = 4247322800029279</action>
            <action>maincpu.mq@4D838 = 0006020264024441</action>
            <action>maincpu.mq@4D840 = 0C41001064043E3C</action>
            <action>maincpu.mq@4D848 = FFFF4A474E75FFFF</action>
            <!--
            4D830 | 4247           : clr.w   D7
            4D832 | 3228 0002      : move.w  ($2,A0), D1
            4D836 | 9279 0006 0202 : sub.w   $60202.l, D1
            4D83C | 6402           : bcc     $4d840
            4D83E | 4441           : neg.w   D1
            4D840 | 0C41 0010      : cmpi.w  #$10, D1
            4D844 | 6404           : bcc     $4d84a
            4D846 | 3E3C FFFF      : move.w  #$ffff, D7
            4D84A | 4A47           : tst.w   D7
            4D84C | 4E75           : rts
            -->
            <!-- mask -->
            <action>maincpu.mw@3B38 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mq@03AA8 = 610002AA4A476700</action>
            <action>maincpu.mq@4D830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mw@03B38 = 6718            </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@117D0 = 0C40</action>
        </script>
        <script state="change">
            <action>maincpu.mw@117D2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@117D0 = B0701000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0060A = 0004D850        </action>
            <action>maincpu.mq@4D850 = 4EB8098441F90006</action>
            <action>maincpu.mq@4D858 = 100043F9000C0003</action>
            <action>maincpu.mq@4D860 = 12001029FFFEB200</action>
            <action>maincpu.mq@4D868 = 67F60C0000FB6602</action>
            <action>maincpu.mq@4D870 = 53100C0000F76602</action>
            <action>maincpu.mq@4D878 = 52100C0000FD6604</action>
            <action>maincpu.mq@4D880 = 041000100C0000FE</action>
            <action>maincpu.mq@4D888 = 6604061000100C00</action>
            <action>maincpu.mq@4D890 = 00EF660212900C00</action>
            <action>maincpu.mq@4D898 = 00DF660412BC001C</action>
            <action>maincpu.mq@4D8A0 = 60BEFFFFFFFFFFFF</action>
            <!--
            4D850 | 4EB8 0984      : jsr     $984.w       // clear objects
            4D854 | 41F9 0006 1000 : lea     $61000.l, A0 // sound code address
            4D85A | 43F9 000C 0003 : lea     $c0003.l, A1 // sound latch address
            4D860 | 1200           : move.b  D0, D1
            4D862 | 1029 FFFE      : move.b  (-$2,A1), D0 // read input ($c0001)
            4D866 | B200           : cmp.b   D0, D1
            4D868 | 67F6           : beq     $4d860
            4D86A | 0C00 00FB      : cmpi.b  #-$5, D0
            4D86E | 6602           : bne     $4d872
            4D870 | 5310           : subq.b  #1, (A0)     // decrease code -01
            4D872 | 0C00 00F7      : cmpi.b  #-$9, D0
            4D876 | 6602           : bne     $4d87a
            4D878 | 5210           : addq.b  #1, (A0)     // increase code +01
            4D87A | 0C00 00FD      : cmpi.b  #-$3, D0
            4D87E | 6604           : bne     $4d884
            4D880 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            4D884 | 0C00 00FE      : cmpi.b  #-$2, D0
            4D888 | 6604           : bne     $4d88e
            4D88A | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            4D88E | 0C00 00EF      : cmpi.b  #-$11, D0
            4D892 | 6602           : bne     $4d896
            4D894 | 1290           : move.b  (A0), (A1)   // play sound
            4D896 | 0C00 00DF      : cmpi.b  #-$21, D0
            4D89A | 6604           : bne     $4d8a0
            4D89C | 12BC 001C      : move.b  #$1c, (A1)   // stop sound
            4D8A0 | 60BE           : bra     $4d860
            -->
        </script>
        <script state="run">
            <output format="----- karnov 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@61000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0060A = 0001159E        </action>
            <action>maincpu.mq@4D850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D868 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D878 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D880 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D888 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D890 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D898 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D8A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
karnova.xml

Code: Select all

<!-- Karnov (US, rev 5) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@030EA = 60</action> <!-- bomb -->
            <action>maincpu.mb@09260 = 60</action> <!-- enemy -->
            <action>maincpu.mb@0EEE2 = 60</action> <!-- enemy -->
            <action>maincpu.mb@11226 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@030EA = 67</action>
            <action>maincpu.mb@09260 = 64</action>
            <action>maincpu.mb@0EEE2 = 64</action>
            <action>maincpu.mb@11226 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1E35 = 80</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1E35 = 82</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x03">02       </item>
            <item value="0x06">03       </item>
            <item value="0x09">04       </item>
            <item value="0x0c">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@29CF =  param</action> <!-- shot level 1 : right -->
            <action>maincpu.mb@29D1 = -param</action> <!-- shot level 1 : left -->
            <action>maincpu.mb@29D3 =  param</action> <!-- shot level 2 : right -->
            <action>maincpu.mb@29D5 = -param</action> <!-- shot level 2 : left -->
            <action>maincpu.mb@29DB =  param</action> <!-- shot level 3 : right -->
            <action>maincpu.mb@29DD = -param</action> <!-- shot level 3 : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@29CF = 03</action>
            <action>maincpu.mb@29D1 = FD</action>
            <action>maincpu.mb@29D3 = 04</action>
            <action>maincpu.mb@29D5 = FC</action>
            <action>maincpu.mb@29DB = 04</action>
            <action>maincpu.mb@29DD = FC</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@012F4 = 4EB90004D8102070</action>
            <action>maincpu.mq@4D810 = 024000030C000001</action>
            <action>maincpu.mq@4D818 = 660C083900050006</action>
            <action>maincpu.mq@4D820 = 0C8267024240E548</action>
            <action>maincpu.mq@4D828 = 4E75FFFFFFFFFFFF</action>
            <!--
            4D810 | 0240 0003           : andi.w  #$3, D0
            4D814 | 0C00 0001           : cmpi.b  #$1, D0
            4D818 | 660C                : bne     $4d826
            4D81A | 0839 0005 0006 0C82 : btst    #$5, $60c82.l
            4D822 | 6702                : beq     $4d826
            4D824 | 4240                : clr.w   D0
            4D826 | E548                : lsl.w   #2, D0
            4D828 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@012F4 = 02400003E5482070</action>
            <action>maincpu.mq@4D810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D828 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <!-- invisible point -->
            <action>maincpu.mq@03AA8 = 4EB90004D8306700</action>
            <action>maincpu.mq@4D830 = 4247322800029279</action>
            <action>maincpu.mq@4D838 = 0006020264024441</action>
            <action>maincpu.mq@4D840 = 0C41001064043E3C</action>
            <action>maincpu.mq@4D848 = FFFF4A474E75FFFF</action>
            <!--
            4D830 | 4247           : clr.w   D7
            4D832 | 3228 0002      : move.w  ($2,A0), D1
            4D836 | 9279 0006 0202 : sub.w   $60202.l, D1
            4D83C | 6402           : bcc     $4d840
            4D83E | 4441           : neg.w   D1
            4D840 | 0C41 0010      : cmpi.w  #$10, D1
            4D844 | 6404           : bcc     $4d84a
            4D846 | 3E3C FFFF      : move.w  #$ffff, D7
            4D84A | 4A47           : tst.w   D7
            4D84C | 4E75           : rts
            -->
            <!-- mask -->
            <action>maincpu.mw@3B38 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mq@03AA8 = 610002AA4A476700</action>
            <action>maincpu.mq@4D830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mw@03B38 = 6718            </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@117D0 = 0C40</action>
        </script>
        <script state="change">
            <action>maincpu.mw@117D2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@117D0 = B0701000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0060A = 0004D850        </action>
            <action>maincpu.mq@4D850 = 4EB8098441F90006</action>
            <action>maincpu.mq@4D858 = 100043F9000C0003</action>
            <action>maincpu.mq@4D860 = 12001029FFFEB200</action>
            <action>maincpu.mq@4D868 = 67F60C0000FB6602</action>
            <action>maincpu.mq@4D870 = 53100C0000F76602</action>
            <action>maincpu.mq@4D878 = 52100C0000FD6604</action>
            <action>maincpu.mq@4D880 = 041000100C0000FE</action>
            <action>maincpu.mq@4D888 = 6604061000100C00</action>
            <action>maincpu.mq@4D890 = 00EF660212900C00</action>
            <action>maincpu.mq@4D898 = 00DF660412BC001C</action>
            <action>maincpu.mq@4D8A0 = 60BEFFFFFFFFFFFF</action>
            <!--
            4D850 | 4EB8 0984      : jsr     $984.w       // clear objects
            4D854 | 41F9 0006 1000 : lea     $61000.l, A0 // sound code address
            4D85A | 43F9 000C 0003 : lea     $c0003.l, A1 // sound latch address
            4D860 | 1200           : move.b  D0, D1
            4D862 | 1029 FFFE      : move.b  (-$2,A1), D0 // read input ($c0001)
            4D866 | B200           : cmp.b   D0, D1
            4D868 | 67F6           : beq     $4d860
            4D86A | 0C00 00FB      : cmpi.b  #-$5, D0
            4D86E | 6602           : bne     $4d872
            4D870 | 5310           : subq.b  #1, (A0)     // decrease code -01
            4D872 | 0C00 00F7      : cmpi.b  #-$9, D0
            4D876 | 6602           : bne     $4d87a
            4D878 | 5210           : addq.b  #1, (A0)     // increase code +01
            4D87A | 0C00 00FD      : cmpi.b  #-$3, D0
            4D87E | 6604           : bne     $4d884
            4D880 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            4D884 | 0C00 00FE      : cmpi.b  #-$2, D0
            4D888 | 6604           : bne     $4d88e
            4D88A | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            4D88E | 0C00 00EF      : cmpi.b  #-$11, D0
            4D892 | 6602           : bne     $4d896
            4D894 | 1290           : move.b  (A0), (A1)   // play sound
            4D896 | 0C00 00DF      : cmpi.b  #-$21, D0
            4D89A | 6604           : bne     $4d8a0
            4D89C | 12BC 001C      : move.b  #$1c, (A1)   // stop sound
            4D8A0 | 60BE           : bra     $4d860
            -->
        </script>
        <script state="run">
            <output format="----- karnov 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@61000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0060A = 0001159E        </action>
            <action>maincpu.mq@4D850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D868 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D878 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D880 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D888 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D890 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D898 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D8A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
karnovj.xml

Code: Select all

<!-- Karnov (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@030E0 = 60</action> <!-- bomb -->
            <action>maincpu.mb@091F8 = 60</action> <!-- enemy -->
            <action>maincpu.mb@0E890 = 60</action> <!-- enemy -->
            <action>maincpu.mb@109BC = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@030E0 = 67</action>
            <action>maincpu.mb@091F8 = 64</action>
            <action>maincpu.mb@0E890 = 64</action>
            <action>maincpu.mb@109BC = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1E1B = 80</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1E1B = 82</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x03">02       </item>
            <item value="0x06">03       </item>
            <item value="0x09">04       </item>
            <item value="0x0c">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@29C5 =  param</action> <!-- shot level 1 : right -->
            <action>maincpu.mb@29C7 = -param</action> <!-- shot level 1 : left -->
            <action>maincpu.mb@29C9 =  param</action> <!-- shot level 2 : right -->
            <action>maincpu.mb@29CB = -param</action> <!-- shot level 2 : left -->
            <action>maincpu.mb@29D1 =  param</action> <!-- shot level 3 : right -->
            <action>maincpu.mb@29D3 = -param</action> <!-- shot level 3 : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@29C5 = 03</action>
            <action>maincpu.mb@29C7 = FD</action>
            <action>maincpu.mb@29C9 = 04</action>
            <action>maincpu.mb@29CB = FC</action>
            <action>maincpu.mb@29D1 = 04</action>
            <action>maincpu.mb@29D3 = FC</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@012DA = 4EB90004D5F02070</action>
            <action>maincpu.mq@4D5F0 = 024000030C000001</action>
            <action>maincpu.mq@4D5F8 = 660C083900050006</action>
            <action>maincpu.mq@4D600 = 0C8267024240E548</action>
            <action>maincpu.mq@4D608 = 4E75FFFFFFFFFFFF</action>
            <!--
            4D5F0 | 0240 0003           : andi.w  #$3, D0
            4D5F4 | 0C00 0001           : cmpi.b  #$1, D0
            4D5F8 | 660C                : bne     $4d606
            4D5FA | 0839 0005 0006 0C82 : btst    #$5, $60c82.l
            4D602 | 6702                : beq     $4d606
            4D604 | 4240                : clr.w   D0
            4D606 | E548                : lsl.w   #2, D0
            4D608 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@012DA = 02400003E5482070</action>
            <action>maincpu.mq@4D5F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D5F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D600 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D608 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <!-- invisible point -->
            <action>maincpu.mq@03A9E = 4EB90004D6106700</action>
            <action>maincpu.mq@4D610 = 4247322800029279</action>
            <action>maincpu.mq@4D618 = 0006020264024441</action>
            <action>maincpu.mq@4D620 = 0C41001064043E3C</action>
            <action>maincpu.mq@4D628 = FFFF4A474E75FFFF</action>
            <!--
            4D610 | 4247           : clr.w   D7
            4D612 | 3228 0002      : move.w  ($2,A0), D1
            4D616 | 9279 0006 0202 : sub.w   $60202.l, D1
            4D61C | 6402           : bcc     $4d620
            4D61E | 4441           : neg.w   D1
            4D620 | 0C41 0010      : cmpi.w  #$10, D1
            4D624 | 6404           : bcc     $4d62a
            4D626 | 3E3C FFFF      : move.w  #$ffff, D7
            4D62A | 4A47           : tst.w   D7
            4D62C | 4E75           : rts
            -->
            <!-- mask -->
            <action>maincpu.mw@3B2E = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mq@03A9E = 610002AA4A476700</action>
            <action>maincpu.mq@4D610 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D618 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D620 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D628 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mw@03B2E = 6718            </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@10F32 = 0C40</action>
        </script>
        <script state="change">
            <action>maincpu.mw@10F34 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@10F32 = B0701000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0060A = 0004D630        </action>
            <action>maincpu.mq@4D630 = 4EB8097E41F90006</action>
            <action>maincpu.mq@4D638 = 100043F9000C0003</action>
            <action>maincpu.mq@4D640 = 12001029FFFEB200</action>
            <action>maincpu.mq@4D648 = 67F60C0000FB6602</action>
            <action>maincpu.mq@4D650 = 53100C0000F76602</action>
            <action>maincpu.mq@4D658 = 52100C0000FD6604</action>
            <action>maincpu.mq@4D660 = 041000100C0000FE</action>
            <action>maincpu.mq@4D668 = 6604061000100C00</action>
            <action>maincpu.mq@4D670 = 00EF660212900C00</action>
            <action>maincpu.mq@4D678 = 00DF660412BC001C</action>
            <action>maincpu.mq@4D680 = 60BEFFFFFFFFFFFF</action>
            <!--
            4D630 | 4EB8 097E      : jsr     $97e.w       // clear objects
            4D634 | 41F9 0006 1000 : lea     $61000.l, A0 // sound code address
            4D63A | 43F9 000C 0003 : lea     $c0003.l, A1 // sound latch address
            4D640 | 1200           : move.b  D0, D1
            4D642 | 1029 FFFE      : move.b  (-$2,A1), D0 // read input ($c0001)
            4D646 | B200           : cmp.b   D0, D1
            4D648 | 67F6           : beq     $4d640
            4D64A | 0C00 00FB      : cmpi.b  #-$5, D0
            4D64E | 6602           : bne     $4d652
            4D650 | 5310           : subq.b  #1, (A0)     // decrease code -01
            4D652 | 0C00 00F7      : cmpi.b  #-$9, D0
            4D656 | 6602           : bne     $4d65a
            4D658 | 5210           : addq.b  #1, (A0)     // increase code +01
            4D65A | 0C00 00FD      : cmpi.b  #-$3, D0
            4D65E | 6604           : bne     $4d664
            4D660 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            4D664 | 0C00 00FE      : cmpi.b  #-$2, D0
            4D668 | 6604           : bne     $4d66e
            4D66A | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            4D66E | 0C00 00EF      : cmpi.b  #-$11, D0
            4D672 | 6602           : bne     $4d676
            4D674 | 1290           : move.b  (A0), (A1)   // play sound
            4D676 | 0C00 00DF      : cmpi.b  #-$21, D0
            4D67A | 6604           : bne     $4d680
            4D67C | 12BC 001C      : move.b  #$1c, (A1)   // stop sound
            4D680 | 60BE           : bra     $4d640
            -->
        </script>
        <script state="run">
            <output format="----- karnov 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@61000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0060A = 00010D22        </action>
            <action>maincpu.mq@4D630 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D638 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D640 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D648 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D650 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D658 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D660 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D668 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D670 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D678 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D680 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
karnovjbl.xml

Code: Select all

<!-- Karnov (Japan, bootleg with NEC D8748HD) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@030E0 = 60</action> <!-- bomb -->
            <action>maincpu.mb@091F8 = 60</action> <!-- enemy -->
            <action>maincpu.mb@0E890 = 60</action> <!-- enemy -->
            <action>maincpu.mb@109BC = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@030E0 = 67</action>
            <action>maincpu.mb@091F8 = 64</action>
            <action>maincpu.mb@0E890 = 64</action>
            <action>maincpu.mb@109BC = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1E1B = 80</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1E1B = 82</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x03">02       </item>
            <item value="0x06">03       </item>
            <item value="0x09">04       </item>
            <item value="0x0c">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@29C5 =  param</action> <!-- shot level 1 : right -->
            <action>maincpu.mb@29C7 = -param</action> <!-- shot level 1 : left -->
            <action>maincpu.mb@29C9 =  param</action> <!-- shot level 2 : right -->
            <action>maincpu.mb@29CB = -param</action> <!-- shot level 2 : left -->
            <action>maincpu.mb@29D1 =  param</action> <!-- shot level 3 : right -->
            <action>maincpu.mb@29D3 = -param</action> <!-- shot level 3 : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@29C5 = 03</action>
            <action>maincpu.mb@29C7 = FD</action>
            <action>maincpu.mb@29C9 = 04</action>
            <action>maincpu.mb@29CB = FC</action>
            <action>maincpu.mb@29D1 = 04</action>
            <action>maincpu.mb@29D3 = FC</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@012DA = 4EB900047B302070</action>
            <action>maincpu.mq@47B30 = 024000030C000001</action>
            <action>maincpu.mq@47B38 = 660C083900050006</action>
            <action>maincpu.mq@47B40 = 0C8267024240E548</action>
            <action>maincpu.mq@47B48 = 4E75FFFFFFFFFFFF</action>
            <!--
            47B30 | 0240 0003           : andi.w  #$3, D0
            47B34 | 0C00 0001           : cmpi.b  #$1, D0
            47B38 | 660C                : bne     $47b46
            47B3A | 0839 0005 0006 0C82 : btst    #$5, $60c82.l
            47B42 | 6702                : beq     $47b46
            47B44 | 4240                : clr.w   D0
            47B46 | E548                : lsl.w   #2, D0
            47B48 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@012DA = 02400003E5482070</action>
            <action>maincpu.mq@47B30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B48 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <!-- invisible point -->
            <action>maincpu.mq@03A9E = 4EB900047B506700</action>
            <action>maincpu.mq@47B50 = 4247322800029279</action>
            <action>maincpu.mq@47B58 = 0006020264024441</action>
            <action>maincpu.mq@47B60 = 0C41001064043E3C</action>
            <action>maincpu.mq@47B68 = FFFF4A474E75FFFF</action>
            <!--
            47B50 | 4247           : clr.w   D7
            47B52 | 3228 0002      : move.w  ($2,A0), D1
            47B56 | 9279 0006 0202 : sub.w   $60202.l, D1
            47B5C | 6402           : bcc     $47b60
            47B5E | 4441           : neg.w   D1
            47B60 | 0C41 0010      : cmpi.w  #$10, D1
            47B64 | 6404           : bcc     $47b6a
            47B66 | 3E3C FFFF      : move.w  #$ffff, D7
            47B6A | 4A47           : tst.w   D7
            47B6C | 4E75           : rts
            -->
            <!-- mask -->
            <action>maincpu.mw@3B2E = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mq@03A9E = 610002AA4A476700</action>
            <action>maincpu.mq@47B50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mw@03B2E = 6718            </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@10F32 = 0C40</action>
        </script>
        <script state="change">
            <action>maincpu.mw@10F34 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@10F32 = B0701000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0060A = 00047B70        </action>
            <action>maincpu.mq@47B70 = 4EB8097E41F90006</action>
            <action>maincpu.mq@47B78 = 100043F9000C0003</action>
            <action>maincpu.mq@47B80 = 12001029FFFEB200</action>
            <action>maincpu.mq@47B88 = 67F60C0000FB6602</action>
            <action>maincpu.mq@47B90 = 53100C0000F76602</action>
            <action>maincpu.mq@47B98 = 52100C0000FD6604</action>
            <action>maincpu.mq@47BA0 = 041000100C0000FE</action>
            <action>maincpu.mq@47BA8 = 6604061000100C00</action>
            <action>maincpu.mq@47BB0 = 00EF660212900C00</action>
            <action>maincpu.mq@47BB8 = 00DF660412BC001C</action>
            <action>maincpu.mq@47BC0 = 60BEFFFFFFFFFFFF</action>
            <!--
            47B70 | 4EB8 097E      : jsr     $97e.w       // clear objects
            47B74 | 41F9 0006 1000 : lea     $61000.l, A0 // sound code address
            47B7A | 43F9 000C 0003 : lea     $c0003.l, A1 // sound latch address
            47B80 | 1200           : move.b  D0, D1
            47B82 | 1029 FFFE      : move.b  (-$2,A1), D0 // read input ($c0001)
            47B86 | B200           : cmp.b   D0, D1
            47B88 | 67F6           : beq     $47b80
            47B8A | 0C00 00FB      : cmpi.b  #-$5, D0
            47B8E | 6602           : bne     $47b92
            47B90 | 5310           : subq.b  #1, (A0)     // decrease code -01
            47B92 | 0C00 00F7      : cmpi.b  #-$9, D0
            47B96 | 6602           : bne     $47b9a
            47B98 | 5210           : addq.b  #1, (A0)     // increase code +01
            47B9A | 0C00 00FD      : cmpi.b  #-$3, D0
            47B9E | 6604           : bne     $47ba4
            47BA0 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            47BA4 | 0C00 00FE      : cmpi.b  #-$2, D0
            47BA8 | 6604           : bne     $47bae
            47BAA | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            47BAE | 0C00 00EF      : cmpi.b  #-$11, D0
            47BB2 | 6602           : bne     $47bb6
            47BB4 | 1290           : move.b  (A0), (A1)   // play sound
            47BB6 | 0C00 00DF      : cmpi.b  #-$21, D0
            47BBA | 6604           : bne     $47bc0
            47BBC | 12BC 001C      : move.b  #$1c, (A1)   // stop sound
            47BC0 | 60BE           : bra     $47b80
            -->
        </script>
        <script state="run">
            <output format="----- karnov 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@61000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0060A = 00010D22        </action>
            <action>maincpu.mq@47B70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47B98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47BA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47BA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47BB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47BB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47BC0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
karnovjbl freezes after the game starts. So I can't verify the cheat codes except "sound test mode".
Post Reply