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

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

[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.
Post Reply