[daioh] Daioh

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

[daioh] Daioh

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@a6e7 = 2c</action>
    </script>
    <script state="off">
        <action>maincpu.mb@a6e7 = 02</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mw@f6f0 = 4e71</action>
    </script>
    <script state="off">
        <action>maincpu.mw@f6f0 = 6204</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x02">02       </item>
        <item value="0x04">03       </item>
        <item value="0x06">04       </item>
        <item value="0x08">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@0f5a8 =         00040eb0</action>
        <action>maincpu.mq@40eb0 = 102c001061161940</action>
        <action>maincpu.mq@40eb8 = 0010102c0012610c</action>
        <action>maincpu.mq@40ec0 = 194000124eb90000</action>
        <action>maincpu.mq@40ec8 = 9ea04e7572054a00</action>
        <action>maincpu.mq@40ed0 = 67066a0244011001</action>
        <action>maincpu.mq@40ed8 = 4e75ffffffffffff</action>
        <!--
        40eb0 | 102c 0010      : move.b ($10,A4),D0
        40eb4 | 6116           : bsr    $40ecc
        40eb6 | 1940 0010      : move.b D0,($10,A4)
        40eba | 102c 0012      : move.b ($12,A4),D0
        40ebe | 610c           : bsr    $40ecc
        40ec0 | 1940 0012      : move.b D0,($12,A4)
        40ec4 | 4eb9 0000 9ea0 : jsr    $9ea0.l
        40eca | 4e75           : rts
        40ecc | 72xx           : moveq  #$xx,D1
        40ece | 4a00           : tst.b  D0
        40ed0 | 6706           : beq    $40ed8
        40ed2 | 6a02           : bpl    $40ed6
        40ed4 | 4401           : neg.b  D1
        40ed6 | 1001           : move.b D1,D0
        40ed8 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@40ecd = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@0f5a8 =         00009ea0</action>
        <action>maincpu.mq@40eb0 = ffffffffffffffff</action>
        <action>maincpu.mq@40eb8 = ffffffffffffffff</action>
        <action>maincpu.mq@40ec0 = ffffffffffffffff</action>
        <action>maincpu.mq@40ec8 = ffffffffffffffff</action>
        <action>maincpu.mq@40ed0 = ffffffffffffffff</action>
        <action>maincpu.mq@40ed8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed - red">
    <parameter>
        <item value="0x06">01 (slow)</item>
        <item value="0x0c">02       </item>
        <item value="0x12">03       </item>
        <item value="0x18">04       </item>
        <item value="0x1e">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@fbf2 = param</action>
        <action>maincpu.mb@fd4c = param</action>
        <action>maincpu.mb@fd5e = param</action>
        <action>maincpu.mb@fdee = param</action>
        <action>maincpu.mb@fe08 = param</action>
        <action>maincpu.mb@fe30 = param</action>
        <action>maincpu.mb@fe4a = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@fbf2 = 0d</action>
        <action>maincpu.mb@fd4c = 0c</action>
        <action>maincpu.mb@fd5e = 0c</action>
        <action>maincpu.mb@fdee = 0c</action>
        <action>maincpu.mb@fe08 = 0b</action>
        <action>maincpu.mb@fe30 = 0b</action>
        <action>maincpu.mb@fe4a = 0c</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@08c3e = 4ef900040ee04e41</action>
        <action>maincpu.mq@40ee0 = 41ed100043f90002</action>
        <action>maincpu.mq@40ee8 = 921a45e9004e1401</action>
        <action>maincpu.mq@40ef0 = 122d770fb40167f6</action>
        <action>maincpu.mq@40ef8 = 0c0100fe66025310</action>
        <action>maincpu.mq@40f00 = 0c0100fd66025210</action>
        <action>maincpu.mq@40f08 = 0c0100f766040410</action>
        <action>maincpu.mq@40f10 = 00100c0100fb6604</action>
        <action>maincpu.mq@40f18 = 061000100c0100ef</action>
        <action>maincpu.mq@40f20 = 661210100c00000e</action>
        <action>maincpu.mq@40f28 = 64044e9160060400</action>
        <action>maincpu.mq@40f30 = 000e4e920c0100df</action>
        <action>maincpu.mq@40f38 = 660642004e914e92</action>
        <action>maincpu.mq@40f40 = 60acffffffffffff</action>
        <!--
        40ee0 | 41ed 1000      : lea    ($1000,A5),A0 // sound code address
        40ee4 | 43f9 0002 921a : lea    $2921a.l,A1   // subroutine for music
        40eea | 45e9 004e      : lea    ($4e,A1),A2   // subroutine for sfx
        40eee | 1401           : move.b D1,D2
        40ef0 | 122d 770f      : move.b ($770f,A5),D1 // read input
        40ef4 | b401           : cmp.b  D1,D2
        40ef6 | 67f6           : beq    $40eee
        40ef8 | 0c01 00fe      : cmpi.b #-$2,D1
        40efc | 6602           : bne    $40f00
        40efe | 5310           : subq.b #1,(A0)       // decrease code -01
        40f00 | 0c01 00fd      : cmpi.b #-$3,D1
        40f04 | 6602           : bne    $40f08
        40f06 | 5210           : addq.b #1,(A0)       // increase code +01
        40f08 | 0c01 00f7      : cmpi.b #-$9,D1
        40f0c | 6604           : bne    $40f12
        40f0e | 0410 0010      : subi.b #$10,(A0)     // decrease code -10
        40f12 | 0c01 00fb      : cmpi.b #-$5,D1
        40f16 | 6604           : bne    $40f1c
        40f18 | 0610 0010      : addi.b #$10,(A0)     // increase code +10
        40f1c | 0c01 00ef      : cmpi.b #-$11,D1
        40f20 | 6612           : bne    $40f34
        40f22 | 1010           : move.b (A0),D0       // play sound
        40f24 | 0c00 000e      : cmpi.b #$e,D0
        40f28 | 6404           : bcc    $40f2e
        40f2a | 4e91           : jsr    (A1)          // music
        40f2c | 6006           : bra    $40f34
        40f2e | 0400 000e      : subi.b #$e,D0
        40f32 | 4e92           : jsr    (A2)          // sfx
        40f34 | 0c01 00df      : cmpi.b #-$21,D1
        40f38 | 6606           : bne    $40f40
        40f3a | 4200           : clr.b  D0            // stop sound
        40f3c | 4e91           : jsr    (A1)
        40f3e | 4e92           : jsr    (A2)
        40f40 | 60ac           : bra    $40eee
        -->
    </script>
    <script state="run">
        <output format="----- daioh 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@101000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@08c3e = 4eb90000d31a4e41</action>
        <action>maincpu.mq@40ee0 = ffffffffffffffff</action>
        <action>maincpu.mq@40ee8 = ffffffffffffffff</action>
        <action>maincpu.mq@40ef0 = ffffffffffffffff</action>
        <action>maincpu.mq@40ef8 = ffffffffffffffff</action>
        <action>maincpu.mq@40f00 = ffffffffffffffff</action>
        <action>maincpu.mq@40f08 = ffffffffffffffff</action>
        <action>maincpu.mq@40f10 = ffffffffffffffff</action>
        <action>maincpu.mq@40f18 = ffffffffffffffff</action>
        <action>maincpu.mq@40f20 = ffffffffffffffff</action>
        <action>maincpu.mq@40f28 = ffffffffffffffff</action>
        <action>maincpu.mq@40f30 = ffffffffffffffff</action>
        <action>maincpu.mq@40f38 = ffffffffffffffff</action>
        <action>maincpu.mq@40f40 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[daioh]+ Daioh

