[daisenpu] Twin Hawk/Daisenpu

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[daisenpu] Twin Hawk/Daisenpu

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@a4fc = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@a4fc = 64</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@21d1 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@21d1 = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0180">03       </item>
        <item value="0x0200">04       </item>
        <item value="0x0280">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@0207a =         323c0200</action>
        <action>maincpu.mq@0207e = 4eb900035c60720f</action>
        <action>maincpu.mq@35c60 = 610ed16e00064840</action>
        <action>maincpu.mq@35c68 = 6106d16e00044e75</action>
        <action>maincpu.mq@35c70 = 34014a4067066a02</action>
        <action>maincpu.mq@35c78 = 444230024e75ffff</action>
        <!--
        0207a | 323c xxxx      : move.w #$xx,D1
        0207e | 4eb9 0003 5c60 : jsr    $35c60.l
        35c60 | 610e           : bsr    $35c70
        35c62 | d16e 0006      : add.w  D0,($6,A6)
        35c66 | 4840           : swap   D0
        35c68 | 6106           : bsr    $35c70
        35c6a | d16e 0004      : add.w  D0,($4,A6)
        35c6e | 4e75           : rts
        35c70 | 3401           : move.w D1,D2
        35c72 | 4a40           : tst.w  D0
        35c74 | 6706           : beq    $35c7c
        35c76 | 6a02           : bpl    $35c7a
        35c78 | 4442           : neg.w  D2
        35c7a | 3002           : move.w D2,D0
        35c7c | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mw@207c = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@0207a =         d16e0006</action>
        <action>maincpu.mq@0207e = 4840d16e0004720f</action>
        <action>maincpu.mq@35c60 = ffffffffffffffff</action>
        <action>maincpu.mq@35c68 = ffffffffffffffff</action>
        <action>maincpu.mq@35c70 = ffffffffffffffff</action>
        <action>maincpu.mq@35c78 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x0280">01 (slow)</item>
        <item value="0x0500">02       </item>
        <item value="0x0780">03       </item>
        <item value="0x0a00">04       </item>
        <item value="0x0c80">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@22d6 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@22d6 = 0500</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@00792 =         00035c80</action>
        <action>maincpu.mq@35c80 = 027cf8ff43f900f0</action>
        <action>maincpu.mq@35c88 = 0800180316390090</action>
        <action>maincpu.mq@35c90 = 0001b80367f40c03</action>
        <action>maincpu.mq@35c98 = 00fb660253110c03</action>
        <action>maincpu.mq@35ca0 = 00f7660252110c03</action>
        <action>maincpu.mq@35ca8 = 00fd660404110010</action>
        <action>maincpu.mq@35cb0 = 0c0300fe66040611</action>
        <action>maincpu.mq@35cb8 = 00100c0300ef6604</action>
        <action>maincpu.mq@35cc0 = 1011600a0c0300df</action>
        <action>maincpu.mq@35cc8 = 660a103c00fe4eb9</action>
        <action>maincpu.mq@35cd0 = 0000876860b4ffff</action>
        <!--
        35c80 | 027c f8ff      : andi   #$f8ff,SR    // enable interrupt
        35c84 | 43f9 00f0 0800 : lea    $f00800.l,A1 // sound code address
        35c8a | 1803           : move.b D3,D4
        35c8c | 1639 0090 0001 : move.b $900001.l,D3 // read input
        35c92 | b803           : cmp.b  D3,D4
        35c94 | 67f4           : beq    $35c8a
        35c96 | 0c03 00fb      : cmpi.b #-$5,D3
        35c9a | 6602           : bne    $35c9e
        35c9c | 5311           : subq.b #1,(A1)      // decrease code -01
        35c9e | 0c03 00f7      : cmpi.b #-$9,D3
        35ca2 | 6602           : bne    $35ca6
        35ca4 | 5211           : addq.b #1,(A1)      // increase code +01
        35ca6 | 0c03 00fd      : cmpi.b #-$3,D3
        35caa | 6604           : bne    $35cb0
        35cac | 0411 0010      : subi.b #$10,(A1)    // decrease code -10
        35cb0 | 0c03 00fe      : cmpi.b #-$2,D3
        35cb4 | 6604           : bne    $35cba
        35cb6 | 0611 0010      : addi.b #$10,(A1)    // increase code +10
        35cba | 0c03 00ef      : cmpi.b #-$11,D3
        35cbe | 6604           : bne    $35cc4
        35cc0 | 1011           : move.b (A1),D0      // play sound
        35cc2 | 600a           : bra    $35cce
        35cc4 | 0c03 00df      : cmpi.b #-$21,D3
        35cc8 | 660a           : bne    $35cd4
        35cca | 103c 00fe      : move.b #$fe,D0      // stop sound
        35cce | 4eb9 0000 8768 : jsr    $8768.l
        35cd4 | 60b4           : bra    $35c8a
        -->
    </script>
    <script state="run">
        <output format="----- daisenpu sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"             line="11" align="center" />
        <output format="right : increase code +01"            line="12" align="center" />
        <output format="up : increase code +10"               line="13" align="center" />
        <output format="down : decrease code -10"             line="14" align="center" />
        <output format="button 1 : play sound"                line="15" align="center" />
        <output format="button 2 : stop sound"                line="16" align="center" />
        <output format="----------------------------"         line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"   line="19" align="center">
            <argument>maincpu.pb@f00800</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@00792 =         00008250</action>
        <action>maincpu.mq@35c80 = ffffffffffffffff</action>
        <action>maincpu.mq@35c88 = ffffffffffffffff</action>
        <action>maincpu.mq@35c90 = ffffffffffffffff</action>
        <action>maincpu.mq@35c98 = ffffffffffffffff</action>
        <action>maincpu.mq@35ca0 = ffffffffffffffff</action>
        <action>maincpu.mq@35ca8 = ffffffffffffffff</action>
        <action>maincpu.mq@35cb0 = ffffffffffffffff</action>
        <action>maincpu.mq@35cb8 = ffffffffffffffff</action>
        <action>maincpu.mq@35cc0 = ffffffffffffffff</action>
        <action>maincpu.mq@35cc8 = ffffffffffffffff</action>
        <action>maincpu.mq@35cd0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mq@c514 = 4ef900000750383c</action>
    </script>
    <script state="off">
        <action>maincpu.mq@c514 = 207c00f00000383c</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[twinhawk]+ Twin Hawk/Daisenpu

