[gpilots] Ghost Pilots

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

[gpilots] Ghost Pilots

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.rq@0f90c = 4eb900036ec06700</action>
        <action>maincpu.rq@36ec0 = d2c1b1fc00102500</action>
        <action>maincpu.rq@36ec8 = 6708b1fc00103200</action>
        <action>maincpu.rq@36ed0 = 660e0c6902240002</action>
        <action>maincpu.rq@36ed8 = 6706007c00044e75</action>
        <action>maincpu.rq@36ee0 = 4aa9001c4e75ffff</action>
        <!--
        36ec0 | d2c1           : adda.w D1,A1
        36ec2 | b1fc 0010 2500 : cmpa.l #$102500,A0
        36ec8 | 6708           : beq    $36ed2
        36eca | b1fc 0010 3200 : cmpa.l #$103200,A0
        36ed0 | 660e           : bne    $36ee0
        36ed2 | 0c69 0224 0002 : cmpi.w #$224,($2,A1)
        36ed8 | 6706           : beq    $36ee0
        36eda | 007c 0004      : ori    #$4,SR
        36ede | 4e75           : rts
        36ee0 | 4aa9 001c      : tst.l  ($1c,A1)
        36ee4 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.rq@0f90c = d2c14aa9001c6700</action>
        <action>maincpu.rq@36ec0 = ffffffffffffffff</action>
        <action>maincpu.rq@36ec8 = ffffffffffffffff</action>
        <action>maincpu.rq@36ed0 = ffffffffffffffff</action>
        <action>maincpu.rq@36ed8 = ffffffffffffffff</action>
        <action>maincpu.rq@36ee0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.rb@dd07 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.rb@dd07 = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0001">01 (slow)</item>
        <item value="0x0002">02       </item>
        <item value="0x0004">03       </item>
        <item value="0x0006">04       </item>
        <item value="0x0008">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.rq@0db62 = 4eb900036ef04e75</action>
        <action>maincpu.rq@36ef0 = 8128003448e7c040</action>
        <action>maincpu.rq@36ef8 = 700010280008ec58</action>
        <action>maincpu.rq@36f00 = 720012280009eb49</action>
        <action>maincpu.rq@36f08 = 804143f900042000</action>
        <action>maincpu.rq@36f10 = d2c0d2f90010a576</action>
        <action>maincpu.rq@36f18 = 323c000030196706</action>
        <action>maincpu.rq@36f20 = 6a0244413001d168</action>
        <action>maincpu.rq@36f28 = 0004323c00003019</action>
        <action>maincpu.rq@36f30 = 67066a0244413001</action>
        <action>maincpu.rq@36f38 = d16800064cdf0203</action>
        <action>maincpu.rq@36f40 = 4e75ffffffffffff</action>
        <!--
        36ef0 | 8128 0034      : or.b    D0,($34,A0)
        36ef4 | 48e7 c040      : movem.l D0-D1/A1,-(A7)
        36ef8 | 7000           : moveq   #$0,D0
        36efa | 1028 0008      : move.b  ($8,A0),D0
        36efe | ec58           : ror.w   #6,D0
        36f00 | 7200           : moveq   #$0,D1
        36f02 | 1228 0009      : move.b  ($9,A0),D1
        36f06 | eb49           : lsl.w   #5,D1
        36f08 | 8041           : or.w    D1,D0
        36f0a | 43f9 0004 2000 : lea     $42000.l,A1
        36f10 | d2c0           : adda.w  D0,A1
        36f12 | d2f9 0010 a576 : adda.w  $10a576.l,A1
        36f18 | 323c xxxx      : move.w  #$xx,D1
        36f1c | 3019           : move.w  (A1)+,D0
        36f1e | 6706           : beq     $36f26
        36f20 | 6a02           : bpl     $36f24
        36f22 | 4441           : neg.w   D1
        36f24 | 3001           : move.w  D1,D0
        36f26 | d168 0004      : add.w   D0,($4,A0)
        36f2a | 323c xxxx      : move.w  #$xx,D1
        36f2e | 3019           : move.w  (A1)+,D0
        36f30 | 6706           : beq     $36f38
        36f32 | 6a02           : bpl     $36f36
        36f34 | 4441           : neg.w   D1
        36f36 | 3001           : move.w  D1,D0
        36f38 | d168 0006      : add.w   D0,($6,A0)
        36f3c | 4cdf 0203      : movem.l (A7)+,D0-D1/A1
        36f40 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.rw@36f1a = param</action>
        <action>maincpu.rw@36f2c = param</action>
    </script>
    <script state="off">
        <action>maincpu.rq@0db62 = 812800344e434e75</action>
        <action>maincpu.rq@36ef0 = ffffffffffffffff</action>
        <action>maincpu.rq@36ef8 = ffffffffffffffff</action>
        <action>maincpu.rq@36f00 = ffffffffffffffff</action>
        <action>maincpu.rq@36f08 = ffffffffffffffff</action>
        <action>maincpu.rq@36f10 = ffffffffffffffff</action>
        <action>maincpu.rq@36f18 = ffffffffffffffff</action>
        <action>maincpu.rq@36f20 = ffffffffffffffff</action>
        <action>maincpu.rq@36f28 = ffffffffffffffff</action>
        <action>maincpu.rq@36f30 = ffffffffffffffff</action>
        <action>maincpu.rq@36f38 = ffffffffffffffff</action>
        <action>maincpu.rq@36f40 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x0001">01 (slow)</item>
        <item value="0x0005">02       </item>
        <item value="0x000a">03       </item>
        <item value="0x000f">04       </item>
        <item value="0x0014">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.rq@0eb86 = 4eb900036f504e71</action>
        <action>maincpu.rq@36f50 = 48e7c04070001028</action>
        <action>maincpu.rq@36f58 = 0008ec5872001228</action>
        <action>maincpu.rq@36f60 = 0009eb49804143f9</action>
        <action>maincpu.rq@36f68 = 00042000d2c0d2f9</action>
        <action>maincpu.rq@36f70 = 0010a576323c0000</action>
        <action>maincpu.rq@36f78 = 301967066a024441</action>
        <action>maincpu.rq@36f80 = 3001d1680004323c</action>
        <action>maincpu.rq@36f88 = 0000301967066a02</action>
        <action>maincpu.rq@36f90 = 44413001d1680006</action>
        <action>maincpu.rq@36f98 = 4cdf020330390010</action>
        <action>maincpu.rq@36fa0 = a5924e75ffffffff</action>
        <!--
        36f50 | 48e7 c040      : movem.l D0-D1/A1,-(A7)
        36f54 | 7000           : moveq   #$0,D0
        36f56 | 1028 0008      : move.b  ($8,A0),D0
        36f5a | ec58           : ror.w   #6,D0
        36f5c | 7200           : moveq   #$0,D1
        36f5e | 1228 0009      : move.b  ($9,A0),D1
        36f62 | eb49           : lsl.w   #5,D1
        36f64 | 8041           : or.w    D1,D0
        36f66 | 43f9 0004 2000 : lea     $42000.l,A1
        36f6c | d2c0           : adda.w  D0, A1
        36f6e | d2f9 0010 a576 : adda.w  $10a576.l,A1
        36f74 | 323c xxxx      : move.w  #$xx,D1
        36f78 | 3019           : move.w  (A1)+,D0
        36f7a | 6706           : beq     $36f82
        36f7c | 6a02           : bpl     $36f80
        36f7e | 4441           : neg.w   D1
        36f80 | 3001           : move.w  D1,D0
        36f82 | d168 0004      : add.w   D0,($4,A0)
        36f86 | 323c xxxx      : move.w  #$xx,D1
        36f8a | 3019           : move.w  (A1)+,D0
        36f8c | 6706           : beq     $36f94
        36f8e | 6a02           : bpl     $36f92
        36f90 | 4441           : neg.w   D1
        36f92 | 3001           : move.w  D1,D0
        36f94 | d168 0006      : add.w   D0,($6,A0)
        36f98 | 4cdf 0203      : movem.l (A7)+,D0-D1/A1
        36f9c | 3039 0010 a592 : move.w  $10a592.l,D0
        36fa2 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.rw@36f76 = param</action>
        <action>maincpu.rw@36f88 = param</action>
    </script>
    <script state="off">
        <action>maincpu.rq@0eb86 = 4e4330390010a592</action>
        <action>maincpu.rq@36f50 = ffffffffffffffff</action>
        <action>maincpu.rq@36f58 = ffffffffffffffff</action>
        <action>maincpu.rq@36f60 = ffffffffffffffff</action>
        <action>maincpu.rq@36f68 = ffffffffffffffff</action>
        <action>maincpu.rq@36f70 = ffffffffffffffff</action>
        <action>maincpu.rq@36f78 = ffffffffffffffff</action>
        <action>maincpu.rq@36f80 = ffffffffffffffff</action>
        <action>maincpu.rq@36f88 = ffffffffffffffff</action>
        <action>maincpu.rq@36f90 = ffffffffffffffff</action>
        <action>maincpu.rq@36f98 = ffffffffffffffff</action>
        <action>maincpu.rq@36fa0 = ffffffffffffffff</action>
    </script>
