tdragon2.xml
Code: Select all
<!-- Thunder Dragon 2 (9th Nov. 1993) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9060 = 60</action> <!-- bullet -->
<action>maincpu.mb@9C2E = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@9060 = 66</action>
<action>maincpu.mb@9C2E = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@7D21 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7D47 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7E8F = 00</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@7D21 = 30</action>
<action>maincpu.mb@7D47 = 06</action>
<action>maincpu.mb@7E8F = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00038000">02 </item>
<item value="0x00068000">03 </item>
<item value="0x00098000">04 </item>
<item value="0x000c8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@06F2A = 4EB9000162004E71</action>
<action>maincpu.mq@16200 = 243C000000002230</action>
<action>maincpu.mq@16208 = 000067066A024482</action>
<action>maincpu.mq@16210 = 2202243C00000000</action>
<action>maincpu.mq@16218 = 2030000467066A02</action>
<action>maincpu.mq@16220 = 448220024E750000</action>
<!--
16200 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
16206 | 2230 0000 : move.l (A0,D0.w), D1
1620A | 6706 : beq $16212
1620C | 6A02 : bpl $16210
1620E | 4482 : neg.l D2
16210 | 2202 : move.l D2, D1
16212 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
16218 | 2030 0004 : move.l ($4,A0,D0.w), D0
1621C | 6706 : beq $16224
1621E | 6A02 : bpl $16222
16220 | 4482 : neg.l D2
16222 | 2002 : move.l D2, D0
16224 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@16202 = param</action>
<action>maincpu.md@16214 = param</action>
</script>
<script state="off">
<action>maincpu.mq@06F2A = 2230000020300004</action>
<action>maincpu.mq@16200 = 0000000000000000</action>
<action>maincpu.mq@16208 = 0000000000000000</action>
<action>maincpu.mq@16210 = 0000000000000000</action>
<action>maincpu.mq@16218 = 0000000000000000</action>
<action>maincpu.mq@16220 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00088000">01 (slow)</item>
<item value="0x00108000">02 </item>
<item value="0x00188000">03 </item>
<item value="0x00208000">04 </item>
<item value="0x00288000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@07DFE = 4EB9000162304E71</action>
<action>maincpu.mq@16230 = 297C000000000020</action>
<action>maincpu.mq@16238 = 588B295B00244E75</action>
<!--
16230 | 297C xxxx xxxx 0020 : move.l #$xxxx, ($20,A4)
16238 | 588B : addq.l #4, A3
1623A | 295B 0024 : move.l (A3)+, ($24,A4)
1623E | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@16232 = param</action>
</script>
<script state="off">
<action>maincpu.mq@07DFE = 295B0020295B0024</action>
<action>maincpu.mq@16230 = 0000000000000000</action>
<action>maincpu.mq@16238 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="main shot">
<parameter>
<item value="0x6028">multi way</item>
<item value="0x4e71">straight </item>
</parameter>
<script state="change">
<action >maincpu.mw@7CD4 = param</action>
<action condition="param == 4e71">maincpu.mw@7D92 = 4E71 </action>
<action condition="param == 6028">maincpu.mw@7D92 = 6016 </action>
</script>
<script state="off">
<action>maincpu.mw@7CD4 = 6728</action>
<action>maincpu.mw@7D92 = 6716</action>
</script>
</cheat>
<cheat desc="missile">
<parameter>
<item value="0x6002">straight</item>
<item value="0x4e71">homing </item>
</parameter>
<script state="change">
<action>maincpu.mw@7EB8 = param</action>
</script>
<script state="off">
<action>maincpu.mw@7EB8 = 6602</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@0BFC0 = 4EF9000162404E71</action>
<action>maincpu.mq@16240 = 41F9001F00004280</action>
<action>maincpu.mq@16248 = 1401123900100003</action>
<action>maincpu.mq@16250 = B40167F40C0100FD</action>
<action>maincpu.mq@16258 = 660253100C0100FE</action>
<action>maincpu.mq@16260 = 660252100C0100FB</action>
<action>maincpu.mq@16268 = 6604041000100C01</action>
<action>maincpu.mq@16270 = 00F7660406100010</action>
<action>maincpu.mq@16278 = 0C0100EF660A1010</action>
<action>maincpu.mq@16280 = 4EB90000BF7A600C</action>
<action>maincpu.mq@16288 = 0C0100DF66064EB9</action>
<action>maincpu.mq@16290 = 0000BEFE60B20000</action>
<!--
16240 | 41F9 001F 0000 : lea $1f0000.l, A0 // sound code address
16246 | 4280 : clr.l D0
16248 | 1401 : move.b D1, D2
1624A | 1239 0010 0003 : move.b $100003.l, D1 // read input
16250 | B401 : cmp.b D1, D2
16252 | 67F4 : beq $16248
16254 | 0C01 00FD : cmpi.b #-$3, D1
16258 | 6602 : bne $1625c
1625A | 5310 : subq.b #1, (A0) // decrease code -01
1625C | 0C01 00FE : cmpi.b #-$2, D1
16260 | 6602 : bne $16264
16262 | 5210 : addq.b #1, (A0) // increase code +01
16264 | 0C01 00FB : cmpi.b #-$5, D1
16268 | 6604 : bne $1626e
1626A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1626E | 0C01 00F7 : cmpi.b #-$9, D1
16272 | 6604 : bne $16278
16274 | 0610 0010 : addi.b #$10, (A0) // increase code +10
16278 | 0C01 00EF : cmpi.b #-$11, D1
1627C | 660A : bne $16288
1627E | 1010 : move.b (A0), D0 // play sound
16280 | 4EB9 0000 BF7A : jsr $bf7a.l
16286 | 600C : bra $16294
16288 | 0C01 00DF : cmpi.b #-$21, D1
1628C | 6606 : bne $16294
1628E | 4EB9 0000 BEFE : jsr $befe.l // stop sound
16294 | 60B2 : bra $16248
-->
</script>
<script state="run">
<output format="----- thunder dragon 2 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@1F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0BFC0 = 33FC0003001F9060</action>
<action>maincpu.mq@16240 = 0000000000000000</action>
<action>maincpu.mq@16248 = 0000000000000000</action>
<action>maincpu.mq@16250 = 0000000000000000</action>
<action>maincpu.mq@16258 = 0000000000000000</action>
<action>maincpu.mq@16260 = 0000000000000000</action>
<action>maincpu.mq@16268 = 0000000000000000</action>
<action>maincpu.mq@16270 = 0000000000000000</action>
<action>maincpu.mq@16278 = 0000000000000000</action>
<action>maincpu.mq@16280 = 0000000000000000</action>
<action>maincpu.mq@16288 = 0000000000000000</action>
<action>maincpu.mq@16290 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
tdragon2a.xml
Code: Select all
<!-- Thunder Dragon 2 (1st Oct. 1993) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9050 = 60</action> <!-- bullet -->
<action>maincpu.mb@9C1E = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@9050 = 66</action>
<action>maincpu.mb@9C1E = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@7D11 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7D37 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7E7F = 00</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@7D11 = 30</action>
<action>maincpu.mb@7D37 = 06</action>
<action>maincpu.mb@7E7F = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00038000">02 </item>
<item value="0x00068000">03 </item>
<item value="0x00098000">04 </item>
<item value="0x000c8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@06F1A = 4EB9000161A04E71</action>
<action>maincpu.mq@161A0 = 243C000000002230</action>
<action>maincpu.mq@161A8 = 000067066A024482</action>
<action>maincpu.mq@161B0 = 2202243C00000000</action>
<action>maincpu.mq@161B8 = 2030000467066A02</action>
<action>maincpu.mq@161C0 = 448220024E750000</action>
<!--
161A0 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
161A6 | 2230 0000 : move.l (A0,D0.w), D1
161AA | 6706 : beq $161b2
161AC | 6A02 : bpl $161b0
161AE | 4482 : neg.l D2
161B0 | 2202 : move.l D2, D1
161B2 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
161B8 | 2030 0004 : move.l ($4,A0,D0.w), D0
161BC | 6706 : beq $161c4
161BE | 6A02 : bpl $161c2
161C0 | 4482 : neg.l D2
161C2 | 2002 : move.l D2, D0
161C4 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@161A2 = param</action>
<action>maincpu.md@161B4 = param</action>
</script>
<script state="off">
<action>maincpu.mq@06F1A = 2230000020300004</action>
<action>maincpu.mq@161A0 = 0000000000000000</action>
<action>maincpu.mq@161A8 = 0000000000000000</action>
<action>maincpu.mq@161B0 = 0000000000000000</action>
<action>maincpu.mq@161B8 = 0000000000000000</action>
<action>maincpu.mq@161C0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00088000">01 (slow)</item>
<item value="0x00108000">02 </item>
<item value="0x00188000">03 </item>
<item value="0x00208000">04 </item>
<item value="0x00288000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@07DEE = 4EB9000161D04E71</action>
<action>maincpu.mq@161D0 = 297C000000000020</action>
<action>maincpu.mq@161D8 = 588B295B00244E75</action>
<!--
161D0 | 297C xxxx xxxx 0020 : move.l #$xxxx, ($20,A4)
161D8 | 588B : addq.l #4, A3
161DA | 295B 0024 : move.l (A3)+, ($24,A4)
161DE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@161D2 = param</action>
</script>
<script state="off">
<action>maincpu.mq@07DEE = 295B0020295B0024</action>
<action>maincpu.mq@161D0 = 0000000000000000</action>
<action>maincpu.mq@161D8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="main shot">
<parameter>
<item value="0x6028">multi way</item>
<item value="0x4e71">straight </item>
</parameter>
<script state="change">
<action >maincpu.mw@7CC4 = param</action>
<action condition="param == 4e71">maincpu.mw@7D82 = 4E71 </action>
<action condition="param == 6028">maincpu.mw@7D82 = 6016 </action>
</script>
<script state="off">
<action>maincpu.mw@7CC4 = 6728</action>
<action>maincpu.mw@7D82 = 6716</action>
</script>
</cheat>
<cheat desc="missile">
<parameter>
<item value="0x6002">straight</item>
<item value="0x4e71">homing </item>
</parameter>
<script state="change">
<action>maincpu.mw@7EA8 = param</action>
</script>
<script state="off">
<action>maincpu.mw@7EA8 = 6602</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@0BFB0 = 4EF9000161E04E71</action>
<action>maincpu.mq@161E0 = 41F9001F00004280</action>
<action>maincpu.mq@161E8 = 1401123900100003</action>
<action>maincpu.mq@161F0 = B40167F40C0100FD</action>
<action>maincpu.mq@161F8 = 660253100C0100FE</action>
<action>maincpu.mq@16200 = 660252100C0100FB</action>
<action>maincpu.mq@16208 = 6604041000100C01</action>
<action>maincpu.mq@16210 = 00F7660406100010</action>
<action>maincpu.mq@16218 = 0C0100EF660A1010</action>
<action>maincpu.mq@16220 = 4EB90000BF6A600C</action>
<action>maincpu.mq@16228 = 0C0100DF66064EB9</action>
<action>maincpu.mq@16230 = 0000BEEE60B20000</action>
<!--
161E0 | 41F9 001F 0000 : lea $1f0000.l, A0 // sound code address
161E6 | 4280 : clr.l D0
161E8 | 1401 : move.b D1, D2
161EA | 1239 0010 0003 : move.b $100003.l, D1 // read input
161F0 | B401 : cmp.b D1, D2
161F2 | 67F4 : beq $161e8
161F4 | 0C01 00FD : cmpi.b #-$3, D1
161F8 | 6602 : bne $161fc
161FA | 5310 : subq.b #1, (A0) // decrease code -01
161FC | 0C01 00FE : cmpi.b #-$2, D1
16200 | 6602 : bne $16204
16202 | 5210 : addq.b #1, (A0) // increase code +01
16204 | 0C01 00FB : cmpi.b #-$5, D1
16208 | 6604 : bne $1620e
1620A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1620E | 0C01 00F7 : cmpi.b #-$9, D1
16212 | 6604 : bne $16218
16214 | 0610 0010 : addi.b #$10, (A0) // increase code +10
16218 | 0C01 00EF : cmpi.b #-$11, D1
1621C | 660A : bne $16228
1621E | 1010 : move.b (A0), D0 // play sound
16220 | 4EB9 0000 BF6A : jsr $bf6a.l
16226 | 600C : bra $16234
16228 | 0C01 00DF : cmpi.b #-$21, D1
1622C | 6606 : bne $16234
1622E | 4EB9 0000 BEEE : jsr $beee.l // stop sound
16234 | 60B2 : bra $161e8
-->
</script>
<script state="run">
<output format="----- thunder dragon 2 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@1F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0BFB0 = 33FC0003001F9060</action>
<action>maincpu.mq@161E0 = 0000000000000000</action>
<action>maincpu.mq@161E8 = 0000000000000000</action>
<action>maincpu.mq@161F0 = 0000000000000000</action>
<action>maincpu.mq@161F8 = 0000000000000000</action>
<action>maincpu.mq@16200 = 0000000000000000</action>
<action>maincpu.mq@16208 = 0000000000000000</action>
<action>maincpu.mq@16210 = 0000000000000000</action>
<action>maincpu.mq@16218 = 0000000000000000</action>
<action>maincpu.mq@16220 = 0000000000000000</action>
<action>maincpu.mq@16228 = 0000000000000000</action>
<action>maincpu.mq@16230 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
bigbang.xml
Code: Select all
<!-- Big Bang (9th Nov. 1993, set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@877A = 60</action> <!-- bullet -->
<action>maincpu.mb@9348 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@877A = 66</action>
<action>maincpu.mb@9348 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@743B = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7461 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@75A9 = 00</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@743B = 30</action>
<action>maincpu.mb@7461 = 06</action>
<action>maincpu.mb@75A9 = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00038000">02 </item>
<item value="0x00068000">03 </item>
<item value="0x00098000">04 </item>
<item value="0x000c8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@06644 = 4EB9000159204E71</action>
<action>maincpu.mq@15920 = 243C000000002230</action>
<action>maincpu.mq@15928 = 000067066A024482</action>
<action>maincpu.mq@15930 = 2202243C00000000</action>
<action>maincpu.mq@15938 = 2030000467066A02</action>
<action>maincpu.mq@15940 = 448220024E750000</action>
<!--
15920 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
15926 | 2230 0000 : move.l (A0,D0.w), D1
1592A | 6706 : beq $15932
1592C | 6A02 : bpl $15930
1592E | 4482 : neg.l D2
15930 | 2202 : move.l D2, D1
15932 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
15938 | 2030 0004 : move.l ($4,A0,D0.w), D0
1593C | 6706 : beq $15944
1593E | 6A02 : bpl $15942
15940 | 4482 : neg.l D2
15942 | 2002 : move.l D2, D0
15944 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@15922 = param</action>
<action>maincpu.md@15934 = param</action>
</script>
<script state="off">
<action>maincpu.mq@06644 = 2230000020300004</action>
<action>maincpu.mq@15920 = 0000000000000000</action>
<action>maincpu.mq@15928 = 0000000000000000</action>
<action>maincpu.mq@15930 = 0000000000000000</action>
<action>maincpu.mq@15938 = 0000000000000000</action>
<action>maincpu.mq@15940 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00088000">01 (slow)</item>
<item value="0x00108000">02 </item>
<item value="0x00188000">03 </item>
<item value="0x00208000">04 </item>
<item value="0x00288000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@07518 = 4EB9000159504E71</action>
<action>maincpu.mq@15950 = 297C000000000020</action>
<action>maincpu.mq@15958 = 588B295B00244E75</action>
<!--
15950 | 297C xxxx xxxx 0020 : move.l #$xxxx, ($20,A4)
15958 | 588B : addq.l #4, A3
1595A | 295B 0024 : move.l (A3)+, ($24,A4)
1595E | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@15952 = param</action>
</script>
<script state="off">
<action>maincpu.mq@07518 = 295B0020295B0024</action>
<action>maincpu.mq@15950 = 0000000000000000</action>
<action>maincpu.mq@15958 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="main shot">
<parameter>
<item value="0x6028">multi way</item>
<item value="0x4e71">straight </item>
</parameter>
<script state="change">
<action >maincpu.mw@73EE = param</action>
<action condition="param == 4e71">maincpu.mw@74AC = 4E71 </action>
<action condition="param == 6028">maincpu.mw@74AC = 6016 </action>
</script>
<script state="off">
<action>maincpu.mw@73EE = 6728</action>
<action>maincpu.mw@74AC = 6716</action>
</script>
</cheat>
<cheat desc="missile">
<parameter>
<item value="0x6002">straight</item>
<item value="0x4e71">homing </item>
</parameter>
<script state="change">
<action>maincpu.mw@75D2 = param</action>
</script>
<script state="off">
<action>maincpu.mw@75D2 = 6602</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@0B6DA = 4EF9000159604E71</action>
<action>maincpu.mq@15960 = 41F9001F00004280</action>
<action>maincpu.mq@15968 = 1401123900100003</action>
<action>maincpu.mq@15970 = B40167F40C0100FD</action>
<action>maincpu.mq@15978 = 660253100C0100FE</action>
<action>maincpu.mq@15980 = 660252100C0100FB</action>
<action>maincpu.mq@15988 = 6604041000100C01</action>
<action>maincpu.mq@15990 = 00F7660406100010</action>
<action>maincpu.mq@15998 = 0C0100EF660A1010</action>
<action>maincpu.mq@159A0 = 4EB90000B694600C</action>
<action>maincpu.mq@159A8 = 0C0100DF66064EB9</action>
<action>maincpu.mq@159B0 = 0000B61860B20000</action>
<!--
16240 | 41F9 001F 0000 : lea $1f0000.l, A0 // sound code address
16246 | 4280 : clr.l D0
16248 | 1401 : move.b D1, D2
1624A | 1239 0010 0003 : move.b $100003.l, D1 // read input
16250 | B401 : cmp.b D1, D2
16252 | 67F4 : beq $16248
16254 | 0C01 00FD : cmpi.b #-$3, D1
16258 | 6602 : bne $1625c
1625A | 5310 : subq.b #1, (A0) // decrease code -01
1625C | 0C01 00FE : cmpi.b #-$2, D1
16260 | 6602 : bne $16264
16262 | 5210 : addq.b #1, (A0) // increase code +01
16264 | 0C01 00FB : cmpi.b #-$5, D1
16268 | 6604 : bne $1626e
1626A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1626E | 0C01 00F7 : cmpi.b #-$9, D1
16272 | 6604 : bne $16278
16274 | 0610 0010 : addi.b #$10, (A0) // increase code +10
16278 | 0C01 00EF : cmpi.b #-$11, D1
1627C | 660A : bne $16288
1627E | 1010 : move.b (A0), D0 // play sound
16280 | 4EB9 0000 B694 : jsr $b694.l
16286 | 600C : bra $16294
16288 | 0C01 00DF : cmpi.b #-$21, D1
1628C | 6606 : bne $16294
1628E | 4EB9 0000 B618 : jsr $b618.l // stop sound
16294 | 60B2 : bra $16248
-->
</script>
<script state="run">
<output format="----- big bang 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@1F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0B6DA = 33FC0003001F9060</action>
<action>maincpu.mq@15960 = 0000000000000000</action>
<action>maincpu.mq@15968 = 0000000000000000</action>
<action>maincpu.mq@15970 = 0000000000000000</action>
<action>maincpu.mq@15978 = 0000000000000000</action>
<action>maincpu.mq@15980 = 0000000000000000</action>
<action>maincpu.mq@15988 = 0000000000000000</action>
<action>maincpu.mq@15990 = 0000000000000000</action>
<action>maincpu.mq@15998 = 0000000000000000</action>
<action>maincpu.mq@159A0 = 0000000000000000</action>
<action>maincpu.mq@159A8 = 0000000000000000</action>
<action>maincpu.mq@159B0 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
bigbanga.xml
Code: Select all
<!-- Big Bang (9th Nov. 1993, set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@878A = 60</action> <!-- bullet -->
<action>maincpu.mb@9358 = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@878A = 66</action>
<action>maincpu.mb@9358 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@744B = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7471 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@75B9 = 00</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@744B = 30</action>
<action>maincpu.mb@7471 = 06</action>
<action>maincpu.mb@75B9 = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00038000">02 </item>
<item value="0x00068000">03 </item>
<item value="0x00098000">04 </item>
<item value="0x000c8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@06654 = 4EB9000159904E71</action>
<action>maincpu.mq@15990 = 243C000000002230</action>
<action>maincpu.mq@15998 = 000067066A024482</action>
<action>maincpu.mq@159A0 = 2202243C00000000</action>
<action>maincpu.mq@159A8 = 2030000467066A02</action>
<action>maincpu.mq@159B0 = 448220024E750000</action>
<!--
15990 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
15996 | 2230 0000 : move.l (A0,D0.w), D1
1599A | 6706 : beq $159a2
1599C | 6A02 : bpl $159a0
1599E | 4482 : neg.l D2
159A0 | 2202 : move.l D2, D1
159A2 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
159A8 | 2030 0004 : move.l ($4,A0,D0.w), D0
159AC | 6706 : beq $159b4
159AE | 6A02 : bpl $159b2
159B0 | 4482 : neg.l D2
159B2 | 2002 : move.l D2, D0
159B4 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@15992 = param</action>
<action>maincpu.md@159A4 = param</action>
</script>
<script state="off">
<action>maincpu.mq@06654 = 2230000020300004</action>
<action>maincpu.mq@15990 = 0000000000000000</action>
<action>maincpu.mq@15998 = 0000000000000000</action>
<action>maincpu.mq@159A0 = 0000000000000000</action>
<action>maincpu.mq@159A8 = 0000000000000000</action>
<action>maincpu.mq@159B0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00088000">01 (slow)</item>
<item value="0x00108000">02 </item>
<item value="0x00188000">03 </item>
<item value="0x00208000">04 </item>
<item value="0x00288000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@07528 = 4EB9000159C04E71</action>
<action>maincpu.mq@159C0 = 297C000000000020</action>
<action>maincpu.mq@159C8 = 588B295B00244E75</action>
<!--
159C0 | 297C xxxx xxxx 0020 : move.l #$xxxx, ($20,A4)
159C8 | 588B : addq.l #4, A3
159CA | 295B 0024 : move.l (A3)+, ($24,A4)
159CE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@159C2 = param</action>
</script>
<script state="off">
<action>maincpu.mq@07528 = 295B0020295B0024</action>
<action>maincpu.mq@159C0 = 0000000000000000</action>
<action>maincpu.mq@159C8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="main shot">
<parameter>
<item value="0x6028">multi way</item>
<item value="0x4e71">straight </item>
</parameter>
<script state="change">
<action >maincpu.mw@73FE = param</action>
<action condition="param == 4e71">maincpu.mw@74BC = 4E71 </action>
<action condition="param == 6028">maincpu.mw@74BC = 6016 </action>
</script>
<script state="off">
<action>maincpu.mw@73FE = 6728</action>
<action>maincpu.mw@74BC = 6716</action>
</script>
</cheat>
<cheat desc="missile">
<parameter>
<item value="0x6002">straight</item>
<item value="0x4e71">homing </item>
</parameter>
<script state="change">
<action>maincpu.mw@75E2 = param</action>
</script>
<script state="off">
<action>maincpu.mw@75E2 = 6602</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@0B6EA = 4EF9000159D04E71</action>
<action>maincpu.mq@159D0 = 41F9001F00004280</action>
<action>maincpu.mq@159D8 = 1401123900100003</action>
<action>maincpu.mq@159E0 = B40167F40C0100FD</action>
<action>maincpu.mq@159E8 = 660253100C0100FE</action>
<action>maincpu.mq@159F0 = 660252100C0100FB</action>
<action>maincpu.mq@159F8 = 6604041000100C01</action>
<action>maincpu.mq@15A00 = 00F7660406100010</action>
<action>maincpu.mq@15A08 = 0C0100EF660A1010</action>
<action>maincpu.mq@15A10 = 4EB90000B6A4600C</action>
<action>maincpu.mq@15A18 = 0C0100DF66064EB9</action>
<action>maincpu.mq@15A20 = 0000B62860B20000</action>
<!--
159D0 | 41F9 001F 0000 : lea $1f0000.l, A0 // sound code address
159D6 | 4280 : clr.l D0
159D8 | 1401 : move.b D1, D2
159DA | 1239 0010 0003 : move.b $100003.l, D1 // read input
159E0 | B401 : cmp.b D1, D2
159E2 | 67F4 : beq $159d8
159E4 | 0C01 00FD : cmpi.b #-$3, D1
159E8 | 6602 : bne $159ec
159EA | 5310 : subq.b #1, (A0) // decrease code -01
159EC | 0C01 00FE : cmpi.b #-$2, D1
159F0 | 6602 : bne $159f4
159F2 | 5210 : addq.b #1, (A0) // increase code +01
159F4 | 0C01 00FB : cmpi.b #-$5, D1
159F8 | 6604 : bne $159fe
159FA | 0410 0010 : subi.b #$10, (A0) // decrease code -10
159FE | 0C01 00F7 : cmpi.b #-$9, D1
15A02 | 6604 : bne $15a08
15A04 | 0610 0010 : addi.b #$10, (A0) // increase code +10
15A08 | 0C01 00EF : cmpi.b #-$11, D1
15A0C | 660A : bne $15a18
15A0E | 1010 : move.b (A0), D0 // play sound
15A10 | 4EB9 0000 B6A4 : jsr $b6a4.l
15A16 | 600C : bra $15a24
15A18 | 0C01 00DF : cmpi.b #-$21, D1
15A1C | 6606 : bne $15a24
15A1E | 4EB9 0000 B628 : jsr $b628.l // stop sound
15A24 | 60B2 : bra $16248
-->
</script>
<script state="run">
<output format="----- big bang 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@1F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0B6EA = 33FC0003001F9060</action>
<action>maincpu.mq@159D0 = 0000000000000000</action>
<action>maincpu.mq@159D8 = 0000000000000000</action>
<action>maincpu.mq@159E0 = 0000000000000000</action>
<action>maincpu.mq@159E8 = 0000000000000000</action>
<action>maincpu.mq@159F0 = 0000000000000000</action>
<action>maincpu.mq@159F8 = 0000000000000000</action>
<action>maincpu.mq@15A00 = 0000000000000000</action>
<action>maincpu.mq@15A08 = 0000000000000000</action>
<action>maincpu.mq@15A10 = 0000000000000000</action>
<action>maincpu.mq@15A18 = 0000000000000000</action>
<action>maincpu.mq@15A20 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
tdragon3h.xml
Code: Select all
<!-- Thunder Dragon 3 (bootleg of Thunder Dragon 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9050 = 60</action> <!-- bullet -->
<action>maincpu.mb@9C1E = 60</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@9050 = 66</action>
<action>maincpu.mb@9C1E = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@7D11 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7D37 = 00</action> <!-- P1 mainshot -->
<action>maincpu.mb@7E7F = 00</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@7D11 = 30</action>
<action>maincpu.mb@7D37 = 06</action>
<action>maincpu.mb@7E7F = 40</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00038000">02 </item>
<item value="0x00068000">03 </item>
<item value="0x00098000">04 </item>
<item value="0x000c8000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@06F1A = 4EB90005E3804E71</action>
<action>maincpu.mq@5E380 = 243C000000002230</action>
<action>maincpu.mq@5E388 = 000067066A024482</action>
<action>maincpu.mq@5E390 = 2202243C00000000</action>
<action>maincpu.mq@5E398 = 2030000467066A02</action>
<action>maincpu.mq@5E3A0 = 448220024E750000</action>
<!--
5E380 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
5E386 | 2230 0000 : move.l (A0,D0.w), D1
5E38A | 6706 : beq $5e392
5E38C | 6A02 : bpl $5e390
5E38E | 4482 : neg.l D2
5E390 | 2202 : move.l D2, D1
5E392 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
5E398 | 2030 0004 : move.l ($4,A0,D0.w), D0
5E39C | 6706 : beq $5e3a4
5E39E | 6A02 : bpl $5e3a2
5E3A0 | 4482 : neg.l D2
5E3A2 | 2002 : move.l D2, D0
5E3A4 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@5E382 = param</action>
<action>maincpu.md@5E394 = param</action>
</script>
<script state="off">
<action>maincpu.mq@06F1A = 2230000020300004</action>
<action>maincpu.mq@5E380 = 0000000000000000</action>
<action>maincpu.mq@5E388 = 0000000000000000</action>
<action>maincpu.mq@5E390 = 0000000000000000</action>
<action>maincpu.mq@5E398 = 0000000000000000</action>
<action>maincpu.mq@5E3A0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x00088000">01 (slow)</item>
<item value="0x00108000">02 </item>
<item value="0x00188000">03 </item>
<item value="0x00208000">04 </item>
<item value="0x00288000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@07DEE = 4EB90005E3B04E71</action>
<action>maincpu.mq@5E3B0 = 297C000000000020</action>
<action>maincpu.mq@5E3B8 = 588B295B00244E75</action>
<!--
5E3B0 | 297C xxxx xxxx 0020 : move.l #$xxxx, ($20,A4)
5E3B8 | 588B : addq.l #4, A3
5E3BA | 295B 0024 : move.l (A3)+, ($24,A4)
5E3BE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@5E3B2 = param</action>
</script>
<script state="off">
<action>maincpu.mq@07DEE = 295B0020295B0024</action>
<action>maincpu.mq@5E3B0 = 0000000000000000</action>
<action>maincpu.mq@5E3B8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="main shot">
<parameter>
<item value="0x6028">multi way</item>
<item value="0x4e71">straight </item>
</parameter>
<script state="change">
<action >maincpu.mw@7CC4 = param</action>
<action condition="param == 4e71">maincpu.mw@7D82 = 4E71 </action>
<action condition="param == 6028">maincpu.mw@7D82 = 6016 </action>
</script>
<script state="off">
<action>maincpu.mw@7CC4 = 6728</action>
<action>maincpu.mw@7D82 = 6716</action>
</script>
</cheat>
<cheat desc="missile">
<parameter>
<item value="0x6002">straight</item>
<item value="0x4e71">homing </item>
</parameter>
<script state="change">
<action>maincpu.mw@7EA8 = param</action>
</script>
<script state="off">
<action>maincpu.mw@7EA8 = 6602</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@0BFB0 = 4EF90005E3C04E71</action>
<action>maincpu.mq@5E3C0 = 41F9001F00004280</action>
<action>maincpu.mq@5E3C8 = 1401123900100003</action>
<action>maincpu.mq@5E3D0 = B40167F40C0100FD</action>
<action>maincpu.mq@5E3D8 = 660253100C0100FE</action>
<action>maincpu.mq@5E3E0 = 660252100C0100FB</action>
<action>maincpu.mq@5E3E8 = 6604041000100C01</action>
<action>maincpu.mq@5E3F0 = 00F7660406100010</action>
<action>maincpu.mq@5E3F8 = 0C0100EF660A1010</action>
<action>maincpu.mq@5E400 = 4EB90000BF6A600C</action>
<action>maincpu.mq@5E408 = 0C0100DF66064EB9</action>
<action>maincpu.mq@5E410 = 0000BEEE60B20000</action>
<!--
5E3C0 | 41F9 001F 0000 : lea $1f0000.l, A0 // sound code address
5E3C6 | 4280 : clr.l D0
5E3C8 | 1401 : move.b D1, D2
5E3CA | 1239 0010 0003 : move.b $100003.l, D1 // read input
5E3D0 | B401 : cmp.b D1, D2
5E3D2 | 67F4 : beq $5e3c8
5E3D4 | 0C01 00FD : cmpi.b #-$3, D1
5E3D8 | 6602 : bne $5e3dc
5E3DA | 5310 : subq.b #1, (A0) // decrease code -01
5E3DC | 0C01 00FE : cmpi.b #-$2, D1
5E3E0 | 6602 : bne $5e3e4
5E3E2 | 5210 : addq.b #1, (A0) // increase code +01
5E3E4 | 0C01 00FB : cmpi.b #-$5, D1
5E3E8 | 6604 : bne $5e3ee
5E3EA | 0410 0010 : subi.b #$10, (A0) // decrease code -10
5E3EE | 0C01 00F7 : cmpi.b #-$9, D1
5E3F2 | 6604 : bne $5e3f8
5E3F4 | 0610 0010 : addi.b #$10, (A0) // increase code +10
5E3F8 | 0C01 00EF : cmpi.b #-$11, D1
5E3FC | 660A : bne $5e408
5E3FE | 1010 : move.b (A0), D0 // play sound
5E400 | 4EB9 0000 BF6A : jsr $bf6a.l
5E406 | 600C : bra $5e414
5E408 | 0C01 00DF : cmpi.b #-$21, D1
5E40C | 6606 : bne $5e414
5E40E | 4EB9 0000 BEEE : jsr $beee.l // stop sound
5E414 | 60B2 : bra $5e3c8
-->
</script>
<script state="run">
<output format="----- thunder dragon 3 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@1F0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0BFB0 = 33FC0003001F9060</action>
<action>maincpu.mq@5E3C0 = 0000000000000000</action>
<action>maincpu.mq@5E3C8 = 0000000000000000</action>
<action>maincpu.mq@5E3D0 = 0000000000000000</action>
<action>maincpu.mq@5E3D8 = 0000000000000000</action>
<action>maincpu.mq@5E3E0 = 0000000000000000</action>
<action>maincpu.mq@5E3E8 = 0000000000000000</action>
<action>maincpu.mq@5E3F0 = 0000000000000000</action>
<action>maincpu.mq@5E3F8 = 0000000000000000</action>
<action>maincpu.mq@5E400 = 0000000000000000</action>
<action>maincpu.mq@5E408 = 0000000000000000</action>
<action>maincpu.mq@5E410 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
"(select)main shot", "(select)missile" : Added new. Both players get the same weapon though.