Code: Select all
<!-- Plus Alpha -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@13b8a = 42b9</action> <!-- enemy (clr.l $f4736) -->
<action>maincpu.mw@13b90 = 42b9</action> <!-- bullet (clr.l $f4876) -->
</script>
<script state="off">
<action>maincpu.mw@13b8a = 2039</action>
<action>maincpu.mw@13b90 = 80b9</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@14761 = 02</action>
</script>
<script state="off">
<action>maincpu.mb@14761 = 06</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00030000">03 </item>
<item value="0x00048000">04 </item>
<item value="0x00060000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@14618 = 4eb90003cb004e71</action>
<action>maincpu.mq@3cb00 = 243c000000002034</action>
<action>maincpu.mq@3cb08 = 100067066a024482</action>
<action>maincpu.mq@3cb10 = 2002243c00000000</action>
<action>maincpu.mq@3cb18 = 2234100467066a02</action>
<action>maincpu.mq@3cb20 = 448222024e75ffff</action>
<!--
3cb00 | 243c xxxx xxxx : move.l #$xxxx,D2
3cb06 | 2034 1000 : move.l (A4,D1.w),D0
3cb0a | 6706 : beq $3cb12
3cb0c | 6a02 : bpl $3cb10
3cb0e | 4482 : neg.l D2
3cb10 | 2002 : move.l D2,D0
3cb12 | 243c xxxx xxxx : move.l #$xxxx, D2
3cb18 | 2234 1004 : move.l ($4,A4,D1.w),D1
3cb1c | 6706 : beq $3cb24
3cb1e | 6a02 : bpl $3cb22
3cb20 | 4482 : neg.l D2
3cb22 | 2202 : move.l D2,D1
3cb24 | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@3cb02 = param</action>
<action>maincpu.md@3cb14 = param</action>
</script>
<script state="off">
<action>maincpu.mq@14618 = 2034100022341004</action>
<action>maincpu.mq@3CB00 = ffffffffffffffff</action>
<action>maincpu.mq@3CB08 = ffffffffffffffff</action>
<action>maincpu.mq@3CB10 = ffffffffffffffff</action>
<action>maincpu.mq@3CB18 = ffffffffffffffff</action>
<action>maincpu.mq@3CB20 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed (test)">
<parameter>
<item value="0x00">01 (normal)</item>
<item value="0x01">02 </item>
<item value="0x02">03 </item>
<item value="0x03">04 </item>
<item value="0x04">05 (fast) </item>
</parameter>
<script state="on">
<action>maincpu.mq@1479c = 7e004eb90003cb80</action>
<action>maincpu.mq@3cb80 = 4eb900014f9a4eb9</action>
<action>maincpu.mq@3cb88 = 0001500051cffff2</action>
<action>maincpu.mq@3cb90 = 4e75ffffffffffff</action>
<!--
1479c | 7exx : moveq #$xx,D7
1479e | 4eb9 0003 cb80 : jsr $3cb80.l
========================================
3cb80 | 4eb9 0001 4f9a : jsr $14f9a.l
3cb86 | 4eb9 0001 5000 : jsr $15000.l
3cb8c | 51cf fff2 : dbra D7,$3cb80
3cb90 | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@1479d = param</action>
</script>
<script state="off">
<action>maincpu.mq@1479c = 610007fc6100085e</action>
<action>maincpu.mq@3cb80 = ffffffffffffffff</action>
<action>maincpu.mq@3cb88 = ffffffffffffffff</action>
<action>maincpu.mq@3cb90 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="hidden item finder">
<script state="on">
<action>maincpu.mq@2bc52 = 586800086048357c</action>
<!--
2bc52 | 5868 0008 : addq.w #4,($8,A0)
2bc56 | 6048 : bra $2bca0
-->
</script>
<script state="off">
<action>maincpu.mq@2bc52 = 357c01a00002357c</action>
</script>
</cheat>
<cheat desc="hidden bomb finder">
<script state="on">
<action>maincpu.mb@2bd6f = 02</action>
<action>maincpu.mb@2bd7d = 02</action>
</script>
<script state="off">
<action>maincpu.mb@2bd6f = 90</action>
<action>maincpu.mb@2bd7d = 2c</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop some sfxs/voices by sound stop button. code 0x2e breaks sound -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@01354 = 4ef90003cb304e40</action>
<action>maincpu.mq@3cb30 = 41f9000f000043f9</action>
<action>maincpu.mq@3cb38 = 0008430812001039</action>
<action>maincpu.mq@3cb40 = 00080003b20067f4</action>
<action>maincpu.mq@3cb48 = 0c0000fd66025350</action>
<action>maincpu.mq@3cb50 = 0c0000fe66025250</action>
<action>maincpu.mq@3cb58 = 0c0000fb66040450</action>
<action>maincpu.mq@3cb60 = 00100c0000f76604</action>
<action>maincpu.mq@3cb68 = 065000100c0000ef</action>
<action>maincpu.mq@3cb70 = 660232900c0000df</action>
<action>maincpu.mq@3cb78 = 6602425160beffff</action>
<!--
3cb30 | 41f9 000f 0000 : lea $f0000.l,A0 // sound code address
3cb36 | 43f9 0008 4308 : lea $84308.l,A1 // sound latch address
3cb3c | 1200 : move.b D0,D1
3cb3e | 1039 0008 0003 : move.b $80003.l,D0 // read input
3cb44 | b200 : cmp.b D0,D1
3cb46 | 67f4 : beq $3cb3c
3cb48 | 0c00 00fd : cmpi.b #-$3,D0
3cb4c | 6602 : bne $3cb50
3cb4e | 5350 : subq.w #1,(A0) // decrease code -01
3cb50 | 0c00 00fe : cmpi.b #-$2,D0
3cb54 | 6602 : bne $3cb58
3cb56 | 5250 : addq.w #1,(A0) // increase code +01
3cb58 | 0c00 00fb : cmpi.b #-$5,D0
3cb5c | 6604 : bne $3cb62
3cb5e | 0450 0010 : subi.w #$10,(A0) // decrease code -10
3cb62 | 0c00 00f7 : cmpi.b #-$9,D0
3cb66 | 6604 : bne $3cb6c
3cb68 | 0650 0010 : addi.w #$10,(A0) // increase code +10
3cb6c | 0c00 00ef : cmpi.b #-$11,D0
3cb70 | 6602 : bne $3cb74
3cb72 | 3290 : move.w (A0),(A1) // play sound
3cb74 | 0c00 00df : cmpi.b #-$21,D0
3cb78 | 6602 : bne $3cb7c
3cb7a | 4251 : clr.w (A1) // stop sound
3cb7c | 60be : bra $3cb3c
-->
</script>
<script state="run">
<output format="----- plus alpha 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 %4.4X >>" line="19" align="center" >
<argument>maincpu.pw@f0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@01354 = 41f9000012d64e40</action>
<action>maincpu.mq@3cb30 = ffffffffffffffff</action>
<action>maincpu.mq@3cb38 = ffffffffffffffff</action>
<action>maincpu.mq@3cb40 = ffffffffffffffff</action>
<action>maincpu.mq@3cb48 = ffffffffffffffff</action>
<action>maincpu.mq@3cb50 = ffffffffffffffff</action>
<action>maincpu.mq@3cb58 = ffffffffffffffff</action>
<action>maincpu.mq@3cb60 = ffffffffffffffff</action>
<action>maincpu.mq@3cb68 = ffffffffffffffff</action>
<action>maincpu.mq@3cb70 = ffffffffffffffff</action>
<action>maincpu.mq@3cb78 = ffffffffffffffff</action>
</script>
</cheat>
</mamecheat>
- "bullet speed" : test code. Speed regulation for bullet is difficult.
- "sound test mode" : you can't stop some sfxs/voices by sound stop button. Code 0x2e breaks sound.