</cheat>
I omit "skip ram/rom check" because it has already posted here.
jman

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

[gpilots] Ghost Pilots (update)

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
    <!-- valid bank number seems to be 0x00 and 0x08 -->
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.rq@0046e = 4ef90003701e6bf8</action>
        <action>maincpu.rq@36fb0 = 41f90010800043e8</action>
        <action>maincpu.rq@36fb8 = 0001140112390030</action>
        <action>maincpu.rq@36fc0 = 0000b40167f40c01</action>
        <action>maincpu.rq@36fc8 = 00fb660253100c01</action>
        <action>maincpu.rq@36fd0 = 00f7660252100c01</action>
        <action>maincpu.rq@36fd8 = 00fd660404100010</action>
        <action>maincpu.rq@36fe0 = 0c0100fe66040610</action>
        <action>maincpu.rq@36fe8 = 00100c0100bb6602</action>
        <action>maincpu.rq@36ff0 = 53110c0100b76602</action>
        <action>maincpu.rq@36ff8 = 52110211000f0c01</action>
        <action>maincpu.rq@37000 = 00ef661442401011</action>
        <action>maincpu.rq@37008 = 670606000010e148</action>
        <action>maincpu.rq@37010 = 80103f004e42544f</action>
        <action>maincpu.rq@37018 = 0c0100df66143f3c</action>
        <action>maincpu.rq@37020 = 00014e423f3c0003</action>
        <action>maincpu.rq@37028 = 4e423f3c00074e42</action>
        <action>maincpu.rq@37030 = 5c4f6000ff7cffff</action>
        <!--
        36fb0 | 41f9 0010 8000 : lea    $108000.l,A0 // $108000 : sound code address
        36fb6 | 43e8 0001      : lea    ($1,A0),A1   // $108001 : bank number address
        36fba | 1401           : move.b D1,D2
        36fbc | 1239 0030 0000 : move.b $300000.l,D1 // read input
        36fc2 | b401           : cmp.b  D1,D2
        36fc4 | 67f4           : beq    $36fba
        36fc6 | 0c01 00fb      : cmpi.b #-$5,D1
        36fca | 6602           : bne    $36fce
        36fcc | 5310           : subq.b #1,(A0)      // decrease code -01
        36fce | 0c01 00f7      : cmpi.b #-$9,D1
        36fd2 | 6602           : bne    $36fd6
        36fd4 | 5210           : addq.b #1,(A0)      // increase code +01
        36fd6 | 0c01 00fd      : cmpi.b #-$3,D1
        36fda | 6604           : bne    $36fe0
        36fdc | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        36fe0 | 0c01 00fe      : cmpi.b #-$2,D1
        36fe4 | 6604           : bne    $36fea
        36fe6 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        36fea | 0c01 00bb      : cmpi.b #-$45,D1
        36fee | 6602           : bne    $36ff2
        36ff0 | 5311           : subq.b #1,(A1)      // decrease bank -01
        36ff2 | 0c01 00b7      : cmpi.b #-$49,D1
        36ff6 | 6602           : bne    $36ffa
        36ff8 | 5211           : addq.b #1,(A1)      // increase bank +01
        36ffa | 0211 000f      : andi.b #$f,(A1)
        36ffe | 0c01 00ef      : cmpi.b #-$11,D1
        37002 | 6614           : bne    $37018
        37004 | 4240           : clr.w  D0           // play sound
        37006 | 1011           : move.b (A1),D0
        37008 | 6706           : beq    $37010
        3700a | 0600 0010      : addi.b #$10,D0
        3700e | e148           : lsl.w  #8,D0
        37010 | 8010           : or.b   (A0),D0
        37012 | 3f00           : move.w D0,-(A7)
        37014 | 4e42           : trap   #$2
        37016 | 544f           : addq.w #2,A7
        37018 | 0c01 00df      : cmpi.b #-$21,D1
        3701c | 6614           : bne    $37032
        3701e | 3f3c 0001      : move.w #$1,-(A7)    // stop sound
        37022 | 4e42           : trap   #$2
        37024 | 3f3c 0003      : move.w #$3,-(A7)
        37028 | 4e42           : trap   #$2
        3702a | 3f3c 0007      : move.w #$7,-(A7)
        3702e | 4e42           : trap   #$2
        37030 | 5c4f           : addq.w #6,A7
        37032 | 6000 ff7c      : bra    $36fb0
        -->
    </script>
    <script state="run">
        <output format="----- ghost pilots 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 3 + left : decrease bank -01"      line="15" align="center" />
        <output format="button 3 + right : increase bank +01"     line="16" align="center" />
        <output format="button 1 : play sound"                    line="17" align="center" />
        <output format="button 2 : stop sound"                    line="18" align="center" />
        <output format="----------------------------"             line="19" align="center" />
        <output format="&lt;&lt; bank %2.2X &gt;&gt;"             line="21" align="center"  >
            <argument>maincpu.pb@108001</argument>
        </output>
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="23" align="center"  >
            <argument>maincpu.pb@108000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.rq@0046e = 4a390010a6826bf8</action>
        <action>maincpu.rq@36fb0 = ffffffffffffffff</action>
        <action>maincpu.rq@36fb8 = ffffffffffffffff</action>
        <action>maincpu.rq@36fc0 = ffffffffffffffff</action>
        <action>maincpu.rq@36fc8 = ffffffffffffffff</action>
        <action>maincpu.rq@36fd0 = ffffffffffffffff</action>
        <action>maincpu.rq@36fd8 = ffffffffffffffff</action>
        <action>maincpu.rq@36fe0 = ffffffffffffffff</action>
        <action>maincpu.rq@36fe8 = ffffffffffffffff</action>
        <action>maincpu.rq@36ff0 = ffffffffffffffff</action>
        <action>maincpu.rq@36ff8 = ffffffffffffffff</action>
        <action>maincpu.rq@37000 = ffffffffffffffff</action>
        <action>maincpu.rq@37008 = ffffffffffffffff</action>
        <action>maincpu.rq@37010 = ffffffffffffffff</action>
        <action>maincpu.rq@37018 = ffffffffffffffff</action>
        <action>maincpu.rq@37020 = ffffffffffffffff</action>
        <action>maincpu.rq@37028 = ffffffffffffffff</action>
        <action>maincpu.rq@37030 = ffffffffffffffff</action>
    </script>
