flower.xml
Code: Select all
<!-- Flower (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>mastercpu.mw@0C59 = 7C60 </action> <!-- enemy -->
<action>mastercpu.mw@0C5F = 7C67 </action> <!-- boss -->
<action>mastercpu.mw@0C9A = 7C60 </action> <!-- item -->
<action>mastercpu.mq@7C60 = CDC90CAAC47C6ECD</action>
<action>mastercpu.mq@7C68 = 7DDDC90CDDC47C6E</action>
<action>mastercpu.mq@7C70 = 2B2B7E2323C08BFE</action>
<action>mastercpu.mq@7C78 = 01FEC937AF0328A7</action>
<action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFC9</action>
<!--
7C60 | CD 6E 7C : call $7C6E // enemy, item
7C63 | C4 AA 0C : call nz,$0CAA
7C66 | C9 : ret
7C67 | CD 6E 7C : call $7C6E // boss
7C6A | C4 DD 0C : call nz,$0CDD
7C6D | C9 : ret
7C6E | DD 7D : ld a,ixl // main routine
7C70 | FE 8B : cp $8B
7C72 | C0 : ret nz
7C73 | 23 : inc hl
7C74 | 23 : inc hl
7C75 | 7E : ld a,(hl)
7C76 | 2B : dec hl
7C77 | 2B : dec hl
7C78 | A7 : and a
7C79 | 28 03 : jr z,$7C7E
7C7B | AF : xor a
7C7C | 37 : scf
7C7D | C9 : ret
7C7E | FE 01 : cp $01
7C80 | C9 : ret
-->
</script>
<script state="off">
<action>mastercpu.mw@0C59 = 0CAA </action>
<action>mastercpu.mw@0C5F = 0CDD </action>
<action>mastercpu.mw@0C9A = 0CAA </action>
<action>mastercpu.mq@7C60 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C68 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C70 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C78 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="rapid fire - main shot">
<script state="on">
<action>slavecpu.mb@04A7 = 22</action> <!-- shot -->
<action>slavecpu.mb@04E0 = 22</action> <!-- laser -->
</script>
<script state="off">
<action>slavecpu.mb@04A7 = 21</action>
<action>slavecpu.mb@04E0 = 21</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>slavecpu.md@043B = 262CB0CD </action> <!-- y position -->
<action>slavecpu.md@0449 = 262CB7CD </action> <!-- x position -->
<action>slavecpu.mq@2CB0 = CDC9086EDD2CBECD</action>
<action>slavecpu.mq@2CB8 = A77BC90C6EDD2CBE</action>
<action>slavecpu.mq@2CC0 = 2CCCF2083E0016C8</action>
<action>slavecpu.mq@2CC8 = FFFFC95F44EDFF16</action>
<!--
2CB0 | CD BE 2C : call $2CBE // y position
2CB3 | DD 6E 08 : ld l,(ix+$08)
2CB6 | C9 : ret
2CB7 | CD BE 2C : call $2CBE // x position
2CBA | DD 6E 0C : ld l,(ix+$0c)
2CBD | C9 : ret
2CBE | 7B : ld a,e // main routine
2CBF | A7 : and a
2CC0 | C8 : ret z
2CC1 | 16 00 : ld d,$00
2CC3 | 3E xx : ld a,$xx
2CC5 | F2 CC 2C : jp p,$2CCC
2CC8 | 16 FF : ld d,$FF
2CCA | ED 44 : neg
2CCC | 5F : ld e,a
2CCD | C9 : ret
-->
</script>
<script state="change">
<action>slavecpu.mb@2CC4 = param</action>
</script>
<script state="off">
<action>slavecpu.md@043B = 26086EDD </action>
<action>slavecpu.md@0449 = 260C6EDD </action>
<action>slavecpu.mq@2CB0 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CB8 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CC0 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CC8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>slavecpu.mb@063F = param</action> <!-- player : normal shot -->
<action>slavecpu.mb@0702 = param</action> <!-- player : laser 1 -->
<action>slavecpu.mb@070A = param</action> <!-- player : laser 2 -->
<action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
<action>slavecpu.mb@083D = param</action> <!-- support : laser 1 -->
<action>slavecpu.mb@0845 = param</action> <!-- support : laser 2 -->
</script>
<script state="off">
<action>slavecpu.mb@063F = 04</action>
<action>slavecpu.mb@0702 = 06</action>
<action>slavecpu.mb@070A = 06</action>
<action>slavecpu.mb@0791 = 04</action>
<action>slavecpu.mb@083D = 06</action>
<action>slavecpu.mb@0845 = 06</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mastercpu.mw@009B = 7C90 </action>
<action>mastercpu.mq@7C90 = 47B8A1003AC00021</action>
<action>mastercpu.mq@7C98 = FE350120FBFEF928</action>
<action>mastercpu.mq@7CA0 = 0420FDFE340120F7</action>
<action>mastercpu.mq@7CA8 = 0520FEFE0618F03E</action>
<action>mastercpu.mq@7CB0 = 20EFFE787786103E</action>
<action>mastercpu.mq@7CB8 = 0520DFFE06187E03</action>
<action>mastercpu.mq@7CC0 = FFCC18A40032FF3E</action>
<!--
7C90 | 21 00 C0 : ld hl,$C000 // sound code address
7C93 | 3A 00 A1 : ld a,($A100) // read input
7C96 | B8 : cp b
7C97 | 47 : ld b,a
7C98 | 28 F9 : jr z,$7C93
7C9A | FE FB : cp $FB
7C9C | 20 01 : jr nz,$7C9F
7C9E | 35 : dec (hl) // decrease code -01
7C9F | FE F7 : cp $F7
7CA1 | 20 01 : jr nz,$7CA4
7CA3 | 34 : inc (hl) // increase code +01
7CA4 | FE FD : cp $FD
7CA6 | 20 04 : jr nz,$7CAC
7CA8 | 3E F0 : ld a,$F0 // decrease code -10
7CAA | 18 06 : jr $7CB2
7CAC | FE FE : cp $FE
7CAE | 20 05 : jr nz,$7CB5
7CB0 | 3E 10 : ld a,$10 // increase code +10
7CB2 | 86 : add a,(hl)
7CB3 | 77 : ld (hl),a
7CB4 | 78 : ld a,b
7CB5 | FE EF : cp $EF
7CB7 | 20 03 : jr nz,$7CBC
7CB9 | 7E : ld a,(hl) // play sound
7CBA | 18 06 : jr $7CC2
7CBC | FE DF : cp $DF
7CBE | 20 05 : jr nz,$7CC5
7CC0 | 3E FF : ld a,$FF // stop sound
7CC2 | 32 00 A4 : ld ($A400),a // send sound code
7CC5 | 18 CC : jr $7C93
-->
<action>slavecpu.mb@00B5 = 3A</action> <!-- disable sound from slavecpu -->
</script>
<script state="run">
<output format="----- 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>mastercpu.pb@C000</argument>
</output>
</script>
<script state="off">
<action>mastercpu.mw@009B = 7C00 </action>
<action>mastercpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
<action> slavecpu.mb@00B5 = 32 </action>
</script>
</cheat>
</mamecheat>
flowerj.xml. New flower set will be added in 0.278.
Code: Select all
<!-- Flower (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>mastercpu.mw@0C59 = 7C60 </action> <!-- enemy -->
<action>mastercpu.mw@0C5F = 7C67 </action> <!-- boss -->
<action>mastercpu.mw@0C9A = 7C60 </action> <!-- item -->
<action>mastercpu.mq@7C60 = CDC90CAAC47C6ECD</action>
<action>mastercpu.mq@7C68 = 7DDDC90CDDC47C6E</action>
<action>mastercpu.mq@7C70 = 2B2B7E2323C08BFE</action>
<action>mastercpu.mq@7C78 = 01FEC937AF0328A7</action>
<action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFC9</action>
<!--
7C60 | CD 6E 7C : call $7C6E // enemy, item
7C63 | C4 AA 0C : call nz,$0CAA
7C66 | C9 : ret
7C67 | CD 6E 7C : call $7C6E // boss
7C6A | C4 DD 0C : call nz,$0CDD
7C6D | C9 : ret
7C6E | DD 7D : ld a,ixl // main routine
7C70 | FE 8B : cp $8B
7C72 | C0 : ret nz
7C73 | 23 : inc hl
7C74 | 23 : inc hl
7C75 | 7E : ld a,(hl)
7C76 | 2B : dec hl
7C77 | 2B : dec hl
7C78 | A7 : and a
7C79 | 28 03 : jr z,$7C7E
7C7B | AF : xor a
7C7C | 37 : scf
7C7D | C9 : ret
7C7E | FE 01 : cp $01
7C80 | C9 : ret
-->
</script>
<script state="off">
<action>mastercpu.mw@0C59 = 0CAA </action>
<action>mastercpu.mw@0C5F = 0CDD </action>
<action>mastercpu.mw@0C9A = 0CAA </action>
<action>mastercpu.mq@7C60 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C68 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C70 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C78 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="rapid fire - main shot">
<script state="on">
<action>slavecpu.mb@04A7 = 22</action> <!-- shot -->
<action>slavecpu.mb@04E0 = 22</action> <!-- laser -->
</script>
<script state="off">
<action>slavecpu.mb@04A7 = 21</action>
<action>slavecpu.mb@04E0 = 21</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>slavecpu.md@043B = 262CB0CD </action> <!-- y position -->
<action>slavecpu.md@0449 = 262CB7CD </action> <!-- x position -->
<action>slavecpu.mq@2CB0 = CDC9086EDD2CBECD</action>
<action>slavecpu.mq@2CB8 = A77BC90C6EDD2CBE</action>
<action>slavecpu.mq@2CC0 = 2CCCF2083E0016C8</action>
<action>slavecpu.mq@2CC8 = FFFFC95F44EDFF16</action>
<!--
2CB0 | CD BE 2C : call $2CBE // y position
2CB3 | DD 6E 08 : ld l,(ix+$08)
2CB6 | C9 : ret
2CB7 | CD BE 2C : call $2CBE // x position
2CBA | DD 6E 0C : ld l,(ix+$0c)
2CBD | C9 : ret
2CBE | 7B : ld a,e // main routine
2CBF | A7 : and a
2CC0 | C8 : ret z
2CC1 | 16 00 : ld d,$00
2CC3 | 3E xx : ld a,$xx
2CC5 | F2 CC 2C : jp p,$2CCC
2CC8 | 16 FF : ld d,$FF
2CCA | ED 44 : neg
2CCC | 5F : ld e,a
2CCD | C9 : ret
-->
</script>
<script state="change">
<action>slavecpu.mb@2CC4 = param</action>
</script>
<script state="off">
<action>slavecpu.md@043B = 26086EDD </action>
<action>slavecpu.md@0449 = 260C6EDD </action>
<action>slavecpu.mq@2CB0 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CB8 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CC0 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CC8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>slavecpu.mb@063F = param</action> <!-- player : normal shot -->
<action>slavecpu.mb@0702 = param</action> <!-- player : laser -->
<action>slavecpu.mb@070A = param</action> <!-- player : laser -->
<action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
<action>slavecpu.mb@083D = param</action> <!-- support : laser -->
<action>slavecpu.mb@0845 = param</action> <!-- support : laser -->
</script>
<script state="off">
<action>slavecpu.mb@063F = 04</action>
<action>slavecpu.mb@0702 = 06</action>
<action>slavecpu.mb@070A = 06</action>
<action>slavecpu.mb@0791 = 04</action>
<action>slavecpu.mb@083D = 06</action>
<action>slavecpu.mb@0845 = 06</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mastercpu.mw@009B = 7C90 </action>
<action>mastercpu.mq@7C90 = 47B8A1003AC00021</action>
<action>mastercpu.mq@7C98 = FE350120FBFEF928</action>
<action>mastercpu.mq@7CA0 = 0420FDFE340120F7</action>
<action>mastercpu.mq@7CA8 = 0520FEFE0618F03E</action>
<action>mastercpu.mq@7CB0 = 20EFFE787786103E</action>
<action>mastercpu.mq@7CB8 = 0520DFFE06187E03</action>
<action>mastercpu.mq@7CC0 = FFCC18A40032FF3E</action>
<!--
7C90 | 21 00 C0 : ld hl,$C000 // sound code address
7C93 | 3A 00 A1 : ld a,($A100) // read input
7C96 | B8 : cp b
7C97 | 47 : ld b,a
7C98 | 28 F9 : jr z,$7C93
7C9A | FE FB : cp $FB
7C9C | 20 01 : jr nz,$7C9F
7C9E | 35 : dec (hl) // decrease code -01
7C9F | FE F7 : cp $F7
7CA1 | 20 01 : jr nz,$7CA4
7CA3 | 34 : inc (hl) // increase code +01
7CA4 | FE FD : cp $FD
7CA6 | 20 04 : jr nz,$7CAC
7CA8 | 3E F0 : ld a,$F0 // decrease code -10
7CAA | 18 06 : jr $7CB2
7CAC | FE FE : cp $FE
7CAE | 20 05 : jr nz,$7CB5
7CB0 | 3E 10 : ld a,$10 // increase code +10
7CB2 | 86 : add a,(hl)
7CB3 | 77 : ld (hl),a
7CB4 | 78 : ld a,b
7CB5 | FE EF : cp $EF
7CB7 | 20 03 : jr nz,$7CBC
7CB9 | 7E : ld a,(hl) // play sound
7CBA | 18 06 : jr $7CC2
7CBC | FE DF : cp $DF
7CBE | 20 05 : jr nz,$7CC5
7CC0 | 3E FF : ld a,$FF // stop sound
7CC2 | 32 00 A4 : ld ($A400),a // send sound code
7CC5 | 18 CC : jr $7C93
-->
<action>slavecpu.mb@00B5 = 3A</action> <!-- disable sound from slavecpu -->
</script>
<script state="run">
<output format="----- 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>mastercpu.pb@C000</argument>
</output>
</script>
<script state="off">
<action>mastercpu.mw@009B = 7C00 </action>
<action>mastercpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
<action> slavecpu.mb@00B5 = 32 </action>
</script>
</cheat>
</mamecheat>
flowerjb.xml. Old flower set will be renamed to flowerjb in 0.278.
Code: Select all
<!-- Flower (Japan, bootleg?) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>mastercpu.mw@0C59 = 7C60 </action> <!-- enemy -->
<action>mastercpu.mw@0C5F = 7C67 </action> <!-- boss -->
<action>mastercpu.mw@0C9A = 7C60 </action> <!-- item -->
<action>mastercpu.mq@7C60 = CDC90CAAC47C6ECD</action>
<action>mastercpu.mq@7C68 = 7DDDC90CDDC47C6E</action>
<action>mastercpu.mq@7C70 = 2B2B7E2323C08BFE</action>
<action>mastercpu.mq@7C78 = 01FEC937AF0328A7</action>
<action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFC9</action>
<!--
7C60 | CD 6E 7C : call $7C6E // enemy, item
7C63 | C4 AA 0C : call nz,$0CAA
7C66 | C9 : ret
7C67 | CD 6E 7C : call $7C6E // boss
7C6A | C4 DD 0C : call nz,$0CDD
7C6D | C9 : ret
7C6E | DD 7D : ld a,ixl // main routine
7C70 | FE 8B : cp $8B
7C72 | C0 : ret nz
7C73 | 23 : inc hl
7C74 | 23 : inc hl
7C75 | 7E : ld a,(hl)
7C76 | 2B : dec hl
7C77 | 2B : dec hl
7C78 | A7 : and a
7C79 | 28 03 : jr z,$7C7E
7C7B | AF : xor a
7C7C | 37 : scf
7C7D | C9 : ret
7C7E | FE 01 : cp $01
7C80 | C9 : ret
-->
</script>
<script state="off">
<action>mastercpu.mw@0C59 = 0CAA </action>
<action>mastercpu.mw@0C5F = 0CDD </action>
<action>mastercpu.mw@0C9A = 0CAA </action>
<action>mastercpu.mq@7C60 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C68 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C70 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C78 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="rapid fire - main shot">
<script state="on">
<action>slavecpu.mb@04A7 = 22</action> <!-- shot -->
<action>slavecpu.mb@04E0 = 22</action> <!-- laser -->
</script>
<script state="off">
<action>slavecpu.mb@04A7 = 21</action>
<action>slavecpu.mb@04E0 = 21</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>slavecpu.md@043B = 262CB0CD </action> <!-- y position -->
<action>slavecpu.md@0449 = 262CB7CD </action> <!-- x position -->
<action>slavecpu.mq@2CB0 = CDC9086EDD2CBECD</action>
<action>slavecpu.mq@2CB8 = A77BC90C6EDD2CBE</action>
<action>slavecpu.mq@2CC0 = 2CCCF2083E0016C8</action>
<action>slavecpu.mq@2CC8 = FFFFC95F44EDFF16</action>
<!--
2CB0 | CD BE 2C : call $2CBE // y position
2CB3 | DD 6E 08 : ld l,(ix+$08)
2CB6 | C9 : ret
2CB7 | CD BE 2C : call $2CBE // x position
2CBA | DD 6E 0C : ld l,(ix+$0c)
2CBD | C9 : ret
2CBE | 7B : ld a,e // main routine
2CBF | A7 : and a
2CC0 | C8 : ret z
2CC1 | 16 00 : ld d,$00
2CC3 | 3E xx : ld a,$xx
2CC5 | F2 CC 2C : jp p,$2CCC
2CC8 | 16 FF : ld d,$FF
2CCA | ED 44 : neg
2CCC | 5F : ld e,a
2CCD | C9 : ret
-->
</script>
<script state="change">
<action>slavecpu.mb@2CC4 = param</action>
</script>
<script state="off">
<action>slavecpu.md@043B = 26086EDD </action>
<action>slavecpu.md@0449 = 260C6EDD </action>
<action>slavecpu.mq@2CB0 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CB8 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CC0 = FFFFFFFFFFFFFFFF</action>
<action>slavecpu.mq@2CC8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>slavecpu.mb@063F = param</action> <!-- player : normal shot -->
<action>slavecpu.mb@0702 = param</action> <!-- player : laser 1 -->
<action>slavecpu.mb@070A = param</action> <!-- player : laser 2 -->
<action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
<action>slavecpu.mb@083D = param</action> <!-- support : laser 1 -->
<action>slavecpu.mb@0845 = param</action> <!-- support : laser 2 -->
</script>
<script state="off">
<action>slavecpu.mb@063F = 04</action>
<action>slavecpu.mb@0702 = 06</action>
<action>slavecpu.mb@070A = 06</action>
<action>slavecpu.mb@0791 = 04</action>
<action>slavecpu.mb@083D = 06</action>
<action>slavecpu.mb@0845 = 06</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mastercpu.mw@009B = 7C90 </action>
<action>mastercpu.mq@7C90 = 47B8A1003AC00021</action>
<action>mastercpu.mq@7C98 = FE350120FBFEF928</action>
<action>mastercpu.mq@7CA0 = 0420FDFE340120F7</action>
<action>mastercpu.mq@7CA8 = 0520FEFE0618F03E</action>
<action>mastercpu.mq@7CB0 = 20EFFE787786103E</action>
<action>mastercpu.mq@7CB8 = 0520DFFE06187E03</action>
<action>mastercpu.mq@7CC0 = FFCC18A40032FF3E</action>
<!--
7C90 | 21 00 C0 : ld hl,$C000 // sound code address
7C93 | 3A 00 A1 : ld a,($A100) // read input
7C96 | B8 : cp b
7C97 | 47 : ld b,a
7C98 | 28 F9 : jr z,$7C93
7C9A | FE FB : cp $FB
7C9C | 20 01 : jr nz,$7C9F
7C9E | 35 : dec (hl) // decrease code -01
7C9F | FE F7 : cp $F7
7CA1 | 20 01 : jr nz,$7CA4
7CA3 | 34 : inc (hl) // increase code +01
7CA4 | FE FD : cp $FD
7CA6 | 20 04 : jr nz,$7CAC
7CA8 | 3E F0 : ld a,$F0 // decrease code -10
7CAA | 18 06 : jr $7CB2
7CAC | FE FE : cp $FE
7CAE | 20 05 : jr nz,$7CB5
7CB0 | 3E 10 : ld a,$10 // increase code +10
7CB2 | 86 : add a,(hl)
7CB3 | 77 : ld (hl),a
7CB4 | 78 : ld a,b
7CB5 | FE EF : cp $EF
7CB7 | 20 03 : jr nz,$7CBC
7CB9 | 7E : ld a,(hl) // play sound
7CBA | 18 06 : jr $7CC2
7CBC | FE DF : cp $DF
7CBE | 20 05 : jr nz,$7CC5
7CC0 | 3E FF : ld a,$FF // stop sound
7CC2 | 32 00 A4 : ld ($A400),a // send sound code
7CC5 | 18 CC : jr $7C93
-->
<action>slavecpu.mb@00B5 = 3A</action> <!-- disable sound from slavecpu -->
</script>
<script state="run">
<output format="----- 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>mastercpu.pb@C000</argument>
</output>
</script>
<script state="off">
<action>mastercpu.mw@009B = 7C00 </action>
<action>mastercpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
<action>mastercpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
<action> slavecpu.mb@00B5 = 32 </action>
</script>
</cheat>
</mamecheat>