Code: Select all
<cheat desc="no hit">
<script state="on">
<!-- objects -->
<action>maincpu.md@6e82 = 6000993c</action>
<action>maincpu.mq@07c0 = 3e2d00188e680018</action>
<action>maincpu.mq@07c8 = 0247388066024e75</action>
<action>maincpu.mq@07d0 = 00150001600066b0</action>
<!--
007c0 | 3e2d 0018 : move.w ($18,A5),D7
007c4 | 8e68 0018 : or.w ($18,A0),D7
007c8 | 0247 3880 : andi.w #$3880,D7
007cc | 6602 : bne $7d0
007ce | 4e75 : rts
007d0 | 0015 0001 : ori.b #$1,(A5)
007d4 | 6000 66b0 : bra $6e86
-->
<!-- option hunter -->
<action>maincpu.mb@a12c = 60</action>
<!-- background -->
<action>maincpu.mb@1b385 = fc</action> <!-- player -->
<action>maincpu.mb@1c4f0 = 60</action> <!-- force field -->
<action>maincpu.mb@1c5e2 = 60</action> <!-- shield -->
</script>
<script state="off">
<action>maincpu.md@06e82 = 00150001</action>
<action>maincpu.mq@007c0 = ffffffffffffffff</action>
<action>maincpu.mq@007c8 = ffffffffffffffff</action>
<action>maincpu.mq@007d0 = ffffffffffffffff</action>
<action>maincpu.mb@0a12c = 64</action>
<action>maincpu.mb@1b385 = aa</action>
<action>maincpu.md@1c4f0 = 66</action>
<action>maincpu.mb@1c5e2 = 66</action>
</script>
</cheat>
<cheat desc="auto fire - shot">
<script state="on">
<action>maincpu.mb@1b58d = 02</action> <!-- normal, double -->
<action>maincpu.mb@1b793 = 02</action> <!-- ripple laser -->
</script>
<script state="off">
<action>maincpu.mb@1b58d = 06</action>
<action>maincpu.mb@1b793 = 06</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mw@1b11a = 323c</action> <!-- ? (move.w #$xx,D1) -->
<action>maincpu.mw@1b14a = 363c</action> <!-- player (move.w #$xx,D3) -->
<action>maincpu.mw@1b152 = 363c</action> <!-- option (move.w #$xx,D3) -->
<action>maincpu.mw@1b1fa = 323c</action> <!-- vertical scroll? (move.w #$xx,D1) -->
</script>
<script state="change">
<action>maincpu.mw@1b11c = (param - 1) </action>
<action>maincpu.mw@1b14c = (param - 1) </action>
<action>maincpu.mw@1b154 = (param - 1) lshift 4</action>
<action>maincpu.mw@1b1fc = (param - 1) </action>
</script>
<script state="off">
<action>maincpu.md@1b11a = 02010007</action>
<action>maincpu.md@1b14a = 02430007</action>
<action>maincpu.md@1b152 = 162d002b</action>
<action>maincpu.md@1b1fa = 02410007</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set ram/rom check skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@0127a = 0002bc20</action>
<action>maincpu.mq@2bc20 = 41f90006010013fc</action>
<action>maincpu.mq@2bc28 = 0001000a00111200</action>
<action>maincpu.mq@2bc30 = 1039000a0003b200</action>
<action>maincpu.mq@2bc38 = 67ec0c0000fe6602</action>
<action>maincpu.mq@2bc40 = 53100c0000fd6602</action>
<action>maincpu.mq@2bc48 = 52100c0000f76604</action>
<action>maincpu.mq@2bc50 = 041000100c0000fb</action>
<action>maincpu.mq@2bc58 = 6604061000100c00</action>
<action>maincpu.mq@2bc60 = 00ef660414106008</action>
<action>maincpu.mq@2bc68 = 0c0000df660e4202</action>
<action>maincpu.mq@2bc70 = 13c2000a00094eb9</action>
<action>maincpu.mq@2bc78 = 0000e90860a8ffff</action>
<!--
2bc20 | 41f9 0006 0100 : lea $60100.l,A0 // sound code address
2bc26 | 13fc 0001 000a 0011 : move.b #$1,$a0011.l // watchdog
2bc2e | 1200 : move.b D0,D1
2bc30 | 1039 000a 0003 : move.b $a0003.l,D0 // read input
2bc36 | b200 : cmp.b D0,D1
2bc38 | 67ec : beq $2bc26
2bc3a | 0c00 00fe : cmpi.b #-$2,D0
2bc3e | 6602 : bne $2bc42
2bc40 | 5310 : subq.b #1,(A0) // decrease code -01
2bc42 | 0c00 00fd : cmpi.b #-$3,D0
2bc46 | 6602 : bne $2bc4a
2bc48 | 5210 : addq.b #1,(A0) // increase code +01
2bc4a | 0c00 00f7 : cmpi.b #-$9,D0
2bc4e | 6604 : bne $2bc54
2bc50 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
2bc54 | 0c00 00fb : cmpi.b #-$5,D0
2bc58 | 6604 : bne $2bc5e
2bc5a | 0610 0010 : addi.b #$10,(A0) // increase code +10
2bc5e | 0c00 00ef : cmpi.b #-$11,D0
2bc62 | 6604 : bne $2bc68
2bc64 | 1410 : move.b (A0),D2 // play sound
2bc66 | 6008 : bra $2bc70
2bc68 | 0c00 00df : cmpi.b #-$21,D0
2bc6c | 660e : bne $2bc7c
2bc6e | 4202 : clr.b D2 // stop sound
2bc70 | 13c2 000a 0009 : move.b D2,$a0009.l // send sound code
2bc76 | 4eb9 0000 e908 : jsr $e908.l // sound cpu trigger
2bc7c | 60a8 : bra $2bc26
-->
</script>
<script state="run">
<output format="----- gradius II 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@60100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0127a = 00001524</action>
<action>maincpu.mq@2bc20 = ffffffffffffffff</action>
<action>maincpu.mq@2bc28 = ffffffffffffffff</action>
<action>maincpu.mq@2bc30 = ffffffffffffffff</action>
<action>maincpu.mq@2bc38 = ffffffffffffffff</action>
<action>maincpu.mq@2bc40 = ffffffffffffffff</action>
<action>maincpu.mq@2bc48 = ffffffffffffffff</action>
<action>maincpu.mq@2bc50 = ffffffffffffffff</action>
<action>maincpu.mq@2bc58 = ffffffffffffffff</action>
<action>maincpu.mq@2bc60 = ffffffffffffffff</action>
<action>maincpu.mq@2bc68 = ffffffffffffffff</action>
<action>maincpu.mq@2bc70 = ffffffffffffffff</action>
<action>maincpu.mq@2bc78 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@1052 = 1054</action>
</script>
<script state="off">
<action>maincpu.mw@1052 = 175a</action>
</script>
</cheat>