Post by jman »

twinhawk.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@B0E0 = 60</action> <!-- P1 -->
            <action>maincpu.mb@B1EA = 60</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@B0E0 = 64</action>
            <action>maincpu.mb@B1EA = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@28EB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@28EB = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0580">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@02782 = 323C0000        </action>
            <action>maincpu.mq@02786 = 4EB900035C60720F</action>
            <action>maincpu.mq@35C60 = 610ED16E00064840</action>
            <action>maincpu.mq@35C68 = 6106D16E00044E75</action>
            <action>maincpu.mq@35C70 = 34014A4067066A02</action>
            <action>maincpu.mq@35C78 = 444230024E75FFFF</action>
            <!--
            02782 | 323C xxxx      : move.w #$xx,D1
            02786 | 4EB9 0003 5C60 : jsr    $35c60.l
            ==========================================
            35C60 | 610E           : bsr    $35c70
            35C62 | D16E 0006      : add.w  D0,($6,A6)
            35C66 | 4840           : swap   D0
            35C68 | 6106           : bsr    $35c70
            35C6A | D16E 0004      : add.w  D0,($4,A6)
            35C6E | 4E75           : rts
            35C70 | 3401           : move.w D1,D2
            35C72 | 4A40           : tst.w  D0
            35C74 | 6706           : beq    $35c7c
            35C76 | 6A02           : bpl    $35c7a
            35C78 | 4442           : neg.w  D2
            35C7A | 3002           : move.w D2,D0
            35C7C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2784 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@02782 = D16E0006        </action>
            <action>maincpu.mq@02786 = 4840D16E0004720F</action>
            <action>maincpu.mq@35C60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0280">01 (slow)</item>
            <item value="0x0500">02       </item>
            <item value="0x0780">03       </item>
            <item value="0x0a00">04       </item>
            <item value="0x0c80">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@24FC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@24FC = 0500</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@00792 = 00035C80        </action>
            <action>maincpu.mq@35C80 = 027CF8FF43F900F0</action>
            <action>maincpu.mq@35C88 = 0800180316390090</action>
            <action>maincpu.mq@35C90 = 0001B80367F40C03</action>
            <action>maincpu.mq@35C98 = 00FB660253110C03</action>
            <action>maincpu.mq@35CA0 = 00F7660252110C03</action>
            <action>maincpu.mq@35CA8 = 00FD660404110010</action>
            <action>maincpu.mq@35CB0 = 0C0300FE66040611</action>
            <action>maincpu.mq@35CB8 = 00100C0300EF6604</action>
            <action>maincpu.mq@35CC0 = 1011600A0C0300DF</action>
            <action>maincpu.mq@35CC8 = 660A103C00FE4EB9</action>
            <action>maincpu.mq@35CD0 = 000091EC60B4FFFF</action>
            <!--
            35C80 | 027C F8FF      : andi   #$f8ff,SR    // enable interrupt
            35C84 | 43F9 00F0 0800 : lea    $f00800.l,A1 // sound code address
            35C8A | 1803           : move.b D3,D4
            35C8C | 1639 0090 0001 : move.b $900001.l,D3 // read input
            35C92 | B803           : cmp.b  D3,D4
            35C94 | 67F4           : beq    $35c8a
            35C96 | 0C03 00FB      : cmpi.b #-$5,D3
            35C9A | 6602           : bne    $35c9e
            35C9C | 5311           : subq.b #1,(A1)      // decrease code -01
            35C9E | 0C03 00F7      : cmpi.b #-$9,D3
            35CA2 | 6602           : bne    $35ca6
            35CA4 | 5211           : addq.b #1,(A1)      // increase code +01
            35CA6 | 0C03 00FD      : cmpi.b #-$3,D3
            35CAA | 6604           : bne    $35cb0
            35CAC | 0411 0010      : subi.b #$10,(A1)    // decrease code -10
            35CB0 | 0C03 00FE      : cmpi.b #-$2,D3
            35CB4 | 6604           : bne    $35cba
            35CB6 | 0611 0010      : addi.b #$10,(A1)    // increase code +10
            35CBA | 0C03 00EF      : cmpi.b #-$11,D3
            35CBE | 6604           : bne    $35cc4
            35CC0 | 1011           : move.b (A1),D0      // play sound
            35CC2 | 600A           : bra    $35cce
            35CC4 | 0C03 00DF      : cmpi.b #-$21,D3
            35CC8 | 660A           : bne    $35cd4
            35CCA | 103C 00FE      : move.b #$fe,D0      // stop sound
            35CCE | 4EB9 0000 91EC : jsr    $91ec.l
            35CD4 | 60B4           : bra    $35c8a
            -->
        </script>
        <script state="run">
            <output format="----- twin hawk 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@F00800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@00792 = 00008C3A        </action>
            <action>maincpu.mq@35C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mq@D25C = 4EF900000750383C</action> <!-- jmp $750.l -->
        </script>
        <script state="off">
            <action>maincpu.mq@D25C = 207C00F00000383C</action>
        </script>
    </cheat>