</cheat>
"sound test mode" : add new.
jman

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

[gpilots]+ Ghost Pilots

Post by jman »

Small clean up.

gpilots.xml

Code: Select all

<!-- Ghost Pilots (NGM-020 ~ NGH-020) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.rq@0F90C = 4EB900036EC06700</action>
            <action>maincpu.rq@36EC0 = D2C1B1FC00102500</action>
            <action>maincpu.rq@36EC8 = 6708B1FC00103200</action>
            <action>maincpu.rq@36ED0 = 660E0C6902240002</action>
            <action>maincpu.rq@36ED8 = 6706007C00044E75</action>
            <action>maincpu.rq@36EE0 = 4AA9001C4E75FFFF</action>
            <!--
            36EC0 | D2C1           : adda.w  D1, A1
            36EC2 | B1FC 0010 2500 : cmpa.l  #$102500, A0   // P1
            36EC8 | 6708           : beq     $36ed2
            36ECA | B1FC 0010 3200 : cmpa.l  #$103200, A0   // P2
            36ED0 | 660E           : bne     $36ee0
            36ED2 | 0C69 0224 0002 : cmpi.w  #$224, ($2,A1) // is item?
            36ED8 | 6706           : beq     $36ee0
            36EDA | 007C 0004      : ori     #$4, SR
            36EDE | 4E75           : rts
            36EE0 | 4AA9 001C      : tst.l   ($1c,A1)
            36EE4 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.rq@0F90C = D2C14AA9001C6700</action>
            <action>maincpu.rq@36EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36EE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.rb@DD07 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.rb@DD07 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0002">02       </item>
            <item value="0x0004">03       </item>
            <item value="0x0006">04       </item>
            <item value="0x0008">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@0DB62 = 4EB900036EF04E75</action>
            <action>maincpu.rq@36EF0 = 8128003448E7C040</action>
            <action>maincpu.rq@36EF8 = 700010280008EC58</action>
            <action>maincpu.rq@36F00 = 720012280009EB49</action>
            <action>maincpu.rq@36F08 = 804143F900042000</action>
            <action>maincpu.rq@36F10 = D2C0D2F90010A576</action>
            <action>maincpu.rq@36F18 = 323C000030196706</action>
            <action>maincpu.rq@36F20 = 6A0244413001D168</action>
            <action>maincpu.rq@36F28 = 0004323C00003019</action>
            <action>maincpu.rq@36F30 = 67066A0244413001</action>
            <action>maincpu.rq@36F38 = D16800064CDF0203</action>
            <action>maincpu.rq@36F40 = 4E75FFFFFFFFFFFF</action>
            <!--
            36EF0 | 8128 0034      : or.b    D0, ($34,A0)
            36EF4 | 48E7 C040      : movem.l D0-D1/A1, -(A7)
            36EF8 | 7000           : moveq   #$0, D0
            36EFA | 1028 0008      : move.b  ($8,A0), D0
            36EFE | EC58           : ror.w   #6, D0
            36F00 | 7200           : moveq   #$0, D1
            36F02 | 1228 0009      : move.b  ($9,A0), D1
            36F06 | EB49           : lsl.w   #5, D1
            36F08 | 8041           : or.w    D1, D0
            36F0A | 43F9 0004 2000 : lea     $42000.l, A1
            36F10 | D2C0           : adda.w  D0, A1
            36F12 | D2F9 0010 A576 : adda.w  $10a576.l, A1
            36F18 | 323C xxxx      : move.w  #$xx, D1
            36F1C | 3019           : move.w  (A1)+, D0
            36F1E | 6706           : beq     $36f26
            36F20 | 6A02           : bpl     $36f24
            36F22 | 4441           : neg.w   D1
            36F24 | 3001           : move.w  D1, D0
            36F26 | D168 0004      : add.w   D0, ($4,A0)
            36F2A | 323C xxxx      : move.w  #$xx, D1
            36F2E | 3019           : move.w  (A1)+, D0
            36F30 | 6706           : beq     $36f38
            36F32 | 6A02           : bpl     $36f36
            36F34 | 4441           : neg.w   D1
            36F36 | 3001           : move.w  D1, D0
            36F38 | D168 0006      : add.w   D0, ($6,A0)
            36F3C | 4CDF 0203      : movem.l (A7)+, D0-D1/A1
            36F40 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.rw@36F1A = param</action>
            <action>maincpu.rw@36F2C = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@0DB62 = 812800344E434E75</action>
            <action>maincpu.rq@36EF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36EF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0005">02       </item>
            <item value="0x000a">03       </item>
            <item value="0x000f">04       </item>
            <item value="0x0014">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@0EB86 = 4EB900036F504E71</action>
            <action>maincpu.rq@36F50 = 48E7C04070001028</action>
            <action>maincpu.rq@36F58 = 0008EC5872001228</action>
            <action>maincpu.rq@36F60 = 0009EB49804143F9</action>
            <action>maincpu.rq@36F68 = 00042000D2C0D2F9</action>
            <action>maincpu.rq@36F70 = 0010A576323C0000</action>
            <action>maincpu.rq@36F78 = 301967066A024441</action>
            <action>maincpu.rq@36F80 = 3001D1680004323C</action>
            <action>maincpu.rq@36F88 = 0000301967066A02</action>
            <action>maincpu.rq@36F90 = 44413001D1680006</action>
            <action>maincpu.rq@36F98 = 4CDF020330390010</action>
            <action>maincpu.rq@36FA0 = A5924E75FFFFFFFF</action>
            <!--
            36F50 | 48E7 C040      : movem.l D0-D1/A1, -(A7)
            36F54 | 7000           : moveq   #$0, D0
            36F56 | 1028 0008      : move.b  ($8,A0), D0
            36F5A | EC58           : ror.w   #6, D0
            36F5C | 7200           : moveq   #$0, D1
            36F5E | 1228 0009      : move.b  ($9,A0), D1
            36F62 | EB49           : lsl.w   #5, D1
            36F64 | 8041           : or.w    D1, D0
            36F66 | 43F9 0004 2000 : lea     $42000.l, A1
            36F6C | D2C0           : adda.w  D0, A1
            36F6E | D2F9 0010 A576 : adda.w  $10a576.l, A1
            36F74 | 323C xxxx      : move.w  #$xx, D1
            36F78 | 3019           : move.w  (A1)+, D0
            36F7A | 6706           : beq     $36f82
            36F7C | 6A02           : bpl     $36f80
            36F7E | 4441           : neg.w   D1
            36F80 | 3001           : move.w  D1, D0
            36F82 | D168 0004      : add.w   D0, ($4,A0)
            36F86 | 323C xxxx      : move.w  #$xx, D1
            36F8A | 3019           : move.w  (A1)+, D0
            36F8C | 6706           : beq     $36f94
            36F8E | 6A02           : bpl     $36f92
            36F90 | 4441           : neg.w   D1
            36F92 | 3001           : move.w  D1, D0
            36F94 | D168 0006      : add.w   D0, ($6,A0)
            36F98 | 4CDF 0203      : movem.l (A7)+, D0-D1/A1
            36F9C | 3039 0010 A592 : move.w  $10a592.l, D0
            36FA2 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.rw@36F76 = param</action>
            <action>maincpu.rw@36F88 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@0EB86 = 4E4330390010A592</action>
            <action>maincpu.rq@36F50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36F98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FA0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00 and 0x08 -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@0046E = 4EF900036FB06BF8</action>
            <action>maincpu.rq@36FB0 = 41F90010800043E8</action>
            <action>maincpu.rq@36FB8 = 0001606414011239</action>
            <action>maincpu.rq@36FC0 = 00300000B40167F4</action>
            <action>maincpu.rq@36FC8 = 0C0100FB66025310</action>
            <action>maincpu.rq@36FD0 = 0C0100F766025210</action>
            <action>maincpu.rq@36FD8 = 0C0100FD66040410</action>
            <action>maincpu.rq@36FE0 = 00100C0100FE6604</action>
            <action>maincpu.rq@36FE8 = 061000100C0100BB</action>
            <action>maincpu.rq@36FF0 = 660253110C0100B7</action>
            <action>maincpu.rq@36FF8 = 660252110211000F</action>
            <action>maincpu.rq@37000 = 0C0100EF66144240</action>
            <action>maincpu.rq@37008 = 1011670606000010</action>
            <action>maincpu.rq@37010 = E14880103F004E42</action>
            <action>maincpu.rq@37018 = 544F0C0100DF6614</action>
            <action>maincpu.rq@37020 = 3F3C00014E423F3C</action>
            <action>maincpu.rq@37028 = 00034E423F3C0007</action>
            <action>maincpu.rq@37030 = 4E425C4F6086FFFF</action>
            <!--
            36FB0 | 41F9 0010 8000 : lea     $108000.l, A0 // sound code address
            36FB6 | 43E8 0001      : lea     ($1,A0), A1   // bank address ($108001)
            36FBA | 6064           : bra     $37020
            36FBC | 1401           : move.b  D1, D2
            36FBE | 1239 0030 0000 : move.b  $300000.l, D1 // read input
            36FC4 | B401           : cmp.b   D1, D2
            36FC6 | 67F4           : beq     $36fbc
            36FC8 | 0C01 00FB      : cmpi.b  #-$5, D1
            36FCC | 6602           : bne     $36fd0
            36FCE | 5310           : subq.b  #1, (A0)      // decrease code -01
            36FD0 | 0C01 00F7      : cmpi.b  #-$9, D1
            36FD4 | 6602           : bne     $36fd8
            36FD6 | 5210           : addq.b  #1, (A0)      // increase code +01
            36FD8 | 0C01 00FD      : cmpi.b  #-$3, D1
            36FDC | 6604           : bne     $36fe2
            36FDE | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            36FE2 | 0C01 00FE      : cmpi.b  #-$2, D1
            36FE6 | 6604           : bne     $36fec
            36FE8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            36FEC | 0C01 00BB      : cmpi.b  #-$45, D1
            36FF0 | 6602           : bne     $36ff4
            36FF2 | 5311           : subq.b  #1, (A1)      // decrease bank -01
            36FF4 | 0C01 00B7      : cmpi.b  #-$49, D1
            36FF8 | 6602           : bne     $36ffc
            36FFA | 5211           : addq.b  #1, (A1)      // increase bank +01
            36FFC | 0211 000F      : andi.b  #$f, (A1)
            37000 | 0C01 00EF      : cmpi.b  #-$11, D1
            37004 | 6614           : bne     $3701a
            37006 | 4240           : clr.w   D0            // play sound
            37008 | 1011           : move.b  (A1), D0
            3700A | 6706           : beq     $37012
            3700C | 0600 0010      : addi.b  #$10, D0
            37010 | E148           : lsl.w   #8, D0
            37012 | 8010           : or.b    (A0), D0
            37014 | 3F00           : move.w  D0, -(A7)
            37016 | 4E42           : trap    #$2
            37018 | 544F           : addq.w  #2, A7
            3701A | 0C01 00DF      : cmpi.b  #-$21, D1
            3701E | 6614           : bne     $37034
            37020 | 3F3C 0001      : move.w  #$1, -(A7)    // stop sound
            37024 | 4E42           : trap    #$2
            37026 | 3F3C 0003      : move.w  #$3, -(A7)
            3702A | 4E42           : trap    #$2
            3702C | 3F3C 0007      : move.w  #$7, -(A7)
            37030 | 4E42           : trap    #$2
            37032 | 5C4F           : addq.w  #6, A7
            37034 | 6086           : bra     $36fbc
            -->
        </script>
        <script state="run">
            <output format="----- ghost pilots 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 3 + left : decrease bank -01"      line="15" align="center" />
            <output format="button 3 + right : increase bank +01"     line="16" align="center" />
            <output format="button 1 : play sound"                    line="17" align="center" />
            <output format="button 2 : stop sound"                    line="18" align="center" />
            <output format="----------------------------"             line="19" align="center" />
            <output format="&lt;&lt; bank %X &gt;&gt;"                line="21" align="center"  >
                <argument>maincpu.pb@108001</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="23" align="center"  >
                <argument>maincpu.pb@108000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@0046E = 4A390010A6826BF8</action>
            <action>maincpu.rq@36FB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36FF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37000 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37008 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37010 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37018 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37020 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37028 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37030 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@c11afc == 3a3c7fff">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@c10c20 == 3a3c7fff">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@c10afc == 3a3c7fff">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@c11ad2 == 3a3c7fff">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@c11abc == 3a3c7fff">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@c11c24 == 3a3c7fff">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@c11ae6 == 3a3c7fff">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@c11bc6 == 3a3c7fff">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
