Code: Select all
<!-- Goindol (World) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@255D = 42C3272BCDC12321</action>
<action>maincpu.mq@2565 = 2131F6CD1C3E0026</action>
<!--
255D | 21 23 C1 : ld hl,$C123
2560 | CD 2B 27 : call $272B
2563 | C3 42 26 : jp $2642
2566 | 00 : nop
-->
</script>
<script state="off">
<action>maincpu.mq@255D = 32013EC11432023E</action>
<action>maincpu.mq@2565 = 2131F6CD1C3EC168</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@33BF = 00</action>
</script>
<script state="off">
<action>maincpu.mb@33BF = 2F</action>
</script>
</cheat>
<cheat desc="ball 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@02549 = DD8EF0CD </action> <!-- x position -->
<action>maincpu.md@02552 = DD8EF9CD </action> <!-- y position -->
<action>maincpu.mq@14EF0 = 808F02CD047EDD47</action>
<action>maincpu.mq@14EF8 = 8F02CD037EDD47C9</action>
<action>maincpu.mq@14F00 = EDF0003EC8A7C980</action>
<action>maincpu.mq@14F08 = 000000000000C944</action>
<!--
8EF0 | 47 : ld b,a // x-position
8EF1 | DD 7E 04 : ld a,(ix+$04)
8EF4 | CD 02 8F : call $8F02
8EF7 | 80 : add a,b
8EF8 | C9 : ret
8EF9 | 47 : ld b,a // y-position
8EFA | DD 7E 03 : ld a,(ix+$03)
8EFD | CD 02 8F : call $8F02
8F00 | 80 : add a,b
8F01 | C9 : ret
8F02 | A7 : and a
8F03 | C8 : ret z
8F04 | 3E xx : ld a,$xx
8F06 | F0 : ret p
8F07 | ED 44 : neg
8F09 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@14F05 = param</action>
</script>
<script state="off">
<action>maincpu.md@02549 = DD0486DD </action>
<action>maincpu.md@02552 = DD0386DD </action>
<action>maincpu.mq@14EF0 = 0000000000000000</action>
<action>maincpu.mq@14EF8 = 0000000000000000</action>
<action>maincpu.mq@14F00 = 0000000000000000</action>
<action>maincpu.mq@14F08 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="ball power-up">
<script state="on">
<action>maincpu.mb@2C41 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2C41 = 13</action>
</script>
</cheat>
<cheat desc="shot">
<script state="on">
<action>maincpu.mb@33AF = B7</action>
</script>
<script state="off">
<action>maincpu.mb@33AF = EF</action>
</script>
</cheat>
<cheat desc="timer speed in bonus stage">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0B9F = param</action>
</script>
<script state="off">
<action>maincpu.mb@0B9F = 3F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@01670 = B720C3C81032033E</action>
<action>maincpu.mq@1F720 = 47B8C8303AC10021</action>
<action>maincpu.mq@1F728 = FE350120FBFEF928</action>
<action>maincpu.mq@1F730 = 0420FDFE340120F7</action>
<action>maincpu.mq@1F738 = 0520FEFE0618F03E</action>
<action>maincpu.mq@1F740 = 20EFFE787786103E</action>
<action>maincpu.mq@1F748 = 0520DFFE06187E03</action>
<action>maincpu.mq@1F750 = 00CC18C800320F3E</action>
<!--
1670 | 3E 03 : ld a,$03
1672 | 32 10 C8 : ld ($C810),a // set bank
1675 | C3 20 B7 : jp $B720
===============================
B720 | 21 00 C1 : ld hl,$C100 // sound code address
B723 | 3A 30 C8 : ld a,($C830) // read input
B726 | B8 : cp b
B727 | 47 : ld b,a
B728 | 28 F9 : jr z,$B723
B72A | FE FB : cp $FB
B72C | 20 01 : jr nz,$B72F
B72E | 35 : dec (hl) // decrease code -01
B72F | FE F7 : cp $F7
B731 | 20 01 : jr nz,$B734
B733 | 34 : inc (hl) // increase code +01
B734 | FE FD : cp $FD
B736 | 20 04 : jr nz,$B73C
B738 | 3E F0 : ld a,$F0 // decrease code -10
B73A | 18 06 : jr $B742
B73C | FE FE : cp $FE
B73E | 20 05 : jr nz,$B745
B740 | 3E 10 : ld a,$10 // increase coee +10
B742 | 86 : add a,(hl)
B743 | 77 : ld (hl),a
B744 | 78 : ld a,b
B745 | FE EF : cp $EF
B747 | 20 03 : jr nz,$B74C
B749 | 7E : ld a,(hl) // play sound
B74A | 18 06 : jr $B752
B74C | FE DF : cp $DF
B74E | 20 05 : jr nz,$B755
B750 | 3E 0F : ld a,$0F // stop sound
B752 | 32 00 C8 : ld ($C800),a // send sound code
B755 | 18 CC : jr $B723
-->
</script>
<script state="run">
<output format="----- goindol 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@01670 = 1EC3D805FEC16C3A</action>
<action>maincpu.mq@1F720 = 0000000000000000</action>
<action>maincpu.mq@1F728 = 0000000000000000</action>
<action>maincpu.mq@1F730 = 0000000000000000</action>
<action>maincpu.mq@1F738 = 0000000000000000</action>
<action>maincpu.mq@1F740 = 0000000000000000</action>
<action>maincpu.mq@1F748 = 0000000000000000</action>
<action>maincpu.mq@1F750 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@218D = D3</action>
</script>
<script state="off">
<action>maincpu.mb@218D = D4</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Goindol (US) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@255D = 42C3272BCDC12321</action>
<action>maincpu.mq@2565 = 2131F6CD1C3E0026</action>
<!--
255D | 21 23 C1 : ld hl,$C123
2560 | CD 2B 27 : call $272B
2563 | C3 42 26 : jp $2642
2566 | 00 : nop
-->
</script>
<script state="off">
<action>maincpu.mq@255D = 32013EC11432023E</action>
<action>maincpu.mq@2565 = 2131F6CD1C3EC168</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@33BF = 00</action>
</script>
<script state="off">
<action>maincpu.mb@33BF = 2F</action>
</script>
</cheat>
<cheat desc="ball 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@02549 = DD8EF0CD </action> <!-- x position -->
<action>maincpu.md@02552 = DD8EF9CD </action> <!-- y position -->
<action>maincpu.mq@14EF0 = 808F02CD047EDD47</action>
<action>maincpu.mq@14EF8 = 8F02CD037EDD47C9</action>
<action>maincpu.mq@14F00 = EDF0003EC8A7C980</action>
<action>maincpu.mq@14F08 = 000000000000C944</action>
<!--
8EF0 | 47 : ld b,a // x-position
8EF1 | DD 7E 04 : ld a,(ix+$04)
8EF4 | CD 02 8F : call $8F02
8EF7 | 80 : add a,b
8EF8 | C9 : ret
8EF9 | 47 : ld b,a // y-position
8EFA | DD 7E 03 : ld a,(ix+$03)
8EFD | CD 02 8F : call $8F02
8F00 | 80 : add a,b
8F01 | C9 : ret
8F02 | A7 : and a
8F03 | C8 : ret z
8F04 | 3E xx : ld a,$xx
8F06 | F0 : ret p
8F07 | ED 44 : neg
8F09 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@14F05 = param</action>
</script>
<script state="off">
<action>maincpu.md@02549 = DD0486DD </action>
<action>maincpu.md@02552 = DD0386DD </action>
<action>maincpu.mq@14EF0 = 0000000000000000</action>
<action>maincpu.mq@14EF8 = 0000000000000000</action>
<action>maincpu.mq@14F00 = 0000000000000000</action>
<action>maincpu.mq@14F08 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="ball power-up">
<script state="on">
<action>maincpu.mb@2C41 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2C41 = 13</action>
</script>
</cheat>
<cheat desc="shot">
<script state="on">
<action>maincpu.mb@33AF = B7</action>
</script>
<script state="off">
<action>maincpu.mb@33AF = EF</action>
</script>
</cheat>
<cheat desc="timer speed in bonus stage">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0B9F = param</action>
</script>
<script state="off">
<action>maincpu.mb@0B9F = 3F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@01670 = b720c3c81032033e</action>
<action>maincpu.mq@1f720 = 47b8c8303ac10021</action>
<action>maincpu.mq@1f728 = fe350120fbfef928</action>
<action>maincpu.mq@1f730 = 0420fdfe340120f7</action>
<action>maincpu.mq@1f738 = 0520fefe0618f03e</action>
<action>maincpu.mq@1f740 = 20effe787786103e</action>
<action>maincpu.mq@1f748 = 0520dffe06187e03</action>
<action>maincpu.mq@1f750 = 00cc18c800320f3e</action>
<!--
1670 | 3E 03 : ld a,$03
1672 | 32 10 C8 : ld ($C810),a // set bank
1675 | C3 20 B7 : jp $B720
===============================
B720 | 21 00 C1 : ld hl,$C100 // sound code address
B723 | 3A 30 C8 : ld a,($C830) // read input
B726 | B8 : cp b
B727 | 47 : ld b,a
B728 | 28 F9 : jr z,$B723
B72A | FE FB : cp $FB
B72C | 20 01 : jr nz,$B72F
B72E | 35 : dec (hl) // decrease code -01
B72F | FE F7 : cp $F7
B731 | 20 01 : jr nz,$B734
B733 | 34 : inc (hl) // increase code +01
B734 | FE FD : cp $FD
B736 | 20 04 : jr nz,$B73C
B738 | 3E F0 : ld a,$F0 // decrease code -10
B73A | 18 06 : jr $B742
B73C | FE FE : cp $FE
B73E | 20 05 : jr nz,$B745
B740 | 3E 10 : ld a,$10 // increase coee +10
B742 | 86 : add a,(hl)
B743 | 77 : ld (hl),a
B744 | 78 : ld a,b
B745 | FE EF : cp $EF
B747 | 20 03 : jr nz,$B74C
B749 | 7E : ld a,(hl) // play sound
B74A | 18 06 : jr $B752
B74C | FE DF : cp $DF
B74E | 20 05 : jr nz,$B755
B750 | 3E 0F : ld a,$0F // stop sound
B752 | 32 00 C8 : ld ($C800),a // send sound code
B755 | 18 CC : jr $B723
-->
</script>
<script state="run">
<output format="----- goindol 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@01670 = 1EC3D805FEC16C3A</action>
<action>maincpu.mq@1F720 = 0000000000000000</action>
<action>maincpu.mq@1F728 = 0000000000000000</action>
<action>maincpu.mq@1F730 = 0000000000000000</action>
<action>maincpu.mq@1F738 = 0000000000000000</action>
<action>maincpu.mq@1F740 = 0000000000000000</action>
<action>maincpu.mq@1F748 = 0000000000000000</action>
<action>maincpu.mq@1F750 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@218D = D3</action>
</script>
<script state="off">
<action>maincpu.mb@218D = D4</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Goindol (Japan) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@255D = 42C3272BCDC12321</action>
<action>maincpu.mq@2565 = 2131F6CD1C3E0026</action>
<!--
255D | 21 23 C1 : ld hl,$C123
2560 | CD 2B 27 : call $272B
2563 | C3 42 26 : jp $2642
2566 | 00 : nop
-->
</script>
<script state="off">
<action>maincpu.mq@255D = 32013EC11432023E</action>
<action>maincpu.mq@2565 = 2131F6CD1C3EC168</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@33BF = 00</action>
</script>
<script state="off">
<action>maincpu.mb@33BF = 2F</action>
</script>
</cheat>
<cheat desc="ball 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@02549 = DD8EF0CD </action> <!-- x position -->
<action>maincpu.md@02552 = DD8EF9CD </action> <!-- y position -->
<action>maincpu.mq@14EF0 = 808F02CD047EDD47</action>
<action>maincpu.mq@14EF8 = 8F02CD037EDD47C9</action>
<action>maincpu.mq@14F00 = EDF0003EC8A7C980</action>
<action>maincpu.mq@14F08 = 000000000000C944</action>
<!--
8EF0 | 47 : ld b,a // x-position
8EF1 | DD 7E 04 : ld a,(ix+$04)
8EF4 | CD 02 8F : call $8F02
8EF7 | 80 : add a,b
8EF8 | C9 : ret
8EF9 | 47 : ld b,a // y-position
8EFA | DD 7E 03 : ld a,(ix+$03)
8EFD | CD 02 8F : call $8F02
8F00 | 80 : add a,b
8F01 | C9 : ret
8F02 | A7 : and a
8F03 | C8 : ret z
8F04 | 3E xx : ld a,$xx
8F06 | F0 : ret p
8F07 | ED 44 : neg
8F09 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@14F05 = param</action>
</script>
<script state="off">
<action>maincpu.md@02549 = DD0486DD </action>
<action>maincpu.md@02552 = DD0386DD </action>
<action>maincpu.mq@14EF0 = 0000000000000000</action>
<action>maincpu.mq@14EF8 = 0000000000000000</action>
<action>maincpu.mq@14F00 = 0000000000000000</action>
<action>maincpu.mq@14F08 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="ball power-up">
<script state="on">
<action>maincpu.mb@2C41 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2C41 = 13</action>
</script>
</cheat>
<cheat desc="shot">
<script state="on">
<action>maincpu.mb@33AF = B7</action>
</script>
<script state="off">
<action>maincpu.mb@33AF = EF</action>
</script>
</cheat>
<cheat desc="timer speed in bonus stage">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0B9F = param</action>
</script>
<script state="off">
<action>maincpu.mb@0B9F = 3F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@01670 = B720C3C81032033E</action>
<action>maincpu.mq@1F720 = 47B8C8303AC10021</action>
<action>maincpu.mq@1F728 = FE350120FBFEF928</action>
<action>maincpu.mq@1F730 = 0420FDFE340120F7</action>
<action>maincpu.mq@1F738 = 0520FEFE0618F03E</action>
<action>maincpu.mq@1F740 = 20EFFE787786103E</action>
<action>maincpu.mq@1F748 = 0520DFFE06187E03</action>
<action>maincpu.mq@1F750 = 00CC18C800320F3E</action>
<!--
1670 | 3E 03 : ld a,$03
1672 | 32 10 C8 : ld ($C810),a // set bank
1675 | C3 20 B7 : jp $B720
===============================
B720 | 21 00 C1 : ld hl,$C100 // sound code address
B723 | 3A 30 C8 : ld a,($C830) // read input
B726 | B8 : cp b
B727 | 47 : ld b,a
B728 | 28 F9 : jr z,$B723
B72A | FE FB : cp $FB
B72C | 20 01 : jr nz,$B72F
B72E | 35 : dec (hl) // decrease code -01
B72F | FE F7 : cp $F7
B731 | 20 01 : jr nz,$B734
B733 | 34 : inc (hl) // increase code +01
B734 | FE FD : cp $FD
B736 | 20 04 : jr nz,$B73C
B738 | 3E F0 : ld a,$F0 // decrease code -10
B73A | 18 06 : jr $B742
B73C | FE FE : cp $FE
B73E | 20 05 : jr nz,$B745
B740 | 3E 10 : ld a,$10 // increase coee +10
B742 | 86 : add a,(hl)
B743 | 77 : ld (hl),a
B744 | 78 : ld a,b
B745 | FE EF : cp $EF
B747 | 20 03 : jr nz,$B74C
B749 | 7E : ld a,(hl) // play sound
B74A | 18 06 : jr $B752
B74C | FE DF : cp $DF
B74E | 20 05 : jr nz,$B755
B750 | 3E 0F : ld a,$0F // stop sound
B752 | 32 00 C8 : ld ($C800),a // send sound code
B755 | 18 CC : jr $B723
-->
</script>
<script state="run">
<output format="----- goindol 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@01670 = 1EC3D805FEC16C3A</action>
<action>maincpu.mq@1F720 = 0000000000000000</action>
<action>maincpu.mq@1F728 = 0000000000000000</action>
<action>maincpu.mq@1F730 = 0000000000000000</action>
<action>maincpu.mq@1F738 = 0000000000000000</action>
<action>maincpu.mq@1F740 = 0000000000000000</action>
<action>maincpu.mq@1F748 = 0000000000000000</action>
<action>maincpu.mq@1F750 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@218D = D3</action>
</script>
<script state="off">
<action>maincpu.mb@218D = D4</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Homo -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@255D = 42C3272BCDC12321</action>
<action>maincpu.mq@2565 = 2131F6CD1C3E0026</action>
<!--
255D | 21 23 C1 : ld hl,$C123
2560 | CD 2B 27 : call $272B
2563 | C3 42 26 : jp $2642
2566 | 00 : nop
-->
</script>
<script state="off">
<action>maincpu.mq@255D = 32013EC11432023E</action>
<action>maincpu.mq@2565 = 2131F6CD1C3EC168</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@33BF = 00</action>
</script>
<script state="off">
<action>maincpu.mb@33BF = 2F</action>
</script>
</cheat>
<cheat desc="ball 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@02549 = DD8EF0CD </action> <!-- x position -->
<action>maincpu.md@02552 = DD8EF9CD </action> <!-- y position -->
<action>maincpu.mq@14EF0 = 808F02CD047EDD47</action>
<action>maincpu.mq@14EF8 = 8F02CD037EDD47C9</action>
<action>maincpu.mq@14F00 = EDF0003EC8A7C980</action>
<action>maincpu.mq@14F08 = 000000000000C944</action>
<!--
8EF0 | 47 : ld b,a // x-position
8EF1 | DD 7E 04 : ld a,(ix+$04)
8EF4 | CD 02 8F : call $8F02
8EF7 | 80 : add a,b
8EF8 | C9 : ret
8EF9 | 47 : ld b,a // y-position
8EFA | DD 7E 03 : ld a,(ix+$03)
8EFD | CD 02 8F : call $8F02
8F00 | 80 : add a,b
8F01 | C9 : ret
8F02 | A7 : and a
8F03 | C8 : ret z
8F04 | 3E xx : ld a,$xx
8F06 | F0 : ret p
8F07 | ED 44 : neg
8F09 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@14F05 = param</action>
</script>
<script state="off">
<action>maincpu.md@02549 = DD0486DD </action>
<action>maincpu.md@02552 = DD0386DD </action>
<action>maincpu.mq@14EF0 = 0000000000000000</action>
<action>maincpu.mq@14EF8 = 0000000000000000</action>
<action>maincpu.mq@14F00 = 0000000000000000</action>
<action>maincpu.mq@14F08 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="ball power-up">
<script state="on">
<action>maincpu.mb@2C41 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2C41 = 13</action>
</script>
</cheat>
<cheat desc="shot">
<script state="on">
<action>maincpu.mb@33AF = B7</action>
</script>
<script state="off">
<action>maincpu.mb@33AF = EF</action>
</script>
</cheat>
<cheat desc="timer speed in bonus stage">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0B9F = param</action>
</script>
<script state="off">
<action>maincpu.mb@0B9F = 3F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@01670 = B720C3C81032033E</action>
<action>maincpu.mq@1F720 = 47B8C8303AC10021</action>
<action>maincpu.mq@1F728 = FE350120FBFEF928</action>
<action>maincpu.mq@1F730 = 0420FDFE340120F7</action>
<action>maincpu.mq@1F738 = 0520FEFE0618F03E</action>
<action>maincpu.mq@1F740 = 20EFFE787786103E</action>
<action>maincpu.mq@1F748 = 0520DFFE06187E03</action>
<action>maincpu.mq@1F750 = 00CC18C800320F3E</action>
<!--
1670 | 3E 03 : ld a,$03
1672 | 32 10 C8 : ld ($C810),a // set bank
1675 | C3 20 B7 : jp $B720
===============================
B720 | 21 00 C1 : ld hl,$C100 // sound code address
B723 | 3A 30 C8 : ld a,($C830) // read input
B726 | B8 : cp b
B727 | 47 : ld b,a
B728 | 28 F9 : jr z,$B723
B72A | FE FB : cp $FB
B72C | 20 01 : jr nz,$B72F
B72E | 35 : dec (hl) // decrease code -01
B72F | FE F7 : cp $F7
B731 | 20 01 : jr nz,$B734
B733 | 34 : inc (hl) // increase code +01
B734 | FE FD : cp $FD
B736 | 20 04 : jr nz,$B73C
B738 | 3E F0 : ld a,$F0 // decrease code -10
B73A | 18 06 : jr $B742
B73C | FE FE : cp $FE
B73E | 20 05 : jr nz,$B745
B740 | 3E 10 : ld a,$10 // increase coee +10
B742 | 86 : add a,(hl)
B743 | 77 : ld (hl),a
B744 | 78 : ld a,b
B745 | FE EF : cp $EF
B747 | 20 03 : jr nz,$B74C
B749 | 7E : ld a,(hl) // play sound
B74A | 18 06 : jr $B752
B74C | FE DF : cp $DF
B74E | 20 05 : jr nz,$B755
B750 | 3E 0F : ld a,$0F // stop sound
B752 | 32 00 C8 : ld ($C800),a // send sound code
B755 | 18 CC : jr $B723
-->
</script>
<script state="run">
<output format="----- homo 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@01670 = 1EC3D805FEC16C3A</action>
<action>maincpu.mq@1F720 = 0000000000000000</action>
<action>maincpu.mq@1F728 = 0000000000000000</action>
<action>maincpu.mq@1F730 = 0000000000000000</action>
<action>maincpu.mq@1F738 = 0000000000000000</action>
<action>maincpu.mq@1F740 = 0000000000000000</action>
<action>maincpu.mq@1F748 = 0000000000000000</action>
<action>maincpu.mq@1F750 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@218D = D3</action>
</script>
<script state="off">
<action>maincpu.mb@218D = D4</action>
</script>
</cheat>
</mamecheat>