tnextspc.xml
Code: Select all
<!-- The Next Space (set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@146DE = 4EB803D0</action> <!-- enemy -->
<action>maincpu.md@1477C = 4EB803D0</action> <!-- boss -->
<action>maincpu.md@14A94 = 4EB803D0</action> <!-- bullet -->
<!-- check routine -->
<action>maincpu.mq@003D0 = B3FC000722406304</action>
<action>maincpu.mq@003D8 = 4A2900184E75FFFF</action>
<!--
03D0 | B3FC 0007 2240 : cmpa.l #$72240, A1
03D6 | 6304 : bls $3dc
03D8 | 4A29 0018 : tst.b ($18,A1)
03DC | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@146DE = 4A290018 </action>
<action>maincpu.md@1477C = 4A290018 </action>
<action>maincpu.md@14A94 = 4A290018 </action>
<action>maincpu.mq@003D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@003D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- P1 -->
<action>maincpu.mq@01988 = 0828000400294E71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@019AB = 02 </action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@019B0 = 0828000500294E71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- P2 -->
<action>maincpu.mq@019F8 = 0828000400294E71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@01A1B = 02 </action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@01A20 = 0828000500294E71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- sub unit (weapon H) -->
<action>maincpu.mq@165A0 = 0829000500294E71</action> <!-- btst #$5,($29,A1) / nop -->
</script>
<script state="off">
<action>maincpu.mq@01988 = 024000030C400002</action>
<action>maincpu.mb@019AB = 1E </action>
<action>maincpu.mq@019B0 = 024000030C400002</action>
<action>maincpu.mq@01AF8 = 024000030C400002</action>
<action>maincpu.mb@01A1B = 1E </action>
<action>maincpu.mq@01A20 = 024000030C400002</action>
<action>maincpu.mq@165A0 = 024000030C400002</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2C16 = 4EB803E0 </action> <!-- x position -->
<action>maincpu.md@2C20 = 4EB803F0 </action> <!-- y position -->
<action>maincpu.mq@03E0 = 7401103100006706</action>
<action>maincpu.mq@03E8 = 6A02440210024E75</action>
<action>maincpu.mq@03F0 = 7401123110006706</action>
<action>maincpu.mq@03F8 = 6A02440212024E75</action>
<!--
03E0 | 74xx : moveq #$xx, D2 // x position
03E2 | 1031 0000 : move.b (A1,D0.w), D0
03E6 | 6706 : beq $3ee
03E8 | 6A02 : bpl $3ec
03EA | 4402 : neg.b D2
03EC | 1002 : move.b D2, D0
03EE | 4E75 : rts
03F0 | 74xx : moveq #$xx, D2 // y position
03F2 | 1231 1000 : move.b (A1,D1.w), D1
03F6 | 6706 : beq $3fe
03F8 | 6A02 : bpl $3fc
03FA | 4402 : neg.b D2
03FC | 1202 : move.b D2, D1
03FE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@03E1 = param</action>
<action>maincpu.mb@03F1 = param</action>
</script>
<script state="off">
<action>maincpu.md@2C16 = 10310000 </action>
<action>maincpu.md@2C20 = 12311000 </action>
<action>maincpu.mq@03E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x0c">02 </item>
<item value="0x10">03 </item>
<item value="0x14">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12A85 = param</action> <!-- speed -->
<action>maincpu.mb@12A93 = -param</action> <!-- range -->
</script>
<script state="off">
<action>maincpu.mb@12A85 = 0C</action>
<action>maincpu.mb@12A93 = F4</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.mq@0089C = 4EF900019D10303C</action>
<action>maincpu.mq@19D10 = 41F90007000043F9</action>
<action>maincpu.mq@19D18 = 000F000912001039</action>
<action>maincpu.mq@19D20 = 000E0001B20067F4</action>
<action>maincpu.mq@19D28 = 0C0000FB66025310</action>
<action>maincpu.mq@19D30 = 0C0000F766025210</action>
<action>maincpu.mq@19D38 = 0C0000FD66040410</action>
<action>maincpu.mq@19D40 = 00100C0000FE6604</action>
<action>maincpu.mq@19D48 = 061000100C0000EF</action>
<action>maincpu.mq@19D50 = 660212900C0000DF</action>
<action>maincpu.mq@19D58 = 6602421160BEFFFF</action>
<!--
19D10 | 41F9 0007 0000 : lea $70000.l, A0 // sound code address
19D16 | 43F9 000F 0009 : lea $f0009.l, A1 // sound latch address
19D1C | 1200 : move.b D0, D1
19D1E | 1039 000E 0001 : move.b $e0001.l, D0 // read input
19D24 | B200 : cmp.b D0, D1
19D26 | 67F4 : beq $19d1c
19D28 | 0C00 00FB : cmpi.b #-$5, D0
19D2C | 6602 : bne $19d30
19D2E | 5310 : subq.b #1, (A0) // decrase code -01
19D30 | 0C00 00F7 : cmpi.b #-$9, D0
19D34 | 6602 : bne $19d38
19D36 | 5210 : addq.b #1, (A0) // increase code +01
19D38 | 0C00 00FD : cmpi.b #-$3, D0
19D3C | 6604 : bne $19d42
19D3E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
19D42 | 0C00 00FE : cmpi.b #-$2, D0
19D46 | 6604 : bne $19d4c
19D48 | 0610 0010 : addi.b #$10, (A0) // increase code +10
19D4C | 0C00 00EF : cmpi.b #-$11, D0
19D50 | 6602 : bne $19d54
19D52 | 1290 : move.b (A0), (A1) // play sound
19D54 | 0C00 00DF : cmpi.b #-$21, D0
19D58 | 6602 : bne $19d5c
19D5A | 4211 : clr.b (A1) // stop sound
19D5C | 60BE : bra $19d1c
-->
<!-- sound code check routine -->
<action>audiocpu.md@08CB = 00CFF0CD </action>
<action>audiocpu.mq@CFF0 = 5F0000CAA7F8003A</action>
<action>audiocpu.mq@CFF8 = FFFFC97BF11632AF</action>
<!--
CFF0 | 3A 00 F8 : ld a,($F800)
CFF3 | A7 : and a
CFF4 | CA 00 00 : jp z,$0000
CFF7 | 5F : ld e,a
CFF8 | AF : xor a
CFF9 | 32 16 F1 : ld ($F116),a
CFFC | 7B : ld a,e
CFFD | C9 : ret
-->
<!-- sound code flag table -->
<action>audiocpu.mq@1250 = 0200000202000202</action>
<action>audiocpu.mq@1260 = 0002020200000202</action>
<action>audiocpu.mq@1270 = 0200020002000202</action>
</script>
<script state="run">
<output format="----- the next space 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@70000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@0089C = 207C00022336303C</action>
<action> maincpu.mq@19EE0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EE8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EF0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EF8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F00 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F08 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F10 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F18 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F20 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F28 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0CFF0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0CFF8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@01250 = 0202020202020202</action>
<action>audiocpu.mq@01260 = 0202020202020202</action>
<action>audiocpu.mq@01270 = 0202020202020202</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@04AE = 6000018C</action> <!-- skip ram/rom check -->
<action> maincpu.mw@0654 = 0006 </action> <!-- disable wait -->
<action> maincpu.mw@0850 = 0006 </action> <!-- disable wait -->
<action>audiocpu.mw@0C6B = 5518 </action> <!-- skip ram/rom check -->
</script>
<script state="off">
<action> maincpu.md@04AE = 207C0000</action>
<action> maincpu.mw@0654 = FFFC </action>
<action> maincpu.mw@0850 = FFFC </action>
<action>audiocpu.mw@0C6B = 0021 </action>
</script>
</cheat>
</mamecheat>
tnextspc2.xml
Code: Select all
<!-- The Next Space (set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@146DE = 4EB803D0</action> <!-- enemy -->
<action>maincpu.md@1477C = 4EB803D0</action> <!-- boss -->
<action>maincpu.md@14A94 = 4EB803D0</action> <!-- bullet -->
<!-- check routine -->
<action>maincpu.mq@003D0 = B3FC000722406304</action>
<action>maincpu.mq@003D8 = 4A2900184E75FFFF</action>
<!--
03D0 | B3FC 0007 2240 : cmpa.l #$72240, A1
03D6 | 6304 : bls $3dc
03D8 | 4A29 0018 : tst.b ($18,A1)
03DC | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@146DE = 4A290018 </action>
<action>maincpu.md@1477C = 4A290018 </action>
<action>maincpu.md@14A94 = 4A290018 </action>
<action>maincpu.mq@003D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@003D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- P1 -->
<action>maincpu.mq@01988 = 0828000400294E71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@019AB = 02 </action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@019B0 = 0828000500294E71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- P2 -->
<action>maincpu.mq@019F8 = 0828000400294E71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@01A1B = 02 </action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@01A20 = 0828000500294E71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- sub unit (weapon H) -->
<action>maincpu.mq@165A0 = 0829000500294E71</action> <!-- btst #$5,($29,A1) / nop -->
</script>
<script state="off">
<action>maincpu.mq@01988 = 024000030C400002</action>
<action>maincpu.mb@019AB = 1E </action>
<action>maincpu.mq@019B0 = 024000030C400002</action>
<action>maincpu.mq@01AF8 = 024000030C400002</action>
<action>maincpu.mb@01A1B = 1E </action>
<action>maincpu.mq@01A20 = 024000030C400002</action>
<action>maincpu.mq@165A0 = 024000030C400002</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2C16 = 4EB803E0 </action> <!-- x position -->
<action>maincpu.md@2C20 = 4EB803F0 </action> <!-- y position -->
<action>maincpu.mq@03E0 = 7401103100006706</action>
<action>maincpu.mq@03E8 = 6A02440210024E75</action>
<action>maincpu.mq@03F0 = 7401123110006706</action>
<action>maincpu.mq@03F8 = 6A02440212024E75</action>
<!--
03E0 | 74xx : moveq #$xx, D2 // x position
03E2 | 1031 0000 : move.b (A1,D0.w), D0
03E6 | 6706 : beq $3ee
03E8 | 6A02 : bpl $3ec
03EA | 4402 : neg.b D2
03EC | 1002 : move.b D2, D0
03EE | 4E75 : rts
03F0 | 74xx : moveq #$xx, D2 // y position
03F2 | 1231 1000 : move.b (A1,D1.w), D1
03F6 | 6706 : beq $3fe
03F8 | 6A02 : bpl $3fc
03FA | 4402 : neg.b D2
03FC | 1202 : move.b D2, D1
03FE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@03E1 = param</action>
<action>maincpu.mb@03F1 = param</action>
</script>
<script state="off">
<action>maincpu.md@2C16 = 10310000 </action>
<action>maincpu.md@2C20 = 12311000 </action>
<action>maincpu.mq@03E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x0c">02 </item>
<item value="0x10">03 </item>
<item value="0x14">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12A85 = param</action> <!-- speed -->
<action>maincpu.mb@12A93 = -param</action> <!-- range -->
</script>
<script state="off">
<action>maincpu.mb@12A85 = 0C</action>
<action>maincpu.mb@12A93 = F4</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.mq@0089C = 4EF900019D10303C</action>
<action>maincpu.mq@19D10 = 41F90007000043F9</action>
<action>maincpu.mq@19D18 = 000F000912001039</action>
<action>maincpu.mq@19D20 = 000E0001B20067F4</action>
<action>maincpu.mq@19D28 = 0C0000FB66025310</action>
<action>maincpu.mq@19D30 = 0C0000F766025210</action>
<action>maincpu.mq@19D38 = 0C0000FD66040410</action>
<action>maincpu.mq@19D40 = 00100C0000FE6604</action>
<action>maincpu.mq@19D48 = 061000100C0000EF</action>
<action>maincpu.mq@19D50 = 660212900C0000DF</action>
<action>maincpu.mq@19D58 = 6602421160BEFFFF</action>
<!--
19D10 | 41F9 0007 0000 : lea $70000.l, A0 // sound code address
19D16 | 43F9 000F 0009 : lea $f0009.l, A1 // sound latch address
19D1C | 1200 : move.b D0, D1
19D1E | 1039 000E 0001 : move.b $e0001.l, D0 // read input
19D24 | B200 : cmp.b D0, D1
19D26 | 67F4 : beq $19d1c
19D28 | 0C00 00FB : cmpi.b #-$5, D0
19D2C | 6602 : bne $19d30
19D2E | 5310 : subq.b #1, (A0) // decrase code -01
19D30 | 0C00 00F7 : cmpi.b #-$9, D0
19D34 | 6602 : bne $19d38
19D36 | 5210 : addq.b #1, (A0) // increase code +01
19D38 | 0C00 00FD : cmpi.b #-$3, D0
19D3C | 6604 : bne $19d42
19D3E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
19D42 | 0C00 00FE : cmpi.b #-$2, D0
19D46 | 6604 : bne $19d4c
19D48 | 0610 0010 : addi.b #$10, (A0) // increase code +10
19D4C | 0C00 00EF : cmpi.b #-$11, D0
19D50 | 6602 : bne $19d54
19D52 | 1290 : move.b (A0), (A1) // play sound
19D54 | 0C00 00DF : cmpi.b #-$21, D0
19D58 | 6602 : bne $19d5c
19D5A | 4211 : clr.b (A1) // stop sound
19D5C | 60BE : bra $19d1c
-->
<!-- sound code check routine -->
<action>audiocpu.md@08CB = 00CFF0CD </action>
<action>audiocpu.mq@CFF0 = 5F0000CAA7F8003A</action>
<action>audiocpu.mq@CFF8 = FFFFC97BF11632AF</action>
<!--
CFF0 | 3A 00 F8 : ld a,($F800)
CFF3 | A7 : and a
CFF4 | CA 00 00 : jp z,$0000
CFF7 | 5F : ld e,a
CFF8 | AF : xor a
CFF9 | 32 16 F1 : ld ($F116),a
CFFC | 7B : ld a,e
CFFD | C9 : ret
-->
<!-- sound code flag table -->
<action>audiocpu.mq@1250 = 0200000202000202</action>
<action>audiocpu.mq@1260 = 0002020200000202</action>
<action>audiocpu.mq@1270 = 0200020002000202</action>
</script>
<script state="run">
<output format="----- the next space 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@70000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@0089C = 207C00022336303C</action>
<action> maincpu.mq@19EE0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EE8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EF0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EF8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F00 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F08 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F10 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F18 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F20 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F28 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0CFF0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0CFF8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@01250 = 0202020202020202</action>
<action>audiocpu.mq@01260 = 0202020202020202</action>
<action>audiocpu.mq@01270 = 0202020202020202</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@04AE = 6000018C</action> <!-- skip ram/rom check -->
<action> maincpu.mw@0654 = 0006 </action> <!-- disable wait -->
<action> maincpu.mw@0850 = 0006 </action> <!-- disable wait -->
<action>audiocpu.mw@0C6B = 5518 </action> <!-- skip ram/rom check -->
</script>
<script state="off">
<action> maincpu.md@04AE = 207C0000</action>
<action> maincpu.mw@0654 = FFFC </action>
<action> maincpu.mw@0850 = FFFC </action>
<action>audiocpu.mw@0C6B = 0021 </action>
</script>
</cheat>
</mamecheat>
tnextspcj.xml
Code: Select all
<!-- The Next Space (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@148BC = 4EB803D0</action> <!-- enemy -->
<action>maincpu.md@1495A = 4EB803D0</action> <!-- boss -->
<action>maincpu.md@14C72 = 4EB803D0</action> <!-- bullet -->
<!-- check routine -->
<action>maincpu.mq@003D0 = B3FC000722406304</action>
<action>maincpu.mq@003D8 = 4A2900184E75FFFF</action>
<!--
03D0 | B3FC 0007 2240 : cmpa.l #$72240, A1
03D6 | 6304 : bls $3dc
03D8 | 4A29 0018 : tst.b ($18,A1)
03DC | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@148BC = 4A290018 </action>
<action>maincpu.md@1495A = 4A290018 </action>
<action>maincpu.md@14C72 = 4A290018 </action>
<action>maincpu.mq@003D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@003D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- P1 -->
<action>maincpu.mq@019AE = 0828000400294E71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@019D1 = 02 </action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@019D6 = 0828000500294E71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- P2 -->
<action>maincpu.mq@01A1E = 0828000400294E71</action> <!-- btst #$4,($29,A0) / nop -->
<action>maincpu.mb@01A41 = 02 </action> <!-- enable to fire mainshot and subweapon -->
<action>maincpu.mq@01A46 = 0828000500294E71</action> <!-- btst #$5,($29,A0) / nop -->
<!-- sub unit (weapon H) -->
<action>maincpu.mq@1677E = 0829000500294E71</action> <!-- btst #$5,($29,A1) / nop -->
</script>
<script state="off">
<action>maincpu.mq@019AE = 024000030C400002</action>
<action>maincpu.mb@019D1 = 1E </action>
<action>maincpu.mq@019D6 = 024000030C400002</action>
<action>maincpu.mq@01A1E = 024000030C400002</action>
<action>maincpu.mb@01A41 = 1E </action>
<action>maincpu.mq@01A46 = 024000030C400002</action>
<action>maincpu.mq@1677E = 024000030C400002</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2C48 = 4EB803E0 </action> <!-- x position -->
<action>maincpu.md@2C52 = 4EB803F0 </action> <!-- y position -->
<action>maincpu.mq@03E0 = 7401103100006706</action>
<action>maincpu.mq@03E8 = 6A02440210024E75</action>
<action>maincpu.mq@03F0 = 7401123110006706</action>
<action>maincpu.mq@03F8 = 6A02440212024E75</action>
<!--
03E0 | 74xx : moveq #$xx, D2 // x position
03E2 | 1031 0000 : move.b (A1,D0.w), D0
03E6 | 6706 : beq $3ee
03E8 | 6A02 : bpl $3ec
03EA | 4402 : neg.b D2
03EC | 1002 : move.b D2, D0
03EE | 4E75 : rts
03F0 | 74xx : moveq #$xx, D2 // y position
03F2 | 1231 1000 : move.b (A1,D1.w), D1
03F6 | 6706 : beq $3fe
03F8 | 6A02 : bpl $3fc
03FA | 4402 : neg.b D2
03FC | 1202 : move.b D2, D1
03FE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@03E1 = param</action>
<action>maincpu.mb@03F1 = param</action>
</script>
<script state="off">
<action>maincpu.md@2C48 = 10310000 </action>
<action>maincpu.md@2C52 = 12311000 </action>
<action>maincpu.mq@03E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@03F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x0c">02 </item>
<item value="0x10">03 </item>
<item value="0x14">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@12C63 = param</action> <!-- speed -->
<action>maincpu.mb@12C71 = -param</action> <!-- range -->
</script>
<script state="off">
<action>maincpu.mb@12C63 = 0C</action>
<action>maincpu.mb@12C71 = F4</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.mq@0089C = 4EF900019EE0303C</action>
<action>maincpu.mq@19EE0 = 41F90007000043F9</action>
<action>maincpu.mq@19EE8 = 000F000912001039</action>
<action>maincpu.mq@19EF0 = 000E0001B20067F4</action>
<action>maincpu.mq@19EF8 = 0C0000FB66025310</action>
<action>maincpu.mq@19F00 = 0C0000F766025210</action>
<action>maincpu.mq@19F08 = 0C0000FD66040410</action>
<action>maincpu.mq@19F10 = 00100C0000FE6604</action>
<action>maincpu.mq@19F18 = 061000100C0000EF</action>
<action>maincpu.mq@19F20 = 660212900C0000DF</action>
<action>maincpu.mq@19F28 = 6602421160BEFFFF</action>
<!--
19EE0 | 41F9 0007 0000 : lea $70000.l, A0 // sound code address
19EE6 | 43F9 000F 0009 : lea $f0009.l, A1 // sound latch address
19EEC | 1200 : move.b D0, D1
19EEE | 1039 000E 0001 : move.b $e0001.l, D0 // read input
19EF4 | B200 : cmp.b D0, D1
19EF6 | 67F4 : beq $19eec
19EF8 | 0C00 00FB : cmpi.b #-$5, D0
19EFC | 6602 : bne $19f00
19EFE | 5310 : subq.b #1, (A0) // decrease code -01
19F00 | 0C00 00F7 : cmpi.b #-$9, D0
19F04 | 6602 : bne $19f08
19F06 | 5210 : addq.b #1, (A0) // increase code +01
19F08 | 0C00 00FD : cmpi.b #-$3, D0
19F0C | 6604 : bne $19f12
19F0E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
19F12 | 0C00 00FE : cmpi.b #-$2, D0
19F16 | 6604 : bne $19f1c
19F18 | 0610 0010 : addi.b #$10, (A0) // increase code +10
19F1C | 0C00 00EF : cmpi.b #-$11, D0
19F20 | 6602 : bne $19f24
19F22 | 1290 : move.b (A0), (A1) // play sound
19F24 | 0C00 00DF : cmpi.b #-$21, D0
19F28 | 6602 : bne $19f2c
19F2A | 4211 : clr.b (A1) // stop sound
19F2C | 60BE : bra $19eec
-->
<!-- sound code check routine -->
<action>audiocpu.md@08CB = 00CFF0CD </action>
<action>audiocpu.mq@CFF0 = 5F0000CAA7F8003A</action>
<action>audiocpu.mq@CFF8 = FFFFC97BF11632AF</action>
<!--
CFF0 | 3A 00 F8 : ld a,($F800)
CFF3 | A7 : and a
CFF4 | CA 00 00 : jp z,$0000
CFF7 | 5F : ld e,a
CFF8 | AF : xor a
CFF9 | 32 16 F1 : ld ($F116),a
CFFC | 7B : ld a,e
CFFD | C9 : ret
-->
<!-- sound code flag table -->
<action>audiocpu.mq@1250 = 0200000202000202</action>
<action>audiocpu.mq@1260 = 0002020200000202</action>
<action>audiocpu.mq@1270 = 0200020002000202</action>
</script>
<script state="run">
<output format="----- the next space 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@70000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@0089C = 207C0002233C303C</action>
<action> maincpu.mq@19EE0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EE8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EF0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19EF8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F00 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F08 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F10 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F18 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F20 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@19F28 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0CFF0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0CFF8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@01250 = 0202020202020202</action>
<action>audiocpu.mq@01260 = 0202020202020202</action>
<action>audiocpu.mq@01270 = 0202020202020202</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@04AE = 6000018C</action> <!-- skip ram/rom check -->
<action> maincpu.mw@0654 = 0006 </action> <!-- disable wait -->
<action> maincpu.mw@0850 = 0006 </action> <!-- disable wait -->
<action>audiocpu.mw@0C6B = 5518 </action> <!-- skip ram/rom check -->
</script>
<script state="off">
<action> maincpu.md@04AE = 207C0000</action>
<action> maincpu.mw@0654 = FFFC </action>
<action> maincpu.mw@0850 = FFFC </action>
<action>audiocpu.mw@0C6B = 0021 </action>
</script>
</cheat>
</mamecheat>
"sound test mode" : Fixed no sfx stop by sound stop button.