</mamecheat>
twinhawku.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@B0EE = 60</action> <!-- P1 -->
            <action>maincpu.mb@B1F8 = 60</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@B0EE = 64</action>
            <action>maincpu.mb@B1F8 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@28EB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@28EB = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0580">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@02782 = 323C0000        </action>
            <action>maincpu.mq@02786 = 4EB900035C60720F</action>
            <action>maincpu.mq@35C60 = 610ED16E00064840</action>
            <action>maincpu.mq@35C68 = 6106D16E00044E75</action>
            <action>maincpu.mq@35C70 = 34014A4067066A02</action>
            <action>maincpu.mq@35C78 = 444230024E75FFFF</action>
            <!--
            02782 | 323C xxxx      : move.w #$xx,D1
            02786 | 4EB9 0003 5C60 : jsr    $35c60.l
            ==========================================
            35C60 | 610E           : bsr    $35c70
            35C62 | D16E 0006      : add.w  D0,($6,A6)
            35C66 | 4840           : swap   D0
            35C68 | 6106           : bsr    $35c70
            35C6A | D16E 0004      : add.w  D0,($4,A6)
            35C6E | 4E75           : rts
            35C70 | 3401           : move.w D1,D2
            35C72 | 4A40           : tst.w  D0
            35C74 | 6706           : beq    $35c7c
            35C76 | 6A02           : bpl    $35c7a
            35C78 | 4442           : neg.w  D2
            35C7A | 3002           : move.w D2,D0
            35C7C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2784 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@02782 = D16E0006        </action>
            <action>maincpu.mq@02786 = 4840D16E0004720F</action>
            <action>maincpu.mq@35C60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0280">01 (slow)</item>
            <item value="0x0500">02       </item>
            <item value="0x0780">03       </item>
            <item value="0x0a00">04       </item>
            <item value="0x0c80">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@24FC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@24FC = 0500</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@00792 = 00035C80        </action>
            <action>maincpu.mq@35C80 = 027CF8FF43F900F0</action>
            <action>maincpu.mq@35C88 = 0800180316390090</action>
            <action>maincpu.mq@35C90 = 0001B80367F40C03</action>
            <action>maincpu.mq@35C98 = 00FB660253110C03</action>
            <action>maincpu.mq@35CA0 = 00F7660252110C03</action>
            <action>maincpu.mq@35CA8 = 00FD660404110010</action>
            <action>maincpu.mq@35CB0 = 0C0300FE66040611</action>
            <action>maincpu.mq@35CB8 = 00100C0300EF6604</action>
            <action>maincpu.mq@35CC0 = 1011600A0C0300DF</action>
            <action>maincpu.mq@35CC8 = 660A103C00FE4EB9</action>
            <action>maincpu.mq@35CD0 = 000091EC60B4FFFF</action>
            <!--
            35C80 | 027C F8FF      : andi   #$f8ff,SR    // enable interrupt
            35C84 | 43F9 00F0 0800 : lea    $f00800.l,A1 // sound code address
            35C8A | 1803           : move.b D3,D4
            35C8C | 1639 0090 0001 : move.b $900001.l,D3 // read input
            35C92 | B803           : cmp.b  D3,D4
            35C94 | 67F4           : beq    $35c8a
            35C96 | 0C03 00FB      : cmpi.b #-$5,D3
            35C9A | 6602           : bne    $35c9e
            35C9C | 5311           : subq.b #1,(A1)      // decrease code -01
            35C9E | 0C03 00F7      : cmpi.b #-$9,D3
            35CA2 | 6602           : bne    $35ca6
            35CA4 | 5211           : addq.b #1,(A1)      // increase code +01
            35CA6 | 0C03 00FD      : cmpi.b #-$3,D3
            35CAA | 6604           : bne    $35cb0
            35CAC | 0411 0010      : subi.b #$10,(A1)    // decrease code -10
            35CB0 | 0C03 00FE      : cmpi.b #-$2,D3
            35CB4 | 6604           : bne    $35cba
            35CB6 | 0611 0010      : addi.b #$10,(A1)    // increase code +10
            35CBA | 0C03 00EF      : cmpi.b #-$11,D3
            35CBE | 6604           : bne    $35cc4
            35CC0 | 1011           : move.b (A1),D0      // play sound
            35CC2 | 600A           : bra    $35cce
            35CC4 | 0C03 00DF      : cmpi.b #-$21,D3
            35CC8 | 660A           : bne    $35cd4
            35CCA | 103C 00FE      : move.b #$fe,D0      // stop sound
            35CCE | 4EB9 0000 91EC : jsr    $91ec.l
            35CD4 | 60B4           : bra    $35c8a
            -->
        </script>
        <script state="run">
            <output format="----- twin hawk 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@F00800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@00792 = 00008C3A        </action>
            <action>maincpu.mq@35C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mq@D26C = 4EF900000750383C</action> <!-- jmp $750.l -->
        </script>
        <script state="off">
            <action>maincpu.mq@D26C = 207C00F00000383C</action>
        </script>
    </cheat>

