mustang.xml
Code: Select all
<!-- US AAF Mustang (25th May. 1990) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
<action>maincpu.mb@2070 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@1C74 = 66</action>
<action>maincpu.mb@2070 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@122D = 01</action> <!-- shot -->
<action>maincpu.mb@132D = 01</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mb@122D = 0C</action>
<action>maincpu.mb@132D = 10</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
<action>maincpu.mq@28710 = 24300800610C2202</action>
<action>maincpu.mq@28718 = 2430080461042002</action>
<action>maincpu.mq@28720 = 4E750C6E0060002C</action>
<action>maincpu.mq@28728 = 6410263C00000000</action>
<action>maincpu.mq@28730 = 4A8267066A024483</action>
<action>maincpu.mq@28738 = 24034E7500000000</action>
<!--
28710 | 2430 0800 : move.l (A0,D0.l), D2 // x position
28714 | 610C : bsr $28722
28716 | 2202 : move.l D2, D1
28718 | 2430 0804 : move.l ($4,A0,D0.l), D2 // y position
2871C | 6104 : bsr $28722
2871E | 2002 : move.l D2, D0
28720 | 4E75 : rts
28722 | 0C6E 0060 002C : cmpi.w #$60, ($2c,A6) // check auto move flag
28728 | 6410 : bcc $2873a
2872A | 263C xxxx xxxx : move.l #$xxxx, D3
28730 | 4A82 : tst.l D2
28732 | 6706 : beq $2873a
28734 | 6A02 : bpl $28738
28736 | 4483 : neg.l D3
28738 | 2403 : move.l D3, D2
2873A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@2872C = param</action>
</script>
<script state="off">
<action>maincpu.mq@00DC0 = 2230080020300804</action>
<action>maincpu.mq@28710 = 0000000000000000</action>
<action>maincpu.mq@28718 = 0000000000000000</action>
<action>maincpu.mq@28720 = 0000000000000000</action>
<action>maincpu.mq@28728 = 0000000000000000</action>
<action>maincpu.mq@28730 = 0000000000000000</action>
<action>maincpu.mq@28738 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x0a">02 </item>
<item value="0x0f">03 </item>
<item value="0x14">04 </item>
<item value="0x19">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
<action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
<action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
</script>
<script state="off">
<action>maincpu.mb@12E5 = 0A</action>
<action>maincpu.mb@12ED = 0A</action>
<action>maincpu.mb@12F5 = 0A</action>
</script>
</cheat>
<cheat desc="bomb speed">
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00004000">02 </item>
<item value="0x00008000">03 </item>
<item value="0x0000c000">04 </item>
<item value="0x00010000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@1396 = param</action>
</script>
<script state="off">
<action>maincpu.md@1396 = 00004000</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@123F = 10</action>
</script>
<script state="off">
<action>maincpu.mb@123F = 02</action>
</script>
</cheat>
<cheat desc="unlock test mode">
<comment>reset the game (F3) to enter test mode</comment>
<script state="on">
<action>maincpu.mb@3B17 = 42</action>
</script>
<script state="off">
<action>maincpu.mb@3B17 = 50</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sfxs by sound stop button -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@02A02 = 4EF9000287404279</action>
<action>maincpu.mq@28740 = 41F9000F000043F9</action>
<action>maincpu.mq@28748 = 0008001F12001029</action>
<action>maincpu.mq@28750 = FFE4B20067F60C00</action>
<action>maincpu.mq@28758 = 00FD660253100C00</action>
<action>maincpu.mq@28760 = 00FE660252100C00</action>
<action>maincpu.mq@28768 = 00FB660404100010</action>
<action>maincpu.mq@28770 = 0C0000F766040610</action>
<action>maincpu.mq@28778 = 00100C0000EF6602</action>
<action>maincpu.mq@28780 = 12900C0000DF6602</action>
<action>maincpu.mq@28788 = 421160C000000000</action>
<!--
28740 | 41F9 000F 0000 : lea $f0000.l, A0 // sound code address
28746 | 43F9 0008 001F : lea $8001f.l, A1 // sound latch address
2874C | 1200 : move.b D0, D1
2874E | 1029 FFE4 : move.b (-$1c,A1), D0 // reat input ($80003)
28752 | B200 : cmp.b D0, D1
28754 | 67F6 : beq $2874c
28756 | 0C00 00FD : cmpi.b #-$3, D0
2875A | 6602 : bne $2875e
2875C | 5310 : subq.b #1, (A0) // decrease code -01
2875E | 0C00 00FE : cmpi.b #-$2, D0
28762 | 6602 : bne $28766
28764 | 5210 : addq.b #1, (A0) // increase code +01
28766 | 0C00 00FB : cmpi.b #-$5, D0
2876A | 6604 : bne $28770
2876C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28770 | 0C00 00F7 : cmpi.b #-$9, D0
28774 | 6604 : bne $2877a
28776 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2877A | 0C00 00EF : cmpi.b #-$11, D0
2877E | 6602 : bne $28782
28780 | 1290 : move.b (A0), (A1) // play sound
28782 | 0C00 00DF : cmpi.b #-$21, D0
28786 | 6602 : bne $2878a
28788 | 4211 : clr.b (A1) // stop sound
2878A | 60C0 : bra $2874c
-->
</script>
<script state="run">
<output format="----- us aaf mustang sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@02A02 = 4279000F90604279</action>
<action>maincpu.mq@28740 = 0000000000000000</action>
<action>maincpu.mq@28748 = 0000000000000000</action>
<action>maincpu.mq@28750 = 0000000000000000</action>
<action>maincpu.mq@28758 = 0000000000000000</action>
<action>maincpu.mq@28760 = 0000000000000000</action>
<action>maincpu.mq@28768 = 0000000000000000</action>
<action>maincpu.mq@28770 = 0000000000000000</action>
<action>maincpu.mq@28778 = 0000000000000000</action>
<action>maincpu.mq@28780 = 0000000000000000</action>
<action>maincpu.mq@28788 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
mustangs.xml
Code: Select all
<!-- US AAF Mustang (25th May. 1990 / Seoul Trading) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
<action>maincpu.mb@2070 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@1C74 = 66</action>
<action>maincpu.mb@2070 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@122D = 01</action> <!-- shot -->
<action>maincpu.mb@132D = 01</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mb@122D = 0C</action>
<action>maincpu.mb@132D = 10</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
<action>maincpu.mq@28710 = 24300800610C2202</action>
<action>maincpu.mq@28718 = 2430080461042002</action>
<action>maincpu.mq@28720 = 4E750C6E0060002C</action>
<action>maincpu.mq@28728 = 6410263C00000000</action>
<action>maincpu.mq@28730 = 4A8267066A024483</action>
<action>maincpu.mq@28738 = 24034E7500000000</action>
<!--
28710 | 2430 0800 : move.l (A0,D0.l), D2 // x position
28714 | 610C : bsr $28722
28716 | 2202 : move.l D2, D1
28718 | 2430 0804 : move.l ($4,A0,D0.l), D2 // y position
2871C | 6104 : bsr $28722
2871E | 2002 : move.l D2, D0
28720 | 4E75 : rts
28722 | 0C6E 0060 002C : cmpi.w #$60, ($2c,A6) // check auto move flag
28728 | 6410 : bcc $2873a
2872A | 263C xxxx xxxx : move.l #$xxxx, D3
28730 | 4A82 : tst.l D2
28732 | 6706 : beq $2873a
28734 | 6A02 : bpl $28738
28736 | 4483 : neg.l D3
28738 | 2403 : move.l D3, D2
2873A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@2872C = param</action>
</script>
<script state="off">
<action>maincpu.mq@00DC0 = 2230080020300804</action>
<action>maincpu.mq@28710 = 0000000000000000</action>
<action>maincpu.mq@28718 = 0000000000000000</action>
<action>maincpu.mq@28720 = 0000000000000000</action>
<action>maincpu.mq@28728 = 0000000000000000</action>
<action>maincpu.mq@28730 = 0000000000000000</action>
<action>maincpu.mq@28738 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x0a">02 </item>
<item value="0x0f">03 </item>
<item value="0x14">04 </item>
<item value="0x19">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
<action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
<action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
</script>
<script state="off">
<action>maincpu.mb@12E5 = 0A</action>
<action>maincpu.mb@12ED = 0A</action>
<action>maincpu.mb@12F5 = 0A</action>
</script>
</cheat>
<cheat desc="bomb speed">
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00004000">02 </item>
<item value="0x00008000">03 </item>
<item value="0x0000c000">04 </item>
<item value="0x00010000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@1396 = param</action>
</script>
<script state="off">
<action>maincpu.md@1396 = 00004000</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@123F = 10</action>
</script>
<script state="off">
<action>maincpu.mb@123F = 02</action>
</script>
</cheat>
<cheat desc="unlock test mode">
<comment>reset the game (F3) to enter test mode</comment>
<script state="on">
<action>maincpu.mb@3B17 = 42</action>
</script>
<script state="off">
<action>maincpu.mb@3B17 = 50</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sfxs by sound stop button -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@02A02 = 4EF9000287404279</action>
<action>maincpu.mq@28740 = 41F9000F100043F9</action>
<action>maincpu.mq@28748 = 0008001F12001029</action>
<action>maincpu.mq@28750 = FFE4B20067F60C00</action>
<action>maincpu.mq@28758 = 00FD660253100C00</action>
<action>maincpu.mq@28760 = 00FE660252100C00</action>
<action>maincpu.mq@28768 = 00FB660404100010</action>
<action>maincpu.mq@28770 = 0C0000F766040610</action>
<action>maincpu.mq@28778 = 00100C0000EF6602</action>
<action>maincpu.mq@28780 = 12900C0000DF6602</action>
<action>maincpu.mq@28788 = 421160C000000000</action>
<!--
28740 | 41F9 000F 1000 : lea $f1000.l, A0 // sound code address
28746 | 43F9 0008 001F : lea $8001f.l, A1 // sound latch address
2874C | 1200 : move.b D0, D1
2874E | 1029 FFE4 : move.b (-$1c,A1), D0 // reat input ($80003)
28752 | B200 : cmp.b D0, D1
28754 | 67F6 : beq $2874c
28756 | 0C00 00FD : cmpi.b #-$3, D0
2875A | 6602 : bne $2875e
2875C | 5310 : subq.b #1, (A0) // decrease code -01
2875E | 0C00 00FE : cmpi.b #-$2, D0
28762 | 6602 : bne $28766
28764 | 5210 : addq.b #1, (A0) // increase code +01
28766 | 0C00 00FB : cmpi.b #-$5, D0
2876A | 6604 : bne $28770
2876C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28770 | 0C00 00F7 : cmpi.b #-$9, D0
28774 | 6604 : bne $2877a
28776 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2877A | 0C00 00EF : cmpi.b #-$11, D0
2877E | 6602 : bne $28782
28780 | 1290 : move.b (A0), (A1) // play sound
28782 | 0C00 00DF : cmpi.b #-$21, D0
28786 | 6602 : bne $2878a
28788 | 4211 : clr.b (A1) // stop sound
2878A | 60C0 : bra $2874c
-->
</script>
<script state="run">
<output format="----- us aaf mustang sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F1000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@02A02 = 4279000F90604279</action>
<action>maincpu.mq@28740 = 0000000000000000</action>
<action>maincpu.mq@28748 = 0000000000000000</action>
<action>maincpu.mq@28750 = 0000000000000000</action>
<action>maincpu.mq@28758 = 0000000000000000</action>
<action>maincpu.mq@28760 = 0000000000000000</action>
<action>maincpu.mq@28768 = 0000000000000000</action>
<action>maincpu.mq@28770 = 0000000000000000</action>
<action>maincpu.mq@28778 = 0000000000000000</action>
<action>maincpu.mq@28780 = 0000000000000000</action>
<action>maincpu.mq@28788 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
mustangb.xml
Code: Select all
<!-- US AAF Mustang (bootleg, set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
<action>maincpu.mb@2070 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@1C74 = 66</action>
<action>maincpu.mb@2070 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@122D = 01</action> <!-- shot -->
<action>maincpu.mb@132D = 01</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mb@122D = 0C</action>
<action>maincpu.mb@132D = 10</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
<action>maincpu.mq@28710 = 24300800610C2202</action>
<action>maincpu.mq@28718 = 2430080461042002</action>
<action>maincpu.mq@28720 = 4E750C6E0060002C</action>
<action>maincpu.mq@28728 = 6410263C00000000</action>
<action>maincpu.mq@28730 = 4A8267066A024483</action>
<action>maincpu.mq@28738 = 24034E7500000000</action>
<!--
28710 | 2430 0800 : move.l (A0,D0.l), D2 // x position
28714 | 610C : bsr $28722
28716 | 2202 : move.l D2, D1
28718 | 2430 0804 : move.l ($4,A0,D0.l), D2 // y position
2871C | 6104 : bsr $28722
2871E | 2002 : move.l D2, D0
28720 | 4E75 : rts
28722 | 0C6E 0060 002C : cmpi.w #$60, ($2c,A6) // check auto move flag
28728 | 6410 : bcc $2873a
2872A | 263C xxxx xxxx : move.l #$xxxx, D3
28730 | 4A82 : tst.l D2
28732 | 6706 : beq $2873a
28734 | 6A02 : bpl $28738
28736 | 4483 : neg.l D3
28738 | 2403 : move.l D3, D2
2873A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@2872C = param</action>
</script>
<script state="off">
<action>maincpu.mq@00DC0 = 2230080020300804</action>
<action>maincpu.mq@28710 = 0000000000000000</action>
<action>maincpu.mq@28718 = 0000000000000000</action>
<action>maincpu.mq@28720 = 0000000000000000</action>
<action>maincpu.mq@28728 = 0000000000000000</action>
<action>maincpu.mq@28730 = 0000000000000000</action>
<action>maincpu.mq@28738 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x0a">02 </item>
<item value="0x0f">03 </item>
<item value="0x14">04 </item>
<item value="0x19">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
<action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
<action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
</script>
<script state="off">
<action>maincpu.mb@12E5 = 0A</action>
<action>maincpu.mb@12ED = 0A</action>
<action>maincpu.mb@12F5 = 0A</action>
</script>
</cheat>
<cheat desc="bomb speed">
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00004000">02 </item>
<item value="0x00008000">03 </item>
<item value="0x0000c000">04 </item>
<item value="0x00010000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@1396 = param</action>
</script>
<script state="off">
<action>maincpu.md@1396 = 00004000</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@123F = 10</action>
</script>
<script state="off">
<action>maincpu.mb@123F = 02</action>
</script>
</cheat>
<cheat desc="unlock test mode">
<comment>reset the game (F3) to enter test mode</comment>
<script state="on">
<action>maincpu.mb@3B17 = 42</action>
</script>
<script state="off">
<action>maincpu.mb@3B17 = 50</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@02A02 = 4EF9000287404279</action>
<action>maincpu.mq@28740 = 41F9000F000043F9</action>
<action>maincpu.mq@28748 = 0008001E12001029</action>
<action>maincpu.mq@28750 = FFE5B20067F60C00</action>
<action>maincpu.mq@28758 = 00FD660253100C00</action>
<action>maincpu.mq@28760 = 00FE660252100C00</action>
<action>maincpu.mq@28768 = 00FB660404100010</action>
<action>maincpu.mq@28770 = 0C0000F766040610</action>
<action>maincpu.mq@28778 = 00100C0000EF6608</action>
<action>maincpu.mq@28780 = 343C800084103282</action>
<action>maincpu.mq@28788 = 0C0000DF6606343C</action>
<action>maincpu.mq@28790 = 82FF328260B60000</action>
<!--
28740 | 41F9 000F 0000 : lea $f0000.l, A0 // sound code address
28746 | 43F9 0008 001E : lea $8001e.l, A1 // sound latch address
2874C | 1200 : move.b D0, D1
2874E | 1029 FFE5 : move.b (-$1b,A1), D0 // read input ($80003)
28752 | B200 : cmp.b D0, D1
28754 | 67F6 : beq $2874c
28756 | 0C00 00FD : cmpi.b #-$3, D0
2875A | 6602 : bne $2875e
2875C | 5310 : subq.b #1, (A0) // decrease code -01
2875E | 0C00 00FE : cmpi.b #-$2, D0
28762 | 6602 : bne $28766
28764 | 5210 : addq.b #1, (A0) // increase code +01
28766 | 0C00 00FB : cmpi.b #-$5, D0
2876A | 6604 : bne $28770
2876C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28770 | 0C00 00F7 : cmpi.b #-$9, D0
28774 | 6604 : bne $2877a
28776 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2877A | 0C00 00EF : cmpi.b #-$11, D0
2877E | 6608 : bne $28788
28780 | 343C 8000 : move.w #$8000, D2 // play sound
28784 | 8410 : or.b (A0), D2
28786 | 3282 : move.w D2, (A1)
28788 | 0C00 00DF : cmpi.b #-$21, D0
2878C | 6606 : bne $28794
2878E | 343C 82FF : move.w #$82ff, D2 // stop sound
28792 | 3282 : move.w D2, (A1)
28794 | 60B6 : bra $2874c
-->
</script>
<script state="run">
<output format="----- us aaf mustang sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@02A02 = 4279000F90604279</action>
<action>maincpu.mq@28740 = 0000000000000000</action>
<action>maincpu.mq@28748 = 0000000000000000</action>
<action>maincpu.mq@28750 = 0000000000000000</action>
<action>maincpu.mq@28758 = 0000000000000000</action>
<action>maincpu.mq@28760 = 0000000000000000</action>
<action>maincpu.mq@28768 = 0000000000000000</action>
<action>maincpu.mq@28770 = 0000000000000000</action>
<action>maincpu.mq@28778 = 0000000000000000</action>
<action>maincpu.mq@28780 = 0000000000000000</action>
<action>maincpu.mq@28788 = 0000000000000000</action>
<action>maincpu.mq@28790 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
mustangb2.xml
Code: Select all
<!-- US AAF Mustang (TAB Austria bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
<action>maincpu.mb@2070 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@1C74 = 66</action>
<action>maincpu.mb@2070 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@122D = 01</action> <!-- shot -->
<action>maincpu.mb@132D = 01</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mb@122D = 0C</action>
<action>maincpu.mb@132D = 10</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
<action>maincpu.mq@28710 = 24300800610C2202</action>
<action>maincpu.mq@28718 = 2430080461042002</action>
<action>maincpu.mq@28720 = 4E750C6E0060002C</action>
<action>maincpu.mq@28728 = 6410263C00000000</action>
<action>maincpu.mq@28730 = 4A8267066A024483</action>
<action>maincpu.mq@28738 = 24034E7500000000</action>
<!--
28710 | 2430 0800 : move.l (A0,D0.l), D2 // x position
28714 | 610C : bsr $28722
28716 | 2202 : move.l D2, D1
28718 | 2430 0804 : move.l ($4,A0,D0.l), D2 // y position
2871C | 6104 : bsr $28722
2871E | 2002 : move.l D2, D0
28720 | 4E75 : rts
28722 | 0C6E 0060 002C : cmpi.w #$60, ($2c,A6) // check auto move flag
28728 | 6410 : bcc $2873a
2872A | 263C xxxx xxxx : move.l #$xxxx, D3
28730 | 4A82 : tst.l D2
28732 | 6706 : beq $2873a
28734 | 6A02 : bpl $28738
28736 | 4483 : neg.l D3
28738 | 2403 : move.l D3, D2
2873A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@2872C = param</action>
</script>
<script state="off">
<action>maincpu.mq@00DC0 = 2230080020300804</action>
<action>maincpu.mq@28710 = 0000000000000000</action>
<action>maincpu.mq@28718 = 0000000000000000</action>
<action>maincpu.mq@28720 = 0000000000000000</action>
<action>maincpu.mq@28728 = 0000000000000000</action>
<action>maincpu.mq@28730 = 0000000000000000</action>
<action>maincpu.mq@28738 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x0a">02 </item>
<item value="0x0f">03 </item>
<item value="0x14">04 </item>
<item value="0x19">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
<action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
<action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
</script>
<script state="off">
<action>maincpu.mb@12E5 = 0A</action>
<action>maincpu.mb@12ED = 0A</action>
<action>maincpu.mb@12F5 = 0A</action>
</script>
</cheat>
<cheat desc="bomb speed">
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00004000">02 </item>
<item value="0x00008000">03 </item>
<item value="0x0000c000">04 </item>
<item value="0x00010000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@1396 = param</action>
</script>
<script state="off">
<action>maincpu.md@1396 = 00004000</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@123F = 10</action>
</script>
<script state="off">
<action>maincpu.mb@123F = 02</action>
</script>
</cheat>
<cheat desc="unlock test mode">
<comment>reset the game (F3) to enter test mode</comment>
<script state="on">
<action>maincpu.mb@3B17 = 42</action>
</script>
<script state="off">
<action>maincpu.mb@3B17 = 50</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@02A02 = 4EF9000287404279</action>
<action>maincpu.mq@28740 = 41F9000F000043F9</action>
<action>maincpu.mq@28748 = 0008001E12001029</action>
<action>maincpu.mq@28750 = FFE5B20067F60C00</action>
<action>maincpu.mq@28758 = 00FD660253100C00</action>
<action>maincpu.mq@28760 = 00FE660252100C00</action>
<action>maincpu.mq@28768 = 00FB660404100010</action>
<action>maincpu.mq@28770 = 0C0000F766040610</action>
<action>maincpu.mq@28778 = 00100C0000EF6608</action>
<action>maincpu.mq@28780 = 343C800084103282</action>
<action>maincpu.mq@28788 = 0C0000DF6606343C</action>
<action>maincpu.mq@28790 = 82FF328260B60000</action>
<!--
28740 | 41F9 000F 0000 : lea $f0000.l, A0 // sound code address
28746 | 43F9 0008 001E : lea $8001e.l, A1 // sound latch address
2874C | 1200 : move.b D0, D1
2874E | 1029 FFE5 : move.b (-$1b,A1), D0 // read input ($80003)
28752 | B200 : cmp.b D0, D1
28754 | 67F6 : beq $2874c
28756 | 0C00 00FD : cmpi.b #-$3, D0
2875A | 6602 : bne $2875e
2875C | 5310 : subq.b #1, (A0) // decrease code -01
2875E | 0C00 00FE : cmpi.b #-$2, D0
28762 | 6602 : bne $28766
28764 | 5210 : addq.b #1, (A0) // increase code +01
28766 | 0C00 00FB : cmpi.b #-$5, D0
2876A | 6604 : bne $28770
2876C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28770 | 0C00 00F7 : cmpi.b #-$9, D0
28774 | 6604 : bne $2877a
28776 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2877A | 0C00 00EF : cmpi.b #-$11, D0
2877E | 6608 : bne $28788
28780 | 343C 8000 : move.w #$8000, D2 // play sound
28784 | 8410 : or.b (A0), D2
28786 | 3282 : move.w D2, (A1)
28788 | 0C00 00DF : cmpi.b #-$21, D0
2878C | 6606 : bne $28794
2878E | 343C 82FF : move.w #$82ff, D2 // stop sound
28792 | 3282 : move.w D2, (A1)
28794 | 60B6 : bra $2874c
-->
</script>
<script state="run">
<output format="----- us aaf mustang sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@02A02 = 4279000F90604279</action>
<action>maincpu.mq@28740 = 0000000000000000</action>
<action>maincpu.mq@28748 = 0000000000000000</action>
<action>maincpu.mq@28750 = 0000000000000000</action>
<action>maincpu.mq@28758 = 0000000000000000</action>
<action>maincpu.mq@28760 = 0000000000000000</action>
<action>maincpu.mq@28768 = 0000000000000000</action>
<action>maincpu.mq@28770 = 0000000000000000</action>
<action>maincpu.mq@28778 = 0000000000000000</action>
<action>maincpu.mq@28780 = 0000000000000000</action>
<action>maincpu.mq@28788 = 0000000000000000</action>
<action>maincpu.mq@28790 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
mustangb3.xml
Code: Select all
<!-- US AAF Mustang (Lettering bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
<action>maincpu.mb@2070 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@1C74 = 66</action>
<action>maincpu.mb@2070 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@122D = 01</action> <!-- shot -->
<action>maincpu.mb@132D = 01</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mb@122D = 0C</action>
<action>maincpu.mb@132D = 10</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
<action>maincpu.mq@28710 = 24300800610C2202</action>
<action>maincpu.mq@28718 = 2430080461042002</action>
<action>maincpu.mq@28720 = 4E750C6E0060002C</action>
<action>maincpu.mq@28728 = 6410263C00000000</action>
<action>maincpu.mq@28730 = 4A8267066A024483</action>
<action>maincpu.mq@28738 = 24034E7500000000</action>
<!--
28710 | 2430 0800 : move.l (A0,D0.l), D2 // x position
28714 | 610C : bsr $28722
28716 | 2202 : move.l D2, D1
28718 | 2430 0804 : move.l ($4,A0,D0.l), D2 // y position
2871C | 6104 : bsr $28722
2871E | 2002 : move.l D2, D0
28720 | 4E75 : rts
28722 | 0C6E 0060 002C : cmpi.w #$60, ($2c,A6) // check auto move flag
28728 | 6410 : bcc $2873a
2872A | 263C xxxx xxxx : move.l #$xxxx, D3
28730 | 4A82 : tst.l D2
28732 | 6706 : beq $2873a
28734 | 6A02 : bpl $28738
28736 | 4483 : neg.l D3
28738 | 2403 : move.l D3, D2
2873A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@2872C = param</action>
</script>
<script state="off">
<action>maincpu.mq@00DC0 = 2230080020300804</action>
<action>maincpu.mq@28710 = 0000000000000000</action>
<action>maincpu.mq@28718 = 0000000000000000</action>
<action>maincpu.mq@28720 = 0000000000000000</action>
<action>maincpu.mq@28728 = 0000000000000000</action>
<action>maincpu.mq@28730 = 0000000000000000</action>
<action>maincpu.mq@28738 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x0a">02 </item>
<item value="0x0f">03 </item>
<item value="0x14">04 </item>
<item value="0x19">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
<action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
<action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
</script>
<script state="off">
<action>maincpu.mb@12E5 = 0A</action>
<action>maincpu.mb@12ED = 0A</action>
<action>maincpu.mb@12F5 = 0A</action>
</script>
</cheat>
<cheat desc="bomb speed">
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00004000">02 </item>
<item value="0x00008000">03 </item>
<item value="0x0000c000">04 </item>
<item value="0x00010000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@1396 = param</action>
</script>
<script state="off">
<action>maincpu.md@1396 = 00004000</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@123F = 10</action>
</script>
<script state="off">
<action>maincpu.mb@123F = 02</action>
</script>
</cheat>
<cheat desc="unlock test mode">
<comment>reset the game (F3) to enter test mode</comment>
<script state="on">
<action>maincpu.mb@3B17 = 42</action>
</script>
<script state="off">
<action>maincpu.mb@3B17 = 50</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sfxs by sound stop button -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@02A02 = 4EF9000287404279</action>
<action>maincpu.mq@28740 = 41F9000F000043F9</action>
<action>maincpu.mq@28748 = 0008001F12001029</action>
<action>maincpu.mq@28750 = FFE4B20067F60C00</action>
<action>maincpu.mq@28758 = 00FD660253100C00</action>
<action>maincpu.mq@28760 = 00FE660252100C00</action>
<action>maincpu.mq@28768 = 00FB660404100010</action>
<action>maincpu.mq@28770 = 0C0000F766040610</action>
<action>maincpu.mq@28778 = 00100C0000EF6602</action>
<action>maincpu.mq@28780 = 12900C0000DF6602</action>
<action>maincpu.mq@28788 = 421160C000000000</action>
<!--
28740 | 41F9 000F 0000 : lea $f0000.l, A0 // sound code address
28746 | 43F9 0008 001F : lea $8001f.l, A1 // sound latch address
2874C | 1200 : move.b D0, D1
2874E | 1029 FFE4 : move.b (-$1c,A1), D0 // reat input ($80003)
28752 | B200 : cmp.b D0, D1
28754 | 67F6 : beq $2874c
28756 | 0C00 00FD : cmpi.b #-$3, D0
2875A | 6602 : bne $2875e
2875C | 5310 : subq.b #1, (A0) // decrease code -01
2875E | 0C00 00FE : cmpi.b #-$2, D0
28762 | 6602 : bne $28766
28764 | 5210 : addq.b #1, (A0) // increase code +01
28766 | 0C00 00FB : cmpi.b #-$5, D0
2876A | 6604 : bne $28770
2876C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28770 | 0C00 00F7 : cmpi.b #-$9, D0
28774 | 6604 : bne $2877a
28776 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2877A | 0C00 00EF : cmpi.b #-$11, D0
2877E | 6602 : bne $28782
28780 | 1290 : move.b (A0), (A1) // play sound
28782 | 0C00 00DF : cmpi.b #-$21, D0
28786 | 6602 : bne $2878a
28788 | 4211 : clr.b (A1) // stop sound
2878A | 60C0 : bra $2874c
-->
</script>
<script state="run">
<output format="----- us aaf mustang sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@02A02 = 4279000F90604279</action>
<action>maincpu.mq@28740 = 0000000000000000</action>
<action>maincpu.mq@28748 = 0000000000000000</action>
<action>maincpu.mq@28750 = 0000000000000000</action>
<action>maincpu.mq@28758 = 0000000000000000</action>
<action>maincpu.mq@28760 = 0000000000000000</action>
<action>maincpu.mq@28768 = 0000000000000000</action>
<action>maincpu.mq@28770 = 0000000000000000</action>
<action>maincpu.mq@28778 = 0000000000000000</action>
<action>maincpu.mq@28780 = 0000000000000000</action>
<action>maincpu.mq@28788 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
"player speed" : Fixed in auto move.