Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@148bc = 4eb803f0</action> <!-- enemy -->
<action>maincpu.md@1495a = 4eb803f0</action> <!-- boss -->
<action>maincpu.md@14c72 = 4eb803f0</action> <!-- bullet -->
<!-- check routine -->
<action>maincpu.mq@003f0 = b3fc000722406304</action>
<action>maincpu.mq@003f8 = 4a2900184e75ffff</action>
<!--
03f0 | b3fc 0007 2240 : cmpa.l #$72240,A1
03f6 | 6304 : bls $3fc
03f8 | 4a29 0018 : tst.b ($18,A1)
03fc | 4e75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@148bc = 4a290018</action>
<action>maincpu.md@1495a = 4a290018</action>
<action>maincpu.md@14c72 = 4a290018</action>
<action>maincpu.mq@003f0 = ffffffffffffffff</action>
<action>maincpu.mq@003f8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- P1 -->
<action>maincpu.mq@019ae = 0828000400294e71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@019d1 = 02</action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@019d6 = 0828000500294e71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- P2 -->
<action>maincpu.mq@01a1e = 0828000400294e71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@01a41 = 02</action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@01a46 = 0828000500294e71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- sub unit (weapon H) -->
<action>maincpu.mq@1677e = 0829000500294e71</action> <!-- btst #$5,($29,A1) / nop -->
</script>
<script state="off">
<action>maincpu.mq@019ae = 024000030c400002</action>
<action>maincpu.mb@019d1 = 1e</action>
<action>maincpu.mq@019d6 = 024000030c400002</action>
<action>maincpu.mq@01a1e = 024000030c400002</action>
<action>maincpu.mb@01a41 = 1e</action>
<action>maincpu.mq@01a46 = 024000030c400002</action>
<action>maincpu.mq@1677e = 024000030c400002</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2c48 = 4eb803d0</action> <!-- x position -->
<action>maincpu.md@2c52 = 4eb803e0</action> <!-- y position -->
<action>maincpu.mq@03d0 = 7401103100006706</action>
<action>maincpu.mq@03d8 = 6a02440210024e75</action>
<action>maincpu.mq@03e0 = 7401123110006706</action>
<action>maincpu.mq@03e8 = 6a02440212024e75</action>
<!--
03d0 | 74xx : moveq #$xx,D2 // x position
03d2 | 1031 0000 : move.b (A1,D0.w),D0
03d6 | 6706 : beq $3de
03d8 | 6a02 : bpl $3dc
03da | 4402 : neg.b D2
03dc | 1002 : move.b D2,D0
03de | 4e75 : rts
03e0 | 74xx : moveq #$xx,D2 // y position
03e2 | 1231 1000 : move.b (A1,D1.w),D1
03e6 | 6706 : beq $3ee
03e8 | 6a02 : bpl $3ec
03ea | 4402 : neg.b D2
03ec | 1202 : move.b D2,D1
03ee | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@03d1 = param</action>
<action>maincpu.mb@03e1 = param</action>
</script>
<script state="off">
<action>maincpu.md@2c48 = 10310000</action>
<action>maincpu.md@2c52 = 12311000</action>
<action>maincpu.mq@03d0 = ffffffffffffffff</action>
<action>maincpu.mq@03d8 = ffffffffffffffff</action>
<action>maincpu.mq@03e0 = ffffffffffffffff</action>
<action>maincpu.mq@03e8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x0c">02 </item>
<item value="0x10">03 </item>
<item value="0x14">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12c63 = param</action> <!-- speed -->
<action>maincpu.mb@12c71 = -param</action> <!-- range -->
</script>
<script state="off">
<action>maincpu.mb@12c63 = 0c</action>
<action>maincpu.mb@12c71 = f4</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@0089c = 4ef900019ee0303c</action>
<action>maincpu.mq@19ee0 = 41f90007100043f9</action>
<action>maincpu.mq@19ee8 = 000f000912001039</action>
<action>maincpu.mq@19ef0 = 000e0001b20067f4</action>
<action>maincpu.mq@19ef8 = 0c0000fb66025310</action>
<action>maincpu.mq@19f00 = 0c0000f766025210</action>
<action>maincpu.mq@19f08 = 0c0000fd66040410</action>
<action>maincpu.mq@19f10 = 00100c0000fe6604</action>
<action>maincpu.mq@19f18 = 061000100c0000ef</action>
<action>maincpu.mq@19f20 = 660212900c0000df</action>
<action>maincpu.mq@19f28 = 660412bc003660bc</action>
<!--
19ee0 | 41f9 0007 1000 : lea $71000.l,A0 // sound code address
19ee6 | 43f9 000f 0009 : lea $f0009.l,A1 // sound latch address
19eec | 1200 : move.b D0,D1
19eee | 1039 000e 0001 : move.b $e0001.l,D0 // read input
19ef4 | b200 : cmp.b D0,D1
19ef6 | 67f4 : beq $19eec
19ef8 | 0c00 00fb : cmpi.b #-$5,D0
19efc | 6602 : bne $19f00
19efe | 5310 : subq.b #1,(A0) // decrease code -01
19f00 | 0c00 00f7 : cmpi.b #-$9,D0
19f04 | 6602 : bne $19f08
19f06 | 5210 : addq.b #1,(A0) // increase code +01
19f08 | 0c00 00fd : cmpi.b #-$3,D0
19f0c | 6604 : bne $19f12
19f0e | 0410 0010 : subi.b #$10,(A0) // decrease code -10
19f12 | 0c00 00fe : cmpi.b #-$2,D0
19f16 | 6604 : bne $19f1c
19f18 | 0610 0010 : addi.b #$10,(A0) // increase code +10
19f1c | 0c00 00ef : cmpi.b #-$11,D0
19f20 | 6602 : bne $19f24
19f22 | 1290 : move.b (A0),(A1) // play sound
19f24 | 0c00 00df : cmpi.b #-$21,D0
19f28 | 6604 : bne $19f2e
19f2a | 12bc 0036 : move.b #$36,(A1) // stop sound
19f2e | 60bc : bra $19eec
-->
<action>audiocpu.mw@08e7 = 0a82</action> <!-- force to play music -->
<action>audiocpu.mw@08ed = 0b46</action> <!-- force to play sfx -->
<!-- sound code flag table -->
<action>audiocpu.mq@1250 = 0200000202000202</action>
<action>audiocpu.mq@1260 = 0002020200000202</action>
<action>audiocpu.mq@1270 = 0200020002000202</action>
</script>
<script state="run">
<output format="----- the next space 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 music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@71000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0089c = 207c0002233c303c</action>
<action>maincpu.mq@19ee0 = ffffffffffffffff</action>
<action>maincpu.mq@19ee8 = ffffffffffffffff</action>
<action>maincpu.mq@19ef0 = ffffffffffffffff</action>
<action>maincpu.mq@19ef8 = ffffffffffffffff</action>
<action>maincpu.mq@19f00 = ffffffffffffffff</action>
<action>maincpu.mq@19f08 = ffffffffffffffff</action>
<action>maincpu.mq@19f10 = ffffffffffffffff</action>
<action>maincpu.mq@19f18 = ffffffffffffffff</action>
<action>maincpu.mq@19f20 = ffffffffffffffff</action>
<action>maincpu.mq@19f28 = ffffffffffffffff</action>
<action>audiocpu.mw@08e7 = 0a76</action>
<action>audiocpu.mw@08ed = 0b32</action>
<action>audiocpu.mq@1250 = 0202020202020202</action>
<action>audiocpu.mq@1260 = 0202020202020202</action>
<action>audiocpu.mq@1270 = 0202020202020202</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@04ae = 6000018c</action> <!-- maincpu : skip ram/rom check -->
<action> maincpu.mw@0654 = 0006</action> <!-- maincpu : disable wait -->
<action> maincpu.mw@0850 = 0006</action> <!-- maincpu : disable wait -->
<action>audiocpu.mw@0c6b = 5518</action> <!-- audiocpu : skip ram/rom check -->
</script>
<script state="off">
<action> maincpu.md@04ae = 207c0000</action>
<action> maincpu.mw@0654 = fffc</action>
<action> maincpu.mw@0850 = fffc</action>
<action>audiocpu.mw@0c6b = 0021</action>
</script>
</cheat>