Small clean up.
roboarmy.xml
Code: Select all
<!-- Robo Army -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.rq@088B2 = 4EB90002C0F06600</action>
<action>maincpu.rq@2C0F0 = 103C00014A2C00D7</action>
<action>maincpu.rq@2C0F8 = 6A064EB900008F84</action>
<action>maincpu.rq@2C100 = 4A004E75FFFFFFFF</action>
<!--
2C0F0 | 103C 0001 : move.b #$1, D0
2C0F4 | 4A2C 00D7 : tst.b ($d7,A4) // is item?
2C0F8 | 6A06 : bpl $2c100
2C0FA | 4EB9 0000 8F84 : jsr $8f84.l
2C100 | 4A00 : tst.b D0
2C102 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.rq@088B2 = 4EBA06D04A006600</action>
<action>maincpu.rq@2C0F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C0F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C100 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.rq@0C43E = 4EB90002C1104E71</action>
<action>maincpu.rq@0DFD6 = 4EB90002C1104E71</action>
<action>maincpu.rq@2C110 = 102C00E7322DC002</action>
<action>maincpu.rq@2C118 = 02410002660A122C</action>
<action>maincpu.rq@2C120 = 00C0020100108001</action>
<action>maincpu.rq@2C128 = 080000044E75FFFF</action>
<!--
2C110 | 102C 00E7 : move.b ($e7,A4), D0
2C114 | 322D C002 : move.w (-$3ffe,A5), D1 // check internal timer
2C118 | 0241 0002 : andi.w #$2, D1
2C11C | 660A : bne $2c128
2C11E | 122C 00C0 : move.b ($c0,A4), D1 // read input
2C122 | 0201 0010 : andi.b #$10, D1
2C126 | 8001 : or.b D1, D0
2C128 | 0800 0004 : btst #$4, D0
2C12C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.rq@0C43E = 102C00E708000004</action>
<action>maincpu.rq@0DFD6 = 102C00E708000004</action>
<action>maincpu.rq@2C110 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C118 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C120 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C128 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.rb@C425 = 00</action> <!-- back attack -->
<action>maincpu.rb@C495 = 02</action> <!-- weapon attack -->
<action>maincpu.rb@C593 = 00</action> <!-- chop attack -->
<action>maincpu.rb@C5DD = 00</action> <!-- normal attack -->
<action>maincpu.rb@DFBD = 00</action> <!-- back attack (rope) -->
<action>maincpu.rb@DFF1 = 02</action> <!-- normal attack (rope) -->
</script>
<script state="off">
<action>maincpu.rb@C425 = 02</action>
<action>maincpu.rb@C495 = 04</action>
<action>maincpu.rb@C593 = 06</action>
<action>maincpu.rb@C5DD = 03</action>
<action>maincpu.rb@DFBD = 04</action>
<action>maincpu.rb@DFF1 = 04</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00028000">03 </item>
<item value="0x00038000">04 </item>
<item value="0x00048000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.rd@0DD8C = 0002C130 </action>
<action>maincpu.rq@2C130 = 4EB85F32243C0000</action>
<action>maincpu.rq@2C138 = 00004A8067066A02</action>
<action>maincpu.rq@2C140 = 44822002243C0000</action>
<action>maincpu.rq@2C148 = 00004A8167066A02</action>
<action>maincpu.rq@2C150 = 448222024E75FFFF</action>
<!--
2C130 | 4EB8 5F32 : jsr $5f32.w
2C134 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
2C13A | 4A80 : tst.l D0
2C13C | 6706 : beq $2c144
2C13E | 6A02 : bpl $2c142
2C140 | 4482 : neg.l D2
2C142 | 2002 : move.l D2, D0
2C144 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
2C14A | 4A81 : tst.l D1
2C14C | 6706 : beq $2c154
2C14E | 6A02 : bpl $2c152
2C150 | 4482 : neg.l D2
2C152 | 2202 : move.l D2, D1
2C154 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.rd@2C136 = param</action>
<action>maincpu.rd@2C146 = param</action>
</script>
<script state="off">
<action>maincpu.rd@0DD8C = 00005F32 </action>
<action>maincpu.rq@2C130 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C138 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C140 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C148 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C150 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="one hit kill (test)">
<comment>normal punch only</comment>
<script state="on">
<action>maincpu.rq@08784 = 4EB90002C1E0116C</action>
<action>maincpu.rq@2C1E0 = 117CFFFF00C94228</action>
<action>maincpu.rq@2C1E8 = 00D34E75FFFFFFFF</action>
<!--
2C1E0 | 117C FFFF 00C9 : move.b #$ff, ($c9,A0)
2C1E6 | 4228 00D3 : clr.b ($d3,A0)
2C1EA | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.rq@08784 = 117CFFFF00C9116C</action>
<action>maincpu.rq@2C1E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
<!-- valid bank number seems to be 0x00 and 0x08 -->
<script state="on">
<action>maincpu.rb@00FA9 = 02 </action> <!-- enable sound in interrupt -->
<action>maincpu.rq@008EA = 4EF90002C160522D</action>
<action>maincpu.rq@2C160 = 204D43E80001347C</action>
<action>maincpu.rq@2C168 = 6178605E14011239</action>
<action>maincpu.rq@2C170 = 00300000B40167F4</action>
<action>maincpu.rq@2C178 = 0C0100FB66025310</action>
<action>maincpu.rq@2C180 = 0C0100F766025210</action>
<action>maincpu.rq@2C188 = 0C0100FD66040410</action>
<action>maincpu.rq@2C190 = 00100C0100FE6604</action>
<action>maincpu.rq@2C198 = 061000100C0100BB</action>
<action>maincpu.rq@2C1A0 = 660253110C0100B7</action>
<action>maincpu.rq@2C1A8 = 660252110211000F</action>
<action>maincpu.rq@2C1B0 = 0C0100EF660E1011</action>
<action>maincpu.rq@2C1B8 = 6706060000104E92</action>
<action>maincpu.rq@2C1C0 = 10104E920C0100DF</action>
<action>maincpu.rq@2C1C8 = 6612103C00014E92</action>
<action>maincpu.rq@2C1D0 = 103C00034E92103C</action>
<action>maincpu.rq@2C1D8 = 00074E92608EFFFF</action>
<!--
2C160 | 204D : movea.l A5, A0 // sound code address ($108000)
2C162 | 43E8 0001 : lea ($1,A0), A1 // bank address ($108001)
2C166 | 347C 6178 : movea.w #$6178, A2 // sound latch routine address
2C16A | 605E : bra $2c1ca
2C16C | 1401 : move.b D1, D2
2C16E | 1239 0030 0000 : move.b $300000.l, D1 // read input
2C174 | B401 : cmp.b D1, D2
2C176 | 67F4 : beq $2c16c
2C178 | 0C01 00FB : cmpi.b #-$5, D1
2C17C | 6602 : bne $2c180
2C17E | 5310 : subq.b #1, (A0) // decrease code -01
2C180 | 0C01 00F7 : cmpi.b #-$9, D1
2C184 | 6602 : bne $2c188
2C186 | 5210 : addq.b #1, (A0) // increase code +01
2C188 | 0C01 00FD : cmpi.b #-$3, D1
2C18C | 6604 : bne $2c192
2C18E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
2C192 | 0C01 00FE : cmpi.b #-$2, D1
2C196 | 6604 : bne $2c19c
2C198 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2C19C | 0C01 00BB : cmpi.b #-$45, D1
2C1A0 | 6602 : bne $2c1a4
2C1A2 | 5311 : subq.b #1, (A1) // decrease bank -01
2C1A4 | 0C01 00B7 : cmpi.b #-$49, D1
2C1A8 | 6602 : bne $2c1ac
2C1AA | 5211 : addq.b #1, (A1) // increase bank +01
2C1AC | 0211 000F : andi.b #$f, (A1)
2C1B0 | 0C01 00EF : cmpi.b #-$11, D1
2C1B4 | 660E : bne $2c1c4
2C1B6 | 1011 : move.b (A1), D0 // play sound
2C1B8 | 6706 : beq $2c1c0
2C1BA | 0600 0010 : addi.b #$10, D0
2C1BE | 4E92 : jsr (A2)
2C1C0 | 1010 : move.b (A0), D0
2C1C2 | 4E92 : jsr (A2)
2C1C4 | 0C01 00DF : cmpi.b #-$21, D1
2C1C8 | 6612 : bne $2c1dc
2C1CA | 103C 0001 : move.b #$1, D0 // stop sound
2C1CE | 4E92 : jsr (A2)
2C1D0 | 103C 0003 : move.b #$3, D0
2C1D4 | 4E92 : jsr (A2)
2C1D6 | 103C 0007 : move.b #$7, D0
2C1DA | 4E92 : jsr (A2)
2C1DC | 608E : bra $2c16c
-->
</script>
<script state="run">
<output format="----- robo army 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 3 + left : decrease bank -01" line="15" align="center" />
<output format="button 3 + right : increase bank +01" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@108000</argument>
</output>
</script>
<script state="off">
<action>maincpu.rb@00FA9 = 30 </action>
<action>maincpu.rq@008EA = 1B7C0001C010522D</action>
<action>maincpu.rq@2C160 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C168 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C170 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C178 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C180 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C188 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C190 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C198 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action condition="maincpu.rd@c11afc == 3a3c7fff">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
<action condition="maincpu.rd@c10c20 == 3a3c7fff">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
<action condition="maincpu.rd@c10afc == 3a3c7fff">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
<action condition="maincpu.rd@c11ad2 == 3a3c7fff">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
<action condition="maincpu.rd@c11abc == 3a3c7fff">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
<action condition="maincpu.rd@c11c24 == 3a3c7fff">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
<action condition="maincpu.rd@c11ae6 == 3a3c7fff">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
<action condition="maincpu.rd@c11bc6 == 3a3c7fff">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
</script>
<script state="off">
<action>maincpu.rd@temp0 = 3A3C7FFF</action>
</script>
</cheat>
</mamecheat>
roboarmya.xml
Code: Select all
<!-- Robo Army (NGM-032 ~ NGH-032) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.rq@088B2 = 4EB90002C0F06600</action>
<action>maincpu.rq@2C0F0 = 103C00014A2C00D7</action>
<action>maincpu.rq@2C0F8 = 6A064EB900008F84</action>
<action>maincpu.rq@2C100 = 4A004E75FFFFFFFF</action>
<!--
2C0F0 | 103C 0001 : move.b #$1, D0
2C0F4 | 4A2C 00D7 : tst.b ($d7,A4) // is item?
2C0F8 | 6A06 : bpl $2c100
2C0FA | 4EB9 0000 8F84 : jsr $8f84.l
2C100 | 4A00 : tst.b D0
2C102 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.rq@088B2 = 4EBA06D04A006600</action>
<action>maincpu.rq@2C0F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C0F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C100 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.rq@0C43E = 4EB90002C1104E71</action>
<action>maincpu.rq@0DFD6 = 4EB90002C1104E71</action>
<action>maincpu.rq@2C110 = 102C00E7322DC002</action>
<action>maincpu.rq@2C118 = 02410002660A122C</action>
<action>maincpu.rq@2C120 = 00C0020100108001</action>
<action>maincpu.rq@2C128 = 080000044E75FFFF</action>
<!--
2C110 | 102C 00E7 : move.b ($e7,A4), D0
2C114 | 322D C002 : move.w (-$3ffe,A5), D1 // check internal timer
2C118 | 0241 0002 : andi.w #$2, D1
2C11C | 660A : bne $2c128
2C11E | 122C 00C0 : move.b ($c0,A4), D1 // read input
2C122 | 0201 0010 : andi.b #$10, D1
2C126 | 8001 : or.b D1, D0
2C128 | 0800 0004 : btst #$4, D0
2C12C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.rq@0C43E = 102C00E708000004</action>
<action>maincpu.rq@0DFD6 = 102C00E708000004</action>
<action>maincpu.rq@2C110 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C118 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C120 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C128 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.rb@C425 = 00</action> <!-- back attack -->
<action>maincpu.rb@C495 = 02</action> <!-- weapon attack -->
<action>maincpu.rb@C593 = 00</action> <!-- chop attack -->
<action>maincpu.rb@C5DD = 00</action> <!-- normal attack -->
<action>maincpu.rb@DFBD = 00</action> <!-- back attack (rope) -->
<action>maincpu.rb@DFF1 = 02</action> <!-- normal attack (rope) -->
</script>
<script state="off">
<action>maincpu.rb@C425 = 02</action>
<action>maincpu.rb@C495 = 04</action>
<action>maincpu.rb@C593 = 06</action>
<action>maincpu.rb@C5DD = 03</action>
<action>maincpu.rb@DFBD = 04</action>
<action>maincpu.rb@DFF1 = 04</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00028000">03 </item>
<item value="0x00038000">04 </item>
<item value="0x00048000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.rd@0DD8C = 0002C130 </action>
<action>maincpu.rq@2C130 = 4EB85F32243C0000</action>
<action>maincpu.rq@2C138 = 00004A8067066A02</action>
<action>maincpu.rq@2C140 = 44822002243C0000</action>
<action>maincpu.rq@2C148 = 00004A8167066A02</action>
<action>maincpu.rq@2C150 = 448222024E75FFFF</action>
<!--
2C130 | 4EB8 5F32 : jsr $5f32.w
2C134 | 243C xxxx xxxx : move.l #$xxxx, D2 // x position
2C13A | 4A80 : tst.l D0
2C13C | 6706 : beq $2c144
2C13E | 6A02 : bpl $2c142
2C140 | 4482 : neg.l D2
2C142 | 2002 : move.l D2, D0
2C144 | 243C xxxx xxxx : move.l #$xxxx, D2 // y position
2C14A | 4A81 : tst.l D1
2C14C | 6706 : beq $2c154
2C14E | 6A02 : bpl $2c152
2C150 | 4482 : neg.l D2
2C152 | 2202 : move.l D2, D1
2C154 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.rd@2C136 = param</action>
<action>maincpu.rd@2C146 = param</action>
</script>
<script state="off">
<action>maincpu.rd@0DD8C = 00005F32 </action>
<action>maincpu.rq@2C130 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C138 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C140 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C148 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C150 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="one hit kill (test)">
<comment>normal punch only</comment>
<script state="on">
<action>maincpu.rq@08784 = 4EB90002C1E0116C</action>
<action>maincpu.rq@2C1E0 = 117CFFFF00C94228</action>
<action>maincpu.rq@2C1E8 = 00D34E75FFFFFFFF</action>
<!--
2C1E0 | 117C FFFF 00C9 : move.b #$ff, ($c9,A0)
2C1E6 | 4228 00D3 : clr.b ($d3,A0)
2C1EA | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.rq@08784 = 117CFFFF00C9116C</action>
<action>maincpu.rq@2C1E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
<!-- valid bank number seems to be 0x00 and 0x08 -->
<script state="on">
<action>maincpu.rb@00FA9 = 02 </action> <!-- enable sound in interrupt -->
<action>maincpu.rq@008EA = 4EF90002C160522D</action>
<action>maincpu.rq@2C160 = 204D43E80001347C</action>
<action>maincpu.rq@2C168 = 6178605E14011239</action>
<action>maincpu.rq@2C170 = 00300000B40167F4</action>
<action>maincpu.rq@2C178 = 0C0100FB66025310</action>
<action>maincpu.rq@2C180 = 0C0100F766025210</action>
<action>maincpu.rq@2C188 = 0C0100FD66040410</action>
<action>maincpu.rq@2C190 = 00100C0100FE6604</action>
<action>maincpu.rq@2C198 = 061000100C0100BB</action>
<action>maincpu.rq@2C1A0 = 660253110C0100B7</action>
<action>maincpu.rq@2C1A8 = 660252110211000F</action>
<action>maincpu.rq@2C1B0 = 0C0100EF660E1011</action>
<action>maincpu.rq@2C1B8 = 6706060000104E92</action>
<action>maincpu.rq@2C1C0 = 10104E920C0100DF</action>
<action>maincpu.rq@2C1C8 = 6612103C00014E92</action>
<action>maincpu.rq@2C1D0 = 103C00034E92103C</action>
<action>maincpu.rq@2C1D8 = 00074E92608EFFFF</action>
<!--
2C160 | 204D : movea.l A5, A0 // sound code address ($108000)
2C162 | 43E8 0001 : lea ($1,A0), A1 // bank address ($108001)
2C166 | 347C 6178 : movea.w #$6178, A2 // sound latch routine address
2C16A | 605E : bra $2c1ca
2C16C | 1401 : move.b D1, D2
2C16E | 1239 0030 0000 : move.b $300000.l, D1 // read input
2C174 | B401 : cmp.b D1, D2
2C176 | 67F4 : beq $2c16c
2C178 | 0C01 00FB : cmpi.b #-$5, D1
2C17C | 6602 : bne $2c180
2C17E | 5310 : subq.b #1, (A0) // decrease code -01
2C180 | 0C01 00F7 : cmpi.b #-$9, D1
2C184 | 6602 : bne $2c188
2C186 | 5210 : addq.b #1, (A0) // increase code +01
2C188 | 0C01 00FD : cmpi.b #-$3, D1
2C18C | 6604 : bne $2c192
2C18E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
2C192 | 0C01 00FE : cmpi.b #-$2, D1
2C196 | 6604 : bne $2c19c
2C198 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2C19C | 0C01 00BB : cmpi.b #-$45, D1
2C1A0 | 6602 : bne $2c1a4
2C1A2 | 5311 : subq.b #1, (A1) // decrease bank -01
2C1A4 | 0C01 00B7 : cmpi.b #-$49, D1
2C1A8 | 6602 : bne $2c1ac
2C1AA | 5211 : addq.b #1, (A1) // increase bank +01
2C1AC | 0211 000F : andi.b #$f, (A1)
2C1B0 | 0C01 00EF : cmpi.b #-$11, D1
2C1B4 | 660E : bne $2c1c4
2C1B6 | 1011 : move.b (A1), D0 // play sound
2C1B8 | 6706 : beq $2c1c0
2C1BA | 0600 0010 : addi.b #$10, D0
2C1BE | 4E92 : jsr (A2)
2C1C0 | 1010 : move.b (A0), D0
2C1C2 | 4E92 : jsr (A2)
2C1C4 | 0C01 00DF : cmpi.b #-$21, D1
2C1C8 | 6612 : bne $2c1dc
2C1CA | 103C 0001 : move.b #$1, D0 // stop sound
2C1CE | 4E92 : jsr (A2)
2C1D0 | 103C 0003 : move.b #$3, D0
2C1D4 | 4E92 : jsr (A2)
2C1D6 | 103C 0007 : move.b #$7, D0
2C1DA | 4E92 : jsr (A2)
2C1DC | 608E : bra $2c16c
-->
</script>
<script state="run">
<output format="----- robo army 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 3 + left : decrease bank -01" line="15" align="center" />
<output format="button 3 + right : increase bank +01" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@108000</argument>
</output>
</script>
<script state="off">
<action>maincpu.rb@00FA9 = 30 </action>
<action>maincpu.rq@008EA = 1B7C0001C010522D</action>
<action>maincpu.rq@2C160 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C168 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C170 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C178 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C180 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C188 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C190 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C198 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.rq@2C1D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action condition="maincpu.rd@c11afc == 3a3c7fff">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
<action condition="maincpu.rd@c10c20 == 3a3c7fff">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
<action condition="maincpu.rd@c10afc == 3a3c7fff">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
<action condition="maincpu.rd@c11ad2 == 3a3c7fff">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
<action condition="maincpu.rd@c11abc == 3a3c7fff">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
<action condition="maincpu.rd@c11c24 == 3a3c7fff">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
<action condition="maincpu.rd@c11ae6 == 3a3c7fff">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
<action condition="maincpu.rd@c11bc6 == 3a3c7fff">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
</script>
<script state="off">
<action>maincpu.rd@temp0 = 3A3C7FFF</action>
</script>
</cheat>
</mamecheat>