Post by jman »

daioh.xml

Code: Select all

<!-- Daioh -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@A6E7 = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A6E7 = 02</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@F6EF = 2A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@F6EF = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0600">03       </item>
            <item value="0x0900">04       </item>
            <item value="0x0c00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@0F5A8 =         00040EB0</action>
            <action>maincpu.mq@40EB0 = 303C00004A6C0010</action>
            <action>maincpu.mq@40EB8 = 67086A0244403940</action>
            <action>maincpu.mq@40EC0 = 0010303C00004A6C</action>
            <action>maincpu.mq@40EC8 = 001267086A024440</action>
            <action>maincpu.mq@40ED0 = 394000124EB90000</action>
            <action>maincpu.mq@40ED8 = 9EA04E75FFFFFFFF</action>
            <!--
            40EB0 | 303C xxxx      : move.w  #$xx, D0     // x position
            40EB4 | 4A6C 0010      : tst.w   ($10,A4)
            40EB8 | 6708           : beq     $40ec2
            40EBA | 6A02           : bpl     $40ebe
            40EBC | 4440           : neg.w   D0
            40EBE | 3940 0010      : move.w  D0, ($10,A4)
            40EC2 | 303C xxxx      : move.w  #$xx, D0     // y position
            40EC6 | 4A6C 0012      : tst.w   ($12,A4)
            40ECA | 6708           : beq     $40ed4
            40ECC | 6A02           : bpl     $40ed0
            40ECE | 4440           : neg.w   D0
            40ED0 | 3940 0012      : move.w  D0, ($12,A4)
            40ED4 | 4EB9 0000 9EA0 : jsr     $9ea0.l
            40EDA | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@40EB2 = param</action>
            <action>maincpu.mw@40EC4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@0F5A8 = 00009EA0        </action>
            <action>maincpu.mq@40EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40ED8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - red">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FBF2 = param</action>
            <action>maincpu.mw@FD4C = param</action>
            <action>maincpu.mw@FD5E = param</action>
            <action>maincpu.mw@FDEE = param</action>
            <action>maincpu.mw@FE08 = param</action>
            <action>maincpu.mw@FE30 = param</action>
            <action>maincpu.mw@FE4A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FBF2 = 0D00</action>
            <action>maincpu.mw@FD4C = 0C80</action>
            <action>maincpu.mw@FD5E = 0C80</action>
            <action>maincpu.mw@FDEE = 0C80</action>
            <action>maincpu.mw@FE08 = 0B80</action>
            <action>maincpu.mw@FE30 = 0B80</action>
            <action>maincpu.mw@FE4A = 0C80</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@08C40 = 00040EE0        </action>
            <action>maincpu.mq@40EE0 = 41ED100043F90002</action>
            <action>maincpu.mq@40EE8 = 921A45E9004E1401</action>
            <action>maincpu.mq@40EF0 = 122D770FB40167F6</action>
            <action>maincpu.mq@40EF8 = 0C0100FE66025310</action>
            <action>maincpu.mq@40F00 = 0C0100FD66025210</action>
            <action>maincpu.mq@40F08 = 0C0100F766040410</action>
            <action>maincpu.mq@40F10 = 00100C0100FB6604</action>
            <action>maincpu.mq@40F18 = 061000100C0100EF</action>
            <action>maincpu.mq@40F20 = 661210100C00000E</action>
            <action>maincpu.mq@40F28 = 64044E9160060400</action>
            <action>maincpu.mq@40F30 = 000E4E920C0100DF</action>
            <action>maincpu.mq@40F38 = 660642004E914E92</action>
            <action>maincpu.mq@40F40 = 60ACFFFFFFFFFFFF</action>
            <!--
            40EE0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($101000)
            40EE4 | 43F9 0002 921A : lea     $2921a.l, A1   // music latch routine
            40EEA | 45E9 004E      : lea     ($4e,A1), A2   // sfx latch routine ($29268)
            40EEE | 1401           : move.b  D1, D2
            40EF0 | 122D 770F      : move.b  ($770f,A5), D1 // read input ($10770f)
            40EF4 | B401           : cmp.b   D1, D2
            40EF6 | 67F6           : beq     $40eee
            40EF8 | 0C01 00FE      : cmpi.b  #-$2, D1
            40EFC | 6602           : bne     $40f00
            40EFE | 5310           : subq.b  #1, (A0)       // decrease code -01
            40F00 | 0C01 00FD      : cmpi.b  #-$3, D1
            40F04 | 6602           : bne     $40f08
            40F06 | 5210           : addq.b  #1, (A0)       // increase code +01
            40F08 | 0C01 00F7      : cmpi.b  #-$9, D1
            40F0C | 6604           : bne     $40f12
            40F0E | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            40F12 | 0C01 00FB      : cmpi.b  #-$5, D1
            40F16 | 6604           : bne     $40f1c
            40F18 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            40F1C | 0C01 00EF      : cmpi.b  #-$11, D1
            40F20 | 6612           : bne     $40f34
            40F22 | 1010           : move.b  (A0), D0       // play sound
            40F24 | 0C00 000E      : cmpi.b  #$e, D0
            40F28 | 6404           : bcc     $40f2e
            40F2A | 4E91           : jsr     (A1)           // music
            40F2C | 6006           : bra     $40f34
            40F2E | 0400 000E      : subi.b  #$e, D0
            40F32 | 4E92           : jsr     (A2)           // sfx
            40F34 | 0C01 00DF      : cmpi.b  #-$21, D1
            40F38 | 6606           : bne     $40f40
            40F3A | 4200           : clr.b   D0             // stop sound
            40F3C | 4E91           : jsr     (A1)
            40F3E | 4E92           : jsr     (A2)
            40F40 | 60AC           : bra     $40eee
            -->
        </script>
        <script state="run">
            <output format="----- daioh 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@101000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@08C40 = 0000D31A        </action>
            <action>maincpu.mq@40EE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
