Code: Select all
<!-- Dragon Master (set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<!-- attack -->
<action>maincpu.md@37c86 = 4eb800d0</action>
<action>maincpu.mq@000d0 = b4fc88006706b4fc</action>
<action>maincpu.mq@000d8 = 8c00660470004e75</action>
<action>maincpu.mq@000e0 = 302d8ae64e75ffff</action>
<!--
00d0 | b4fc 8800 : cmpa.w #$8800,A2
00d4 | 6706 : beq $dc
00d6 | b4fc 8c00 : cmpa.w #$8c00,A2
00da | 6604 : bne $e0
00dc | 7000 : moveq #$0,D0
00de | 4e75 : rts
00e0 | 302d 8ae6 : move.w (-$751a,A5),D0
00e4 | 4e75 : rts
-->
<!-- throw -->
<action>maincpu.md@5580 = 4eb800f0</action>
<action>maincpu.mq@00f0 = b6fc88006706b6fc</action>
<action>maincpu.mq@00f8 = 8c00660470014e75</action>
<action>maincpu.mq@0100 = d844bc444e75ffff</action>
<!--
00f0 | b6fc 8800 : cmpa.w #$8800,A3
00f4 | 6706 : beq $fc
00f6 | b6fc 8c00 : cmpa.w #$8c00,A3
00fa | 6604 : bne $100
00fc | 7001 : moveq #$1,D0
00fe | 4e75 : rts
0100 | d844 : add.w D4,D4
0102 | bc44 : cmp.w D4,D6
0104 | 4e75 : rts
-->
<!-- electric attack -->
<action>maincpu.md@29b5a = 4eb80110</action>
<action>maincpu.mq@00110 = b6fc88006706b6fc</action>
<action>maincpu.mq@00118 = 8c00660470014e75</action>
<action>maincpu.mq@00120 = 4a2b01814e75ffff</action>
<!--
0110 | b6fc 8800 : cmpa.w #$8800,A3
0114 | 6706 : beq $11c
0116 | b6fc 8c00 : cmpa.w #$8c00,A3
011a | 6604 : bne $120
011c | 7001 : moveq #$1,D0
011e | 4e75 : rts
0120 | 4a2b 0181 : tst.b ($181,A3)
0124 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.mb@00d2 = 00</action>
<action >maincpu.mb@00d8 = 00</action>
<action condition="param band 01">maincpu.mb@00d2 = 88</action>
<action condition="param band 02">maincpu.mb@00d8 = 8c</action>
<action >maincpu.mb@00f2 = 00</action>
<action >maincpu.mb@00f8 = 00</action>
<action condition="param band 01">maincpu.mb@00f2 = 88</action>
<action condition="param band 02">maincpu.mb@00f8 = 8c</action>
<action >maincpu.mb@0112 = 00</action>
<action >maincpu.mb@0118 = 00</action>
<action condition="param band 01">maincpu.mb@0112 = 88</action>
<action condition="param band 02">maincpu.mb@0118 = 8c</action>
</script>
<script state="off">
<action>maincpu.md@37c86 = 302d8ae6</action>
<action>maincpu.mq@000d0 = ffffffffffffffff</action>
<action>maincpu.mq@000d8 = ffffffffffffffff</action>
<action>maincpu.mq@000e0 = ffffffffffffffff</action>
<action>maincpu.md@05580 = d844bc44</action>
<action>maincpu.mq@000f0 = ffffffffffffffff</action>
<action>maincpu.mq@000f8 = ffffffffffffffff</action>
<action>maincpu.mq@00100 = ffffffffffffffff</action>
<action>maincpu.md@29b5a = 4a2b0181</action>
<action>maincpu.mq@00110 = ffffffffffffffff</action>
<action>maincpu.mq@00118 = ffffffffffffffff</action>
<action>maincpu.mq@00120 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="auto fire">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@5168 = 4eb80130</action>
<action>maincpu.md@517c = 4eb80146</action>
<action>maincpu.md@519a = 4eb80146</action>
<action>maincpu.md@531e = 4eb80130</action>
<action>maincpu.mq@0130 = c06e0292bcfc8800</action>
<action>maincpu.mq@0138 = 6706bcfc8c006604</action>
<action>maincpu.mq@0140 = 302e02924e75302e</action>
<action>maincpu.mq@0148 = 0082bcfc88006706</action>
<action>maincpu.mq@0150 = bcfc8c006604302e</action>
<action>maincpu.mq@0158 = 02924e75ffffffff</action>
<!--
0130 | c06e 0292 : and.w ($292,A6),D0
0134 | bcfc 8800 : cmpa.w #$8800,A6
0138 | 6706 : beq $140
013a | bcfc 8c00 : cmpa.w #$8c00,A6
013e | 6604 : bne $144
0140 | 302e 0292 : move.w ($292,A6),D0
0144 | 4e75 : rts
0146 | 302e 0082 : move.w ($82,A6),D0
014a | bcfc 8800 : cmpa.w #$8800,A6
014e | 6706 : beq $156
0150 | bcfc 8c00 : cmpa.w #$8c00,A6
0154 | 6604 : bne $15a
0156 | 302e 0292 : move.w ($292,A6),D0
015a | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.mb@00136 = 00</action>
<action >maincpu.mb@0013c = 00</action>
<action condition="param band 01">maincpu.mb@00136 = 88</action>
<action condition="param band 02">maincpu.mb@0013c = 8c</action>
<action >maincpu.mb@0014c = 00</action>
<action >maincpu.mb@00152 = 00</action>
<action condition="param band 01">maincpu.mb@0014c = 88</action>
<action condition="param band 02">maincpu.mb@00152 = 8c</action>
</script>
<script state="off">
<action>maincpu.md@5168 = c06e0292</action>
<action>maincpu.md@517c = 302e0082</action>
<action>maincpu.md@519a = 302e0082</action>
<action>maincpu.md@531e = c06e0292</action>
<action>maincpu.mq@0130 = ffffffffffffffff</action>
<action>maincpu.mq@0138 = ffffffffffffffff</action>
<action>maincpu.mq@0140 = ffffffffffffffff</action>
<action>maincpu.mq@0148 = ffffffffffffffff</action>
<action>maincpu.mq@0150 = ffffffffffffffff</action>
<action>maincpu.mq@0158 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="attack speed up">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@4350 = 4eb80160</action>
<action>maincpu.mq@0160 = bcfc88006706bcfc</action>
<action>maincpu.mq@0168 = 8c006622302e0002</action>
<action>maincpu.mq@0170 = 41fa00220c1000ff</action>
<action>maincpu.mq@0178 = 6706b018671060f4</action>
<action>maincpu.mq@0180 = 0c6e000200186506</action>
<action>maincpu.mq@0188 = 3d7c00020018536e</action>
<action>maincpu.mq@0190 = 00184e750002040e</action>
<action>maincpu.mq@0198 = ffffffffffffffff</action>
<!--
0160 | bcfc 8800 : cmpa.w #$8800,A6
0164 | 6706 : beq $16c
0166 | bcfc 8c00 : cmpa.w #$8c00,A6
016a | 6622 : bne $18e
016c | 302e 0002 : move.w ($2,A6),D0
0170 | 41fa 0022 : lea ($22,PC);($194),A0
0174 | 0c10 00ff : cmpi.b #-$1,(A0)
0178 | 6706 : beq $180
017a | b018 : cmp.b (A0)+,D0
017c | 6710 : beq $18e
017e | 60f4 : bra $174
0180 | 0c6e 0002 0018 : cmpi.w #$2,($18,A6)
0186 | 6506 : bcs $18e
0188 | 3d7c 0002 0018 : move.w #$2,($18,A6)
018e | 536e 0018 : subq.w #1,($18,A6)
0192 | 4e75 : rts
0194 - 019f : action status table
-->
</script>
<script state="change">
<action >maincpu.mb@0162 = 00</action>
<action >maincpu.mb@0168 = 00</action>
<action condition="param band 01">maincpu.mb@0162 = 88</action>
<action condition="param band 02">maincpu.mb@0168 = 8c</action>
</script>
<script state="off">
<action>maincpu.md@4350 = 536e0018</action>
<action>maincpu.mq@0160 = ffffffffffffffff</action>
<action>maincpu.mq@0168 = ffffffffffffffff</action>
<action>maincpu.mq@0170 = ffffffffffffffff</action>
<action>maincpu.mq@0178 = ffffffffffffffff</action>
<action>maincpu.mq@0180 = ffffffffffffffff</action>
<action>maincpu.mq@0188 = ffffffffffffffff</action>
<action>maincpu.mq@0190 = ffffffffffffffff</action>
<action>maincpu.mq@0198 = ffffffffffffffff</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@6535 = param</action>
<action>maincpu.mb@6541 = param</action>
<action>maincpu.mb@7cf1 = param</action> <!-- initialize -->
</script>
<script state="off">
<action>maincpu.mb@6535 = 1d</action>
<action>maincpu.mb@6541 = 28</action>
<action>maincpu.mb@7cf1 = 34</action>
</script>
</cheat>
<cheat desc="unlock secret characters">
<comment>move cursor to left at Garcia or right at Deliza</comment>
<script state="on">
<!-- cursor/character conversion table -->
<action>maincpu.mw@97d6 = 01a0</action>
<action>maincpu.mq@01a0 = 000b080402050703</action>
<action>maincpu.mq@01a8 = 0106090a0106090a</action>
<!-- move cursor to right -->
<action>maincpu.mb@13d37 = 0f</action>
<action>maincpu.mb@13d3b = 10</action>
<!-- move cursor to left -->
<action>maincpu.mb@13d4f = 0f</action>
<action>maincpu.mb@13d53 = 10</action>
</script>
<script state="off">
<action>maincpu.mw@097d6 = 95b2</action>
<action>maincpu.mq@001a0 = ffffffffffffffff</action>
<action>maincpu.mq@001a8 = ffffffffffffffff</action>
<action>maincpu.mb@13d37 = 03</action>
<action>maincpu.mb@13d3b = 04</action>
<action>maincpu.mb@13d4f = 03</action>
<action>maincpu.mb@13d53 = 04</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@200c = 4ef80280</action>
<action>maincpu.mq@0280 = 41f8800043f90080</action>
<action>maincpu.mq@0288 = 000112001011b200</action>
<action>maincpu.mq@0290 = 67f80c0000fd6602</action>
<action>maincpu.mq@0298 = 53100c0000fe6602</action>
<action>maincpu.mq@02a0 = 52100c0000fb6604</action>
<action>maincpu.mq@02a8 = 041000100c0000f7</action>
<action>maincpu.mq@02b0 = 6604061000100c00</action>
<action>maincpu.mq@02b8 = 00ef66041610600a</action>
<action>maincpu.mq@02c0 = 0c0000df660c163c</action>
<action>maincpu.mq@02c8 = 00f0422901881343</action>
<action>maincpu.mq@02d0 = 018060b6ffffffff</action>
<!--
0280 | 41f8 8000 : lea $8000.w,A0 // sound code address ($ff8000)
0284 | 43f9 0080 0001 : lea $800001.l,A1 // input address ($800001)
028a | 1200 : move.b D0,D1
028c | 1011 : move.b (A1),D0
028e | b200 : cmp.b D0,D1
0290 | 67f8 : beq $28a
0292 | 0c00 00fd : cmpi.b #-$3,D0
0296 | 6602 : bne $29a
0298 | 5310 : subq.b #1,(A0) // decrease code -01
029a | 0c00 00fe : cmpi.b #-$2,D0
029e | 6602 : bne $2a2
02a0 | 5210 : addq.b #1,(A0) // increase code +01
02a2 | 0c00 00fb : cmpi.b #-$5,D0
02a6 | 6604 : bne $2ac
02a8 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
02ac | 0c00 00f7 : cmpi.b #-$9,D0
02b0 | 6604 : bne $2b6
02b2 | 0610 0010 : addi.b #$10,(A0) // increase code +10
02b6 | 0c00 00ef : cmpi.b #-$11,D0
02ba | 6604 : bne $2c0
02bc | 1610 : move.b (A0),D3 // play sound
02be | 600a : bra $2ca
02c0 | 0c00 00df : cmpi.b #-$21,D0
02c4 | 660c : bne $2d2
02c6 | 163c 00f0 : move.b #$f0,D3 // stop sound
02ca | 4229 0188 : clr.b ($188,A1) // set sound flag ($800189)
02ce | 1343 0180 : move.b D3,($180,A1) // send sound code ($800181)
02d2 | 60b6 : bra $28a
-->
</script>
<script state="run">
<output format="----- dragon master 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@ff8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@200c = 303b0010</action>
<action>maincpu.mq@0280 = ffffffffffffffff</action>
<action>maincpu.mq@0288 = ffffffffffffffff</action>
<action>maincpu.mq@0290 = ffffffffffffffff</action>
<action>maincpu.mq@0298 = ffffffffffffffff</action>
<action>maincpu.mq@02a0 = ffffffffffffffff</action>
<action>maincpu.mq@02a8 = ffffffffffffffff</action>
<action>maincpu.mq@02b0 = ffffffffffffffff</action>
<action>maincpu.mq@02b8 = ffffffffffffffff</action>
<action>maincpu.mq@02c0 = ffffffffffffffff</action>
<action>maincpu.mq@02c8 = ffffffffffffffff</action>
<action>maincpu.mq@02d0 = ffffffffffffffff</action>
</script>
</cheat>
</mamecheat>