</mamecheat>
daisenpu.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@A4FC = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A4FC = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@21D1 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@21D1 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0580">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@0207A = 323C0000        </action>
            <action>maincpu.mq@0207E = 4EB900035C60720F</action>
            <action>maincpu.mq@35C60 = 610ED16E00064840</action>
            <action>maincpu.mq@35C68 = 6106D16E00044E75</action>
            <action>maincpu.mq@35C70 = 34014A4067066A02</action>
            <action>maincpu.mq@35C78 = 444230024E75FFFF</action>
            <!--
            0207A | 323C xxxx      : move.w #$xx,D1
            0207E | 4EB9 0003 5C60 : jsr    $35c60.l
            ==========================================
            35C60 | 610E           : bsr    $35c70
            35C62 | D16E 0006      : add.w  D0,($6,A6)
            35C66 | 4840           : swap   D0
            35C68 | 6106           : bsr    $35c70
            35C6A | D16E 0004      : add.w  D0,($4,A6)
            35C6E | 4E75           : rts
            35C70 | 3401           : move.w D1,D2
            35C72 | 4A40           : tst.w  D0
            35C74 | 6706           : beq    $35c7c
            35C76 | 6A02           : bpl    $35c7a
            35C78 | 4442           : neg.w  D2
            35C7A | 3002           : move.w D2,D0
            35C7C | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@207C = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@0207A = D16E0006        </action>
            <action>maincpu.mq@0207E = 4840D16E0004720F</action>
            <action>maincpu.mq@35C60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0280">01 (slow)</item>
            <item value="0x0500">02       </item>
            <item value="0x0780">03       </item>
            <item value="0x0a00">04       </item>
            <item value="0x0c80">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@22D6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@22D6 = 0500</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@00792 = 00035C80        </action>
            <action>maincpu.mq@35C80 = 027CF8FF43F900F0</action>
            <action>maincpu.mq@35C88 = 0800180316390090</action>
            <action>maincpu.mq@35C90 = 0001B80367F40C03</action>
            <action>maincpu.mq@35C98 = 00FB660253110C03</action>
            <action>maincpu.mq@35CA0 = 00F7660252110C03</action>
            <action>maincpu.mq@35CA8 = 00FD660404110010</action>
            <action>maincpu.mq@35CB0 = 0C0300FE66040611</action>
            <action>maincpu.mq@35CB8 = 00100C0300EF6604</action>
            <action>maincpu.mq@35CC0 = 1011600A0C0300DF</action>
            <action>maincpu.mq@35CC8 = 660A103C00FE4EB9</action>
            <action>maincpu.mq@35CD0 = 0000876860B4FFFF</action>
            <!--
            35C80 | 027C F8FF      : andi   #$f8ff,SR    // enable interrupt
            35C84 | 43F9 00F0 0800 : lea    $f00800.l,A1 // sound code address
            35C8A | 1803           : move.b D3,D4
            35C8C | 1639 0090 0001 : move.b $900001.l,D3 // read input
            35C92 | B803           : cmp.b  D3,D4
            35C94 | 67F4           : beq    $35c8a
            35C96 | 0C03 00FB      : cmpi.b #-$5,D3
            35C9A | 6602           : bne    $35c9e
            35C9C | 5311           : subq.b #1,(A1)      // decrease code -01
            35C9E | 0C03 00F7      : cmpi.b #-$9,D3
            35CA2 | 6602           : bne    $35ca6
            35CA4 | 5211           : addq.b #1,(A1)      // increase code +01
            35CA6 | 0C03 00FD      : cmpi.b #-$3,D3
            35CAA | 6604           : bne    $35cb0
            35CAC | 0411 0010      : subi.b #$10,(A1)    // decrease code -10
            35CB0 | 0C03 00FE      : cmpi.b #-$2,D3
            35CB4 | 6604           : bne    $35cba
            35CB6 | 0611 0010      : addi.b #$10,(A1)    // increase code +10
            35CBA | 0C03 00EF      : cmpi.b #-$11,D3
            35CBE | 6604           : bne    $35cc4
            35CC0 | 1011           : move.b (A1),D0      // play sound
            35CC2 | 600A           : bra    $35cce
            35CC4 | 0C03 00DF      : cmpi.b #-$21,D3
            35CC8 | 660A           : bne    $35cd4
            35CCA | 103C 00FE      : move.b #$fe,D0      // stop sound
            35CCE | 4EB9 0000 8768 : jsr    $8768.l
            35CD4 | 60B4           : bra    $35c8a
            -->
        </script>
        <script state="run">
            <output format="----- daisenpu 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@F00800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@00792 = 00008250        </action>
            <action>maincpu.mq@35C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35C98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@35CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mq@C514 = 4EF900000750383C</action> <!-- jmp $750.l -->
        </script>
        <script state="off">
            <action>maincpu.mq@C514 = 207C00F00000383C</action>
        </script>
    </cheat>

</mamecheat>
Post Reply