daioha.xml

Code: Select all

<!-- Daioh (earlier) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@A6E7 = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A6E7 = 02</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@F6EF = 2A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@F6EF = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0600">03       </item>
            <item value="0x0900">04       </item>
            <item value="0x0c00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@0F5A8 =         00040EB0</action>
            <action>maincpu.mq@40EB0 = 303C00004A6C0010</action>
            <action>maincpu.mq@40EB8 = 67086A0244403940</action>
            <action>maincpu.mq@40EC0 = 0010303C00004A6C</action>
            <action>maincpu.mq@40EC8 = 001267086A024440</action>
            <action>maincpu.mq@40ED0 = 394000124EB90000</action>
            <action>maincpu.mq@40ED8 = 9EA04E75FFFFFFFF</action>
            <!--
            40EB0 | 303C xxxx      : move.w  #$xx, D0     // x position
            40EB4 | 4A6C 0010      : tst.w   ($10,A4)
            40EB8 | 6708           : beq     $40ec2
            40EBA | 6A02           : bpl     $40ebe
            40EBC | 4440           : neg.w   D0
            40EBE | 3940 0010      : move.w  D0, ($10,A4)
            40EC2 | 303C xxxx      : move.w  #$xx, D0     // y position
            40EC6 | 4A6C 0012      : tst.w   ($12,A4)
            40ECA | 6708           : beq     $40ed4
            40ECC | 6A02           : bpl     $40ed0
            40ECE | 4440           : neg.w   D0
            40ED0 | 3940 0012      : move.w  D0, ($12,A4)
            40ED4 | 4EB9 0000 9EA0 : jsr     $9ea0.l
            40EDA | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@40EB2 = param</action>
            <action>maincpu.mw@40EC4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@0F5A8 = 00009EA0        </action>
            <action>maincpu.mq@40EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40ED8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - red">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FBF2 = param</action>
            <action>maincpu.mw@FD4C = param</action>
            <action>maincpu.mw@FD5E = param</action>
            <action>maincpu.mw@FDEE = param</action>
            <action>maincpu.mw@FE08 = param</action>
            <action>maincpu.mw@FE30 = param</action>
            <action>maincpu.mw@FE4A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FBF2 = 0D00</action>
            <action>maincpu.mw@FD4C = 0C80</action>
            <action>maincpu.mw@FD5E = 0C80</action>
            <action>maincpu.mw@FDEE = 0C80</action>
            <action>maincpu.mw@FE08 = 0B80</action>
            <action>maincpu.mw@FE30 = 0B80</action>
            <action>maincpu.mw@FE4A = 0C80</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@08C40 = 00040EE0        </action>
            <action>maincpu.mq@40EE0 = 41ED100043F90002</action>
            <action>maincpu.mq@40EE8 = 921A45E9004E1401</action>
            <action>maincpu.mq@40EF0 = 122D770FB40167F6</action>
            <action>maincpu.mq@40EF8 = 0C0100FE66025310</action>
            <action>maincpu.mq@40F00 = 0C0100FD66025210</action>
            <action>maincpu.mq@40F08 = 0C0100F766040410</action>
            <action>maincpu.mq@40F10 = 00100C0100FB6604</action>
            <action>maincpu.mq@40F18 = 061000100C0100EF</action>
            <action>maincpu.mq@40F20 = 661210100C00000E</action>
            <action>maincpu.mq@40F28 = 64044E9160060400</action>
            <action>maincpu.mq@40F30 = 000E4E920C0100DF</action>
            <action>maincpu.mq@40F38 = 660642004E914E92</action>
            <action>maincpu.mq@40F40 = 60ACFFFFFFFFFFFF</action>
            <!--
            40EE0 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($101000)
            40EE4 | 43F9 0002 921A : lea     $2921a.l, A1   // music latch routine
            40EEA | 45E9 004E      : lea     ($4e,A1), A2   // sfx latch routine ($29268)
            40EEE | 1401           : move.b  D1, D2
            40EF0 | 122D 770F      : move.b  ($770f,A5), D1 // read input ($10770f)
            40EF4 | B401           : cmp.b   D1, D2
            40EF6 | 67F6           : beq     $40eee
            40EF8 | 0C01 00FE      : cmpi.b  #-$2, D1
            40EFC | 6602           : bne     $40f00
            40EFE | 5310           : subq.b  #1, (A0)       // decrease code -01
            40F00 | 0C01 00FD      : cmpi.b  #-$3, D1
            40F04 | 6602           : bne     $40f08
            40F06 | 5210           : addq.b  #1, (A0)       // increase code +01
            40F08 | 0C01 00F7      : cmpi.b  #-$9, D1
            40F0C | 6604           : bne     $40f12
            40F0E | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            40F12 | 0C01 00FB      : cmpi.b  #-$5, D1
            40F16 | 6604           : bne     $40f1c
            40F18 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            40F1C | 0C01 00EF      : cmpi.b  #-$11, D1
            40F20 | 6612           : bne     $40f34
            40F22 | 1010           : move.b  (A0), D0       // play sound
            40F24 | 0C00 000E      : cmpi.b  #$e, D0
            40F28 | 6404           : bcc     $40f2e
            40F2A | 4E91           : jsr     (A1)           // music
            40F2C | 6006           : bra     $40f34
            40F2E | 0400 000E      : subi.b  #$e, D0
            40F32 | 4E92           : jsr     (A2)           // sfx
            40F34 | 0C01 00DF      : cmpi.b  #-$21, D1
            40F38 | 6606           : bne     $40f40
            40F3A | 4200           : clr.b   D0             // stop sound
            40F3C | 4E91           : jsr     (A1)
            40F3E | 4E92           : jsr     (A2)
            40F40 | 60AC           : bra     $40eee
            -->
        </script>
        <script state="run">
            <output format="----- daioh 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@101000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@08C40 = 0000D31A        </action>
            <action>maincpu.mq@40EE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40EF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@40F40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
