Code: Select all
<cheat desc="P1 no hit">
<script state="on">
<action>maincpu.mb@3e78 = 60</action> <!-- enemy 1 -->
<action>maincpu.mb@41d6 = 60</action> <!-- enemy 2 -->
<action>maincpu.mb@461c = 60</action> <!-- enemy 3 -->
<action>maincpu.mb@6392 = 60</action> <!-- bullet -->
<action>maincpu.mb@4a6a = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@3e78 = 64</action>
<action>maincpu.mb@41d6 = 65</action>
<action>maincpu.mb@461c = 65</action>
<action>maincpu.mb@6392 = 64</action>
<action>maincpu.mb@4a6a = 65</action>
</script>
</cheat>
<cheat desc="P2 no hit">
<script state="on">
<action>maincpu.mb@3eea = 60</action> <!-- enemy 1 -->
<action>maincpu.mb@425e = 60</action> <!-- enemy 2 -->
<action>maincpu.mb@46a4 = 60</action> <!-- enemy 3 -->
<action>maincpu.mb@63ea = 60</action> <!-- bullet -->
<action>maincpu.mb@4af0 = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@3eea = 64</action>
<action>maincpu.mb@425e = 65</action>
<action>maincpu.mb@46a4 = 65</action>
<action>maincpu.mb@63ea = 64</action>
<action>maincpu.mb@4af0 = 65</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@190f = 02</action>
</script>
<script state="off">
<action>maincpu.mb@190f = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0200">02 </item>
<item value="0x0300">03 </item>
<item value="0x0400">04 </item>
<item value="0x0500">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1630 = 4eb80100</action>
<action>maincpu.mq@0100 = 24300004203c0000</action>
<action>maincpu.mq@0108 = 00004a8167066a02</action>
<action>maincpu.mq@0110 = 44802200203c0000</action>
<action>maincpu.mq@0118 = 00004a8267066a02</action>
<action>maincpu.mq@0120 = 448024004e750000</action>
<!--
0100 | 2430 0004 : move.l ($4,A0,D0.w),D2
0104 | 203c 0000 xxxx : move.l #$xxxx,D0 // x position
010a | 4a81 : tst.l D1
010c | 6706 : beq $114
010e | 6a02 : bpl $112
0110 | 4480 : neg.l D0
0112 | 2200 : move.l D0,D1
0114 | 203c 0000 xxxx : move.l #$xxxx,D0 // y position
011a | 4a82 : tst.l D2
011c | 6706 : beq $124
011e | 6a02 : bpl $122
0120 | 4480 : neg.l D0
0122 | 2400 : move.l D0,D2
0124 | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@0108 = param</action>
<action>maincpu.mw@0118 = param</action>
</script>
<script state="off">
<action>maincpu.md@1630 = 24300004</action>
<action>maincpu.mq@0100 = 0000000000000000</action>
<action>maincpu.mq@0108 = 0000000000000000</action>
<action>maincpu.mq@0110 = 0000000000000000</action>
<action>maincpu.mq@0118 = 0000000000000000</action>
<action>maincpu.mq@0120 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0380">01 (slow)</item>
<item value="0x0700">02 </item>
<item value="0x0a80">03 </item>
<item value="0x0e00">04 </item>
<item value="0x1180">05 (fast)</item>
</parameter>
<script state="change">
<!-- shot level 1 -->
<action>maincpu.mw@1e8e = param</action>
<!-- shot level 2 -->
<action>maincpu.mw@1f14 = param</action>
<action>maincpu.mw@1fa2 = param</action>
<action>maincpu.mw@203a = param</action>
<!-- shot level 3 -->
<action>maincpu.mw@20ce = param</action>
<action>maincpu.mw@215c = param</action>
<action>maincpu.mw@21f8 = param</action>
<!-- shot level 4 -->
<action>maincpu.mw@228c = param</action>
<action>maincpu.mw@231a = param</action>
<action>maincpu.mw@23b6 = param</action>
</script>
<script state="off">
<action>maincpu.mw@1e8e = 0700</action>
<action>maincpu.mw@1f14 = 0700</action>
<action>maincpu.mw@1fa2 = 0700</action>
<action>maincpu.mw@203a = 0700</action>
<action>maincpu.mw@20ce = 0700</action>
<action>maincpu.mw@215c = 0700</action>
<action>maincpu.mw@21f8 = 0700</action>
<action>maincpu.mw@228c = 0700</action>
<action>maincpu.mw@231a = 0700</action>
<action>maincpu.mw@23b6 = 0700</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@17a3 = 06</action>
</script>
<script state="off">
<action>maincpu.mb@17a3 = 03</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@005a6 = 0002f2f0</action>
<action>maincpu.mq@2f2f0 = 41f9000801001401</action>
<action>maincpu.mq@2f2f8 = 1239000e0003b401</action>
<action>maincpu.mq@2f300 = 67f40c0100fb6602</action>
<action>maincpu.mq@2f308 = 53100c0100f76602</action>
<action>maincpu.mq@2f310 = 52100c0100fd6604</action>
<action>maincpu.mq@2f318 = 041000100c0100fe</action>
<action>maincpu.mq@2f320 = 6604061000100c01</action>
<action>maincpu.mq@2f328 = 00ef66041010600a</action>
<action>maincpu.mq@2f330 = 0c0100df660a103c</action>
<action>maincpu.mq@2f338 = 00134eb90002039e</action>
<action>maincpu.mq@2f340 = 60b4000000000000</action>
<!--
2f2f0 | 41f9 0008 0100 : lea $80100.l,A0 // sound code address
2f2f6 | 1401 : move.b D1,D2
2f2f8 | 1239 000e 0003 : move.b $e0003.l,D1 // read input
2f2fe | b401 : cmp.b D1,D2
2f300 | 67f4 : beq $2f2f6
2f302 | 0c01 00fb : cmpi.b #-$5,D1
2f306 | 6602 : bne $2f30a
2f308 | 5310 : subq.b #1,(A0) // decrease code -01
2f30a | 0c01 00f7 : cmpi.b #-$9,D1
2f30e | 6602 : bne $2f312
2f310 | 5210 : addq.b #1,(A0) // increase code +01
2f312 | 0c01 00fd : cmpi.b #-$3,D1
2f316 | 6604 : bne $2f31c
2f318 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
2f31c | 0c01 00fe : cmpi.b #-$2,D1
2f320 | 6604 : bne $2f326
2f322 | 0610 0010 : addi.b #$10,(A0) // increase code +10
2f326 | 0c01 00ef : cmpi.b #-$11,D1
2f32a | 6604 : bne $2f330
2f32c | 1010 : move.b (A0),D0 // play sound
2f32e | 600a : bra $2f33a
2f330 | 0c01 00df : cmpi.b #-$21,D1
2f334 | 660a : bne $2f340
2f336 | 103c 0013 : move.b #$13,D0 // stop sound
2f33a | 4eb9 0002 039e : jsr $2039e.l // send sound code
2f340 | 60b4 : bra $2f2f6
-->
</script>
<script state="run">
<output format="----- sky smasher 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@80100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@005a6 = 00004e9e</action>
<action>maincpu.mq@2f2f0 = 0000000000000000</action>
<action>maincpu.mq@2f2f8 = 0000000000000000</action>
<action>maincpu.mq@2f300 = 0000000000000000</action>
<action>maincpu.mq@2f308 = 0000000000000000</action>
<action>maincpu.mq@2f310 = 0000000000000000</action>
<action>maincpu.mq@2f318 = 0000000000000000</action>
<action>maincpu.mq@2f320 = 0000000000000000</action>
<action>maincpu.mq@2f328 = 0000000000000000</action>
<action>maincpu.mq@2f330 = 0000000000000000</action>
<action>maincpu.mq@2f338 = 0000000000000000</action>
<action>maincpu.mq@2f340 = 0000000000000000</action>
</script>
</cheat>