lgtnfght.xml
Code: Select all
<!-- Lightning Fighters (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@18CDE = 60</action> <!-- enemy -->
<action>maincpu.mb@18D7E = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@18CDE = 64</action>
<action>maincpu.mb@18D7E = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@16CED = 02</action>
<action>maincpu.mb@16CF5 = 02</action>
<action>maincpu.mb@16D50 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@16CED = 12</action>
<action>maincpu.mb@16CF5 = 0A</action>
<action>maincpu.mb@16D50 = 66</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x000a8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@16B68 = 4EB9000281600804</action> <!-- x position -->
<action>maincpu.mq@16BB6 = 4EB9000281680804</action> <!-- y position -->
<action>maincpu.mq@28160 = 610E202E00084E75</action>
<action>maincpu.mq@28168 = 6106202E000C4E75</action>
<action>maincpu.mq@28170 = 223C000000002819</action>
<action>maincpu.mq@28178 = 67066A0244812801</action>
<action>maincpu.mq@28180 = 4E75FFFFFFFFFFFF</action>
<!--
28160 | 610E : bsr $28170 // x position
28162 | 202E 0008 : move.l ($8,A6),D0
28166 | 4E75 : rts
28168 | 6106 : bsr $28170 // y position
2816A | 202E 000C : move.l ($c,A6),D0
2816E | 4E75 : rts
28170 | 223C xxxx xxxx : move.l #$xxxx,D1
28176 | 2819 : move.l (A1)+,D4
28178 | 6706 : beq $28180
2817A | 6A02 : bpl $2817e
2817C | 4481 : neg.l D1
2817E | 2801 : move.l D1,D4
28180 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@28172 = param</action>
</script>
<script state="off">
<action>maincpu.mq@16B68 = 2819202E00080804</action>
<action>maincpu.mq@16BB6 = 2811202E000C0804</action>
<action>maincpu.mq@28160 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28168 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28170 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28178 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28180 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00028000">01 (slow)</item>
<item value="0x00068000">02 </item>
<item value="0x000a8000">03 </item>
<item value="0x000e8000">04 </item>
<item value="0x00128000">05 (fast)</item>
</parameter>
<script state="on">
<!-- "V" -->
<action>maincpu.mq@16D9C = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
<action>maincpu.mq@16DAA = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
<!-- "S" -->
<action>maincpu.mq@16E5E = 4EB900028190301D</action>
<action>maincpu.mq@28190 = 588D257C00000000</action>
<action>maincpu.mq@28198 = 007C4E75FFFFFFFF</action>
<!--
28190 | 588D : addq.l #4,A5
28192 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
2819A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@16D9E = -param</action>
<action>maincpu.md@28194 = -param</action>
</script>
<script state="off">
<action>maincpu.mq@16D9C = 10290007488042AA</action>
<action>maincpu.mq@16DAA = 3540007C53290004</action>
<action>maincpu.mq@16E5E = 201D2540007C301D</action>
<action>maincpu.mq@28190 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28198 = FFFFFFFFFFFFFFFF</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@01666 = 000281A0 </action>
<action>maincpu.mq@281A0 = 41F9000901001200</action>
<action>maincpu.mq@281A8 = 1039000A0003B200</action>
<action>maincpu.mq@281B0 = 67F40C0000FE6602</action>
<action>maincpu.mq@281B8 = 53100C0000FD6602</action>
<action>maincpu.mq@281C0 = 52100C0000F76604</action>
<action>maincpu.mq@281C8 = 041000100C0000FB</action>
<action>maincpu.mq@281D0 = 6604061000100C00</action>
<action>maincpu.mq@281D8 = 00EF66041E106008</action>
<action>maincpu.mq@281E0 = 0C0000DF66064207</action>
<action>maincpu.mq@281E8 = 4EB8696E60B8FFFF</action>
<!--
281A0 | 41F9 0009 0100 : lea $90100.l,A0 // sound code address
281A6 | 1200 : move.b D0,D1
281A8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
281AE | B200 : cmp.b D0,D1
281B0 | 67F4 : beq $281a6
281B2 | 0C00 00FE : cmpi.b #-$2,D0
281B6 | 6602 : bne $281ba
281B8 | 5310 : subq.b #1,(A0) // decrease code -01
281BA | 0C00 00FD : cmpi.b #-$3,D0
281BE | 6602 : bne $281c2
281C0 | 5210 : addq.b #1,(A0) // increase code +01
281C2 | 0C00 00F7 : cmpi.b #-$9,D0
281C6 | 6604 : bne $281cc
281C8 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
281CC | 0C00 00FB : cmpi.b #-$5,D0
281D0 | 6604 : bne $281d6
281D2 | 0610 0010 : addi.b #$10,(A0) // increase code +10
281D6 | 0C00 00EF : cmpi.b #-$11,D0
281DA | 6604 : bne $281e0
281DC | 1E10 : move.b (A0),D7 // play sound
281DE | 6008 : bra $281e8
281E0 | 0C00 00DF : cmpi.b #-$21,D0
281E4 | 6606 : bne $281ec
281E6 | 4207 : clr.b D7 // stop sound
281E8 | 4EB8 696e : jsr $696e.w // send sound code
281EC | 60B8 : bra $281a6
-->
</script>
<script state="run">
<output format="----- lightning fighters 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@90100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01666 = 0001E788 </action>
<action>maincpu.mq@281A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@281E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@1128 = 112A</action>
</script>
<script state="off">
<action>maincpu.mw@1128 = 16F2</action>
</script>
</cheat>
</mamecheat>
lgtnfghta.xml
Code: Select all
<!-- Lightning Fighters (Asia) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@19220 = 60</action> <!-- enemy -->
<action>maincpu.mb@192C0 = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@19220 = 64</action>
<action>maincpu.mb@192C0 = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1722F = 02</action>
<action>maincpu.mb@17237 = 02</action>
<action>maincpu.mb@17292 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@1722F = 12</action>
<action>maincpu.mb@17237 = 0A</action>
<action>maincpu.mb@17292 = 66</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x000a8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@170AA = 4EB9000286A00804</action> <!-- x position -->
<action>maincpu.mq@170F8 = 4EB9000286A80804</action> <!-- y position -->
<action>maincpu.mq@286A0 = 610E202E00084E75</action>
<action>maincpu.mq@286A8 = 6106202E000C4E75</action>
<action>maincpu.mq@286B0 = 223C000000002819</action>
<action>maincpu.mq@286B8 = 67066A0244812801</action>
<action>maincpu.mq@286C0 = 4E75FFFFFFFFFFFF</action>
<!--
286A0 | 610E : bsr $286b0 // x position
286A2 | 202E 0008 : move.l ($8,A6),D0
286A6 | 4E75 : rts
286A8 | 6106 : bsr $286b0 // y position
286AA | 202E 000C : move.l ($c,A6),D0
286AE | 4E75 : rts
286B0 | 223C xxxx xxxx : move.l #$xxxx,D1
286B6 | 2819 : move.l (A1)+,D4
286B8 | 6706 : beq $286c0
286BA | 6A02 : bpl $286be
286BC | 4481 : neg.l D1
286BE | 2801 : move.l D1,D4
286C0 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@286B2 = param</action>
</script>
<script state="off">
<action>maincpu.mq@170AA = 2819202E00080804</action>
<action>maincpu.mq@170F8 = 2811202E000C0804</action>
<action>maincpu.mq@286A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286C0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00028000">01 (slow)</item>
<item value="0x00068000">02 </item>
<item value="0x000a8000">03 </item>
<item value="0x000e8000">04 </item>
<item value="0x00128000">05 (fast)</item>
</parameter>
<script state="on">
<!-- "V" -->
<action>maincpu.mq@172DE = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
<action>maincpu.mq@172EC = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
<!-- "S" -->
<action>maincpu.mq@173A0 = 4EB9000286D0301D</action>
<action>maincpu.mq@286D0 = 588D257C00000000</action>
<action>maincpu.mq@286D8 = 007C4E75FFFFFFFF</action>
<!--
286D0 | 588D : addq.l #4,A5
286D2 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
286DA | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@172E0 = -param</action>
<action>maincpu.md@286D4 = -param</action>
</script>
<script state="off">
<action>maincpu.mq@172DE = 10290007488042AA</action>
<action>maincpu.mq@172EC = 3540007C53290004</action>
<action>maincpu.mq@173A0 = 201D2540007C301D</action>
<action>maincpu.mq@286D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286D8 = FFFFFFFFFFFFFFFF</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@01682 = 000286E0 </action>
<action>maincpu.mq@286E0 = 41F9000901001200</action>
<action>maincpu.mq@286E8 = 1039000A0003B200</action>
<action>maincpu.mq@286F0 = 67F40C0000FE6602</action>
<action>maincpu.mq@286F8 = 53100C0000FD6602</action>
<action>maincpu.mq@28700 = 52100C0000F76604</action>
<action>maincpu.mq@28708 = 041000100C0000FB</action>
<action>maincpu.mq@28710 = 6604061000100C00</action>
<action>maincpu.mq@28718 = 00EF66041E106008</action>
<action>maincpu.mq@28720 = 0C0000DF66064207</action>
<action>maincpu.mq@28728 = 4EB86EA460B8FFFF</action>
<!--
286E0 | 41F9 0009 0100 : lea $90100.l,A0 // sound code address
286E6 | 1200 : move.b D0,D1
286E8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
286EE | B200 : cmp.b D0,D1
286F0 | 67F4 : beq $286e6
286F2 | 0C00 00FE : cmpi.b #-$2,D0
286F6 | 6602 : bne $286fa
286F8 | 5310 : subq.b #1,(A0) // decrease code -01
286FA | 0C00 00FD : cmpi.b #-$3,D0
286FE | 6602 : bne $28702
28700 | 5210 : addq.b #1,(A0) // increase code +01
28702 | 0C00 00F7 : cmpi.b #-$9,D0
28706 | 6604 : bne $2870c
28708 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
2870C | 0C00 00FB : cmpi.b #-$5,D0
28710 | 6604 : bne $28716
28712 | 0610 0010 : addi.b #$10,(A0) // increase code +10
28716 | 0C00 00EF : cmpi.b #-$11,D0
2871A | 6604 : bne $28720
2871C | 1E10 : move.b (A0),D7 // play sound
2871E | 6008 : bra $28728
28720 | 0C00 00DF : cmpi.b #-$21,D0
28724 | 6606 : bne $2872c
28726 | 4207 : clr.b D7 // stop sound
28728 | 4EB8 6ea4 : jsr $6ea4.w // send sound code
2872C | 60B8 : bra $286e6
-->
</script>
<script state="run">
<output format="----- lightning fighters 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@90100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01682 = 0001EC82 </action>
<action>maincpu.mq@286E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@286F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28700 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28708 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28710 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28718 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28720 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28728 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@1128 = 112A</action>
</script>
<script state="off">
<action>maincpu.mw@1128 = 16F2</action>
</script>
</cheat>
</mamecheat>
lgtnfghtu.xml
Code: Select all
<!-- Lightning Fighters (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@18FD4 = 60</action> <!-- enemy -->
<action>maincpu.mb@19074 = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@18FD4 = 64</action>
<action>maincpu.mb@19074 = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@16FE3 = 02</action>
<action>maincpu.mb@16FEB = 02</action>
<action>maincpu.mb@17046 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@16FE3 = 12</action>
<action>maincpu.mb@16FEB = 0A</action>
<action>maincpu.mb@17046 = 66</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x000a8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@16E5E = 4EB9000284600804</action> <!-- x position -->
<action>maincpu.mq@16EAC = 4EB9000284680804</action> <!-- y position -->
<action>maincpu.mq@28460 = 610E202E00084E75</action>
<action>maincpu.mq@28468 = 6106202E000C4E75</action>
<action>maincpu.mq@28470 = 223C000000002819</action>
<action>maincpu.mq@28478 = 67066A0244812801</action>
<action>maincpu.mq@28480 = 4E75FFFFFFFFFFFF</action>
<!--
28460 | 610E : bsr $28470 // x position
28462 | 202E 0008 : move.l ($8,A6),D0
28466 | 4E75 : rts
28468 | 6106 : bsr $28470 // y position
2846A | 202E 000C : move.l ($c,A6),D0
2846E | 4E75 : rts
28470 | 223C xxxx xxxx : move.l #$xxxx,D1
28476 | 2819 : move.l (A1)+,D4
28478 | 6706 : beq $28480
2847A | 6A02 : bpl $2847e
2847C | 4481 : neg.l D1
2847E | 2801 : move.l D1,D4
28480 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@28472 = param</action>
</script>
<script state="off">
<action>maincpu.mq@16E5E = 2819202E00080804</action>
<action>maincpu.mq@16EAC = 2811202E000C0804</action>
<action>maincpu.mq@28460 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28468 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28470 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28478 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28480 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00028000">01 (slow)</item>
<item value="0x00068000">02 </item>
<item value="0x000a8000">03 </item>
<item value="0x000e8000">04 </item>
<item value="0x00128000">05 (fast)</item>
</parameter>
<script state="on">
<!-- "V" -->
<action>maincpu.mq@17092 = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
<action>maincpu.mq@170A0 = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
<!-- "S" -->
<action>maincpu.mq@17154 = 4EB900028490301D</action>
<action>maincpu.mq@28490 = 588D257C00000000</action>
<action>maincpu.mq@28498 = 007C4E75FFFFFFFF</action>
<!--
28490 | 588D : addq.l #4,A5
28492 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
2849A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@17094 = -param</action>
<action>maincpu.md@28494 = -param</action>
</script>
<script state="off">
<action>maincpu.mq@17092 = 10290007488042AA</action>
<action>maincpu.mq@170A0 = 3540007C53290004</action>
<action>maincpu.mq@17154 = 201D2540007C301D</action>
<action>maincpu.mq@28490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28498 = FFFFFFFFFFFFFFFF</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@0167E = 000284A0 </action>
<action>maincpu.mq@284A0 = 41F9000901001200</action>
<action>maincpu.mq@284A8 = 1039000A0003B200</action>
<action>maincpu.mq@284B0 = 67F40C0000FE6602</action>
<action>maincpu.mq@284B8 = 53100C0000FD6602</action>
<action>maincpu.mq@284C0 = 52100C0000F76604</action>
<action>maincpu.mq@284C8 = 041000100C0000FB</action>
<action>maincpu.mq@284D0 = 6604061000100C00</action>
<action>maincpu.mq@284D8 = 00EF66041E106008</action>
<action>maincpu.mq@284E0 = 0C0000DF66064207</action>
<action>maincpu.mq@284E8 = 4EB86C5860B8FFFF</action>
<!--
284A0 | 41F9 0009 0100 : lea $90100.l,A0 // sound code address
284A6 | 1200 : move.b D0,D1
284A8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
284AE | B200 : cmp.b D0,D1
284B0 | 67F4 : beq $284a6
284B2 | 0C00 00FE : cmpi.b #-$2,D0
284B6 | 6602 : bne $284ba
284B8 | 5310 : subq.b #1,(A0) // decrease code -01
284BA | 0C00 00FD : cmpi.b #-$3,D0
284BE | 6602 : bne $284c2
284C0 | 5210 : addq.b #1,(A0) // increase code +01
284C2 | 0C00 00F7 : cmpi.b #-$9,D0
284C6 | 6604 : bne $284cc
284C8 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
284CC | 0C00 00FB : cmpi.b #-$5,D0
284D0 | 6604 : bne $284d6
284D2 | 0610 0010 : addi.b #$10,(A0) // increase code +10
284D6 | 0C00 00EF : cmpi.b #-$11,D0
284DA | 6604 : bne $284e0
284DC | 1E10 : move.b (A0),D7 // play sound
284DE | 6008 : bra $284e8
284E0 | 0C00 00DF : cmpi.b #-$21,D0
284E4 | 6606 : bne $284ec
284E6 | 4207 : clr.b D7 // stop sound
284E8 | 4EB8 6C58 : jsr $6c58.w // send sound code
284EC | 60B8 : bra $284a6
-->
</script>
<script state="run">
<output format="----- lightning fighters 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@90100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0167E = 0001EA42 </action>
<action>maincpu.mq@284A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@284E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@1128 = 112A</action>
</script>
<script state="off">
<action>maincpu.mw@1128 = 16F2</action>
</script>
</cheat>
</mamecheat>
trigon.xml
Code: Select all
<!-- Trigon (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@18F06 = 60</action> <!-- enemy -->
<action>maincpu.mb@18FA6 = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@18F06 = 64</action>
<action>maincpu.mb@18FA6 = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@16F15 = 02</action>
<action>maincpu.mb@16F1D = 02</action>
<action>maincpu.mb@16F78 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@16F15 = 12</action>
<action>maincpu.mb@16F1D = 0A</action>
<action>maincpu.mb@16F78 = 66</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x000a8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@16D90 = 4EB9000283900804</action> <!-- x position -->
<action>maincpu.mq@16DDE = 4EB9000283980804</action> <!-- y position -->
<action>maincpu.mq@28390 = 610E202E00084E75</action>
<action>maincpu.mq@28398 = 6106202E000C4E75</action>
<action>maincpu.mq@283A0 = 223C000000002819</action>
<action>maincpu.mq@283A8 = 67066A0244812801</action>
<action>maincpu.mq@283B0 = 4E75FFFFFFFFFFFF</action>
<!--
28390 | 610E : bsr $283a0 // x position
28392 | 202E 0008 : move.l ($8,A6),D0
28396 | 4E75 : rts
28398 | 6106 : bsr $283a0 // y position
2839A | 202E 000C : move.l ($c,A6),D0
2839E | 4E75 : rts
283A0 | 223C xxxx xxxx : move.l #$xxxx,D1
283A6 | 2819 : move.l (A1)+,D4
283A8 | 6706 : beq $283b0
283AA | 6A02 : bpl $283ae
283AC | 4481 : neg.l D1
283AE | 2801 : move.l D1,D4
283B0 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@283A2 = param</action>
</script>
<script state="off">
<action>maincpu.mq@16D90 = 2819202E00080804</action>
<action>maincpu.mq@16DDE = 2811202E000C0804</action>
<action>maincpu.mq@28390 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28398 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283B0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00028000">01 (slow)</item>
<item value="0x00068000">02 </item>
<item value="0x000a8000">03 </item>
<item value="0x000e8000">04 </item>
<item value="0x00128000">05 (fast)</item>
</parameter>
<script state="on">
<!-- "V" -->
<action>maincpu.mq@16FC4 = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
<action>maincpu.mq@16FD2 = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
<!-- "S" -->
<action>maincpu.mq@17086 = 4EB9000283C0301D</action>
<action>maincpu.mq@283C0 = 588D257C00000000</action>
<action>maincpu.mq@283C8 = 007C4E75FFFFFFFF</action>
<!--
283C0 | 588D : addq.l #4,A5
283C2 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
283CA | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@16FC6 = -param</action>
<action>maincpu.md@283C4 = -param</action>
</script>
<script state="off">
<action>maincpu.mq@16FC4 = 10290007488042AA</action>
<action>maincpu.mq@16FD2 = 3540007C53290004</action>
<action>maincpu.mq@17086 = 201D2540007C301D</action>
<action>maincpu.mq@283C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283C8 = FFFFFFFFFFFFFFFF</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@01682 = 000283D0 </action>
<action>maincpu.mq@283D0 = 41F9000901001200</action>
<action>maincpu.mq@283D8 = 1039000A0003B200</action>
<action>maincpu.mq@283E0 = 67F40C0000FE6602</action>
<action>maincpu.mq@283E8 = 53100C0000FD6602</action>
<action>maincpu.mq@283F0 = 52100C0000F76604</action>
<action>maincpu.mq@283F8 = 041000100C0000FB</action>
<action>maincpu.mq@28400 = 6604061000100C00</action>
<action>maincpu.mq@28408 = 00EF66041E106008</action>
<action>maincpu.mq@28410 = 0C0000DF66064207</action>
<action>maincpu.mq@28418 = 4EB86B9660B8FFFF</action>
<!--
283D0 | 41F9 0009 0100 : lea $90100.l,A0 // sound code address
283D6 | 1200 : move.b D0,D1
283D8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
283DE | B200 : cmp.b D0,D1
283E0 | 67F4 : beq $283d6
283E2 | 0C00 00FE : cmpi.b #-$2,D0
283E6 | 6602 : bne $283ea
283E8 | 5310 : subq.b #1,(A0) // decrease code -01
283EA | 0C00 00FD : cmpi.b #-$3,D0
283EE | 6602 : bne $283f2
283F0 | 5210 : addq.b #1,(A0) // increase code +01
283F2 | 0C00 00F7 : cmpi.b #-$9,D0
283F6 | 6604 : bne $283fc
283F8 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
283FC | 0C00 00FB : cmpi.b #-$5,D0
28400 | 6604 : bne $28406
28402 | 0610 0010 : addi.b #$10,(A0) // increase code +10
28406 | 0C00 00EF : cmpi.b #-$11,D0
2840A | 6604 : bne $28410
2840C | 1E10 : move.b (A0),D7 // play sound
2840E | 6008 : bra $28418
28410 | 0C00 00DF : cmpi.b #-$21,D0
28414 | 6606 : bne $2841c
28416 | 4207 : clr.b D7 // stop sound
28418 | 4EB8 6B96 : jsr $6b96.w // send sound code
2841C | 60B8 : bra $283d6
-->
</script>
<script state="run">
<output format="----- trigon 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@90100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01682 = 0001E968 </action>
<action>maincpu.mq@283D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@283F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28400 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28408 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28410 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28418 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@1128 = 112A</action>
</script>
<script state="off">
<action>maincpu.mw@1128 = 16F2</action>
</script>
</cheat>
</mamecheat>