daiohp.xml

Code: Select all

<!-- Daioh (prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@A655 = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A655 = 02</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@11593 = 2A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@11593 = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0600">03       </item>
            <item value="0x0900">04       </item>
            <item value="0x0c00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@11464 =         000424D0</action>
            <action>maincpu.mq@424D0 = 303C00004A6C0010</action>
            <action>maincpu.mq@424D8 = 67086A0244403940</action>
            <action>maincpu.mq@424E0 = 0010303C00004A6C</action>
            <action>maincpu.mq@424E8 = 001267086A024440</action>
            <action>maincpu.mq@424F0 = 394000124EB90000</action>
            <action>maincpu.mq@424F8 = 9E164E75FFFFFFFF</action>
            <!--
            424D0 | 303C xxxx      : move.w  #$xx, D0     // x position
            424D4 | 4A6C 0010      : tst.w   ($10,A4)
            424D8 | 6708           : beq     $424e2
            424DA | 6A02           : bpl     $424de
            424DC | 4440           : neg.w   D0
            424DE | 3940 0010      : move.w  D0, ($10,A4)
            424E2 | 303C xxxx      : move.w  #$xx, D0     // y position
            424E6 | 4A6C 0012      : tst.w   ($12,A4)
            424EA | 6708           : beq     $424f4
            424EC | 6A02           : bpl     $424f0
            424EE | 4440           : neg.w   D0
            424F0 | 3940 0012      : move.w  D0, ($12,A4)
            424F4 | 4EB9 0000 9E16 : jsr     $9e16.l
            424FA | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@424D2 = param</action>
            <action>maincpu.mw@424E4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@0F5A8 = 00009E16        </action>
            <action>maincpu.mq@424D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@424D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@424E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@424E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@424F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@424F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - red">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@11A96 = param</action>
            <action>maincpu.mw@11BF0 = param</action>
            <action>maincpu.mw@11C02 = param</action>
            <action>maincpu.mw@11C92 = param</action>
            <action>maincpu.mw@11CAC = param</action>
            <action>maincpu.mw@11CD4 = param</action>
            <action>maincpu.mw@11CEE = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@11A96 = 0D00</action>
            <action>maincpu.mw@11BF0 = 0C80</action>
            <action>maincpu.mw@11C02 = 0C80</action>
            <action>maincpu.mw@11C92 = 0C80</action>
            <action>maincpu.mw@11CAC = 0B80</action>
            <action>maincpu.mw@11CD4 = 0B80</action>
            <action>maincpu.mw@11CEE = 0C80</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@08BCA = 00042500        </action>
            <action>maincpu.mq@42500 = 41ED100043F90002</action>
            <action>maincpu.mq@42508 = B3D445E9004A1401</action>
            <action>maincpu.mq@42510 = 122D6F09B40167F6</action>
            <action>maincpu.mq@42518 = 0C0100FE66025310</action>
            <action>maincpu.mq@42520 = 0C0100FD66025210</action>
            <action>maincpu.mq@42528 = 0C0100F766040410</action>
            <action>maincpu.mq@42530 = 00100C0100FB6604</action>
            <action>maincpu.mq@42538 = 061000100C0100EF</action>
            <action>maincpu.mq@42540 = 661210100C00000E</action>
            <action>maincpu.mq@42548 = 64044E9160060400</action>
            <action>maincpu.mq@42550 = 000E4E920C0100DF</action>
            <action>maincpu.mq@42558 = 660642004E914E92</action>
            <action>maincpu.mq@42560 = 60ACFFFFFFFFFFFF</action>
            <!--
            42500 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($201000)
            42504 | 43F9 0002 B3D4 : lea     $2b3d4.l, A1   // music latch routine
            4250A | 45E9 004A      : lea     ($4a,A1), A2   // sfx latch routine ($2b41e)
            4250E | 1401           : move.b  D1, D2
            42510 | 122D 6F09      : move.b  ($6f09,A5), D1 // read input ($206f09)
            42514 | B401           : cmp.b   D1, D2
            42516 | 67F6           : beq     $4250e
            42518 | 0C01 00FE      : cmpi.b  #-$2, D1
            4251C | 6602           : bne     $42520
            4251E | 5310           : subq.b  #1, (A0)       // decrease code -01
            42520 | 0C01 00FD      : cmpi.b  #-$3, D1
            42524 | 6602           : bne     $42528
            42526 | 5210           : addq.b  #1, (A0)       // increase code +01
            42528 | 0C01 00F7      : cmpi.b  #-$9, D1
            4252C | 6604           : bne     $42532
            4252E | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            42532 | 0C01 00FB      : cmpi.b  #-$5, D1
            42536 | 6604           : bne     $4253c
            42538 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            4253C | 0C01 00EF      : cmpi.b  #-$11, D1
            42540 | 6612           : bne     $42554
            42542 | 1010           : move.b  (A0), D0       // play sound
            42544 | 0C00 000E      : cmpi.b  #$e, D0
            42548 | 6404           : bcc     $4254e
            4254A | 4E91           : jsr     (A1)           // music
            4254C | 6006           : bra     $42554
            4254E | 0400 000E      : subi.b  #$e, D0
            42552 | 4E92           : jsr     (A2)           // sfx
            42554 | 0C01 00DF      : cmpi.b  #-$21, D1
            42558 | 6606           : bne     $42560
            4255A | 4200           : clr.b   D0             // stop sound
            4255C | 4E91           : jsr     (A1)
            4255E | 4E92           : jsr     (A2)
            42560 | 60AC           : bra     $4250e
            -->
        </script>
        <script state="run">
            <output format="----- daioh 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@201000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@08BCA = 0000F204        </action>
            <action>maincpu.mq@42500 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42508 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42510 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42518 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42520 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42528 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42530 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42538 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42540 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42548 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42550 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42558 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@42560 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
daiohp2.xml

Code: Select all

<!-- Daioh (prototype, earlier) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5621 = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@5621 = 02</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@A5F7 = 2A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@A5F7 = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0600">03       </item>
            <item value="0x0900">04       </item>
            <item value="0x0c00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@0A4B0 =         0003B420</action>
            <action>maincpu.mq@3B420 = 303C00004A6C0010</action>
            <action>maincpu.mq@3B428 = 67086A0244403940</action>
            <action>maincpu.mq@3B430 = 0010303C00004A6C</action>
            <action>maincpu.mq@3B438 = 001267086A024440</action>
            <action>maincpu.mq@3B440 = 394000124EB90000</action>
            <action>maincpu.mq@3B448 = 4DDA4E75FFFFFFFF</action>
            <!--
            3B420 | 303C xxxx      : move.w  #$xx, D0     // x position
            3B424 | 4A6C 0010      : tst.w   ($10,A4)
            3B428 | 6708           : beq     $3b432
            3B42A | 6A02           : bpl     $3b42e
            3B42C | 4440           : neg.w   D0
            3B42E | 3940 0010      : move.w  D0, ($10,A4)
            3B432 | 303C xxxx      : move.w  #$xx, D0     // y position
            3B436 | 4A6C 0012      : tst.w   ($12,A4)
            3B43A | 6708           : beq     $3b444
            3B43C | 6A02           : bpl     $3b440
            3B43E | 4440           : neg.w   D0
            3B440 | 3940 0012      : move.w  D0, ($12,A4)
            3B444 | 4EB9 0000 4DDA : jsr     $4dda.l
            3B44A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@3B422 = param</action>
            <action>maincpu.mw@3B434 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@0A4B0 = 00004DDA        </action>
            <action>maincpu.mq@3B420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B428 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B448 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - red">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@AAFA = param</action>
            <action>maincpu.mw@AC54 = param</action>
            <action>maincpu.mw@AC66 = param</action>
            <action>maincpu.mw@ACF6 = param</action>
            <action>maincpu.mw@AD10 = param</action>
            <action>maincpu.mw@AD38 = param</action>
            <action>maincpu.mw@AD52 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@AAFA = 0D00</action>
            <action>maincpu.mw@AC54 = 0C80</action>
            <action>maincpu.mw@AC66 = 0C80</action>
            <action>maincpu.mw@ACF6 = 0C80</action>
            <action>maincpu.mw@AD10 = 0B80</action>
            <action>maincpu.mw@AD38 = 0B80</action>
            <action>maincpu.mw@AD52 = 0C80</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@03B7A = 0003B450        </action>
            <action>maincpu.mq@3B450 = 41ED100043F90002</action>
            <action>maincpu.mq@3B458 = 411845E9004A1401</action>
            <action>maincpu.mq@3B460 = 122D770FB40167F6</action>
            <action>maincpu.mq@3B468 = 0C0100FE66025310</action>
            <action>maincpu.mq@3B470 = 0C0100FD66025210</action>
            <action>maincpu.mq@3B478 = 0C0100F766040410</action>
            <action>maincpu.mq@3B480 = 00100C0100FB6604</action>
            <action>maincpu.mq@3B488 = 061000100C0100EF</action>
            <action>maincpu.mq@3B490 = 661210100C00000E</action>
            <action>maincpu.mq@3B498 = 64044E9160060400</action>
            <action>maincpu.mq@3B4A0 = 000E4E920C0100DF</action>
            <action>maincpu.mq@3B4A8 = 660642004E914E92</action>
            <action>maincpu.mq@3B4B0 = 60ACFFFFFFFFFFFF</action>
            <!--
            3B450 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($201000)
            3B454 | 43F9 0002 4118 : lea     $24118.l, A1   // music latch routine
            3B45A | 45E9 004A      : lea     ($4a,A1), A2   // sfx latch routine ($24162)
            3B45E | 1401           : move.b  D1, D2
            3B460 | 122D 770F      : move.b  ($770f,A5), D1 // read input ($20770f)
            3B464 | B401           : cmp.b   D1, D2
            3B466 | 67F6           : beq     $3b45e
            3B468 | 0C01 00FE      : cmpi.b  #-$2, D1
            3B46C | 6602           : bne     $3b470
            3B46E | 5310           : subq.b  #1, (A0)       // decrease code -01
            3B470 | 0C01 00FD      : cmpi.b  #-$3, D1
            3B474 | 6602           : bne     $3b478
            3B476 | 5210           : addq.b  #1, (A0)       // increase code +01
            3B478 | 0C01 00F7      : cmpi.b  #-$9, D1
            3B47C | 6604           : bne     $3b482
            3B47E | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            3B482 | 0C01 00FB      : cmpi.b  #-$5, D1
            3B486 | 6604           : bne     $3b48c
            3B488 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            3B48C | 0C01 00EF      : cmpi.b  #-$11, D1
            3B490 | 6612           : bne     $3b4a4
            3B492 | 1010           : move.b  (A0), D0       // play sound
            3B494 | 0C00 000E      : cmpi.b  #$e, D0
            3B498 | 6404           : bcc     $3b49e
            3B49A | 4E91           : jsr     (A1)           // music
            3B49C | 6006           : bra     $3b4a4
            3B49E | 0400 000E      : subi.b  #$e, D0
            3B4A2 | 4E92           : jsr     (A2)           // sfx
            3B4A4 | 0C01 00DF      : cmpi.b  #-$21, D1
            3B4A8 | 6606           : bne     $3b4b0
            3B4AA | 4200           : clr.b   D0             // stop sound
            3B4AC | 4E91           : jsr     (A1)
            3B4AE | 4E92           : jsr     (A2)
            3B4B0 | 60AC           : bra     $3b45e
            -->
        </script>
        <script state="run">
            <output format="----- daioh 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@201000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@03B7A = 00008224        </action>
            <action>maincpu.mq@3B450 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B458 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B460 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B468 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B470 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B478 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B480 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B488 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B490 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B498 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B4A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B4A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B4B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
daiohp3.xml

Code: Select all

<!-- Daioh (prototype, earliest) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@A535 = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A535 = 02</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1132F = 2A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1132F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0600">03       </item>
            <item value="0x0900">04       </item>
            <item value="0x0c00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@11200 =         0003E2D0</action>
            <action>maincpu.mq@3E2D0 = 303C00004A6C0010</action>
            <action>maincpu.mq@3E2D8 = 67086A0244403940</action>
            <action>maincpu.mq@3E2E0 = 0010303C00004A6C</action>
            <action>maincpu.mq@3E2E8 = 001267086A024440</action>
            <action>maincpu.mq@3E2F0 = 394000124EB90000</action>
            <action>maincpu.mq@3E2F8 = 9CF64E75FFFFFFFF</action>
            <!--
            3E2D0 | 303C xxxx      : move.w  #$xx, D0     // x position
            3E2D4 | 4A6C 0010      : tst.w   ($10,A4)
            3E2D8 | 6708           : beq     $3e2e2
            3E2DA | 6A02           : bpl     $3e2de
            3E2DC | 4440           : neg.w   D0
            3E2DE | 3940 0010      : move.w  D0, ($10,A4)
            3E2E2 | 303C xxxx      : move.w  #$xx, D0     // y position
            3E2E6 | 4A6C 0012      : tst.w   ($12,A4)
            3E2EA | 6708           : beq     $3e2f4
            3E2EC | 6A02           : bpl     $3e2f0
            3E2EE | 4440           : neg.w   D0
            3E2F0 | 3940 0012      : move.w  D0, ($12,A4)
            3E2F4 | 4EB9 0000 9CF6 : jsr     $9cf6.l
            3E2FA | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@3E2D2 = param</action>
            <action>maincpu.mw@3E2E4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@11200 = 00009CF6        </action>
            <action>maincpu.mq@3E2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E2F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - red">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@11840 = param</action>
            <action>maincpu.mw@1199A = param</action>
            <action>maincpu.mw@119AC = param</action>
            <action>maincpu.mw@11A3C = param</action>
            <action>maincpu.mw@11A56 = param</action>
            <action>maincpu.mw@11A7E = param</action>
            <action>maincpu.mw@11A98 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@11840 = 0D00</action>
            <action>maincpu.mw@1199A = 0C80</action>
            <action>maincpu.mw@119AC = 0C80</action>
            <action>maincpu.mw@11A3C = 0C80</action>
            <action>maincpu.mw@11A56 = 0B80</action>
            <action>maincpu.mw@11A7E = 0B80</action>
            <action>maincpu.mw@11A98 = 0C80</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@08AAA = 0003E300        </action>
            <action>maincpu.mq@3E300 = 41ED100043F90002</action>
            <action>maincpu.mq@3E308 = 7D4245E900481401</action>
            <action>maincpu.mq@3E310 = 122D6ED1B40167F6</action>
            <action>maincpu.mq@3E318 = 0C0100FE66025310</action>
            <action>maincpu.mq@3E320 = 0C0100FD66025210</action>
            <action>maincpu.mq@3E328 = 0C0100F766040410</action>
            <action>maincpu.mq@3E330 = 00100C0100FB6604</action>
            <action>maincpu.mq@3E338 = 061000100C0100EF</action>
            <action>maincpu.mq@3E340 = 661210100C00000E</action>
            <action>maincpu.mq@3E348 = 64044E9160060400</action>
            <action>maincpu.mq@3E350 = 000E4E920C0100DF</action>
            <action>maincpu.mq@3E358 = 660642004E914E92</action>
            <action>maincpu.mq@3E360 = 60ACFFFFFFFFFFFF</action>
            <!--
            3E300 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($201000)
            3E304 | 43F9 0002 7D42 : lea     $27d42.l, A1   // music latch routine
            3E30A | 45E9 0048      : lea     ($48,A1), A2   // sfx latch routine ($27d8a)
            3E30E | 1401           : move.b  D1, D2
            3E310 | 122D 6ED1      : move.b  ($6ed1,A5), D1 // read input ($206ed1)
            3E314 | B401           : cmp.b   D1, D2
            3E316 | 67F6           : beq     $40eee
            3E318 | 0C01 00FE      : cmpi.b  #-$2, D1
            3E31C | 6602           : bne     $40f00
            3E31E | 5310           : subq.b  #1, (A0)       // decrease code -01
            3E320 | 0C01 00FD      : cmpi.b  #-$3, D1
            3E324 | 6602           : bne     $40f08
            3E326 | 5210           : addq.b  #1, (A0)       // increase code +01
            3E328 | 0C01 00F7      : cmpi.b  #-$9, D1
            3E32C | 6604           : bne     $40f12
            3E32E | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            3E332 | 0C01 00FB      : cmpi.b  #-$5, D1
            3E336 | 6604           : bne     $40f1c
            3E338 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            3E33C | 0C01 00EF      : cmpi.b  #-$11, D1
            3E340 | 6612           : bne     $40f34
            3E342 | 1010           : move.b  (A0), D0       // play sound
            3E344 | 0C00 000E      : cmpi.b  #$e, D0
            3E348 | 6404           : bcc     $40f2e
            3E34A | 4E91           : jsr     (A1)           // music
            3E34C | 6006           : bra     $40f34
            3E34E | 0400 000E      : subi.b  #$e, D0
            3E352 | 4E92           : jsr     (A2)           // sfx
            3E354 | 0C01 00DF      : cmpi.b  #-$21, D1
            3E358 | 6606           : bne     $40f40
            3E35A | 4200           : clr.b   D0             // stop sound
            3E35C | 4E91           : jsr     (A1)
            3E35E | 4E92           : jsr     (A2)
            3E360 | 60AC           : bra     $40eee
            -->
        </script>
        <script state="run">
            <output format="----- daioh 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@201000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@08AAA = 0000EEFE        </action>
            <action>maincpu.mq@3E300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E318 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E328 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E330 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E338 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E340 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E348 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E350 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E358 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3E360 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
daiohc.xml

Code: Select all

<!-- Daioh (93111A PCB conversion) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5621 = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@5621 = 02</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@A5F7 = 2A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A5F7 = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0600">03       </item>
            <item value="0x0900">04       </item>
            <item value="0x0c00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@0A4B0 =         0003B420</action>
            <action>maincpu.mq@3B420 = 303C00004A6C0010</action>
            <action>maincpu.mq@3B428 = 67086A0244403940</action>
            <action>maincpu.mq@3B430 = 0010303C00004A6C</action>
            <action>maincpu.mq@3B438 = 001267086A024440</action>
            <action>maincpu.mq@3B440 = 394000124EB90000</action>
            <action>maincpu.mq@3B448 = 4DDA4E75FFFFFFFF</action>
            <!--
            3B420 | 303C xxxx      : move.w  #$xx, D0     // x position
            3B424 | 4A6C 0010      : tst.w   ($10,A4)
            3B428 | 6708           : beq     $3b432
            3B42A | 6A02           : bpl     $3b42e
            3B42C | 4440           : neg.w   D0
            3B42E | 3940 0010      : move.w  D0, ($10,A4)
            3B432 | 303C xxxx      : move.w  #$xx, D0     // y position
            3B436 | 4A6C 0012      : tst.w   ($12,A4)
            3B43A | 6708           : beq     $3b444
            3B43C | 6A02           : bpl     $3b440
            3B43E | 4440           : neg.w   D0
            3B440 | 3940 0012      : move.w  D0, ($12,A4)
            3B444 | 4EB9 0000 4DDA : jsr     $4dda.l
            3B44A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@3B422 = param</action>
            <action>maincpu.mw@3B434 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@0A4B0 = 00004DDA        </action>
            <action>maincpu.mq@3B420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B428 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B448 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - red">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@AAFA = param</action>
            <action>maincpu.mw@AC54 = param</action>
            <action>maincpu.mw@AC66 = param</action>
            <action>maincpu.mw@ACF6 = param</action>
            <action>maincpu.mw@AD10 = param</action>
            <action>maincpu.mw@AD38 = param</action>
            <action>maincpu.mw@AD52 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@AAFA = 0D00</action>
            <action>maincpu.mw@AC54 = 0C80</action>
            <action>maincpu.mw@AC66 = 0C80</action>
            <action>maincpu.mw@ACF6 = 0C80</action>
            <action>maincpu.mw@AD10 = 0B80</action>
            <action>maincpu.mw@AD38 = 0B80</action>
            <action>maincpu.mw@AD52 = 0C80</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@03B7A = 0003B450        </action>
            <action>maincpu.mq@3B450 = 41ED100043F90002</action>
            <action>maincpu.mq@3B458 = 411845E9004A1401</action>
            <action>maincpu.mq@3B460 = 122D770FB40167F6</action>
            <action>maincpu.mq@3B468 = 0C0100FE66025310</action>
            <action>maincpu.mq@3B470 = 0C0100FD66025210</action>
            <action>maincpu.mq@3B478 = 0C0100F766040410</action>
            <action>maincpu.mq@3B480 = 00100C0100FB6604</action>
            <action>maincpu.mq@3B488 = 061000100C0100EF</action>
            <action>maincpu.mq@3B490 = 661210100C00000E</action>
            <action>maincpu.mq@3B498 = 64044E9160060400</action>
            <action>maincpu.mq@3B4A0 = 000E4E920C0100DF</action>
            <action>maincpu.mq@3B4A8 = 660642004E914E92</action>
            <action>maincpu.mq@3B4B0 = 60ACFFFFFFFFFFFF</action>
            <!--
            3B450 | 41ED 1000      : lea     ($1000,A5), A0 // sound code address ($201000)
            3B454 | 43F9 0002 4118 : lea     $24118.l, A1   // music latch routine
            3B45A | 45E9 004A      : lea     ($4a,A1), A2   // sfx latch routine ($24162)
            3B45E | 1401           : move.b  D1, D2
            3B460 | 122D 770F      : move.b  ($770f,A5), D1 // read input ($20770f)
            3B464 | B401           : cmp.b   D1, D2
            3B466 | 67F6           : beq     $3b45e
            3B468 | 0C01 00FE      : cmpi.b  #-$2, D1
            3B46C | 6602           : bne     $3b470
            3B46E | 5310           : subq.b  #1, (A0)       // decrease code -01
            3B470 | 0C01 00FD      : cmpi.b  #-$3, D1
            3B474 | 6602           : bne     $3b478
            3B476 | 5210           : addq.b  #1, (A0)       // increase code +01
            3B478 | 0C01 00F7      : cmpi.b  #-$9, D1
            3B47C | 6604           : bne     $3b482
            3B47E | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            3B482 | 0C01 00FB      : cmpi.b  #-$5, D1
            3B486 | 6604           : bne     $3b48c
            3B488 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            3B48C | 0C01 00EF      : cmpi.b  #-$11, D1
            3B490 | 6612           : bne     $3b4a4
            3B492 | 1010           : move.b  (A0), D0       // play sound
            3B494 | 0C00 000E      : cmpi.b  #$e, D0
            3B498 | 6404           : bcc     $3b49e
            3B49A | 4E91           : jsr     (A1)           // music
            3B49C | 6006           : bra     $3b4a4
            3B49E | 0400 000E      : subi.b  #$e, D0
            3B4A2 | 4E92           : jsr     (A2)           // sfx
            3B4A4 | 0C01 00DF      : cmpi.b  #-$21, D1
            3B4A8 | 6606           : bne     $3b4b0
            3B4AA | 4200           : clr.b   D0             // stop sound
            3B4AC | 4E91           : jsr     (A1)
            3B4AE | 4E92           : jsr     (A2)
            3B4B0 | 60AC           : bra     $3b45e
            -->
        </script>
        <script state="run">
            <output format="----- daioh 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@201000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@03B7A = 00008224        </action>
            <action>maincpu.mq@3B450 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B458 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B460 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B468 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B470 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B478 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B480 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B488 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B490 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B498 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B4A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B4A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3B4B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply