Code: Select all
<cheat desc="no hit (test)">
<script state="on">
<!-- normal attack -->
<action>maincpu.mb@08016 = 60</action>
<action>maincpu.mb@081d8 = 60</action>
<action>maincpu.mb@088b8 = 60</action>
<action>maincpu.mb@08b34 = 60</action>
<action>maincpu.mb@08c2c = 60</action>
<action>maincpu.mb@08f8c = 60</action>
<action>maincpu.mb@09096 = 60</action>
<action>maincpu.mb@09310 = 60</action>
<action>maincpu.mb@095f6 = 60</action>
<action>maincpu.mb@099ee = 60</action>
<!-- machine attack -->
<action>maincpu.mb@09b9a = 60</action>
<action>maincpu.mb@0a048 = 60</action>
<action>maincpu.mb@5e1f8 = 60</action>
<!-- firearms -->
<action>maincpu.mb@0aa68 = 60</action>
<action>maincpu.mb@0abbe = 60</action>
<action>maincpu.mb@0acda = 60</action>
<!-- ride on machine -->
<action>maincpu.mb@0bb20 = 60</action>
<action>maincpu.mb@0bc9c = 60</action>
<action>maincpu.mb@0c486 = 60</action>
<action>maincpu.mb@0c60e = 60</action>
<action>maincpu.mb@0c966 = 60</action>
<action>maincpu.mb@0cb08 = 60</action>
<action>maincpu.mb@0d314 = 60</action>
<action>maincpu.mb@0d5e8 = 60</action>
<!-- catch -->
<action>maincpu.mb@218a6 = 60</action>
<action>maincpu.mb@219aa = 60</action>
<action>maincpu.mb@3aa3c = 60</action>
<action>maincpu.mb@7b476 = 60</action>
<action>maincpu.mb@7b51a = 60</action>
<action>maincpu.mb@7b59e = 60</action>
<action>maincpu.mb@7b7ac = 60</action>
<action>maincpu.mb@7c21c = 60</action>
<action>maincpu.mb@7c2c0 = 60</action>
<action>maincpu.mb@7c344 = 60</action>
<action>maincpu.mb@7c552 = 60</action>
<action>maincpu.mb@7ccaa = 60</action>
<action>maincpu.mb@7d652 = 60</action>
<action>maincpu.mb@7cf3c = 60</action>
<action>maincpu.mb@7cd2e = 60</action>
<action>maincpu.mb@7d5ce = 60</action>
<action>maincpu.mb@7d772 = 60</action>
<action>maincpu.mb@7d882 = 60</action>
<action>maincpu.mb@813c4 = 60</action>
<!-- boss -->
<action>maincpu.mb@08586 = 60</action>
<action>maincpu.mb@478be = 60</action>
<action>maincpu.mb@69d28 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@08016 = 67</action>
<action>maincpu.mb@081d8 = 67</action>
<action>maincpu.mb@088b8 = 67</action>
<action>maincpu.mb@08b34 = 67</action>
<action>maincpu.mb@08c2c = 67</action>
<action>maincpu.mb@08f8c = 67</action>
<action>maincpu.mb@09096 = 67</action>
<action>maincpu.mb@09310 = 67</action>
<action>maincpu.mb@095f6 = 67</action>
<action>maincpu.mb@099ee = 67</action>
<action>maincpu.mb@09b9a = 67</action>
<action>maincpu.mb@0a048 = 67</action>
<action>maincpu.mb@5e1f8 = 66</action>
<action>maincpu.mb@0aa68 = 67</action>
<action>maincpu.mb@0abbe = 67</action>
<action>maincpu.mb@0acda = 67</action>
<action>maincpu.mb@0bb20 = 66</action>
<action>maincpu.mb@0bc9c = 67</action>
<action>maincpu.mb@0c486 = 66</action>
<action>maincpu.mb@0c60e = 66</action>
<action>maincpu.mb@0c966 = 67</action>
<action>maincpu.mb@0cb08 = 67</action>
<action>maincpu.mb@0d314 = 66</action>
<action>maincpu.mb@0d5e8 = 66</action>
<action>maincpu.mb@218a6 = 66</action>
<action>maincpu.mb@219aa = 66</action>
<action>maincpu.mb@3aa3c = 66</action>
<action>maincpu.mb@7b476 = 66</action>
<action>maincpu.mb@7b51a = 66</action>
<action>maincpu.mb@7b59e = 66</action>
<action>maincpu.mb@7b7ac = 66</action>
<action>maincpu.mb@7c21c = 66</action>
<action>maincpu.mb@7c2c0 = 66</action>
<action>maincpu.mb@7c344 = 66</action>
<action>maincpu.mb@7c552 = 66</action>
<action>maincpu.mb@7ccaa = 66</action>
<action>maincpu.mb@7cf3c = 66</action>
<action>maincpu.mb@7cd2e = 66</action>
<action>maincpu.mb@7d652 = 66</action>
<action>maincpu.mb@7d5ce = 66</action>
<action>maincpu.mb@7d772 = 66</action>
<action>maincpu.mb@7d882 = 66</action>
<action>maincpu.mb@813c4 = 66</action>
<action>maincpu.mb@08586 = 67</action>
<action>maincpu.mb@478be = 6b</action>
<action>maincpu.mb@69d28 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1129f = 06</action> <!-- normal attack (1st) -->
<action>maincpu.mb@12153 = 06</action> <!-- normal attack (combo) -->
<action>maincpu.mb@15437 = 06</action> <!-- body blow (jennety) -->
<action>maincpu.mb@15663 = 06</action> <!-- body blow (captain) -->
<action>maincpu.mb@1586f = 06</action> <!-- body blow (sho) -->
<action>maincpu.mb@15b7f = 06</action> <!-- body blow (hoover) -->
<action>maincpu.mb@17281 = 06</action> <!-- ride on machine (1st) -->
<action>maincpu.mb@1797d = 06</action> <!-- ride on machine (combo) -->
<action>maincpu.mb@17e09 = 06</action> <!-- stage 4 (1st) -->
<action>maincpu.mb@185c5 = 06</action> <!-- stage 4 (combo) -->
</script>
<script state="off">
<action>maincpu.mb@1129f = 05</action>
<action>maincpu.mb@12153 = 05</action>
<action>maincpu.mb@15437 = 00</action>
<action>maincpu.mb@15663 = 00</action>
<action>maincpu.mb@1586f = 00</action>
<action>maincpu.mb@15b7f = 00</action>
<action>maincpu.mb@17281 = 05</action>
<action>maincpu.mb@1797d = 05</action>
<action>maincpu.mb@17e09 = 05</action>
<action>maincpu.mb@185c5 = 05</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x0001c000">02 </item>
<item value="0x0002c000">03 </item>
<item value="0x0003c000">04 </item>
<item value="0x0004c000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@011666 = 4ef9001400204ef9</action>
<action>maincpu.md@01166e = 0014002a</action>
<action>maincpu.mq@01813e = 4ef9001400384ef9</action>
<action>maincpu.mq@018146 = 001400424ef90014</action>
<action>maincpu.mw@01814e = 004c</action>
<action>maincpu.mq@140020 = 04a8000000000012</action>
<action>maincpu.mq@140028 = 600806a800000000</action>
<action>maincpu.mq@140030 = 00124ef9000115f8</action>
<action>maincpu.mq@140038 = 04a800000000000a</action>
<action>maincpu.mq@140040 = 601204a800000000</action>
<action>maincpu.mq@140048 = 0012600806a80000</action>
<action>maincpu.mq@140050 = 000000124ef90001</action>
<action>maincpu.mq@140058 = 80d2000000000000</action>
<!--
140020 | 04a8 xxxx xxxx 0012 : subi.l #$xxxx,($12,A0) // down
140028 | 6008 : bra $140032
14002a | 06a8 xxxx xxxx 0012 : addi.l #$xxxx,($12,A0) // up
140032 | 4ef9 0001 15f8 : jmp $115f8.l
140038 | 04a8 xxxx xxxx 000a : subi.l #$xxxx,($a,A0) // left in stage 4
140040 | 6012 : bra $140054
140042 | 04a8 xxxx xxxx 0012 : subi.l #$xxxx,($12,A0) // down in stage 4
14004a | 6008 : bra $140054
14004c | 06a8 xxxx xxxx 0012 : addi.l #$xxxx,($12,A0) // up in stage 4
140054 | 4ef9 0001 80d2 : jmp $180d2.l
-->
</script>
<script state="change">
<action>maincpu.md@0115f2 = param</action> <!-- right -->
<action>maincpu.md@01165e = param</action> <!-- left -->
<action>maincpu.md@011674 = param</action> <!-- lower-right : right -->
<action>maincpu.md@01167c = param</action> <!-- lower-right : down -->
<action>maincpu.md@011688 = param</action> <!-- upper-right : right -->
<action>maincpu.md@011690 = param</action> <!-- upper-right : up -->
<action>maincpu.md@01169c = param</action> <!-- lower-left : left -->
<action>maincpu.md@0116a4 = param</action> <!-- lower-left : down -->
<action>maincpu.md@0116b0 = param</action> <!-- upper-left : left -->
<action>maincpu.md@0116b8 = param</action> <!-- upper-left : up -->
<action>maincpu.md@140022 = param</action> <!-- down -->
<action>maincpu.md@14002c = param</action> <!-- up -->
<!-- stage 4 -->
<action>maincpu.md@0180cc = param</action> <!-- right -->
<action>maincpu.md@018152 = param</action> <!-- lower-right : right -->
<action>maincpu.md@01815a = param</action> <!-- lower-right : down -->
<action>maincpu.md@018166 = param</action> <!-- upper-right : right -->
<action>maincpu.md@01816e = param</action> <!-- upper-right : up -->
<action>maincpu.md@01817a = param</action> <!-- lower-left : left -->
<action>maincpu.md@018182 = param</action> <!-- lower-left : down -->
<action>maincpu.md@01818e = param</action> <!-- upper-left : left -->
<action>maincpu.md@018196 = param</action> <!-- upper-left : up -->
<action>maincpu.md@14003a = param</action> <!-- left -->
<action>maincpu.md@140044 = param</action> <!-- down -->
<action>maincpu.md@14004e = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mq@011666 = 53680012608c5268</action>
<action>maincpu.md@01166e = 00126086</action>
<action>maincpu.mq@01813e = 5968000a608e5568</action>
<action>maincpu.mq@018146 = 0012608854680012</action>
<action>maincpu.mw@01814e = 6082</action>
<action>maincpu.mq@140020 = 0000000000000000</action>
<action>maincpu.mq@140028 = 0000000000000000</action>
<action>maincpu.mq@140030 = 0000000000000000</action>
<action>maincpu.mq@140038 = 0000000000000000</action>
<action>maincpu.mq@140040 = 0000000000000000</action>
<action>maincpu.mq@140048 = 0000000000000000</action>
<action>maincpu.mq@140050 = 0000000000000000</action>
<action>maincpu.mq@140058 = 0000000000000000</action>
<action>maincpu.md@0115f2 = 0001c000</action>
<action>maincpu.md@01165e = 0001c000</action>
<action>maincpu.md@011674 = 00014000</action>
<action>maincpu.md@01167c = 0000c000</action>
<action>maincpu.md@011688 = 00014000</action>
<action>maincpu.md@011690 = 0000c000</action>
<action>maincpu.md@01169c = 00014000</action>
<action>maincpu.md@0116a4 = 0000c000</action>
<action>maincpu.md@0116b0 = 00014000</action>
<action>maincpu.md@0116b8 = 0000c000</action>
<action>maincpu.md@0180cc = 0001c000</action>
<action>maincpu.md@018152 = 0001a000</action>
<action>maincpu.md@01815a = 00018000</action>
<action>maincpu.md@018166 = 0001a000</action>
<action>maincpu.md@01816e = 00018000</action>
<action>maincpu.md@01817a = 00038000</action>
<action>maincpu.md@018182 = 00018000</action>
<action>maincpu.md@01818e = 00038000</action>
<action>maincpu.md@018196 = 00018000</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<!-- main action timer -->
<action>maincpu.mq@00306e = 4eb900140000663a</action>
<action>maincpu.mq@140000 = b0fcac946e0c0c68</action>
<action>maincpu.mq@140008 = 0010000666044240</action>
<action>maincpu.mq@140010 = 4e755368002c4e75</action>
<!--
140000 | b0fc ac94 : cmpa.w #$ac94, A0 // is player?
140004 | 6e0c : bgt $140012
140006 | 0c68 0010 0006 : cmpi.w #$10,($6,A0) // is jump attack?
14000c | 6604 : bne $140012
14000e | 4240 : clr.w D0
140010 | 4e75 : rts
140012 | 5368 002c : subq.w #1, ($2c,A0)
140016 | 4e75 : rts
-->
<!-- sub action timer -->
<action>maincpu.mb@120f5 = 02</action>
<action>maincpu.mb@1858b = 02</action> <!-- stage 4 -->
</script>
<script state="off">
<action>maincpu.mq@00306e = 5368002c6600003c</action>
<action>maincpu.mq@140000 = 0000000000000000</action>
<action>maincpu.mq@140008 = 0000000000000000</action>
<action>maincpu.mq@140010 = 0000000000000000</action>
<action>maincpu.mb@0120f5 = 24</action>
<action>maincpu.mb@01858b = 24</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@044e9 = param</action>
<action>maincpu.mb@0452b = param</action>
<action>maincpu.mb@045f9 = param</action>
<action>maincpu.mb@59a61 = param</action>
</script>
<script state="off">
<action>maincpu.mb@044e9 = 3c</action>
<action>maincpu.mb@0452b = 3c</action>
<action>maincpu.mb@045f9 = 3c</action>
<action>maincpu.mb@59a61 = 3c</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@01a8c2 = 4eb9001400604eb8</action>
<action>maincpu.mq@140060 = 41f8890043f90080</action>
<action>maincpu.mq@140068 = 0181120010390080</action>
<action>maincpu.mq@140070 = 0001b20067f40c00</action>
<action>maincpu.mq@140078 = 00fd660253100c00</action>
<action>maincpu.mq@140080 = 00fe660252100c00</action>
<action>maincpu.mq@140088 = 00fb660404100010</action>
<action>maincpu.mq@140090 = 0c0000f766040610</action>
<action>maincpu.mq@140098 = 00100c0000ef6602</action>
<action>maincpu.mq@1400a0 = 12900c0000df6604</action>
<action>maincpu.mq@1400a8 = 12bc00f060bc0000</action>
<!--
140060 | 41f8 8900 : lea $8900.w,A0 // $ff8900 : sound code address
140064 | 43f9 0080 0181 : lea $800181.l,A1 // $800181 : sound latch address
14006a | 1200 : move.b D0,D1
14006c | 1039 0080 0001 : move.b $800001.l,D0 // read input
140072 | b200 : cmp.b D0,D1
140074 | 67f4 : beq $14006a
140076 | 0c00 00fd : cmpi.b #-$3,D0
14007a | 6602 : bne $14007e
14007c | 5310 : subq.b #1,(A0) // decrease code -01
14007e | 0c00 00fe : cmpi.b #-$2,D0
140082 | 6602 : bne $140086
140084 | 5210 : addq.b #1,(A0) // increase code +01
140086 | 0c00 00fb : cmpi.b #-$5,D0
14008a | 6604 : bne $140090
14008c | 0410 0010 : subi.b #$10,(A0) // decrease code -10
140090 | 0c00 00f7 : cmpi.b #-$9,D0
140094 | 6604 : bne $14009a
140096 | 0610 0010 : addi.b #$10,(A0) // increase code +10
14009a | 0c00 00ef : cmpi.b #-$11,D0
14009e | 6602 : bne $1400a2
1400a0 | 1290 : move.b (A0),(A1) // play sound
1400a2 | 0c00 00df : cmpi.b #-$21,D0
1400a6 | 6604 : bne $1400ac
1400a8 | 12bc 00f0 : move.b #$f0,(A1) // stop sound
1400ac | 60bc : bra $14006a
-->
</script>
<script state="run">
<output format="----- captain commando 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 sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@ff8900</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@01a8c2 = 7003d02d788a4eb8</action>
<action>maincpu.mq@140060 = 0000000000000000</action>
<action>maincpu.mq@140068 = 0000000000000000</action>
<action>maincpu.mq@140070 = 0000000000000000</action>
<action>maincpu.mq@140078 = 0000000000000000</action>
<action>maincpu.mq@140080 = 0000000000000000</action>
<action>maincpu.mq@140088 = 0000000000000000</action>
<action>maincpu.mq@140090 = 0000000000000000</action>
<action>maincpu.mq@140098 = 0000000000000000</action>
<action>maincpu.mq@1400a0 = 0000000000000000</action>
<action>maincpu.mq@1400a8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mw@00654 = 012c</action> <!-- ram check -->
<action>maincpu.mw@1a8b8 = 0038</action> <!-- warning message -->
</script>
<script state="off">
<action>maincpu.mw@00654 = 02b2</action>
<action>maincpu.mw@1a8b8 = 0006</action>
</script>
</cheat>