salamand.xml
Code: Select all
<!-- Salamander (version D) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@5A0C = 4E75</action> <!-- background -->
<action>maincpu.mw@6F66 = 602A</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mw@5A0C = 117C</action>
<action>maincpu.mw@6F66 = 672A</action>
</script>
</cheat>
<cheat desc="no hit - force field">
<script state="on">
<action>maincpu.mq@070BE = 4EB90001F6606518</action>
<action>maincpu.mq@1F660 = B1FC00080E606C08</action>
<action>maincpu.mq@1F668 = 9C41DC45B6464E75</action>
<action>maincpu.mq@1F670 = 44FC00014E75FFFF</action>
<!--
1F660 | B1FC 0008 0E60 : cmpa.l #$80e60, A0
1F666 | 6C08 : bge $1f670
1F668 | 9C41 : sub.w D1, D6
1F66A | DC45 : add.w D5, D6
1F66C | B646 : cmp.w D6, D3
1F66E | 4E75 : rts
1F670 | 44FC 0001 : move #$1, CCR
1F674 | 4E75 : rts
-->
<action>maincpu.mb@71D0 = 60</action>
</script>
<script state="off">
<action>maincpu.mq@070BE = 9C41DC45B6466518</action>
<action>maincpu.mq@1F660 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F668 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F670 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@071D0 = 67 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1751D = 01</action>
</script>
<script state="off">
<action>maincpu.mb@1751D = 04</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="on">
<action>maincpu.mw@5A86 = 3E3C</action> <!-- player -->
<action>maincpu.mw@6B68 = 3E3C</action> <!-- multiples -->
</script>
<script state="change">
<action>maincpu.mw@5A88 = param</action>
<action>maincpu.mw@6B6A = param</action>
</script>
<script state="off">
<action>maincpu.md@5A86 = 3E28000E</action>
<action>maincpu.md@6B68 = 3E28000E</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@006FC = 0001F680 </action>
<action>maincpu.mq@1F680 = 41F9000800004239</action>
<action>maincpu.mq@1F688 = 000C000512001039</action>
<action>maincpu.mq@1F690 = 000C2003B20067EE</action>
<action>maincpu.mq@1F698 = 0C00000166025310</action>
<action>maincpu.mq@1F6A0 = 0C00000266025210</action>
<action>maincpu.mq@1F6A8 = 0C00000866040410</action>
<action>maincpu.mq@1F6B0 = 00100C0000046604</action>
<action>maincpu.mq@1F6B8 = 061000100C000010</action>
<action>maincpu.mq@1F6C0 = 6604141060080C00</action>
<action>maincpu.mq@1F6C8 = 0020660C420213C2</action>
<action>maincpu.mq@1F6D0 = 000C00014EB84004</action>
<action>maincpu.mq@1F6D8 = 60ACFFFFFFFFFFFF</action>
<!--
1F680 | 41F9 0008 0000 : lea $80000.l, A0 // sound code address
1F686 | 4239 000C 0005 : clr.b $c0005.l // watchdog
1F68C | 1200 : move.b D0, D1
1F68E | 1039 000C 2003 : move.b $c2003.l, D0 // read input
1F694 | B200 : cmp.b D0, D1
1F696 | 67EE : beq $1f686
1F698 | 0C00 0001 : cmpi.b #$1, D0
1F69C | 6602 : bne $1f6a0
1F69E | 5310 : subq.b #1, (A0) // decrease code -01
1F6A0 | 0C00 0002 : cmpi.b #$2, D0
1F6A4 | 6602 : bne $1f6a8
1F6A6 | 5210 : addq.b #1, (A0) // increase code +01
1F6A8 | 0C00 0008 : cmpi.b #$8, D0
1F6AC | 6604 : bne $1f6b2
1F6AE | 0410 0010 : subi.b #$10, (A0) // decreaes code -10
1F6B2 | 0C00 0004 : cmpi.b #$4, D0
1F6B6 | 6604 : bne $1f6bc
1F6B8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F6BC | 0C00 0010 : cmpi.b #$10, D0
1F6C0 | 6604 : bne $1f6c6
1F6C2 | 1410 : move.b (A0), D2 // play sound
1F6C4 | 6008 : bra $1f6ce
1F6C6 | 0C00 0020 : cmpi.b #$20, D0
1F6CA | 660C : bne $1f6d8
1F6CC | 4202 : clr.b D2 // stop sound
1F6CE | 13C2 000C 0001 : move.b D2, $c0001.l
1F6D4 | 4EB8 4004 : jsr $4004.w // audiocpu IRQ trigger
1F6D8 | 60AC : bra $1f686
-->
</script>
<script state="run">
<output format="----- salamander 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@80000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@006FC = 0000335E </action>
<action>maincpu.mq@1F680 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F688 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F690 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F698 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@062A = 062C</action>
</script>
<script state="off">
<action>maincpu.mw@062A = 0AC0</action>
</script>
</cheat>
</mamecheat>
salamandj.xml
Code: Select all
<!-- Salamander (version J) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@5A46 = 4E75</action> <!-- background -->
<action>maincpu.mw@6FA0 = 602A</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mw@5A46 = 117C</action>
<action>maincpu.mw@6FA0 = 672A</action>
</script>
</cheat>
<cheat desc="no hit - force field">
<script state="on">
<action>maincpu.mq@070F8 = 4EB90001F6906518</action>
<action>maincpu.mq@1F690 = B1FC00080E606C08</action>
<action>maincpu.mq@1F698 = 9C41DC45B6464E75</action>
<action>maincpu.mq@1F6A0 = 44FC00014E75FFFF</action>
<!--
1F690 | B1FC 0008 0E60 : cmpa.l #$80e60, A0
1F696 | 6C08 : bge $1f6a0
1F698 | 9C41 : sub.w D1, D6
1F69A | DC45 : add.w D5, D6
1F69C | B646 : cmp.w D6, D3
1F69E | 4E75 : rts
1F6A0 | 44FC 0001 : move #$1, CCR
1F6A4 | 4E75 : rts
-->
<action>maincpu.mb@720A = 60</action>
</script>
<script state="off">
<action>maincpu.mq@070F8 = 9C41DC45B6466518</action>
<action>maincpu.mq@1F690 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F698 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@0720A = 67 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@17557 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@17557 = 04</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0200">02 </item>
<item value="0x0400">03 </item>
<item value="0x0600">04 </item>
<item value="0x0800">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@5AC0 = 3E3C</action> <!-- player -->
<action>maincpu.mw@6BA2 = 3E3C</action> <!-- multiples -->
</script>
<script state="change">
<action>maincpu.mw@5AC2 = param</action>
<action>maincpu.mw@6BA4 = param</action>
</script>
<script state="off">
<action>maincpu.md@5AC0 = 3E28000E</action>
<action>maincpu.md@6BA2 = 3E28000E</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@006FC = 0001F6B0 </action>
<action>maincpu.mq@1F6B0 = 41F9000800004239</action>
<action>maincpu.mq@1F6B8 = 000C000512001039</action>
<action>maincpu.mq@1F6C0 = 000C2003B20067EE</action>
<action>maincpu.mq@1F6C8 = 0C00000166025310</action>
<action>maincpu.mq@1F6D0 = 0C00000266025210</action>
<action>maincpu.mq@1F6D8 = 0C00000866040410</action>
<action>maincpu.mq@1F6E0 = 00100C0000046604</action>
<action>maincpu.mq@1F6E8 = 061000100C000010</action>
<action>maincpu.mq@1F6F0 = 6604141060080C00</action>
<action>maincpu.mq@1F6F8 = 0020660C420213C2</action>
<action>maincpu.mq@1F700 = 000C00014EB8403E</action>
<action>maincpu.mq@1F708 = 60ACFFFFFFFFFFFF</action>
<!--
1F6B0 | 41F9 0008 0000 : lea $80000.l, A0 // sound code address
1F6B6 | 4239 000C 0005 : clr.b $c0005.l // watchdog
1F6BC | 1200 : move.b D0, D1
1F6BE | 1039 000C 2003 : move.b $c2003.l, D0 // read input
1F6C4 | B200 : cmp.b D0, D1
1F6C6 | 67EE : beq $1f6b6
1F6C8 | 0C00 0001 : cmpi.b #$1, D0
1F6CC | 6602 : bne $1f6d0
1F6CE | 5310 : subq.b #1, (A0) // decrease code -01
1F6D0 | 0C00 0002 : cmpi.b #$2, D0
1F6D4 | 6602 : bne $1f6d8
1F6D6 | 5210 : addq.b #1, (A0) // increase code +01
1F6D8 | 0C00 0008 : cmpi.b #$8, D0
1F6DC | 6604 : bne $1f6e2
1F6DE | 0410 0010 : subi.b #$10, (A0) // decreaes code -10
1F6E2 | 0C00 0004 : cmpi.b #$4, D0
1F6E6 | 6604 : bne $1f6ec
1F6E8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F6EC | 0C00 0010 : cmpi.b #$10, D0
1F6F0 | 6604 : bne $1f6f6
1F6F2 | 1410 : move.b (A0), D2 // play sound
1F6F4 | 6008 : bra $1f6fe
1F6F6 | 0C00 0020 : cmpi.b #$20, D0
1F6FA | 660C : bne $1f708
1F6FC | 4202 : clr.b D2 // stop sound
1F6FE | 13C2 000C 0001 : move.b D2, $c0001.l
1F704 | 4EB8 403E : jsr $403e.w // audiocpu IRQ trigger
1F708 | 60AC : bra $1f6b6
-->
</script>
<script state="run">
<output format="----- salamander 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@80000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@006FC = 00003398 </action>
<action>maincpu.mq@1F6B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F700 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F708 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@062A = 062C</action>
</script>
<script state="off">
<action>maincpu.mw@062A = 0AC0</action>
</script>
</cheat>
</mamecheat>
lifefrce.xml
Code: Select all
<!-- Lifeforce (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@5862 = 4E75</action> <!-- background -->
<action>maincpu.mw@6DA6 = 602A</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mw@5862 = 117C</action>
<action>maincpu.mw@6DA6 = 672A</action>
</script>
</cheat>
<cheat desc="no hit - force field">
<script state="on">
<action>maincpu.mq@06EFE = 4EB90001F6F06518</action>
<action>maincpu.mq@1F6F0 = B1FC00080E606C08</action>
<action>maincpu.mq@1F6F8 = 9C41DC45B6464E75</action>
<action>maincpu.mq@1F700 = 44FC00014E75FFFF</action>
<!--
1F6F0 | B1FC 0008 0E60 : cmpa.l #$80e60, A0
1F6F6 | 6C08 : bge $1f700
1F6F8 | 9C41 : sub.w D1, D6
1F6FA | DC45 : add.w D5, D6
1F6FC | B646 : cmp.w D6, D3
1F6FE | 4E75 : rts
1F700 | 44FC 0001 : move #$1, CCR
1F704 | 4E75 : rts
-->
<action>maincpu.mb@7010 = 60</action>
</script>
<script state="off">
<action>maincpu.mq@06EFE = 9C41DC45B6466518</action>
<action>maincpu.mq@1F6F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F700 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@07010 = 67 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@172A7 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@172A7 = 04</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="on">
<action>maincpu.mw@58DC = 3E3C</action> <!-- player -->
<action>maincpu.mw@69A8 = 3E3C</action> <!-- multiples -->
</script>
<script state="change">
<action>maincpu.mw@58DE = param</action>
<action>maincpu.mw@69AA = param</action>
</script>
<script state="off">
<action>maincpu.md@58DC = 3E28000E</action>
<action>maincpu.md@69A8 = 3E28000E</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@005FC = 0001F710 </action>
<action>maincpu.mq@1F710 = 41F9000800004239</action>
<action>maincpu.mq@1F718 = 000C000512001039</action>
<action>maincpu.mq@1F720 = 000C2003B20067EE</action>
<action>maincpu.mq@1F728 = 0C00000166025310</action>
<action>maincpu.mq@1F730 = 0C00000266025210</action>
<action>maincpu.mq@1F738 = 0C00000866040410</action>
<action>maincpu.mq@1F740 = 00100C0000046604</action>
<action>maincpu.mq@1F748 = 061000100C000010</action>
<action>maincpu.mq@1F750 = 6604141060080C00</action>
<action>maincpu.mq@1F758 = 0020660C420213C2</action>
<action>maincpu.mq@1F760 = 000C00014EB83D6C</action>
<action>maincpu.mq@1F768 = 60ACFFFFFFFFFFFF</action>
<!--
1F710 | 41F9 0008 0000 : lea $80000.l, A0 // sound code address
1F716 | 4239 000C 0005 : clr.b $c0005.l // watchdog
1F71C | 1200 : move.b D0, D1
1F71E | 1039 000C 2003 : move.b $c2003.l, D0 // read input
1F724 | B200 : cmp.b D0, D1
1F726 | 67EE : beq $1f716
1F728 | 0C00 0001 : cmpi.b #$1, D0
1F72C | 6602 : bne $1f730
1F72E | 5310 : subq.b #1, (A0) // decrease code -01
1F730 | 0C00 0002 : cmpi.b #$2, D0
1F734 | 6602 : bne $1f738
1F736 | 5210 : addq.b #1, (A0) // increase code +01
1F738 | 0C00 0008 : cmpi.b #$8, D0
1F73C | 6604 : bne $1f742
1F73E | 0410 0010 : subi.b #$10, (A0) // decreaes code -10
1F742 | 0C00 0004 : cmpi.b #$4, D0
1F746 | 6604 : bne $1f74c
1F748 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F74C | 0C00 0010 : cmpi.b #$10, D0
1F750 | 6604 : bne $1f756
1F752 | 1410 : move.b (A0), D2 // play sound
1F754 | 6008 : bra $1f75e
1F756 | 0C00 0020 : cmpi.b #$20, D0
1F75A | 660C : bne $1f768
1F75C | 4202 : clr.b D2 // stop sound
1F75E | 13C2 000C 0001 : move.b D2, $c0001.l
1F764 | 4EB8 3D6C : jsr $3d6c.w // audiocpu IRQ trigger
1F768 | 60AC : bra $1f716
-->
</script>
<script state="run">
<output format="----- salamander 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@80000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@006FC = 0000335C </action>
<action>maincpu.mq@1F710 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F718 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F720 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F728 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F730 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F738 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F740 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F748 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F750 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F758 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F760 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F768 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@052A = 052C</action>
</script>
<script state="off">
<action>maincpu.mw@052A = 09C0</action>
</script>
</cheat>
</mamecheat>
lifefrcej.xml
Code: Select all
<!-- Lifeforce (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@60BE = 4E75</action> <!-- background -->
<action>maincpu.mw@735E = 602A</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mw@60BE = 117C</action>
<action>maincpu.mw@735E = 672A</action>
</script>
</cheat>
<cheat desc="no hit - force field">
<script state="on">
<action>maincpu.mq@074B6 = 4EB90001F6E06518</action>
<action>maincpu.mq@1F6E0 = B1FC00080E606C08</action>
<action>maincpu.mq@1F6E8 = 9C41DC45B6464E75</action>
<action>maincpu.mq@1F6F0 = 44FC00014E75FFFF</action>
<!--
1F6E0 | B1FC 0008 0E60 : cmpa.l #$80e60, A0
1F6E6 | 6C08 : bge $1f6f0
1F6E8 | 9C41 : sub.w D1, D6
1F6EA | DC45 : add.w D5, D6
1F6EC | B646 : cmp.w D6, D3
1F6EE | 4E75 : rts
1F6F0 | 44FC 0001 : move #$1, CCR
1F6F4 | 4E75 : rts
-->
<action>maincpu.mb@75C8 = 60</action>
</script>
<script state="off">
<action>maincpu.mq@074B6 = 9C41DC45B6466518</action>
<action>maincpu.mq@1F6E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F6F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@075C8 = 67 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@17BE9 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@17BE9 = 04</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="on">
<action>maincpu.mw@6138 = 3E3C</action> <!-- player -->
<action>maincpu.mw@6F60 = 3E3C</action> <!-- multiples -->
</script>
<script state="change">
<action>maincpu.mw@613A = param</action>
<action>maincpu.mw@6F62 = param</action>
</script>
<script state="off">
<action>maincpu.md@6138 = 3E28000E</action>
<action>maincpu.md@6F60 = 3E28000E</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@007FC = 0001F700 </action>
<action>maincpu.mq@1F700 = 41F9000800004239</action>
<action>maincpu.mq@1F708 = 000C000512001039</action>
<action>maincpu.mq@1F710 = 000C2003B20067EE</action>
<action>maincpu.mq@1F718 = 0C00000166025310</action>
<action>maincpu.mq@1F720 = 0C00000266025210</action>
<action>maincpu.mq@1F728 = 0C00000866040410</action>
<action>maincpu.mq@1F730 = 00100C0000046604</action>
<action>maincpu.mq@1F738 = 061000100C000010</action>
<action>maincpu.mq@1F740 = 6604141060080C00</action>
<action>maincpu.mq@1F748 = 0020660C420213C2</action>
<action>maincpu.mq@1F750 = 000C00014EB842CA</action>
<action>maincpu.mq@1F758 = 60ACFFFFFFFFFFFF</action>
<!--
1F700 | 41F9 0008 0000 : lea $80000.l, A0 // sound code address
1F706 | 4239 000C 0005 : clr.b $c0005.l // watchdog
1F70C | 1200 : move.b D0, D1
1F70E | 1039 000C 2003 : move.b $c2003.l, D0 // read input
1F714 | B200 : cmp.b D0, D1
1F716 | 67EE : beq $1f706
1F718 | 0C00 0001 : cmpi.b #$1, D0
1F71C | 6602 : bne $1f720
1F71E | 5310 : subq.b #1, (A0) // decrease code -01
1F720 | 0C00 0002 : cmpi.b #$2, D0
1F724 | 6602 : bne $1f728
1F726 | 5210 : addq.b #1, (A0) // increase code +01
1F728 | 0C00 0008 : cmpi.b #$8, D0
1F72C | 6604 : bne $1f732
1F72E | 0410 0010 : subi.b #$10, (A0) // decreaes code -10
1F732 | 0C00 0004 : cmpi.b #$4, D0
1F736 | 6604 : bne $1f73c
1F738 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F73C | 0C00 0010 : cmpi.b #$10, D0
1F740 | 6604 : bne $1f746
1F742 | 1410 : move.b (A0), D2 // play sound
1F744 | 6008 : bra $1f74e
1F746 | 0C00 0020 : cmpi.b #$20, D0
1F74A | 660C : bne $1f758
1F74C | 4202 : clr.b D2 // stop sound
1F74E | 13C2 000C 0001 : move.b D2, $c0001.l
1F754 | 4EB8 42CA : jsr $42ca.w // audiocpu IRQ trigger
1F758 | 60AC : bra $1f706
-->
</script>
<script state="run">
<output format="----- salamander 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@80000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@007FC = 00003898 </action>
<action>maincpu.mq@1F700 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F708 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F710 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F718 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F720 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F728 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F730 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F738 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F740 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F748 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F750 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F758 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@072A = 072C</action>
</script>
<script state="off">
<action>maincpu.mw@072A = 0C1E</action>
</script>
</cheat>
</mamecheat>