terraf.xml
Code: Select all
<!-- Terra Force -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mq@872C = 4EB90000F9E06602</action>
<action>maincpu.mq@F9E0 = B1FC000610AC6706</action>
<action>maincpu.mq@F9E8 = 1A113A3250004E75</action>
<!--
F9E0 | B1FC 0006 10AC : cmpa.l #$610ac, A0
F9E6 | 6706 : beq $f9ee
F9E8 | 1A11 : move.b (A1), D5
F9EA | 3A32 5000 : move.w (A2,D5.w), D5
F9EE | 4E75 : rts
-->
<action>maincpu.mb@8BF8 = 60</action> <!-- volcano -->
</script>
<script state="off">
<action>maincpu.mq@872C = 1A113A3250006602</action>
<action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@8BF8 = 62 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- main shot -->
<action>maincpu.mb@6002 = 60</action> <!-- timer (player) -->
<action>maincpu.mb@6011 = E8</action> <!-- button (player) -->
<action>maincpu.mb@6C9E = 60</action> <!-- timer (sub unit)-->
<action>maincpu.mb@6CAD = E8</action> <!-- button (sub unit)-->
<!-- bomb -->
<action>maincpu.mb@618B = E8</action> <!-- player -->
<action>maincpu.mb@6D7F = E8</action> <!-- sub unit -->
</script>
<script state="off">
<action>maincpu.mb@6002 = 67</action>
<action>maincpu.mb@6011 = E9</action>
<action>maincpu.mb@6C9E = 67</action>
<action>maincpu.mb@6CAD = E9</action>
<action>maincpu.mb@618B = E9</action>
<action>maincpu.mb@6D7F = E9</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@8038 = 4EB90000F9F04E71</action> <!-- x position -->
<action>maincpu.mq@8040 = 4EB90000F9FC4E71</action> <!-- y position -->
<action>maincpu.mq@F9F0 = 2A3100006112DBA8</action>
<action>maincpu.mq@F9F8 = 00024E752A310004</action>
<action>maincpu.mq@FA00 = 6106DBA800064E75</action>
<action>maincpu.mq@FA08 = B1FC000610AC6618</action>
<action>maincpu.mq@FA10 = 0C28000E00016710</action>
<action>maincpu.mq@FA18 = 223C000000004A85</action>
<action>maincpu.mq@FA20 = 67066A0244812A01</action>
<action>maincpu.mq@FA28 = 4E75FFFFFFFFFFFF</action>
<!--
F9F0 | 2A31 0000 : move.l (A1,D0.w), D5 // x position
F9F4 | 6112 : bsr $fa08
F9F6 | DBA8 0002 : add.l D5, ($2,A0)
F9FA | 4E75 : rts
F9FC | 2A31 0004 : move.l ($4,A1,D0.w), D5 // y position
FA00 | 6106 : bsr $fa08
FA02 | DBA8 0006 : add.l D5, ($6,A0)
FA06 | 4E75 : rts
FA08 | B1FC 0006 10AC : cmpa.l #$610ac, A0 // main routine
FA0E | 6618 : bne $fa28
FA10 | 0C28 000E 0001 : cmpi.b #$e, ($1,A0)
FA16 | 6710 : beq $fa28
FA18 | 223C xxxx xxxx : move.l #$xxxx, D1
FA1E | 4A85 : tst.l D5
FA20 | 6706 : beq $fa28
FA22 | 6A02 : bpl $fa26
FA24 | 4481 : neg.l D1
FA26 | 2A01 : move.l D1, D5
FA28 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@FA1A = param</action>
</script>
<script state="off">
<action>maincpu.mq@8038 = 2A310000DBA80002</action>
<action>maincpu.mq@8040 = 2A310004DBA80006</action>
<action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x00010000">01 (slow)</item>
<item value="0x00058000">02 </item>
<item value="0x000b0000">03 </item>
<item value="0x00108000">04 </item>
<item value="0x00160000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@6726 = param</action> <!-- normal shot -->
<action>maincpu.md@67E2 = param</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.md@6726 = 00058000</action>
<action>maincpu.md@67E2 = 00058000</action>
</script>
</cheat>
<cheat desc="shor hit mark (test)">
<comment>main shot only</comment>
<script state="on">
<action>maincpu.mb@6B10 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6B10 = 67</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@4C02 = FA30 </action>
<action>maincpu.mq@FA30 = 41F90006100043F9</action>
<action>maincpu.mq@FA38 = 0007C00B12001039</action>
<action>maincpu.mq@FA40 = 00078001B20067F4</action>
<action>maincpu.mq@FA48 = 0C0000FB66025310</action>
<action>maincpu.mq@FA50 = 0C0000F766025210</action>
<action>maincpu.mq@FA58 = 0C0000FD66040410</action>
<action>maincpu.mq@FA60 = 00100C0000FE6604</action>
<action>maincpu.mq@FA68 = 061000100C0000EF</action>
<action>maincpu.mq@FA70 = 660212900C0000DF</action>
<action>maincpu.mq@FA78 = 660412BC003F60BC</action>
<!--
FA30 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
FA36 | 43F9 0007 C00B : lea $7c00b.l, A1 // sound latch address
FA3C | 1200 : move.b D0, D1
FA3E | 1039 0007 8001 : move.b $78001.l, D0 // read input
FA44 | B200 : cmp.b D0, D1
FA46 | 67F4 : beq $fa3c
FA48 | 0C00 00FB : cmpi.b #-$5, D0
FA4C | 6602 : bne $fa50
FA4E | 5310 : subq.b #1, (A0) // decrease code -01
FA50 | 0C00 00F7 : cmpi.b #-$9, D0
FA54 | 6602 : bne $fa58
FA56 | 5210 : addq.b #1, (A0) // increase code +01
FA58 | 0C00 00FD : cmpi.b #-$3, D0
FA5C | 6604 : bne $fa62
FA5E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FA62 | 0C00 00FE : cmpi.b #-$2, D0
FA66 | 6604 : bne $fa6c
FA68 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FA6C | 0C00 00EF : cmpi.b #-$11, D0
FA70 | 6602 : bne $fa74
FA72 | 1290 : move.b (A0), (A1) // play sound
FA74 | 0C00 00DF : cmpi.b #-$21, D0
FA78 | 6604 : bne $fa7e
FA7A | 12BC 003F : move.b #$3f, (A1) // stop sound
FA7E | 60BC : bra $fa3c
-->
</script>
<script state="run">
<output format="----- terra force 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@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@4C02 = 781E </action>
<action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
terrafu.xml
Code: Select all
<!-- Terra Force (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mq@8710 = 4EB90000F9D06602</action>
<action>maincpu.mq@F9D0 = B1FC000610AC6706</action>
<action>maincpu.mq@F9D8 = 1A113A3250004E75</action>
<!--
F9D0 | B1FC 0006 10AC : cmpa.l #$610ac, A0
F9D6 | 6706 : beq $f9de
F9D8 | 1A11 : move.b (A1), D5
F9DA | 3A32 5000 : move.w (A2,D5.w), D5
F9DE | 4E75 : rts
-->
<action>maincpu.mb@8BDC = 60</action> <!-- volcano -->
</script>
<script state="off">
<action>maincpu.mq@8710 = 1A113A3250006602</action>
<action>maincpu.mq@F9D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@8BDC = 62 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- main shot -->
<action>maincpu.mb@5FE6 = 60</action> <!-- timer (player) -->
<action>maincpu.mb@5FF5 = E8</action> <!-- button (player) -->
<action>maincpu.mb@6C82 = 60</action> <!-- timer (sub unit)-->
<action>maincpu.mb@6C91 = E8</action> <!-- button (sub unit)-->
<!-- bomb -->
<action>maincpu.mb@616F = E8</action> <!-- player -->
<action>maincpu.mb@6D63 = E8</action> <!-- sub unit -->
</script>
<script state="off">
<action>maincpu.mb@5FE6 = 67</action>
<action>maincpu.mb@5FF5 = E9</action>
<action>maincpu.mb@6C82 = 67</action>
<action>maincpu.mb@6C91 = E9</action>
<action>maincpu.mb@616F = E9</action>
<action>maincpu.mb@6D63 = E9</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@801C = 4EB90000F9E04E71</action> <!-- x position -->
<action>maincpu.mq@8024 = 4EB90000F9EC4E71</action> <!-- y position -->
<action>maincpu.mq@F9E0 = 2A3100006112DBA8</action>
<action>maincpu.mq@F9E8 = 00024E752A310004</action>
<action>maincpu.mq@F9F0 = 6106DBA800064E75</action>
<action>maincpu.mq@F9F8 = B1FC000610AC6618</action>
<action>maincpu.mq@FA00 = 0C28000E00016710</action>
<action>maincpu.mq@FA08 = 223C000000004A85</action>
<action>maincpu.mq@FA10 = 67066A0244812A01</action>
<action>maincpu.mq@FA18 = 4E75FFFFFFFFFFFF</action>
<!--
F9E0 | 2A31 0000 : move.l (A1,D0.w), D5 // x position
F9E4 | 6112 : bsr $f9f8
F9E6 | DBA8 0002 : add.l D5, ($2,A0)
F9EA | 4E75 : rts
F9EC | 2A31 0004 : move.l ($4,A1,D0.w), D5 // y position
F9F0 | 6106 : bsr $f9f8
F9F2 | DBA8 0006 : add.l D5, ($6,A0)
F9F6 | 4E75 : rts
F9F8 | B1FC 0006 10AC : cmpa.l #$610ac, A0 // main routine
F9FE | 6618 : bne $fa18
FA00 | 0C28 000E 0001 : cmpi.b #$e, ($1,A0)
FA06 | 6710 : beq $fa18
FA08 | 223C xxxx xxxx : move.l #$xxxx, D1
FA0E | 4A85 : tst.l D5
FA10 | 6706 : beq $fa18
FA12 | 6A02 : bpl $fa16
FA14 | 4481 : neg.l D1
FA16 | 2A01 : move.l D1, D5
FA18 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@FA0A = param</action>
</script>
<script state="off">
<action>maincpu.mq@801C = 2A310000DBA80002</action>
<action>maincpu.mq@8024 = 2A310004DBA80006</action>
<action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x00010000">01 (slow)</item>
<item value="0x00058000">02 </item>
<item value="0x000b0000">03 </item>
<item value="0x00108000">04 </item>
<item value="0x00160000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@670A = param</action> <!-- normal shot -->
<action>maincpu.md@67C6 = param</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.md@670A = 00058000</action>
<action>maincpu.md@67C6 = 00058000</action>
</script>
</cheat>
<cheat desc="shor hit mark (test)">
<comment>main shot only</comment>
<script state="on">
<action>maincpu.mb@6AF4 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6AF4 = 67</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@4BF6 = FA20 </action>
<action>maincpu.mq@FA20 = 41F90006100043F9</action>
<action>maincpu.mq@FA28 = 0007C00B12001039</action>
<action>maincpu.mq@FA30 = 00078001B20067F4</action>
<action>maincpu.mq@FA38 = 0C0000FB66025310</action>
<action>maincpu.mq@FA40 = 0C0000F766025210</action>
<action>maincpu.mq@FA48 = 0C0000FD66040410</action>
<action>maincpu.mq@FA50 = 00100C0000FE6604</action>
<action>maincpu.mq@FA58 = 061000100C0000EF</action>
<action>maincpu.mq@FA60 = 660212900C0000DF</action>
<action>maincpu.mq@FA68 = 660412BC003F60BC</action>
<!--
FA20 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
FA26 | 43F9 0007 C00B : lea $7c00b.l, A1 // sound latch address
FA2C | 1200 : move.b D0, D1
FA2E | 1039 0007 8001 : move.b $78001.l, D0 // read input
FA34 | B200 : cmp.b D0, D1
FA36 | 67F4 : beq $fa2c
FA38 | 0C00 00FB : cmpi.b #-$5, D0
FA3C | 6602 : bne $fa40
FA3E | 5310 : subq.b #1, (A0) // decrease code -01
FA40 | 0C00 00F7 : cmpi.b #-$9, D0
FA44 | 6602 : bne $fa48
FA46 | 5210 : addq.b #1, (A0) // increase code +01
FA48 | 0C00 00FD : cmpi.b #-$3, D0
FA4C | 6604 : bne $fa52
FA4E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FA52 | 0C00 00FE : cmpi.b #-$2, D0
FA56 | 6604 : bne $fa5c
FA58 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FA5C | 0C00 00EF : cmpi.b #-$11, D0
FA60 | 6602 : bne $fa64
FA62 | 1290 : move.b (A0), (A1) // play sound
FA64 | 0C00 00DF : cmpi.b #-$21, D0
FA68 | 6604 : bne $fa6e
FA6A | 12BC 003F : move.b #$3f, (A1) // stop sound
FA6E | 60BC : bra $fa2c
-->
</script>
<script state="run">
<output format="----- terra force 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@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@4BF6 = 7802 </action>
<action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA68 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
terrafua.xml
Code: Select all
<!-- Terra Force (US, alternate sound) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mq@8710 = 4EB90000F9D06602</action>
<action>maincpu.mq@F9D0 = B1FC000610AC6706</action>
<action>maincpu.mq@F9D8 = 1A113A3250004E75</action>
<!--
F9D0 | B1FC 0006 10AC : cmpa.l #$610ac, A0
F9D6 | 6706 : beq $f9de
F9D8 | 1A11 : move.b (A1), D5
F9DA | 3A32 5000 : move.w (A2,D5.w), D5
F9DE | 4E75 : rts
-->
<action>maincpu.mb@8BDC = 60</action> <!-- volcano -->
</script>
<script state="off">
<action>maincpu.mq@8710 = 1A113A3250006602</action>
<action>maincpu.mq@F9D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@8BDC = 62 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- main shot -->
<action>maincpu.mb@5FE6 = 60</action> <!-- timer (player) -->
<action>maincpu.mb@5FF5 = E8</action> <!-- button (player) -->
<action>maincpu.mb@6C82 = 60</action> <!-- timer (sub unit)-->
<action>maincpu.mb@6C91 = E8</action> <!-- button (sub unit)-->
<!-- bomb -->
<action>maincpu.mb@616F = E8</action> <!-- player -->
<action>maincpu.mb@6D63 = E8</action> <!-- sub unit -->
</script>
<script state="off">
<action>maincpu.mb@5FE6 = 67</action>
<action>maincpu.mb@5FF5 = E9</action>
<action>maincpu.mb@6C82 = 67</action>
<action>maincpu.mb@6C91 = E9</action>
<action>maincpu.mb@616F = E9</action>
<action>maincpu.mb@6D63 = E9</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@801C = 4EB90000F9E04E71</action> <!-- x position -->
<action>maincpu.mq@8024 = 4EB90000F9EC4E71</action> <!-- y position -->
<action>maincpu.mq@F9E0 = 2A3100006112DBA8</action>
<action>maincpu.mq@F9E8 = 00024E752A310004</action>
<action>maincpu.mq@F9F0 = 6106DBA800064E75</action>
<action>maincpu.mq@F9F8 = B1FC000610AC6618</action>
<action>maincpu.mq@FA00 = 0C28000E00016710</action>
<action>maincpu.mq@FA08 = 223C000000004A85</action>
<action>maincpu.mq@FA10 = 67066A0244812A01</action>
<action>maincpu.mq@FA18 = 4E75FFFFFFFFFFFF</action>
<!--
F9E0 | 2A31 0000 : move.l (A1,D0.w), D5 // x position
F9E4 | 6112 : bsr $f9f8
F9E6 | DBA8 0002 : add.l D5, ($2,A0)
F9EA | 4E75 : rts
F9EC | 2A31 0004 : move.l ($4,A1,D0.w), D5 // y position
F9F0 | 6106 : bsr $f9f8
F9F2 | DBA8 0006 : add.l D5, ($6,A0)
F9F6 | 4E75 : rts
F9F8 | B1FC 0006 10AC : cmpa.l #$610ac, A0 // main routine
F9FE | 6618 : bne $fa18
FA00 | 0C28 000E 0001 : cmpi.b #$e, ($1,A0)
FA06 | 6710 : beq $fa18
FA08 | 223C xxxx xxxx : move.l #$xxxx, D1
FA0E | 4A85 : tst.l D5
FA10 | 6706 : beq $fa18
FA12 | 6A02 : bpl $fa16
FA14 | 4481 : neg.l D1
FA16 | 2A01 : move.l D1, D5
FA18 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@FA0A = param</action>
</script>
<script state="off">
<action>maincpu.mq@801C = 2A310000DBA80002</action>
<action>maincpu.mq@8024 = 2A310004DBA80006</action>
<action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x00010000">01 (slow)</item>
<item value="0x00058000">02 </item>
<item value="0x000b0000">03 </item>
<item value="0x00108000">04 </item>
<item value="0x00160000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@670A = param</action> <!-- normal shot -->
<action>maincpu.md@67C6 = param</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.md@670A = 00058000</action>
<action>maincpu.md@67C6 = 00058000</action>
</script>
</cheat>
<cheat desc="shor hit mark (test)">
<comment>main shot only</comment>
<script state="on">
<action>maincpu.mb@6AF4 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6AF4 = 67</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@4BF6 = FA20 </action>
<action>maincpu.mq@FA20 = 41F90006100043F9</action>
<action>maincpu.mq@FA28 = 0007C00B12001039</action>
<action>maincpu.mq@FA30 = 00078001B20067F4</action>
<action>maincpu.mq@FA38 = 0C0000FB66025310</action>
<action>maincpu.mq@FA40 = 0C0000F766025210</action>
<action>maincpu.mq@FA48 = 0C0000FD66040410</action>
<action>maincpu.mq@FA50 = 00100C0000FE6604</action>
<action>maincpu.mq@FA58 = 061000100C0000EF</action>
<action>maincpu.mq@FA60 = 660212900C0000DF</action>
<action>maincpu.mq@FA68 = 660412BC003F60BC</action>
<!--
FA20 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
FA26 | 43F9 0007 C00B : lea $7c00b.l, A1 // sound latch address
FA2C | 1200 : move.b D0, D1
FA2E | 1039 0007 8001 : move.b $78001.l, D0 // read input
FA34 | B200 : cmp.b D0, D1
FA36 | 67F4 : beq $fa2c
FA38 | 0C00 00FB : cmpi.b #-$5, D0
FA3C | 6602 : bne $fa40
FA3E | 5310 : subq.b #1, (A0) // decrease code -01
FA40 | 0C00 00F7 : cmpi.b #-$9, D0
FA44 | 6602 : bne $fa48
FA46 | 5210 : addq.b #1, (A0) // increase code +01
FA48 | 0C00 00FD : cmpi.b #-$3, D0
FA4C | 6604 : bne $fa52
FA4E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FA52 | 0C00 00FE : cmpi.b #-$2, D0
FA56 | 6604 : bne $fa5c
FA58 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FA5C | 0C00 00EF : cmpi.b #-$11, D0
FA60 | 6602 : bne $fa64
FA62 | 1290 : move.b (A0), (A1) // play sound
FA64 | 0C00 00DF : cmpi.b #-$21, D0
FA68 | 6604 : bne $fa6e
FA6A | 12BC 003F : move.b #$3f, (A1) // stop sound
FA6E | 60BC : bra $fa2c
-->
</script>
<script state="run">
<output format="----- terra force 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@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@4BF6 = 7802 </action>
<action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA68 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
terrafj.xml
Code: Select all
<!-- Terra Force (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mq@86F8 = 4EB90000F9E06602</action>
<action>maincpu.mq@F9E0 = B1FC000610AC6706</action>
<action>maincpu.mq@F9E8 = 1A113A3250004E75</action>
<!--
F9E0 | B1FC 0006 10AC : cmpa.l #$610ac, A0
F9E6 | 6706 : beq $f9ee
F9E8 | 1A11 : move.b (A1), D5
F9EA | 3A32 5000 : move.w (A2,D5.w), D5
F9EE | 4E75 : rts
-->
<action>maincpu.mb@8BC4 = 60</action> <!-- volcano -->
</script>
<script state="off">
<action>maincpu.mq@86F8 = 1A113A3250006602</action>
<action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@8BC4 = 62 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- main shot -->
<action>maincpu.mb@5FCE = 60</action> <!-- timer (player) -->
<action>maincpu.mb@5FDD = E8</action> <!-- button (player) -->
<action>maincpu.mb@6C6A = 60</action> <!-- timer (sub unit)-->
<action>maincpu.mb@6C79 = E8</action> <!-- button (sub unit)-->
<!-- bomb -->
<action>maincpu.mb@6157 = E8</action> <!-- player -->
<action>maincpu.mb@6D4B = E8</action> <!-- sub unit -->
</script>
<script state="off">
<action>maincpu.mb@5FCE = 67</action>
<action>maincpu.mb@5FDD = E9</action>
<action>maincpu.mb@6C6A = 67</action>
<action>maincpu.mb@6C79 = E9</action>
<action>maincpu.mb@6157 = E9</action>
<action>maincpu.mb@6D4B = E9</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@8004 = 4EB90000F9F04E71</action> <!-- x position -->
<action>maincpu.mq@800C = 4EB90000F9FC4E71</action> <!-- y position -->
<action>maincpu.mq@F9F0 = 2A3100006112DBA8</action>
<action>maincpu.mq@F9F8 = 00024E752A310004</action>
<action>maincpu.mq@FA00 = 6106DBA800064E75</action>
<action>maincpu.mq@FA08 = B1FC000610AC6618</action>
<action>maincpu.mq@FA10 = 0C28000E00016710</action>
<action>maincpu.mq@FA18 = 223C000000004A85</action>
<action>maincpu.mq@FA20 = 67066A0244812A01</action>
<action>maincpu.mq@FA28 = 4E75FFFFFFFFFFFF</action>
<!--
F9F0 | 2A31 0000 : move.l (A1,D0.w), D5 // x position
F9F4 | 6112 : bsr $fa08
F9F6 | DBA8 0002 : add.l D5, ($2,A0)
F9FA | 4E75 : rts
F9FC | 2A31 0004 : move.l ($4,A1,D0.w), D5 // y position
FA00 | 6106 : bsr $fa08
FA02 | DBA8 0006 : add.l D5, ($6,A0)
FA06 | 4E75 : rts
FA08 | B1FC 0006 10AC : cmpa.l #$610ac, A0 // main routine
FA0E | 6618 : bne $fa28
FA10 | 0C28 000E 0001 : cmpi.b #$e, ($1,A0)
FA16 | 6710 : beq $fa28
FA18 | 223C xxxx xxxx : move.l #$xxxx, D1
FA1E | 4A85 : tst.l D5
FA20 | 6706 : beq $fa28
FA22 | 6A02 : bpl $fa26
FA24 | 4481 : neg.l D1
FA26 | 2A01 : move.l D1, D5
FA28 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@FA1A = param</action>
</script>
<script state="off">
<action>maincpu.mq@8004 = 2A310000DBA80002</action>
<action>maincpu.mq@800C = 2A310004DBA80006</action>
<action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x00010000">01 (slow)</item>
<item value="0x00058000">02 </item>
<item value="0x000b0000">03 </item>
<item value="0x00108000">04 </item>
<item value="0x00160000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@66F2 = param</action> <!-- normal shot -->
<action>maincpu.md@67AE = param</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.md@66F2 = 00058000</action>
<action>maincpu.md@67AE = 00058000</action>
</script>
</cheat>
<cheat desc="shor hit mark (test)">
<comment>main shot only</comment>
<script state="on">
<action>maincpu.mb@6ADC = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6ADC = 67</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@4BF6 = FA30 </action>
<action>maincpu.mq@FA30 = 41F90006100043F9</action>
<action>maincpu.mq@FA38 = 0007C00B12001039</action>
<action>maincpu.mq@FA40 = 00078001B20067F4</action>
<action>maincpu.mq@FA48 = 0C0000FB66025310</action>
<action>maincpu.mq@FA50 = 0C0000F766025210</action>
<action>maincpu.mq@FA58 = 0C0000FD66040410</action>
<action>maincpu.mq@FA60 = 00100C0000FE6604</action>
<action>maincpu.mq@FA68 = 061000100C0000EF</action>
<action>maincpu.mq@FA70 = 660212900C0000DF</action>
<action>maincpu.mq@FA78 = 660412BC003F60BC</action>
<!--
FA30 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
FA36 | 43F9 0007 C00B : lea $7c00b.l, A1 // sound latch address
FA3C | 1200 : move.b D0, D1
FA3E | 1039 0007 8001 : move.b $78001.l, D0 // read input
FA44 | B200 : cmp.b D0, D1
FA46 | 67F4 : beq $fa3c
FA48 | 0C00 00FB : cmpi.b #-$5, D0
FA4C | 6602 : bne $fa50
FA4E | 5310 : subq.b #1, (A0) // decrease code -01
FA50 | 0C00 00F7 : cmpi.b #-$9, D0
FA54 | 6602 : bne $fa58
FA56 | 5210 : addq.b #1, (A0) // increase code +01
FA58 | 0C00 00FD : cmpi.b #-$3, D0
FA5C | 6604 : bne $fa62
FA5E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FA62 | 0C00 00FE : cmpi.b #-$2, D0
FA66 | 6604 : bne $fa6c
FA68 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FA6C | 0C00 00EF : cmpi.b #-$11, D0
FA70 | 6602 : bne $fa74
FA72 | 1290 : move.b (A0), (A1) // play sound
FA74 | 0C00 00DF : cmpi.b #-$21, D0
FA78 | 6604 : bne $fa7e
FA7A | 12BC 003F : move.b #$3f, (A1) // stop sound
FA7E | 60BC : bra $fa3c
-->
</script>
<script state="run">
<output format="----- terra force 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@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@4BF6 = 77EA </action>
<action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>