Code: Select all
<cheat desc="no hit">
<script state="run">
<action condition="maincpu.pw@1f260 == 0028">maincpu.pw@1f260 = 4e75</action> <!-- enemy : copy from $93760 -->
<action condition="maincpu.pw@1f2be == 13fc">maincpu.pw@1f2be = 4e75</action> <!-- bullet : copy from $937be -->
<action condition="maincpu.pw@1dc76 == 13fc">maincpu.pw@1dc76 = 4e75</action> <!-- boss : copy from $92176 -->
<action condition="maincpu.pw@1ed5a == 47f9">maincpu.pw@1ed5a = 4e75</action> <!-- background : copy from $9325a -->
</script>
<script state="off">
<action condition="maincpu.pw@1f260 == 4e75">maincpu.pw@1f260 = 0028</action>
<action condition="maincpu.pw@1f2be == 4e75">maincpu.pw@1f2be = 13fc</action>
<action condition="maincpu.pw@1dc76 == 4e75">maincpu.pw@1dc76 = 13fc</action>
<action condition="maincpu.pw@1ed5a == 4e75">maincpu.pw@1ed5a = 47f9</action>
</script>
</cheat>
<cheat desc="no hit - shield">
<script state="run">
<action condition="maincpu.pw@1f5e0 == 0028">maincpu.pw@1f5e0 = 4e75</action> <!-- enemy : copy from $93ae0 -->
<action condition="maincpu.pw@1f95a == 117c">maincpu.pw@1f95a = 4e75</action> <!-- bullet : copy from $93e5a-->
<action condition="maincpu.pw@149d2 == 6734">maincpu.pw@149d2 = 6034</action> <!-- background : copy from $84ed2 -->
</script>
<script state="off">
<action condition="maincpu.pw@1f5e0 == 4e75">maincpu.pw@1f5e0 = 0028</action>
<action condition="maincpu.pw@1f95a == 4e75">maincpu.pw@1f95a = 117c</action>
<action condition="maincpu.pw@149d2 == 6034">maincpu.pw@149d2 = 6734</action>
</script>
</cheat>
<cheat desc="auto fire - shot">
<script state="run">
<action condition="maincpu.pb@15000 == 66">maincpu.pb@15000 = 60</action> <!-- copy from $85500 -->
</script>
<script state="off">
<action condition="maincpu.pb@15000 == 60">maincpu.pb@15000 = 66</action>
</script>
</cheat>
<cheat desc="auto fire - missile">
<script state="run">
<action condition="maincpu.pb@14f6a == 66">maincpu.pb@14f6a = 60</action> <!-- copy from $8546a -->
</script>
<script state="off">
<action condition="maincpu.pb@14f6a == 60">maincpu.pb@14f6a = 66</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0300">03 </item>
<item value="0x0500">04 </item>
<item value="0x0700">05 (fast)</item>
</parameter>
<script state="run">
<action condition="maincpu.pw@140d0 == 3e2b">maincpu.pw@140d0 = 3e3c</action> <!-- x position : copy from $845d0-->
<action condition="maincpu.pw@14112 == 3e2b">maincpu.pw@14112 = 3e3c</action> <!-- y position : copy from $84612-->
<action condition="maincpu.pw@1444e == 3a39">maincpu.pq@1444e = 3a3c00004e71cdc5</action> <!-- option : copy from $8494e -->
<action condition="maincpu.pw@140d0 == 3e3c">maincpu.pw@140d2 = param</action>
<action condition="maincpu.pw@14112 == 3e3c">maincpu.pw@14114 = param</action>
<action condition="maincpu.pw@1444e == 3a3c">maincpu.pw@14450 = param</action>
</script>
<script state="off">
<action condition="maincpu.pw@140d0 == 3e3c">maincpu.pd@140d0 = 3e2b000e</action>
<action condition="maincpu.pw@14112 == 3e3c">maincpu.pd@14112 = 3e2b000e</action>
<action condition="maincpu.pw@1444e == 3a3c">maincpu.pd@1444e = 3a390007080ecdcd</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set ram/rom check error skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@8133a = 000002e0</action> <!-- copy to $10e3a -->
<action>maincpu.mq@002e0 = 41f90007010043f9</action>
<action>maincpu.mq@002e8 = 0005e00412001039</action>
<action>maincpu.mq@002f0 = 0005cc03b20067f4</action>
<action>maincpu.mq@002f8 = 0c0000fe66025310</action>
<action>maincpu.mq@00300 = 0c0000fd66025210</action>
<action>maincpu.mq@00308 = 0c0000f766040410</action>
<action>maincpu.mq@00310 = 00100c0000fb6604</action>
<action>maincpu.mq@00318 = 061000100c0000ef</action>
<action>maincpu.mq@00320 = 6604141060080c01</action>
<action>maincpu.mq@00328 = 00df6610420212bc</action>
<action>maincpu.mq@00330 = 000013c20005c001</action>
<action>maincpu.mq@00338 = 12bc000160aeffff</action>
<!--
02e0 | 41f9 0007 0100 : lea $70100.l,A0 // sound code address
02e6 | 43f9 0005 e004 : lea $5e004.l,A1
02ec | 1200 : move.b D0,D1
02ee | 1039 0005 cc03 : move.b $5cc03.l,D0 // read input
02f4 | b200 : cmp.b D0,D1
02f6 | 67f4 : beq $2ec
02f8 | 0c00 00fe : cmpi.b #-$2,D0
02fc | 6602 : bne $300
02fe | 5310 : subq.b #1,(A0) // decrease code -01
0300 | 0c00 00fd : cmpi.b #-$3,D0
0304 | 6602 : bne $308
0306 | 5210 : addq.b #1,(A0) // increase code +01
0308 | 0c00 00f7 : cmpi.b #-$9,D0
030c | 6604 : bne $312
030e | 0410 0010 : subi.b #$10,(A0) // decrease code -10
0312 | 0c00 00fb : cmpi.b #-$5,D0
0316 | 6604 : bne $31c
0318 | 0610 0010 : addi.b #$10,(A0) // increase code +10
031c | 0c00 00ef : cmpi.b #-$11,D0
0320 | 6604 : bne $326
0322 | 1410 : move.b (A0),D2 // play sound
0324 | 6008 : bra $32e
0326 | 0c01 00df : cmpi.b #-$21,D1
032a | 6610 : bne $33c
032c | 4202 : clr.b D2 // stop sound
032e | 12bc 0000 : move.b #$0,(A1)
0332 | 13c2 0005 c001 : move.b D2,$5c001.l // send sound code
0338 | 12bc 0001 : move.b #$1,(A1)
033c | 60ae : bra $2ec
-->
</script>
<script state="run">
<output format="----- gradius 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@70100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@8133a = 00010e56</action>
<action>maincpu.mq@002e0 = ffffffffffffffff</action>
<action>maincpu.mq@002e8 = ffffffffffffffff</action>
<action>maincpu.mq@002f0 = ffffffffffffffff</action>
<action>maincpu.mq@002f8 = ffffffffffffffff</action>
<action>maincpu.mq@00300 = ffffffffffffffff</action>
<action>maincpu.mq@00308 = ffffffffffffffff</action>
<action>maincpu.mq@00310 = ffffffffffffffff</action>
<action>maincpu.mq@00318 = ffffffffffffffff</action>
<action>maincpu.mq@00320 = ffffffffffffffff</action>
<action>maincpu.mq@00328 = ffffffffffffffff</action>
<action>maincpu.mq@00330 = ffffffffffffffff</action>
<action>maincpu.mq@00338 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip ram/rom check error">
<script state="run">
<action condition="maincpu.pw@1028c == 000c">maincpu.pw@1028c = 0002</action> <!-- ram : copy from $8028c -->
<action condition="maincpu.pw@102c6 == 6608">maincpu.pw@102c6 = 4e71</action> <!-- rom : copy from $802c6 -->
</script>
<script state="off">
<action condition="maincpu.pw@1028c == 0002">maincpu.pw@1028c = 000c</action>
<action condition="maincpu.pw@102c6 == 4e71">maincpu.pw@102c6 = 6608</action>
</script>
</cheat>