gyrodine.xml
Code: Select all
<!-- Gyrodine -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@17EE = 18</action>
</script>
<script state="off">
<action>maincpu.mb@17EE = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@0FE7 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@0FE7 = 08</action>
</script>
</cheat>
<cheat desc="player speed (test)">
<comment>scroll speed doesn't change</comment>
<parameter>
<item value="0x0040">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0100">03 </item>
<item value="0x0200">04 </item>
<item value="0x0300">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@0D99 = -param</action> <!-- left -->
<action>maincpu.mw@0DAA = param</action> <!-- right -->
<action>maincpu.mw@0DC1 = param</action> <!-- up -->
<action>maincpu.mw@0DD3 = -param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mw@0D99 = FF80</action>
<action>maincpu.mw@0DAA = 0080</action>
<action>maincpu.mw@0DC1 = 0040</action>
<action>maincpu.mw@0DD3 = FF80</action>
</script>
</cheat>
<cheat desc="secret character finder">
<script state="on">
<action>maincpu.md@2AAE = 007F83CD </action>
<action>maincpu.mq@7F83 = DD043060FE017EDD</action>
<action>maincpu.mq@7F8B = C95609CBDD9609CB</action>
<!--
7F83 | DD 7E 01 : ld a,(ix+$01) // check y position
7F86 | FE 60 : cp $60
7F88 | 30 04 : jr nc,$7F8E
7F8A | DD CB 09 96 : res 2,(ix+$09) // find secret character
7F8E | DD CB 09 56 : bit 2,(ix+$09)
7F92 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2AAE = 5609CBDD </action>
<action>maincpu.mq@7F83 = 40C67B23127E0A06</action>
<action>maincpu.mq@7F8B = 21F3105700CE7A5F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom error" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@006F = 15 </action> <!-- disable credit display in v-blank -->
<action>maincpu.mq@06AE = FE7C230036900021</action>
<action>maincpu.mq@06B6 = 033AF10121F82098</action>
<action>maincpu.mq@06BE = 2001FE2BC877BEF0</action>
<action>maincpu.mq@06C6 = 4734012002FE3501</action>
<action>maincpu.mq@06CE = 0618F03E042008FE</action>
<action>maincpu.mq@06D6 = 7786103E052004FE</action>
<action>maincpu.mq@06DE = 05187E032010FE78</action>
<action>maincpu.mq@06E6 = F00032F23EC020FE</action>
<action>maincpu.mq@06EE = 2010017E70CD00C9</action>
<!--
06AE | 21 00 90 : ld hl,$9000 // message clear
06B1 | 36 00 : ld (hl),$00
06B3 | 23 : inc hl
06B4 | 7C : ld a,h
06B5 | FE 98 : cp $98
06B7 | 20 F8 : jr nz,$06B1
06B9 | 21 01 F1 : ld hl,$F101 // temporary input address
06BC | 3A 03 F0 : ld a,($F003) // read input
06BF | BE : cp (hl)
06C0 | 77 : ld (hl),a
06C1 | C8 : ret z
06C2 | 2B : dec hl // sound code address ($f200)
06C3 | FE 01 : cp $01
06C5 | 20 01 : jr nz,$06C8
06C7 | 35 : dec (hl) // decrease code -01
06C8 | FE 02 : cp $02
06CA | 20 01 : jr nz,$06CD
06CC | 34 : inc (hl) // increase code +01
06CD | 47 : ld b,a
06CE | FE 08 : cp $08
06D0 | 20 04 : jr nz,$06D6
06D2 | 3E F0 : ld a,$F0 // decrease code -10
06D4 | 18 06 : jr $06DC
06D6 | FE 04 : cp $04
06D8 | 20 05 : jr nz,$06DF
06DA | 3E 10 : ld a,$10 // increase code +10
06DC | 86 : add a,(hl)
06DD | 77 : ld (hl),a
06DE | 78 : ld a,b
06DF | FE 10 : cp $10
06E1 | 20 03 : jr nz,$06E6
06E3 | 7E : ld a,(hl) // play sound
06E4 | 18 05 : jr $06EB
06E6 | FE 20 : cp $20
06E8 | C0 : ret nz
06E9 | 3E F2 : ld a,$F2 // stop sound
06EB | 32 00 F0 : ld ($F000),a // send sound code
06EE | C9 : ret
-->
</script>
<script state="run">
<output format="----- gyrodine 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease 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@F100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@006F = 05 </action>
<action>maincpu.mq@06AE = 3AD0300F7EF7B021</action>
<action>maincpu.mq@06B6 = F34821ED20B7F34D</action>
<action>maincpu.mq@06BE = B7F0023A0E30077E</action>
<action>maincpu.mq@06C6 = 030021076FCD0828</action>
<action>maincpu.mq@06CE = 380FC841E67ECC18</action>
<action>maincpu.mq@06D6 = 7ECBE1076FCDE550</action>
<action>maincpu.mq@06DE = CDAF96CBB6CBB520</action>
<action>maincpu.mq@06E6 = 053007F34A3A7E70</action>
<action>maincpu.mq@06EE = 2010017E70CD023E</action>
</script>
</cheat>
<cheat desc="skip rom error">
<script state="on">
<action>maincpu.mb@7F4D = 00</action>
<action> sub.mb@1E03 = 00</action>
</script>
<script state="off">
<action>maincpu.md@7F4D = 2A</action>
<action> sub.mb@1E03 = 05</action>
</script>
</cheat>
</mamecheat>
gyrodinet.xml
Code: Select all
<!-- Gyrodine (Taito Corporation license) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@17EE = 18</action>
</script>
<script state="off">
<action>maincpu.mb@17EE = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@0FE7 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@0FE7 = 08</action>
</script>
</cheat>
<cheat desc="player speed (test)">
<comment>scroll speed doesn't change</comment>
<parameter>
<item value="0x0040">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0100">03 </item>
<item value="0x0200">04 </item>
<item value="0x0300">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@0D99 = -param</action> <!-- left -->
<action>maincpu.mw@0DAA = param</action> <!-- right -->
<action>maincpu.mw@0DC1 = param</action> <!-- up -->
<action>maincpu.mw@0DD3 = -param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mw@0D99 = FF80</action>
<action>maincpu.mw@0DAA = 0080</action>
<action>maincpu.mw@0DC1 = 0040</action>
<action>maincpu.mw@0DD3 = FF80</action>
</script>
</cheat>
<cheat desc="secret character finder">
<script state="on">
<action>maincpu.md@2AAE = 007F83CD </action>
<action>maincpu.mq@7F83 = DD043060FE017EDD</action>
<action>maincpu.mq@7F8B = C95609CBDD9609CB</action>
<!--
7F83 | DD 7E 01 : ld a,(ix+$01) // check y position
7F86 | FE 60 : cp $60
7F88 | 30 04 : jr nc,$7F8E
7F8A | DD CB 09 96 : res 2,(ix+$09) // find secret character
7F8E | DD CB 09 56 : bit 2,(ix+$09)
7F92 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2AAE = 5609CBDD </action>
<action>maincpu.mq@7F83 = 40C67B23127E0A06</action>
<action>maincpu.mq@7F8B = 21F3105700CE7A5F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom error" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@006F = 15 </action> <!-- disable credit display in v-blank -->
<action>maincpu.mq@06AE = FE7C230036900021</action>
<action>maincpu.mq@06B6 = 033AF10121F82098</action>
<action>maincpu.mq@06BE = 2001FE2BC877BEF0</action>
<action>maincpu.mq@06C6 = 4734012002FE3501</action>
<action>maincpu.mq@06CE = 0618F03E042008FE</action>
<action>maincpu.mq@06D6 = 7786103E052004FE</action>
<action>maincpu.mq@06DE = 05187E032010FE78</action>
<action>maincpu.mq@06E6 = F00032F23EC020FE</action>
<action>maincpu.mq@06EE = 2010017E70CD00C9</action>
<!--
06AE | 21 00 90 : ld hl,$9000 // message clear
06B1 | 36 00 : ld (hl),$00
06B3 | 23 : inc hl
06B4 | 7C : ld a,h
06B5 | FE 98 : cp $98
06B7 | 20 F8 : jr nz,$06B1
06B9 | 21 01 F1 : ld hl,$F101 // temporary input address
06BC | 3A 03 F0 : ld a,($F003) // read input
06BF | BE : cp (hl)
06C0 | 77 : ld (hl),a
06C1 | C8 : ret z
06C2 | 2B : dec hl // sound code address ($f200)
06C3 | FE 01 : cp $01
06C5 | 20 01 : jr nz,$06C8
06C7 | 35 : dec (hl) // decrease code -01
06C8 | FE 02 : cp $02
06CA | 20 01 : jr nz,$06CD
06CC | 34 : inc (hl) // increase code +01
06CD | 47 : ld b,a
06CE | FE 08 : cp $08
06D0 | 20 04 : jr nz,$06D6
06D2 | 3E F0 : ld a,$F0 // decrease code -10
06D4 | 18 06 : jr $06DC
06D6 | FE 04 : cp $04
06D8 | 20 05 : jr nz,$06DF
06DA | 3E 10 : ld a,$10 // increase code +10
06DC | 86 : add a,(hl)
06DD | 77 : ld (hl),a
06DE | 78 : ld a,b
06DF | FE 10 : cp $10
06E1 | 20 03 : jr nz,$06E6
06E3 | 7E : ld a,(hl) // play sound
06E4 | 18 05 : jr $06EB
06E6 | FE 20 : cp $20
06E8 | C0 : ret nz
06E9 | 3E F2 : ld a,$F2 // stop sound
06EB | 32 00 F0 : ld ($F000),a // send sound code
06EE | C9 : ret
-->
</script>
<script state="run">
<output format="----- gyrodine 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease 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@F100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@006F = 05 </action>
<action>maincpu.mq@06AE = 3AD0300F7EF7B021</action>
<action>maincpu.mq@06B6 = F34821ED20B7F34D</action>
<action>maincpu.mq@06BE = B7F0023A0E30077E</action>
<action>maincpu.mq@06C6 = 030021076FCD0828</action>
<action>maincpu.mq@06CE = 380FC841E67ECC18</action>
<action>maincpu.mq@06D6 = 7ECBE1076FCDE550</action>
<action>maincpu.mq@06DE = CDAF96CBB6CBB520</action>
<action>maincpu.mq@06E6 = 053007F34A3A7E70</action>
<action>maincpu.mq@06EE = 2010017E70CD023E</action>
</script>
</cheat>
<cheat desc="skip rom error">
<script state="on">
<action>maincpu.mb@7F4D = 00</action>
<action> sub.mb@1E03 = 00</action>
</script>
<script state="off">
<action>maincpu.md@7F4D = 2A</action>
<action> sub.mb@1E03 = 05</action>
</script>
</cheat>
</mamecheat>
buzzard.xml
Code: Select all
<!-- Buzzard -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@17EE = 18</action>
</script>
<script state="off">
<action>maincpu.mb@17EE = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@0FE7 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@0FE7 = 08</action>
</script>
</cheat>
<cheat desc="player speed (test)">
<comment>scroll speed doesn't change</comment>
<parameter>
<item value="0x0040">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0100">03 </item>
<item value="0x0200">04 </item>
<item value="0x0300">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@0D99 = -param</action> <!-- left -->
<action>maincpu.mw@0DAA = param</action> <!-- right -->
<action>maincpu.mw@0DC1 = param</action> <!-- up -->
<action>maincpu.mw@0DD3 = -param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mw@0D99 = FF80</action>
<action>maincpu.mw@0DAA = 0080</action>
<action>maincpu.mw@0DC1 = 0040</action>
<action>maincpu.mw@0DD3 = FF80</action>
</script>
</cheat>
<cheat desc="secret character finder">
<script state="on">
<action>maincpu.md@2AAE = 007F83CD </action>
<action>maincpu.mq@7F83 = DD043060FE017EDD</action>
<action>maincpu.mq@7F8B = C95609CBDD9609CB</action>
<!--
7F83 | DD 7E 01 : ld a,(ix+$01) // check y position
7F86 | FE 60 : cp $60
7F88 | 30 04 : jr nc,$7F8E
7F8A | DD CB 09 96 : res 2,(ix+$09) // find secret character
7F8E | DD CB 09 56 : bit 2,(ix+$09)
7F92 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2AAE = 5609CBDD </action>
<action>maincpu.mq@7F83 = 40C67B23127E0A06</action>
<action>maincpu.mq@7F8B = 21F3105700CE7A5F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom error" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@006F = 15 </action> <!-- disable credit display in v-blank -->
<action>maincpu.mq@06AE = FE7C230036900021</action>
<action>maincpu.mq@06B6 = 033AF10121F82098</action>
<action>maincpu.mq@06BE = 2001FE2BC877BEF0</action>
<action>maincpu.mq@06C6 = 4734012002FE3501</action>
<action>maincpu.mq@06CE = 0618F03E042008FE</action>
<action>maincpu.mq@06D6 = 7786103E052004FE</action>
<action>maincpu.mq@06DE = 05187E032010FE78</action>
<action>maincpu.mq@06E6 = F00032F23EC020FE</action>
<action>maincpu.mq@06EE = 2010017E70CD00C9</action>
<!--
06AE | 21 00 90 : ld hl,$9000 // message clear
06B1 | 36 00 : ld (hl),$00
06B3 | 23 : inc hl
06B4 | 7C : ld a,h
06B5 | FE 98 : cp $98
06B7 | 20 F8 : jr nz,$06B1
06B9 | 21 01 F1 : ld hl,$F101 // temporary input address
06BC | 3A 03 F0 : ld a,($F003) // read input
06BF | BE : cp (hl)
06C0 | 77 : ld (hl),a
06C1 | C8 : ret z
06C2 | 2B : dec hl // sound code address ($f200)
06C3 | FE 01 : cp $01
06C5 | 20 01 : jr nz,$06C8
06C7 | 35 : dec (hl) // decrease code -01
06C8 | FE 02 : cp $02
06CA | 20 01 : jr nz,$06CD
06CC | 34 : inc (hl) // increase code +01
06CD | 47 : ld b,a
06CE | FE 08 : cp $08
06D0 | 20 04 : jr nz,$06D6
06D2 | 3E F0 : ld a,$F0 // decrease code -10
06D4 | 18 06 : jr $06DC
06D6 | FE 04 : cp $04
06D8 | 20 05 : jr nz,$06DF
06DA | 3E 10 : ld a,$10 // increase code +10
06DC | 86 : add a,(hl)
06DD | 77 : ld (hl),a
06DE | 78 : ld a,b
06DF | FE 10 : cp $10
06E1 | 20 03 : jr nz,$06E6
06E3 | 7E : ld a,(hl) // play sound
06E4 | 18 05 : jr $06EB
06E6 | FE 20 : cp $20
06E8 | C0 : ret nz
06E9 | 3E F2 : ld a,$F2 // stop sound
06EB | 32 00 F0 : ld ($F000),a // send sound code
06EE | C9 : ret
-->
</script>
<script state="run">
<output format="----- buzzard 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease 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@F100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@006F = 05 </action>
<action>maincpu.mq@06AE = 3AD0300F7EF7B021</action>
<action>maincpu.mq@06B6 = F34821ED20B7F34D</action>
<action>maincpu.mq@06BE = B7F0023A0E30077E</action>
<action>maincpu.mq@06C6 = 030021076FCD0828</action>
<action>maincpu.mq@06CE = 380FC841E67ECC18</action>
<action>maincpu.mq@06D6 = 7ECBE1076FCDE550</action>
<action>maincpu.mq@06DE = CDAF96CBB6CBB520</action>
<action>maincpu.mq@06E6 = 053007F34A3A7E70</action>
<action>maincpu.mq@06EE = 2010017E70CD023E</action>
</script>
</cheat>
<cheat desc="skip rom error">
<script state="on">
<action>maincpu.mb@7F4D = 00</action>
<action> sub.mb@1E03 = 00</action>
</script>
<script state="off">
<action>maincpu.md@7F4D = 2A</action>
<action> sub.mb@1E03 = 05</action>
</script>
</cheat>
</mamecheat>