sandscrp.xml
Code: Select all
<!-- Sand Scorpion -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@B0A8 = 00E2</action> <!-- P1 enemy -->
<action>maincpu.mw@B0E6 = 00A4</action> <!-- P2 enemy -->
<action>maincpu.mw@B40E = FD7C</action> <!-- P1 bullet -->
<action>maincpu.mw@B446 = FD44</action> <!-- P2 bullet -->
<action>maincpu.mw@B5F6 = FB94</action> <!-- P1 laser -->
<action>maincpu.mw@B630 = FB5A</action> <!-- P2 laser -->
</script>
<script state="off">
<action>maincpu.mw@B0A8 = 006C</action>
<action>maincpu.mw@B0E6 = 002E</action>
<action>maincpu.mw@B40E = FD06</action>
<action>maincpu.mw@B446 = FCCE</action>
<action>maincpu.mw@B5F6 = FB1E</action>
<action>maincpu.mw@B630 = FAE4</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E831 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E831 = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0002">02 </item>
<item value="0x0006">03 </item>
<item value="0x000a">04 </item>
<item value="0x000e">05 (slow)</item>
</parameter>
<script state="on">
<action>maincpu.mw@9B0A = 303C</action> <!-- P1 right -->
<action>maincpu.mw@9B3A = 303C</action> <!-- P1 left -->
<action>maincpu.mw@9B76 = 303C</action> <!-- P2 right -->
<action>maincpu.mw@9BA4 = 303C</action> <!-- P2 left -->
<action>maincpu.mw@DC3C = 303C</action> <!-- up -->
<action>maincpu.mw@DC76 = 303C</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mw@9B0C = param</action>
<action>maincpu.mw@9B3C = param</action>
<action>maincpu.mw@9B78 = param</action>
<action>maincpu.mw@9BA6 = param</action>
<action>maincpu.mw@DC3E = param</action>
<action>maincpu.mw@DC78 = param</action>
</script>
<script state="off">
<action>maincpu.md@9B0A = 06400002</action>
<action>maincpu.md@9B3A = 06400002</action>
<action>maincpu.md@9B76 = 06400002</action>
<action>maincpu.md@9BA4 = 06400002</action>
<action>maincpu.md@DC3C = 06400002</action>
<action>maincpu.md@DC76 = 06400002</action>
</script>
</cheat>
<cheat desc="bullet speed (test)">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@0D784 = 00040000 </action> <!-- P1 -->
<action>maincpu.md@0D7B8 = 00040000 </action> <!-- P2 -->
<action>maincpu.mq@40000 = 700048E782024EB9</action>
<action>maincpu.mq@40008 = 0000E8864CDF4041</action>
<action>maincpu.mq@40010 = 51C8FFF04E75FFFF</action>
<!--
40000 | 70xx : moveq #$xx, D0
40002 | 48E7 8202 : movem.l D0/D6/A6, -(A7)
40006 | 4EB9 0000 E886 : jsr $e886.l
4000C | 4CDF 4041 : movem.l (A7)+, D0/D6/A6
40010 | 51C8 FFF0 : dbra D0, $40002
40014 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@40001 = param - 1</action>
</script>
<script state="off">
<action>maincpu.md@0D784 = 0000E886 </action>
<action>maincpu.md@0D7B8 = 0000E886 </action>
<action>maincpu.mq@40000 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40008 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40010 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@F01A = 60</action> <!-- blue -->
<action>maincpu.mb@F410 = 60</action> <!-- green -->
<action>maincpu.mb@FEA0 = 60</action> <!-- red -->
</script>
<script state="off">
<action>maincpu.mb@F01A = 67</action>
<action>maincpu.mb@F410 = 67</action>
<action>maincpu.mb@FEA0 = 67</action>
</script>
</cheat>
<cheat desc="max missiles up">
<script state="on">
<action>maincpu.mb@F7BC = 60</action> <!-- "H" -->
<action>maincpu.mb@FBE8 = 60</action> <!-- "M" -->
</script>
<script state="off">
<action>maincpu.mb@F7BC = 67</action>
<action>maincpu.mb@FBE8 = 67</action>
</script>
</cheat>
<cheat desc="hidden character finder">
<script state="on">
<action>maincpu.mb@20517 = 0A</action>
</script>
<script state="off">
<action>maincpu.mb@20517 = 96</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<!-- shot -->
<action>maincpu.mb@F391 = 01</action>
<action>maincpu.mb@F3B6 = 60</action>
<!-- missile -->
<action>maincpu.mb@FDEB = 01</action>
<action>maincpu.mb@FE10 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@F391 = 03</action>
<action>maincpu.mb@F3B6 = 67</action>
<action>maincpu.mb@FDEB = 03</action>
<action>maincpu.mb@FE10 = 67</action>
</script>
</cheat>
<cheat desc="1 hit kill (test)">
<script state="on">
<action>maincpu.mb@B023 = 7F</action> <!-- P1 air -->
<action>maincpu.mb@B069 = 7F</action> <!-- P2 air -->
<action>maincpu.mb@B2C9 = 7F</action> <!-- P1 ground -->
<action>maincpu.mb@B30F = 7F</action> <!-- P2 ground -->
</script>
<script state="off">
<action>maincpu.mb@B023 = 01</action>
<action>maincpu.mb@B069 = 01</action>
<action>maincpu.mb@B2C9 = 01</action>
<action>maincpu.mb@B30F = 01</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@00A14 = 4EF9000400204298</action>
<action>maincpu.mq@40020 = 46FC200043E80100</action>
<action>maincpu.mq@40028 = 45F900E000011401</action>
<action>maincpu.mq@40030 = 12280009B40167F6</action>
<action>maincpu.mq@40038 = 0C0100FB66025311</action>
<action>maincpu.mq@40040 = 0C0100F766025211</action>
<action>maincpu.mq@40048 = 0C0100FD66040411</action>
<action>maincpu.mq@40050 = 00100C0100FE6604</action>
<action>maincpu.mq@40058 = 061100100C0100EF</action>
<action>maincpu.mq@40060 = 6608101100000080</action>
<action>maincpu.mq@40068 = 14800C0100DF6604</action>
<action>maincpu.mq@40070 = 14BC008060B8FFFF</action>
<!--
40020 | 46FC 2000 : move #$2000,SR // enable interrupt
40024 | 43E8 0100 : lea ($100,A0),A1 // sound code address ($700100)
40028 | 45F9 00E0 0001 : lea $e00001.l,A2 // sound latch address
4002E | 1401 : move.b D1,D2
40030 | 1228 0009 : move.b ($9,A0),D1 // read input
40034 | B401 : cmp.b D1,D2
40036 | 67F6 : beq $4002e
40038 | 0C01 00FB : cmpi.b #-$5,D1
4003C | 6602 : bne $40040
4003E | 5311 : subq.b #1,(A1) // decrease code -01
40040 | 0C01 00F7 : cmpi.b #-$9,D1
40044 | 6602 : bne $40048
40046 | 5211 : addq.b #1,(A1) // increase code +01
40048 | 0C01 00FD : cmpi.b #-$3,D1
4004C | 6604 : bne $40052
4004E | 0411 0010 : subi.b #$10,(A1) // decrease code -10
40052 | 0C01 00FE : cmpi.b #-$2,D1
40056 | 6604 : bne $4005c
40058 | 0611 0010 : addi.b #$10,(A1) // increase code +10
4005C | 0C01 00EF : cmpi.b #-$11,D1
40060 | 6608 : bne $4006a
40062 | 1011 : move.b (A1),D0 // play sound
40064 | 0000 0080 : ori.b #$80,D0
40068 | 1480 : move.b D0,(A2)
4006A | 0C01 00DF : cmpi.b #-$21,D1
4006E | 6604 : bne $40074
40070 | 14BC 0080 : move.b #$80,(A2) // stop sound
40074 | 60B8 : bra $4002e
-->
</script>
<script state="run">
<output format="----- sand scorpion 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@700100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@00A14 = 323C0FF042984298</action>
<action>maincpu.mq@40020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40068 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40070 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
sandscrpa.xml
Code: Select all
<!-- Sand Scorpion (Earlier) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@B038 = 00E2</action> <!-- P1 enemy -->
<action>maincpu.mw@B076 = 00A4</action> <!-- P2 enemy -->
<action>maincpu.mw@B39E = FD7C</action> <!-- P1 bullet -->
<action>maincpu.mw@B3D6 = FD44</action> <!-- P2 bullet -->
<action>maincpu.mw@B586 = FB94</action> <!-- P1 laser -->
<action>maincpu.mw@B5C0 = FB5A</action> <!-- P2 laser -->
</script>
<script state="off">
<action>maincpu.mw@B038 = 006C</action>
<action>maincpu.mw@B076 = 002E</action>
<action>maincpu.mw@B39E = FD06</action>
<action>maincpu.mw@B3D6 = FCCE</action>
<action>maincpu.mw@B586 = FB1E</action>
<action>maincpu.mw@B5C0 = FAE4</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E7C9 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E7C9 = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0002">02 </item>
<item value="0x0006">03 </item>
<item value="0x000a">04 </item>
<item value="0x000e">05 (slow)</item>
</parameter>
<script state="on">
<action>maincpu.mw@9AEE = 303C</action> <!-- P1 right -->
<action>maincpu.mw@9B1E = 303C</action> <!-- P1 left -->
<action>maincpu.mw@9B5A = 303C</action> <!-- P2 right -->
<action>maincpu.mw@9B88 = 303C</action> <!-- P2 left -->
<action>maincpu.mw@DBD4 = 303C</action> <!-- up -->
<action>maincpu.mw@DC0E = 303C</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mw@9AF0 = param</action>
<action>maincpu.mw@9B20 = param</action>
<action>maincpu.mw@9B5C = param</action>
<action>maincpu.mw@9B8A = param</action>
<action>maincpu.mw@DBD6 = param</action>
<action>maincpu.mw@DC10 = param</action>
</script>
<script state="off">
<action>maincpu.md@9AEE = 06400002</action>
<action>maincpu.md@9B1E = 06400002</action>
<action>maincpu.md@9B5A = 06400002</action>
<action>maincpu.md@9B88 = 06400002</action>
<action>maincpu.md@DBD4 = 06400002</action>
<action>maincpu.md@DC0E = 06400002</action>
</script>
</cheat>
<cheat desc="bullet speed (test)">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@0D71C = 00040000 </action> <!-- P1 -->
<action>maincpu.md@0D750 = 00040000 </action> <!-- P2 -->
<action>maincpu.mq@40000 = 700048E782024EB9</action>
<action>maincpu.mq@40008 = 0000E81E4CDF4041</action>
<action>maincpu.mq@40010 = 51C8FFF04E75FFFF</action>
<!--
40000 | 70xx : moveq #$xx, D0
40002 | 48E7 8202 : movem.l D0/D6/A6, -(A7)
40006 | 4EB9 0000 E81E : jsr $e81e.l
4000C | 4CDF 4041 : movem.l (A7)+, D0/D6/A6
40010 | 51C8 FFF0 : dbra D0, $40002
40014 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@40001 = param - 1</action>
</script>
<script state="off">
<action>maincpu.md@0D71C = 0000E81E </action>
<action>maincpu.md@0D750 = 0000E81E </action>
<action>maincpu.mq@40000 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40008 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40010 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@EFB2 = 60</action> <!-- blue -->
<action>maincpu.mb@F3A8 = 60</action> <!-- green -->
<action>maincpu.mb@FE38 = 60</action> <!-- red -->
</script>
<script state="off">
<action>maincpu.mb@EFB2 = 67</action>
<action>maincpu.mb@F3A8 = 67</action>
<action>maincpu.mb@FE38 = 67</action>
</script>
</cheat>
<cheat desc="max missiles up">
<script state="on">
<action>maincpu.mb@F754 = 60</action> <!-- "H" -->
<action>maincpu.mb@FB80 = 60</action> <!-- "M" -->
</script>
<script state="off">
<action>maincpu.mb@F754 = 67</action>
<action>maincpu.mb@FB80 = 67</action>
</script>
</cheat>
<cheat desc="hidden character finder">
<script state="on">
<action>maincpu.mb@204AF = 0A</action>
</script>
<script state="off">
<action>maincpu.mb@204AF = 96</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<!-- shot -->
<action>maincpu.mb@F329 = 01</action>
<action>maincpu.mb@F34E = 60</action>
<!-- missile -->
<action>maincpu.mb@FD83 = 01</action>
<action>maincpu.mb@FDA8 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@F329 = 03</action>
<action>maincpu.mb@F34E = 67</action>
<action>maincpu.mb@FD83 = 03</action>
<action>maincpu.mb@FDA8 = 67</action>
</script>
</cheat>
<cheat desc="1 hit kill (test)">
<script state="on">
<action>maincpu.mb@AFB3 = 7F</action> <!-- P1 air -->
<action>maincpu.mb@AFF9 = 7F</action> <!-- P2 air -->
<action>maincpu.mb@B259 = 7F</action> <!-- P1 ground -->
<action>maincpu.mb@B29F = 7F</action> <!-- P2 ground -->
</script>
<script state="off">
<action>maincpu.mb@AFB3 = 01</action>
<action>maincpu.mb@AFF9 = 01</action>
<action>maincpu.mb@B259 = 01</action>
<action>maincpu.mb@B29F = 01</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@00A14 = 4EF9000400204298</action>
<action>maincpu.mq@40020 = 46FC200043E80100</action>
<action>maincpu.mq@40028 = 45F900E000011401</action>
<action>maincpu.mq@40030 = 12280009B40167F6</action>
<action>maincpu.mq@40038 = 0C0100FB66025311</action>
<action>maincpu.mq@40040 = 0C0100F766025211</action>
<action>maincpu.mq@40048 = 0C0100FD66040411</action>
<action>maincpu.mq@40050 = 00100C0100FE6604</action>
<action>maincpu.mq@40058 = 061100100C0100EF</action>
<action>maincpu.mq@40060 = 6608101100000080</action>
<action>maincpu.mq@40068 = 14800C0100DF6604</action>
<action>maincpu.mq@40070 = 14BC008060B8FFFF</action>
<!--
40020 | 46FC 2000 : move #$2000,SR // enable interrupt
40024 | 43E8 0100 : lea ($100,A0),A1 // sound code address ($700100)
40028 | 45F9 00E0 0001 : lea $e00001.l,A2 // sound latch address
4002E | 1401 : move.b D1,D2
40030 | 1228 0009 : move.b ($9,A0),D1 // read input
40034 | B401 : cmp.b D1,D2
40036 | 67F6 : beq $4002e
40038 | 0C01 00FB : cmpi.b #-$5,D1
4003C | 6602 : bne $40040
4003E | 5311 : subq.b #1,(A1) // decrease code -01
40040 | 0C01 00F7 : cmpi.b #-$9,D1
40044 | 6602 : bne $40048
40046 | 5211 : addq.b #1,(A1) // increase code +01
40048 | 0C01 00FD : cmpi.b #-$3,D1
4004C | 6604 : bne $40052
4004E | 0411 0010 : subi.b #$10,(A1) // decrease code -10
40052 | 0C01 00FE : cmpi.b #-$2,D1
40056 | 6604 : bne $4005c
40058 | 0611 0010 : addi.b #$10,(A1) // increase code +10
4005C | 0C01 00EF : cmpi.b #-$11,D1
40060 | 6608 : bne $4006a
40062 | 1011 : move.b (A1),D0 // play sound
40064 | 0000 0080 : ori.b #$80,D0
40068 | 1480 : move.b D0,(A2)
4006A | 0C01 00DF : cmpi.b #-$21,D1
4006E | 6604 : bne $40074
40070 | 14BC 0080 : move.b #$80,(A2) // stop sound
40074 | 60B8 : bra $4002e
-->
</script>
<script state="run">
<output format="----- sand scorpion 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@700100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@00A14 = 323C0FF042984298</action>
<action>maincpu.mq@40020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40068 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40070 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
sandscrpb.xml
Code: Select all
<!-- Kuai Da Shizi Huangdi (China?, Revised Hardware) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@B0B4 = 00E2</action> <!-- P1 enemy -->
<action>maincpu.mw@B0F2 = 00A4</action> <!-- P2 enemy -->
<action>maincpu.mw@B41A = FD7C</action> <!-- P1 bullet -->
<action>maincpu.mw@B452 = FD44</action> <!-- P2 bullet -->
<action>maincpu.mw@B602 = FB94</action> <!-- P1 laser -->
<action>maincpu.mw@B63C = FB5A</action> <!-- P2 laser -->
</script>
<script state="off">
<action>maincpu.mw@B0B4 = 006C</action>
<action>maincpu.mw@B0F2 = 002E</action>
<action>maincpu.mw@B41A = FD06</action>
<action>maincpu.mw@B452 = FCCE</action>
<action>maincpu.mw@B602 = FB1E</action>
<action>maincpu.mw@B63C = FAE4</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E83D = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E83D = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0002">02 </item>
<item value="0x0006">03 </item>
<item value="0x000a">04 </item>
<item value="0x000e">05 (slow)</item>
</parameter>
<script state="on">
<action>maincpu.mw@9B16 = 303C</action> <!-- P1 right -->
<action>maincpu.mw@9B46 = 303C</action> <!-- P1 left -->
<action>maincpu.mw@9B82 = 303C</action> <!-- P2 right -->
<action>maincpu.mw@9BB0 = 303C</action> <!-- P2 left -->
<action>maincpu.mw@DC48 = 303C</action> <!-- up -->
<action>maincpu.mw@DC82 = 303C</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mw@9B18 = param</action>
<action>maincpu.mw@9B48 = param</action>
<action>maincpu.mw@9B84 = param</action>
<action>maincpu.mw@9BB2 = param</action>
<action>maincpu.mw@DC4A = param</action>
<action>maincpu.mw@DC84 = param</action>
</script>
<script state="off">
<action>maincpu.md@9B16 = 06400002</action>
<action>maincpu.md@9B46 = 06400002</action>
<action>maincpu.md@9B82 = 06400002</action>
<action>maincpu.md@9BB0 = 06400002</action>
<action>maincpu.md@DC48 = 06400002</action>
<action>maincpu.md@DC82 = 06400002</action>
</script>
</cheat>
<cheat desc="bullet speed (test)">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@0D790 = 00040000 </action> <!-- P1 -->
<action>maincpu.md@0D7C4 = 00040000 </action> <!-- P2 -->
<action>maincpu.mq@40000 = 700048E782024EB9</action>
<action>maincpu.mq@40008 = 0000E8924CDF4041</action>
<action>maincpu.mq@40010 = 51C8FFF04E75FFFF</action>
<!--
40000 | 70xx : moveq #$xx, D0
40002 | 48E7 8202 : movem.l D0/D6/A6, -(A7)
40006 | 4EB9 0000 E892 : jsr $e892.l
4000C | 4CDF 4041 : movem.l (A7)+, D0/D6/A6
40010 | 51C8 FFF0 : dbra D0, $40002
40014 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@40001 = param - 1</action>
</script>
<script state="off">
<action>maincpu.md@0D790 = 0000E892 </action>
<action>maincpu.md@0D7C4 = 0000E892 </action>
<action>maincpu.mq@40000 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40008 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40010 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@F026 = 60</action> <!-- blue -->
<action>maincpu.mb@F41C = 60</action> <!-- green -->
<action>maincpu.mb@FEAC = 60</action> <!-- red -->
</script>
<script state="off">
<action>maincpu.mb@F026 = 67</action>
<action>maincpu.mb@F41C = 67</action>
<action>maincpu.mb@FEAC = 67</action>
</script>
</cheat>
<cheat desc="max missiles up">
<script state="on">
<action>maincpu.mb@F7C8 = 60</action> <!-- "H" -->
<action>maincpu.mb@FBF4 = 60</action> <!-- "M" -->
</script>
<script state="off">
<action>maincpu.mb@F7C8 = 67</action>
<action>maincpu.mb@FBF4 = 67</action>
</script>
</cheat>
<cheat desc="hidden character finder">
<script state="on">
<action>maincpu.mb@20523 = 0A</action>
</script>
<script state="off">
<action>maincpu.mb@20523 = 96</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<!-- shot -->
<action>maincpu.mb@F39D = 01</action>
<action>maincpu.mb@F3C2 = 60</action>
<!-- missile -->
<action>maincpu.mb@FDF7 = 01</action>
<action>maincpu.mb@FE1C = 60</action>
</script>
<script state="off">
<action>maincpu.mb@F39D = 03</action>
<action>maincpu.mb@F3C2 = 67</action>
<action>maincpu.mb@FDF7 = 03</action>
<action>maincpu.mb@FE1C = 67</action>
</script>
</cheat>
<cheat desc="1 hit kill (test)">
<script state="on">
<action>maincpu.mb@B02F = 7F</action> <!-- P1 air -->
<action>maincpu.mb@B075 = 7F</action> <!-- P2 air -->
<action>maincpu.mb@B2D5 = 7F</action> <!-- P1 ground -->
<action>maincpu.mb@B31B = 7F</action> <!-- P2 ground -->
</script>
<script state="off">
<action>maincpu.mb@B02F = 01</action>
<action>maincpu.mb@B075 = 01</action>
<action>maincpu.mb@B2D5 = 01</action>
<action>maincpu.mb@B31B = 01</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@00A14 = 4EF9000400204298</action>
<action>maincpu.mq@40020 = 46FC200043E80100</action>
<action>maincpu.mq@40028 = 45F900E000011401</action>
<action>maincpu.mq@40030 = 12280009B40167F6</action>
<action>maincpu.mq@40038 = 0C0100FB66025311</action>
<action>maincpu.mq@40040 = 0C0100F766025211</action>
<action>maincpu.mq@40048 = 0C0100FD66040411</action>
<action>maincpu.mq@40050 = 00100C0100FE6604</action>
<action>maincpu.mq@40058 = 061100100C0100EF</action>
<action>maincpu.mq@40060 = 6608101100000080</action>
<action>maincpu.mq@40068 = 14800C0100DF6604</action>
<action>maincpu.mq@40070 = 14BC008060B8FFFF</action>
<!--
40020 | 46FC 2000 : move #$2000,SR // enable interrupt
40024 | 43E8 0100 : lea ($100,A0),A1 // sound code address ($700100)
40028 | 45F9 00E0 0001 : lea $e00001.l,A2 // sound latch address
4002E | 1401 : move.b D1,D2
40030 | 1228 0009 : move.b ($9,A0),D1 // read input
40034 | B401 : cmp.b D1,D2
40036 | 67F6 : beq $4002e
40038 | 0C01 00FB : cmpi.b #-$5,D1
4003C | 6602 : bne $40040
4003E | 5311 : subq.b #1,(A1) // decrease code -01
40040 | 0C01 00F7 : cmpi.b #-$9,D1
40044 | 6602 : bne $40048
40046 | 5211 : addq.b #1,(A1) // increase code +01
40048 | 0C01 00FD : cmpi.b #-$3,D1
4004C | 6604 : bne $40052
4004E | 0411 0010 : subi.b #$10,(A1) // decrease code -10
40052 | 0C01 00FE : cmpi.b #-$2,D1
40056 | 6604 : bne $4005c
40058 | 0611 0010 : addi.b #$10,(A1) // increase code +10
4005C | 0C01 00EF : cmpi.b #-$11,D1
40060 | 6608 : bne $4006a
40062 | 1011 : move.b (A1),D0 // play sound
40064 | 0000 0080 : ori.b #$80,D0
40068 | 1480 : move.b D0,(A2)
4006A | 0C01 00DF : cmpi.b #-$21,D1
4006E | 6604 : bne $40074
40070 | 14BC 0080 : move.b #$80,(A2) // stop sound
40074 | 60B8 : bra $4002e
-->
</script>
<script state="run">
<output format="----- kuai da shizi huangdi 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@700100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@00A14 = 323C0FF042984298</action>
<action>maincpu.mq@40020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40068 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40070 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
- "no hit" : Merge two codes into one.
- "bullet speed" : Rewrite routine though test code. Now "red" weapon and missiles get speed up.
- "hidden character finder", "short hit mark" : Add new.
- "1 hit kill" : Add new as test code.
- "sound test mode" : Rewrite routine.