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="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" 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="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" 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="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" 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>