Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@fd28 = 60</action> <!-- P1 bullet -->
<action>maincpu.mb@fe00 = 60</action> <!-- P1 enemy -->
<action>maincpu.mb@fd82 = 60</action> <!-- P2 bullet -->
<action>maincpu.mb@fe58 = 60</action> <!-- P2 enemy -->
</script>
<script state="off">
<action>maincpu.mb@fd28 = 62</action>
<action>maincpu.mb@fe00 = 62</action>
<action>maincpu.mb@fd82 = 62</action>
<action>maincpu.mb@fe58 = 62</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1012b = 01</action> <!-- P1 -->
<action>maincpu.mb@10141 = 01</action> <!-- P1 -->
<action>maincpu.mb@101f3 = 01</action> <!-- P2 -->
<action>maincpu.mb@10209 = 01</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mb@1012b = 1e</action>
<action>maincpu.mb@10141 = 1e</action>
<action>maincpu.mb@101f3 = 1e</action>
<action>maincpu.mb@10209 = 1e</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00058000">04 </item>
<item value="0x00078000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@102dc = 4eb900080000d480</action> <!-- P1 x position -->
<action>maincpu.mq@103c4 = 4eb900080018d284</action> <!-- P1 y position -->
<action>maincpu.mq@80000 = 243c000000004a80</action>
<action>maincpu.mq@80008 = 67066a0244822002</action>
<action>maincpu.mq@80010 = 243900ffe9124e75</action>
<action>maincpu.mq@80018 = 243c000000004a84</action>
<action>maincpu.mq@80020 = 67066a0244822802</action>
<action>maincpu.mq@80028 = 243900ffe90e4e75</action>
<!--
80000 | 243c xxxx xxxx : move.l #$xxxx,D2 // P1 x position
80006 | 4a80 : tst.l D0
80008 | 6706 : beq $80010
8000a | 6a02 : bpl $8000e
8000c | 4482 : neg.l D2
8000e | 2002 : move.l D2,D0
80010 | 2439 00ff e912 : move.l $ffe912.l,D2
80016 | 4e75 : rts
80018 | 243c xxxx xxxx : move.l #$xxxx,D2 // P1 y position
8001e | 4a84 : tst.l D4
80020 | 6706 : beq $80028
80022 | 6a02 : bpl $80026
80024 | 4482 : neg.l D2
80026 | 2802 : move.l D2,D4
80028 | 2439 00ff e90e : move.l $ffe90e.l,D2
8002e | 4e75 : rts
-->
<action>maincpu.mq@10716 = 4eb900080030d480</action> <!-- P2 x position -->
<action>maincpu.mq@107fe = 4eb900080048d284</action> <!-- P2 y position -->
<action>maincpu.mq@80030 = 243c000000004a80</action>
<action>maincpu.mq@80038 = 67066a0244822002</action>
<action>maincpu.mq@80040 = 243900ffe9224e75</action>
<action>maincpu.mq@80048 = 243c000000004a84</action>
<action>maincpu.mq@80050 = 67066a0244822802</action>
<action>maincpu.mq@80058 = 243900ffe91e4e75</action>
<!--
80030 | 243c xxxx xxxx : move.l #$xxxx,D2 // P2 x position
80036 | 4a80 : tst.l D0
80038 | 6706 : beq $80040
8003a | 6a02 : bpl $8003e
8003c | 4482 : neg.l D2
8003e | 2002 : move.l D2,D0
80040 | 2439 00ff e922 : move.l $ffe922.l,D2
80046 | 4e75 : rts
80048 | 243c xxxx xxxx : move.l #$xxxx,D2 // P2 y position
8004e | 4a84 : tst.l D4
80050 | 6706 : beq $80058
80052 | 6a02 : bpl $80056
80054 | 4482 : neg.l D2
80056 | 2802 : move.l D2,D4
80058 | 2439 00ff e91e : move.l $ffe91e.l,D2
8005e | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@80002 = param</action>
<action>maincpu.md@8001a = param</action>
<action>maincpu.md@80032 = param</action>
<action>maincpu.md@8004a = param</action>
</script>
<script state="off">
<action>maincpu.mq@102dc = 243900ffe912d480</action>
<action>maincpu.mq@103c4 = 243900ffe90ed284</action>
<action>maincpu.mq@80000 = 0000000000000000</action>
<action>maincpu.mq@80008 = 0000000000000000</action>
<action>maincpu.mq@80010 = 0000000000000000</action>
<action>maincpu.mq@80018 = 0000000000000000</action>
<action>maincpu.mq@80020 = 0000000000000000</action>
<action>maincpu.mq@80028 = 0000000000000000</action>
<action>maincpu.mq@10716 = 243900ffe922d480</action>
<action>maincpu.mq@107fe = 243900ffe91ed284</action>
<action>maincpu.mq@80030 = 0000000000000000</action>
<action>maincpu.mq@80038 = 0000000000000000</action>
<action>maincpu.mq@80040 = 0000000000000000</action>
<action>maincpu.mq@80048 = 0000000000000000</action>
<action>maincpu.mq@80050 = 0000000000000000</action>
<action>maincpu.mq@80058 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00010000">01 (slow)</item>
<item value="0x00048000">02 </item>
<item value="0x00088000">03 </item>
<item value="0x000c8000">04 </item>
<item value="0x00108000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@10cca = 4eb9000800604e71</action>
<action>maincpu.mq@80060 = 3142000206830000</action>
<action>maincpu.mq@80068 = 00004e7500000000</action>
<!--
80060 | 3142 0002 : move.w D2,($2,A0)
80064 | 0683 xxxx xxxx : addi.l #$xxxx,D3
8006a | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@80066 = param</action>
</script>
<script state="off">
<action>maincpu.mq@10cca = 31420002e182d682</action>
<action>maincpu.mq@80060 = 0000000000000000</action>
<action>maincpu.mq@80068 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set rom check skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@04108 = 4ef90008007066f8</action>
<action>maincpu.mq@80070 = 41f900f0010043f9</action>
<action>maincpu.mq@80078 = 00b0040112001039</action>
<action>maincpu.mq@80080 = 00b0000bb20067f4</action>
<action>maincpu.mq@80088 = 0c00000266025310</action>
<action>maincpu.mq@80090 = 0c00000166025210</action>
<action>maincpu.mq@80098 = 0c00000866040410</action>
<action>maincpu.mq@800a0 = 00100c0000046604</action>
<action>maincpu.mq@800a8 = 061000100c000010</action>
<action>maincpu.mq@800b0 = 660212900c000020</action>
<action>maincpu.mq@800b8 = 660412bc000160bc</action>
<!--
80070 | 41f9 00f0 0100 : lea $f00100.l,A0 // sound code address
80076 | 43f9 00b0 0401 : lea $b00401.l,A1 // sound latch address
8007c | 1200 : move.b D0,D1
8007e | 1039 00b0 000b : move.b $b0000b.l,D0 // read input
80084 | b200 : cmp.b D0,D1
80086 | 67f4 : beq $8007c
80088 | 0c00 0002 : cmpi.b #$2,D0
8008c | 6602 : bne $80090
8008e | 5310 : subq.b #1,(A0) // decrease code -01
80090 | 0c00 0001 : cmpi.b #$1,D0
80094 | 6602 : bne $80098
80096 | 5210 : addq.b #1,(A0) // increase code +01
80098 | 0c00 0008 : cmpi.b #$8,D0
8009c | 6604 : bne $800a2
8009e | 0410 0010 : subi.b #$10,(A0) // decrease code -10
800a2 | 0c00 0004 : cmpi.b #$4,D0
800a6 | 6604 : bne $800ac
800a8 | 0610 0010 : addi.b #$10,(A0) // increase code +10
800ac | 0c00 0010 : cmpi.b #$10,D0
800b0 | 6602 : bne $800b4
800b2 | 1290 : move.b (A0),(A1) // play sound
800b4 | 0c00 0020 : cmpi.b #$20,D0
800b8 | 6604 : bne $800be
800ba | 12bc 0001 : move.b #$1,(A1) // stop sound
800be | 60bc : bra $8007c
-->
</script>
<script state="run">
<output format="----- twin eagle 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease 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@f00100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@04108 = 4a3900ffcdb466f8</action>
<action>maincpu.mq@80070 = 0000000000000000</action>
<action>maincpu.mq@80078 = 0000000000000000</action>
<action>maincpu.mq@80080 = 0000000000000000</action>
<action>maincpu.mq@80088 = 0000000000000000</action>
<action>maincpu.mq@80090 = 0000000000000000</action>
<action>maincpu.mq@80098 = 0000000000000000</action>
<action>maincpu.mq@800a0 = 0000000000000000</action>
<action>maincpu.mq@800a8 = 0000000000000000</action>
<action>maincpu.mq@800b0 = 0000000000000000</action>
<action>maincpu.mq@800b8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@0322 = 605c</action>
</script>
<script state="off">
<action>maincpu.mw@0322 = 7000</action>
</script>
</cheat>