gpilotsh.xml

Code: Select all

<!-- Ghost Pilots (NGH-020, US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.rq@0FA94 = 4EB9000373D06700</action>
            <action>maincpu.rq@373D0 = D2C1B1FC00102500</action>
            <action>maincpu.rq@373D8 = 6708B1FC00103200</action>
            <action>maincpu.rq@373E0 = 660E0C6902240002</action>
            <action>maincpu.rq@373E8 = 6706007C00044E75</action>
            <action>maincpu.rq@373F0 = 4AA9001C4E75FFFF</action>
            <!--
            373D0 | D2C1           : adda.w  D1, A1
            373D2 | B1FC 0010 2500 : cmpa.l  #$102500, A0   // P1
            373D8 | 6708           : beq     $373e2
            373DA | B1FC 0010 3200 : cmpa.l  #$103200, A0   // P2
            373E0 | 660E           : bne     $373f0
            373E2 | 0C69 0224 0002 : cmpi.w  #$224, ($2,A1) // is item?
            373E8 | 6706           : beq     $373f0
            373EA | 007C 0004      : ori     #$4, SR
            373EE | 4E75           : rts
            373F0 | 4AA9 001C      : tst.l   ($1c,A1)
            373F4 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.rq@0FA94 = D2C14AA9001C6700</action>
            <action>maincpu.rq@373D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@373D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@373E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@373E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@373F0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.rb@DE8F = 00</action>
        </script>
        <script state="off">
            <action>maincpu.rb@DE8F = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0002">02       </item>
            <item value="0x0004">03       </item>
            <item value="0x0006">04       </item>
            <item value="0x0008">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@0DCE6 = 4EB9000374004E75</action>
            <action>maincpu.rq@37400 = 8128003448E7C040</action>
            <action>maincpu.rq@37408 = 700010280008EC58</action>
            <action>maincpu.rq@37410 = 720012280009EB49</action>
            <action>maincpu.rq@37418 = 804143F900042000</action>
            <action>maincpu.rq@37420 = D2C0D2F90010A576</action>
            <action>maincpu.rq@37428 = 323C000030196706</action>
            <action>maincpu.rq@37430 = 6A0244413001D168</action>
            <action>maincpu.rq@37438 = 0004323C00003019</action>
            <action>maincpu.rq@37440 = 67066A0244413001</action>
            <action>maincpu.rq@37448 = D16800064CDF0203</action>
            <action>maincpu.rq@37450 = 4E75FFFFFFFFFFFF</action>
            <!--
            37400 | 8128 0034      : or.b    D0, ($34,A0)
            37404 | 48E7 C040      : movem.l D0-D1/A1, -(A7)
            37408 | 7000           : moveq   #$0, D0
            3740A | 1028 0008      : move.b  ($8,A0), D0
            3740E | EC58           : ror.w   #6, D0
            37410 | 7200           : moveq   #$0, D1
            37412 | 1228 0009      : move.b  ($9,A0), D1
            37416 | EB49           : lsl.w   #5, D1
            37418 | 8041           : or.w    D1, D0
            3741A | 43F9 0004 2000 : lea     $42000.l, A1
            37420 | D2C0           : adda.w  D0, A1
            37422 | D2F9 0010 A576 : adda.w  $10a576.l, A1
            37428 | 323C xxxx      : move.w  #$xx, D1
            3742C | 3019           : move.w  (A1)+, D0
            3742E | 6706           : beq     $37436
            37430 | 6A02           : bpl     $37434
            37432 | 4441           : neg.w   D1
            37434 | 3001           : move.w  D1, D0
            37436 | D168 0004      : add.w   D0, ($4,A0)
            3743A | 323C xxxx      : move.w  #$xx, D1
            3743E | 3019           : move.w  (A1)+, D0
            37440 | 6706           : beq     $37448
            37442 | 6A02           : bpl     $37446
            37444 | 4441           : neg.w   D1
            37446 | 3001           : move.w  D1, D0
            37448 | D168 0006      : add.w   D0, ($6,A0)
            3744C | 4CDF 0203      : movem.l (A7)+, D0-D1/A1
            37450 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.rw@3742A = param</action>
            <action>maincpu.rw@3743C = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@0DCE6 = 812800344E434E75</action>
            <action>maincpu.rq@37400 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37408 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37410 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37418 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37428 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37448 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37450 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0005">02       </item>
            <item value="0x000a">03       </item>
            <item value="0x000f">04       </item>
            <item value="0x0014">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@0ED0E = 4EB9000374604E71</action>
            <action>maincpu.rq@37460 = 48E7C04070001028</action>
            <action>maincpu.rq@37468 = 0008EC5872001228</action>
            <action>maincpu.rq@37470 = 0009EB49804143F9</action>
            <action>maincpu.rq@37478 = 00042000D2C0D2F9</action>
            <action>maincpu.rq@37480 = 0010A576323C0000</action>
            <action>maincpu.rq@37488 = 301967066A024441</action>
            <action>maincpu.rq@37490 = 3001D1680004323C</action>
            <action>maincpu.rq@37498 = 0000301967066A02</action>
            <action>maincpu.rq@374A0 = 44413001D1680006</action>
            <action>maincpu.rq@374A8 = 4CDF020330390010</action>
            <action>maincpu.rq@374B0 = A5924E75FFFFFFFF</action>
            <!--
            37460 | 48E7 C040      : movem.l D0-D1/A1, -(A7)
            37464 | 7000           : moveq   #$0, D0
            37466 | 1028 0008      : move.b  ($8,A0), D0
            3746A | EC58           : ror.w   #6, D0
            3746C | 7200           : moveq   #$0, D1
            3746E | 1228 0009      : move.b  ($9,A0), D1
            37472 | EB49           : lsl.w   #5, D1
            37474 | 8041           : or.w    D1, D0
            37476 | 43F9 0004 2000 : lea     $42000.l, A1
            3747C | D2C0           : adda.w  D0, A1
            3747E | D2F9 0010 A576 : adda.w  $10a576.l, A1
            37484 | 323C xxxx      : move.w  #$xx, D1
            37488 | 3019           : move.w  (A1)+, D0
            3748A | 6706           : beq     $37492
            3748C | 6A02           : bpl     $37490
            3748E | 4441           : neg.w   D1
            37490 | 3001           : move.w  D1, D0
            37492 | D168 0004      : add.w   D0, ($4,A0)
            37496 | 323C xxxx      : move.w  #$xx, D1
            3749A | 3019           : move.w  (A1)+, D0
            3749C | 6706           : beq     $374a4
            3749E | 6A02           : bpl     $374a2
            374A0 | 4441           : neg.w   D1
            374A2 | 3001           : move.w  D1, D0
            374A4 | D168 0006      : add.w   D0, ($6,A0)
            374A8 | 4CDF 0203      : movem.l (A7)+, D0-D1/A1
            374AC | 3039 0010 A592 : move.w  $10a592.l, D0
            374B2 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.rw@37486 = param</action>
            <action>maincpu.rw@37498 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@0ED0E = 4E4330390010A592</action>
            <action>maincpu.rq@37460 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37468 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37470 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37478 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37480 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37488 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37490 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37498 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00 and 0x08 -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@0046E = 4EF9000374C06BF8</action>
            <action>maincpu.rq@374C0 = 41F90010800043E8</action>
            <action>maincpu.rq@374C8 = 0001606414011239</action>
            <action>maincpu.rq@374D0 = 00300000B40167F4</action>
            <action>maincpu.rq@374D8 = 0C0100FB66025310</action>
            <action>maincpu.rq@374E0 = 0C0100F766025210</action>
            <action>maincpu.rq@374E8 = 0C0100FD66040410</action>
            <action>maincpu.rq@374F0 = 00100C0100FE6604</action>
            <action>maincpu.rq@374F8 = 061000100C0100BB</action>
            <action>maincpu.rq@37500 = 660253110C0100B7</action>
            <action>maincpu.rq@37508 = 660252110211000F</action>
            <action>maincpu.rq@37510 = 0C0100EF66144240</action>
            <action>maincpu.rq@37518 = 1011670606000010</action>
            <action>maincpu.rq@37520 = E14880103F004E42</action>
            <action>maincpu.rq@37528 = 544F0C0100DF6614</action>
            <action>maincpu.rq@37530 = 3F3C00014E423F3C</action>
            <action>maincpu.rq@37538 = 00034E423F3C0007</action>
            <action>maincpu.rq@37540 = 4E425C4F6086FFFF</action>
            <!--
            374C0 | 41F9 0010 8000 : lea     $108000.l, A0 // sound code address
            374C6 | 43E8 0001      : lea     ($1,A0), A1   // bank address ($108001)
            374CA | 6064           : bra     $37530
            374CC | 1401           : move.b  D1, D2
            374CE | 1239 0030 0000 : move.b  $300000.l, D1 // read input
            374D4 | B401           : cmp.b   D1, D2
            374D6 | 67F4           : beq     $374cc
            374D8 | 0C01 00FB      : cmpi.b  #-$5, D1
            374DC | 6602           : bne     $374e0
            374DE | 5310           : subq.b  #1, (A0)      // decrease code -01
            374E0 | 0C01 00F7      : cmpi.b  #-$9, D1
            374E4 | 6602           : bne     $374e8
            374E6 | 5210           : addq.b  #1, (A0)      // increase code +01
            374E8 | 0C01 00FD      : cmpi.b  #-$3, D1
            374EC | 6604           : bne     $374f2
            374EE | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            374F2 | 0C01 00FE      : cmpi.b  #-$2, D1
            374F6 | 6604           : bne     $374fc
            374F8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            374FC | 0C01 00BB      : cmpi.b  #-$45, D1
            37500 | 6602           : bne     $37504
            37502 | 5311           : subq.b  #1, (A1)      // decrease bank -01
            37504 | 0C01 00B7      : cmpi.b  #-$49, D1
            37508 | 6602           : bne     $3750c
            3750A | 5211           : addq.b  #1, (A1)      // increase bank +01
            3750C | 0211 000F      : andi.b  #$f, (A1)
            37510 | 0C01 00EF      : cmpi.b  #-$11, D1
            37514 | 6614           : bne     $3752a
            37516 | 4240           : clr.w   D0            // play sound
            37518 | 1011           : move.b  (A1), D0
            3751A | 6706           : beq     $37522
            3751C | 0600 0010      : addi.b  #$10, D0
            37520 | E148           : lsl.w   #8, D0
            37522 | 8010           : or.b    (A0), D0
            37524 | 3F00           : move.w  D0, -(A7)
            37526 | 4E42           : trap    #$2
            37528 | 544F           : addq.w  #2, A7
            3752A | 0C01 00DF      : cmpi.b  #-$21, D1
            3752E | 6614           : bne     $37544
            37530 | 3F3C 0001      : move.w  #$1, -(A7)    // stop sound
            37534 | 4E42           : trap    #$2
            37536 | 3F3C 0003      : move.w  #$3, -(A7)
            3753A | 4E42           : trap    #$2
            3753C | 3F3C 0007      : move.w  #$7, -(A7)
            37540 | 4E42           : trap    #$2
            37542 | 5C4F           : addq.w  #6, A7
            37544 | 6086           : bra     $374cc
            -->
        </script>
        <script state="run">
            <output format="----- ghost pilots 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 3 + left : decrease bank -01"      line="15" align="center" />
            <output format="button 3 + right : increase bank +01"     line="16" align="center" />
            <output format="button 1 : play sound"                    line="17" align="center" />
            <output format="button 2 : stop sound"                    line="18" align="center" />
            <output format="----------------------------"             line="19" align="center" />
            <output format="&lt;&lt; bank %X &gt;&gt;"                line="21" align="center"  >
                <argument>maincpu.pb@108001</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="23" align="center"  >
                <argument>maincpu.pb@108000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@0046E = 4A390010A6826BF8</action>
            <action>maincpu.rq@374C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@374F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37500 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37508 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37510 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37518 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37520 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37528 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37530 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37538 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@37540 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@c11afc == 3a3c7fff">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@c10c20 == 3a3c7fff">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@c10afc == 3a3c7fff">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@c11ad2 == 3a3c7fff">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@c11abc == 3a3c7fff">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@c11c24 == 3a3c7fff">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@c11ae6 == 3a3c7fff">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@c11bc6 == 3a3c7fff">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
gpilotsp.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.rq@0F604 = 4EB9000369F06700</action>
            <action>maincpu.rq@369F0 = D2C1B1FC00102500</action>
            <action>maincpu.rq@369F8 = 6708B1FC00103200</action>
            <action>maincpu.rq@36A00 = 660E0C6902240002</action>
            <action>maincpu.rq@36A08 = 6706007C00044E75</action>
            <action>maincpu.rq@36A10 = 4AA9001C4E75FFFF</action>
            <!--
            369F0 | D2C1           : adda.w  D1, A1
            369F2 | B1FC 0010 2500 : cmpa.l  #$102500, A0   // P1
            369F8 | 6708           : beq     $36a02
            369FA | B1FC 0010 3200 : cmpa.l  #$103200, A0   // P2
            36A00 | 660E           : bne     $36a10
            36A02 | 0C69 0224 0002 : cmpi.w  #$224, ($2,A1) // is item?
            36A08 | 6706           : beq     $36a10
            36A0A | 007C 0004      : ori     #$4, SR
            36A0E | 4E75           : rts
            36A10 | 4AA9 001C      : tst.l   ($1c,A1)
            36A14 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.rq@0F604 = D2C14AA9001C6700</action>
            <action>maincpu.rq@369F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@369F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.rb@D9F7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.rb@D9F7 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0002">02       </item>
            <item value="0x0004">03       </item>
            <item value="0x0006">04       </item>
            <item value="0x0008">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@0D852 = 4EB900036A204E75</action>
            <action>maincpu.rq@36A20 = 8128003448E7C040</action>
            <action>maincpu.rq@36A28 = 700010280008EC58</action>
            <action>maincpu.rq@36A30 = 720012280009EB49</action>
            <action>maincpu.rq@36A38 = 804143F900042000</action>
            <action>maincpu.rq@36A40 = D2C0D2F90010A576</action>
            <action>maincpu.rq@36A48 = 323C000030196706</action>
            <action>maincpu.rq@36A50 = 6A0244413001D168</action>
            <action>maincpu.rq@36A58 = 0004323C00003019</action>
            <action>maincpu.rq@36A60 = 67066A0244413001</action>
            <action>maincpu.rq@36A68 = D16800064CDF0203</action>
            <action>maincpu.rq@36A70 = 4E75FFFFFFFFFFFF</action>
            <!--
            36A20 | 8128 0034      : or.b    D0, ($34,A0)
            36A24 | 48E7 C040      : movem.l D0-D1/A1, -(A7)
            36A28 | 7000           : moveq   #$0, D0
            36A2A | 1028 0008      : move.b  ($8,A0), D0
            36A2E | EC58           : ror.w   #6, D0
            36A30 | 7200           : moveq   #$0, D1
            36A32 | 1228 0009      : move.b  ($9,A0), D1
            36A36 | EB49           : lsl.w   #5, D1
            36A38 | 8041           : or.w    D1, D0
            36A3A | 43F9 0004 2000 : lea     $42000.l, A1
            36A40 | D2C0           : adda.w  D0, A1
            36A42 | D2F9 0010 A576 : adda.w  $10a576.l, A1
            36A48 | 323C xxxx      : move.w  #$xx, D1
            36A4C | 3019           : move.w  (A1)+, D0
            36A4E | 6706           : beq     $36a56
            36A50 | 6A02           : bpl     $36a54
            36A52 | 4441           : neg.w   D1
            36A54 | 3001           : move.w  D1, D0
            36A56 | D168 0004      : add.w   D0, ($4,A0)
            36A5A | 323C xxxx      : move.w  #$xx, D1
            36A5E | 3019           : move.w  (A1)+, D0
            36A60 | 6706           : beq     $36a68
            36A62 | 6A02           : bpl     $36a66
            36A64 | 4441           : neg.w   D1
            36A66 | 3001           : move.w  D1, D0
            36A68 | D168 0006      : add.w   D0, ($6,A0)
            36A6C | 4CDF 0203      : movem.l (A7)+, D0-D1/A1
            36A70 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.rw@36A4A = param</action>
            <action>maincpu.rw@36A5C = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@0D852 = 812800344E434E75</action>
            <action>maincpu.rq@36A20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A70 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0005">02       </item>
            <item value="0x000a">03       </item>
            <item value="0x000f">04       </item>
            <item value="0x0014">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@0E880 = 4EB900036A804E71</action>
            <action>maincpu.rq@36A80 = 48E7C04070001028</action>
            <action>maincpu.rq@36A88 = 0008EC5872001228</action>
            <action>maincpu.rq@36A90 = 0009EB49804143F9</action>
            <action>maincpu.rq@36A98 = 00042000D2C0D2F9</action>
            <action>maincpu.rq@36AA0 = 0010A576323C0000</action>
            <action>maincpu.rq@36AA8 = 301967066A024441</action>
            <action>maincpu.rq@36AB0 = 3001D1680004323C</action>
            <action>maincpu.rq@36AB8 = 0000301967066A02</action>
            <action>maincpu.rq@36AC0 = 44413001D1680006</action>
            <action>maincpu.rq@36AC8 = 4CDF020330390010</action>
            <action>maincpu.rq@36AD0 = A5924E75FFFFFFFF</action>
            <!--
            36A80 | 48E7 C040      : movem.l D0-D1/A1, -(A7)
            36A84 | 7000           : moveq   #$0, D0
            36A86 | 1028 0008      : move.b  ($8,A0), D0
            36A8A | EC58           : ror.w   #6, D0
            36A8C | 7200           : moveq   #$0, D1
            36A8E | 1228 0009      : move.b  ($9,A0), D1
            36A92 | EB49           : lsl.w   #5, D1
            36A94 | 8041           : or.w    D1, D0
            36A96 | 43F9 0004 2000 : lea     $42000.l, A1
            36A9C | D2C0           : adda.w  D0, A1
            36A9E | D2F9 0010 A576 : adda.w  $10a576.l, A1
            36AA4 | 323C xxxx      : move.w  #$xx, D1
            36AA8 | 3019           : move.w  (A1)+, D0
            36AAA | 6706           : beq     $36ab2
            36AAC | 6A02           : bpl     $36ab0
            36AAE | 4441           : neg.w   D1
            36AB0 | 3001           : move.w  D1, D0
            36AB2 | D168 0004      : add.w   D0, ($4,A0)
            36AB6 | 323C xxxx      : move.w  #$xx, D1
            36ABA | 3019           : move.w  (A1)+, D0
            36ABC | 6706           : beq     $36ac4
            36ABE | 6A02           : bpl     $36ac2
            36AC0 | 4441           : neg.w   D1
            36AC2 | 3001           : move.w  D1, D0
            36AC4 | D168 0006      : add.w   D0, ($6,A0)
            36AC8 | 4CDF 0203      : movem.l (A7)+, D0-D1/A1
            36ACC | 3039 0010 A592 : move.w  $10a592.l, D0
            36AD2 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.rw@36AA6 = param</action>
            <action>maincpu.rw@36AB8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@0E880 = 4E4330390010A592</action>
            <action>maincpu.rq@36A80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36A98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00 and 0x08 -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@0045E = 4EF900036AE06BF8</action>
            <action>maincpu.rq@36AE0 = 41F90010800043E8</action>
            <action>maincpu.rq@36AE8 = 0001606414011239</action>
            <action>maincpu.rq@36AF0 = 00300000B40167F4</action>
            <action>maincpu.rq@36AF8 = 0C0100FB66025310</action>
            <action>maincpu.rq@36B00 = 0C0100F766025210</action>
            <action>maincpu.rq@36B08 = 0C0100FD66040410</action>
            <action>maincpu.rq@36B10 = 00100C0100FE6604</action>
            <action>maincpu.rq@36B18 = 061000100C0100BB</action>
            <action>maincpu.rq@36B20 = 660253110C0100B7</action>
            <action>maincpu.rq@36B28 = 660252110211000F</action>
            <action>maincpu.rq@36B30 = 0C0100EF66144240</action>
            <action>maincpu.rq@36B38 = 1011670606000010</action>
            <action>maincpu.rq@36B40 = E14880103F004E42</action>
            <action>maincpu.rq@36B48 = 544F0C0100DF6614</action>
            <action>maincpu.rq@36B50 = 3F3C00014E423F3C</action>
            <action>maincpu.rq@36B58 = 00034E423F3C0007</action>
            <action>maincpu.rq@36B60 = 4E425C4F6086FFFF</action>
            <!--
            36AE0 | 41F9 0010 8000 : lea     $108000.l, A0 // sound code address
            36AE6 | 43E8 0001      : lea     ($1,A0), A1   // bank address ($108001)
            36AEA | 6064           : bra     $36b50
            36AEC | 1401           : move.b  D1, D2
            36AEE | 1239 0030 0000 : move.b  $300000.l, D1 // read input
            36AF4 | B401           : cmp.b   D1, D2
            36AF6 | 67F4           : beq     $36aec
            36AF8 | 0C01 00FB      : cmpi.b  #-$5, D1
            36AFC | 6602           : bne     $36b00
            36AFE | 5310           : subq.b  #1, (A0)      // decrease code -01
            36B00 | 0C01 00F7      : cmpi.b  #-$9, D1
            36B04 | 6602           : bne     $36b08
            36B06 | 5210           : addq.b  #1, (A0)      // increase code +01
            36B08 | 0C01 00FD      : cmpi.b  #-$3, D1
            36B0C | 6604           : bne     $36b12
            36B0E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            36B12 | 0C01 00FE      : cmpi.b  #-$2, D1
            36B16 | 6604           : bne     $36b1c
            36B18 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            36B1C | 0C01 00BB      : cmpi.b  #-$45, D1
            36B20 | 6602           : bne     $36b24
            36B22 | 5311           : subq.b  #1, (A1)      // decrease bank -01
            36B24 | 0C01 00B7      : cmpi.b  #-$49, D1
            36B28 | 6602           : bne     $36b2c
            36B2A | 5211           : addq.b  #1, (A1)      // increase bank +01
            36B2C | 0211 000F      : andi.b  #$f, (A1)
            36B30 | 0C01 00EF      : cmpi.b  #-$11, D1
            36B34 | 6614           : bne     $36b4a
            36B36 | 4240           : clr.w   D0            // play sound
            36B38 | 1011           : move.b  (A1), D0
            36B3A | 6706           : beq     $36b42
            36B4C | 0600 0010      : addi.b  #$10, D0
            36B40 | E148           : lsl.w   #8, D0
            36B42 | 8010           : or.b    (A0), D0
            36B44 | 3F00           : move.w  D0, -(A7)
            36B46 | 4E42           : trap    #$2
            36B48 | 544F           : addq.w  #2, A7
            36B4A | 0C01 00DF      : cmpi.b  #-$21, D1
            36B4E | 6614           : bne     $36b64
            36B50 | 3F3C 0001      : move.w  #$1, -(A7)    // stop sound
            36B54 | 4E42           : trap    #$2
            36B56 | 3F3C 0003      : move.w  #$3, -(A7)
            36B5A | 4E42           : trap    #$2
            36B5C | 3F3C 0007      : move.w  #$7, -(A7)
            36B60 | 4E42           : trap    #$2
            36B62 | 5C4F           : addq.w  #6, A7
            36B64 | 6086           : bra     $36aec
            -->
        </script>
        <script state="run">
            <output format="----- ghost pilots 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 3 + left : decrease bank -01"      line="15" align="center" />
            <output format="button 3 + right : increase bank +01"     line="16" align="center" />
            <output format="button 1 : play sound"                    line="17" align="center" />
            <output format="button 2 : stop sound"                    line="18" align="center" />
            <output format="----------------------------"             line="19" align="center" />
            <output format="&lt;&lt; bank %X &gt;&gt;"                line="21" align="center"  >
                <argument>maincpu.pb@108001</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"        line="23" align="center"  >
                <argument>maincpu.pb@108000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@0045E = 4A390010A6826BF8</action>
            <action>maincpu.rq@36AE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36AF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@36B60 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@c11afc == 3a3c7fff">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@c10c20 == 3a3c7fff">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@c10afc == 3a3c7fff">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@c11ad2 == 3a3c7fff">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@c11abc == 3a3c7fff">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@c11c24 == 3a3c7fff">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@c11ae6 == 3a3c7fff">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@c11bc6 == 3a3c7fff">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
jman

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