airwolf.xml
Code: Select all
<!-- Airwolf -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@24C0 = BE</action> <!-- human -->
<action>maincpu.mb@24E2 = 10</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mb@24C0 = FE</action>
<action>maincpu.mb@24E2 = 09</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1C21 = 96</action>
</script>
<script state="off">
<action>maincpu.mb@1C21 = D6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x00c0">02 </item>
<item value="0x01c0">03 </item>
<item value="0x02c0">04 </item>
<item value="0x03c0">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@1C9F = param</action> <!-- up -->
<action>maincpu.mw@1CA4 = -param</action> <!-- down -->
<action>maincpu.mw@1D14 = -param</action> <!-- right -->
<action>maincpu.mw@1D19 = param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mw@1C9F = 00C0</action>
<action>maincpu.mw@1CA4 = FF40</action>
<action>maincpu.mw@1D14 = FF40</action>
<action>maincpu.mw@1D19 = 00C0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x09">03 </item>
<item value="0x0c">04 </item>
<item value="0x0f">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@203E = -param</action>
</script>
<script state="off">
<action>maincpu.mb@203E = FA</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mw@1C80 = 0918</action> <!-- y position -->
<action>maincpu.mw@1D03 = 0918</action> <!-- x position -->
</script>
<script state="off">
<action>maincpu.mw@1C80 = 2420</action>
<action>maincpu.mw@1D03 = 1620</action>
</script>
</cheat>
<cheat desc="sub weapon">
<parameter>
<item value="0x3a1fbfc3">vulcan </item>
<item value="0x3a2073c3">missile</item>
</parameter>
<script state="on">
<action>maincpu.mb@1FAE = B0</action>
</script>
<script state="change">
<action>maincpu.md@1FBC = param</action>
</script>
<script state="off">
<action>maincpu.mb@1FAE = C6 </action>
<action>maincpu.md@1FBC = 3A2073CA</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@00A9 = 00A8 </action> <!-- disable main cpu -->
<action> sub.md@00A9 = CD74F0C3 </action>
<action> sub.mq@74F0 = B8800E3A810021FB</action>
<action> sub.mq@74F8 = 35012001FEF92847</action>
<action> sub.mq@7500 = 2008FE34012002FE</action>
<action> sub.mq@7508 = 2004FE0618F03E04</action>
<action> sub.mq@7510 = 10FE787786103E05</action>
<action> sub.mq@7518 = FE788036327E0520</action>
<action> sub.mq@7520 = 1CFBCDD9AF062020</action>
<action> sub.mq@7528 = FFFFFFFFFFC918D9</action>
<!--
74F0 | FB : ei // enable interrput
74F1 | 21 00 81 : ld hl,$8100 // sound code address
74F4 | 3A 0E 80 : ld a,($800E) // read input
74F7 | B8 : cp b
74F8 | 47 : ld b,a
74F9 | 28 F9 : jr z,$74F4
74FB | FE 01 : cp $01
74FD | 20 01 : jr nz,$7500
74FF | 35 : dec (hl) // decrease code -01
7500 | FE 02 : cp $02
7502 | 20 01 : jr nz,$7505
7504 | 34 : inc (hl) // increase code +01
7505 | FE 08 : cp $08
7507 | 20 04 : jr nz,$750D
7509 | 3E F0 : ld a,$F0 // decrease code -10
750B | 18 06 : jr $7513
750D | FE 04 : cp $04
750F | 20 05 : jr nz,$7516
7511 | 3E 10 : ld a,$10 // increase code +10
7513 | 86 : add a,(hl)
7514 | 77 : ld (hl),a
7515 | 78 : ld a,b
7516 | FE 10 : cp $10
7518 | 20 05 : jr nz,$751F
751A | 7E : ld a,(hl) // play sound
751B | 32 36 80 : ld ($8036),a
751E | 78 : ld a,b
751F | FE 20 : cp $20
7521 | 20 06 : jr nz,$7529
7523 | AF : xor a // stop sound
7524 | D9 : exx
7525 | CD FB 1C : call $1CFB // send sound code
7528 | D9 : exx
7529 | 18 C9 : jr $74F4
-->
</script>
<script state="run">
<output format="----- airwolf 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>sub.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@00A9 = 01AA </action>
<action> sub.md@00A9 = CD4818FB </action>
<action> sub.mq@74F0 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@74F8 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7500 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7508 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7510 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7518 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7520 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7528 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
airwolfa.xml
Code: Select all
<!-- Airwolf (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@251E = BE</action> <!-- human -->
<action>maincpu.mb@2540 = 10</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mb@251E = FE</action>
<action>maincpu.mb@2540 = 09</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1C7F = 96</action>
</script>
<script state="off">
<action>maincpu.mb@1C7F = D6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x00c0">02 </item>
<item value="0x01c0">03 </item>
<item value="0x02c0">04 </item>
<item value="0x03c0">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@1CFD = param</action> <!-- up -->
<action>maincpu.mw@1D02 = -param</action> <!-- down -->
<action>maincpu.mw@1D72 = -param</action> <!-- right -->
<action>maincpu.mw@1D77 = param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mw@1CFD = 00C0</action>
<action>maincpu.mw@1D02 = FF40</action>
<action>maincpu.mw@1D72 = FF40</action>
<action>maincpu.mw@1D77 = 00C0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x09">03 </item>
<item value="0x0c">04 </item>
<item value="0x0f">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@209C = -param</action>
</script>
<script state="off">
<action>maincpu.mb@209C = FA</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mw@1CDE = 0918</action> <!-- y position -->
<action>maincpu.mw@1D61 = 0918</action> <!-- x position -->
</script>
<script state="off">
<action>maincpu.mw@1CDE = 2420</action>
<action>maincpu.mw@1D61 = 1620</action>
</script>
</cheat>
<cheat desc="sub weapon">
<parameter>
<item value="0x3a201dc3">vulcan </item>
<item value="0x3a20d1c3">missile</item>
</parameter>
<script state="on">
<action>maincpu.mb@200C = 0E</action>
</script>
<script state="change">
<action>maincpu.md@201A = param</action>
</script>
<script state="off">
<action>maincpu.mb@200C = 24 </action>
<action>maincpu.md@201A = 3A20D1CA</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@00A9 = 00A8 </action> <!-- disable main cpu -->
<action> sub.md@00A9 = CD74F0C3 </action>
<action> sub.mq@74F0 = B8800E3A810021FB</action>
<action> sub.mq@74F8 = 35012001FEF92847</action>
<action> sub.mq@7500 = 2008FE34012002FE</action>
<action> sub.mq@7508 = 2004FE0618F03E04</action>
<action> sub.mq@7510 = 10FE787786103E05</action>
<action> sub.mq@7518 = FE788036327E0520</action>
<action> sub.mq@7520 = 1CFBCDD9AF062020</action>
<action> sub.mq@7528 = FFFFFFFFFFC918D9</action>
<!--
74F0 | FB : ei // enable interrput
74F1 | 21 00 81 : ld hl,$8100 // sound code address
74F4 | 3A 0E 80 : ld a,($800E) // read input
74F7 | B8 : cp b
74F8 | 47 : ld b,a
74F9 | 28 F9 : jr z,$74F4
74FB | FE 01 : cp $01
74FD | 20 01 : jr nz,$7500
74FF | 35 : dec (hl) // decrease code -01
7500 | FE 02 : cp $02
7502 | 20 01 : jr nz,$7505
7504 | 34 : inc (hl) // increase code +01
7505 | FE 08 : cp $08
7507 | 20 04 : jr nz,$750D
7509 | 3E F0 : ld a,$F0 // decrease code -10
750B | 18 06 : jr $7513
750D | FE 04 : cp $04
750F | 20 05 : jr nz,$7516
7511 | 3E 10 : ld a,$10 // increase code +10
7513 | 86 : add a,(hl)
7514 | 77 : ld (hl),a
7515 | 78 : ld a,b
7516 | FE 10 : cp $10
7518 | 20 05 : jr nz,$751F
751A | 7E : ld a,(hl) // play sound
751B | 32 36 80 : ld ($8036),a
751E | 78 : ld a,b
751F | FE 20 : cp $20
7521 | 20 06 : jr nz,$7529
7523 | AF : xor a // stop sound
7524 | D9 : exx
7525 | CD FB 1C : call $1CFB // send sound code
7528 | D9 : exx
7529 | 18 C9 : jr $74F4
-->
</script>
<script state="run">
<output format="----- airwolf 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>sub.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@00A9 = 01AA </action>
<action> sub.md@00A9 = CD4818FB </action>
<action> sub.mq@74F0 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@74F8 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7500 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7508 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7510 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7518 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7520 = FFFFFFFFFFFFFFFF</action>
<action> sub.mq@7528 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
skywolf.xml
Code: Select all
<!-- Sky Wolf (set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2492 = BE</action> <!-- human -->
<action>maincpu.mb@24B4 = 10</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mb@2492 = FE</action>
<action>maincpu.mb@24B4 = 09</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1BF3 = 96</action>
</script>
<script state="off">
<action>maincpu.mb@1BF3 = D6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x00c0">02 </item>
<item value="0x01c0">03 </item>
<item value="0x02c0">04 </item>
<item value="0x03c0">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@1C71 = param</action> <!-- up -->
<action>maincpu.mw@1C76 = -param</action> <!-- down -->
<action>maincpu.mw@1CE6 = -param</action> <!-- right -->
<action>maincpu.mw@1CEB = param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mw@1C71 = 00C0</action>
<action>maincpu.mw@1C76 = FF40</action>
<action>maincpu.mw@1CE6 = FF40</action>
<action>maincpu.mw@1CEB = 00C0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x09">03 </item>
<item value="0x0c">04 </item>
<item value="0x0f">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@2010 = -param</action>
</script>
<script state="off">
<action>maincpu.mb@2010 = FA</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mw@1C52 = 0918</action> <!-- y position -->
<action>maincpu.mw@1CD5 = 0918</action> <!-- x position -->
</script>
<script state="off">
<action>maincpu.mw@1C52 = 2420</action>
<action>maincpu.mw@1CD5 = 1620</action>
</script>
</cheat>
<cheat desc="sub weapon">
<parameter>
<item value="0x3a1f91c3">vulcan </item>
<item value="0x3a2045c3">missile</item>
</parameter>
<script state="on">
<action>maincpu.mb@1F80 = 82</action>
</script>
<script state="change">
<action>maincpu.md@1F8E = param</action>
</script>
<script state="off">
<action>maincpu.mb@1F80 = 98 </action>
<action>maincpu.md@1F8E = 3A2045CA</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@00A9 = 00A8 </action> <!-- disable main cpu -->
<action> sub.md@00A9 = CD8200C3</action>
</script>
<script state="run">
<action>sub.pq@8200 = B8800E3A810021FB</action>
<action>sub.pq@8208 = 35012001FEF92847</action>
<action>sub.pq@8210 = 2008FE34012002FE</action>
<action>sub.pq@8218 = 2004FE0618F03E04</action>
<action>sub.pq@8220 = 10FE787786103E05</action>
<action>sub.pq@8228 = FE788036327E0520</action>
<action>sub.pq@8230 = 1D0DCDD9AF062020</action>
<action>sub.pq@8238 = 0000000000C918D9</action>
<!--
8200 | FB : ei // enable interrput
8201 | 21 00 81 : ld hl,$8100 // sound code address
8204 | 3A 0E 80 : ld a,($800E) // read input
8207 | B8 : cp b
8208 | 47 : ld b,a
8209 | 28 F9 : jr z,$8204
820B | FE 01 : cp $01
820D | 20 01 : jr nz,$8210
820F | 35 : dec (hl) // decrease code -01
8210 | FE 02 : cp $02
8212 | 20 01 : jr nz,$8215
8214 | 34 : inc (hl) // increase code +01
8215 | FE 08 : cp $08
8217 | 20 04 : jr nz,$821D
8219 | 3E F0 : ld a,$F0 // decrease code -10
821B | 18 06 : jr $8223
821D | FE 04 : cp $04
821F | 20 05 : jr nz,$8226
8221 | 3E 10 : ld a,$10 // increase code +10
8223 | 86 : add a,(hl)
8224 | 77 : ld (hl),a
8225 | 78 : ld a,b
8226 | FE 10 : cp $10
8228 | 20 05 : jr nz,$822F
822A | 7E : ld a,(hl) // play sound
822B | 32 36 80 : ld ($8036),a
822E | 78 : ld a,b
822F | FE 20 : cp $20
8231 | 20 06 : jr nz,$8239
8233 | AF : xor a // stop sound
8234 | D9 : exx
8235 | CD 0D 1D : call $1D0D // send sound code
8238 | D9 : exx
8239 | 18 C9 : jr $8204
-->
<output format="----- sky wolf 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>sub.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@00A9 = 01AA </action>
<action> sub.md@00A9 = CD4818FB </action>
<action> sub.pq@8200 = 0000000000000000</action>
<action> sub.pq@8208 = 0000000000000000</action>
<action> sub.pq@8210 = 0000000000000000</action>
<action> sub.pq@8218 = 0000000000000000</action>
<action> sub.pq@8220 = 0000000000000000</action>
<action> sub.pq@8228 = 0000000000000000</action>
<action> sub.pq@8230 = 0000000000000000</action>
<action> sub.pq@8238 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
skywolf2.xml
Code: Select all
<!-- Sky Wolf (set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2487 = BE</action> <!-- human -->
<action>maincpu.mb@24A9 = 10</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mb@2487 = FE</action>
<action>maincpu.mb@24A9 = 09</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1BE8 = 96</action>
</script>
<script state="off">
<action>maincpu.mb@1BE8 = D6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x00c0">02 </item>
<item value="0x01c0">03 </item>
<item value="0x02c0">04 </item>
<item value="0x03c0">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@1C66 = param</action> <!-- up -->
<action>maincpu.mw@1C6B = -param</action> <!-- down -->
<action>maincpu.mw@1CDB = -param</action> <!-- right -->
<action>maincpu.mw@1CE0 = param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mw@1C66 = 00C0</action>
<action>maincpu.mw@1C6B = FF40</action>
<action>maincpu.mw@1CDB = FF40</action>
<action>maincpu.mw@1CE0 = 00C0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x09">03 </item>
<item value="0x0c">04 </item>
<item value="0x0f">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@2005 = -param</action>
</script>
<script state="off">
<action>maincpu.mb@2005 = FA</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mw@1C47 = 0918</action> <!-- y position -->
<action>maincpu.mw@1CCA = 0918</action> <!-- x position -->
</script>
<script state="off">
<action>maincpu.mw@1C47 = 2420</action>
<action>maincpu.mw@1CCA = 1620</action>
</script>
</cheat>
<cheat desc="sub weapon">
<parameter>
<item value="0x3a1f86c3">vulcan </item>
<item value="0x3a203ac3">missile</item>
</parameter>
<script state="on">
<action>maincpu.mb@1F75 = 77</action>
</script>
<script state="change">
<action>maincpu.md@1F83 = param</action>
</script>
<script state="off">
<action>maincpu.mb@1F75 = 8D </action>
<action>maincpu.md@1F83 = 3A203ACA</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@00A9 = 00A8 </action> <!-- disable main cpu -->
<action> sub.md@00A9 = CD8200C3</action>
</script>
<script state="run">
<action>sub.pq@8200 = B8800E3A810021FB</action>
<action>sub.pq@8208 = 35012001FEF92847</action>
<action>sub.pq@8210 = 2008FE34012002FE</action>
<action>sub.pq@8218 = 2004FE0618F03E04</action>
<action>sub.pq@8220 = 10FE787786103E05</action>
<action>sub.pq@8228 = FE788036327E0520</action>
<action>sub.pq@8230 = 1D0DCDD9AF062020</action>
<action>sub.pq@8238 = 0000000000C918D9</action>
<!--
8200 | FB : ei // enable interrput
8201 | 21 00 81 : ld hl,$8100 // sound code address
8204 | 3A 0E 80 : ld a,($800E) // read input
8207 | B8 : cp b
8208 | 47 : ld b,a
8209 | 28 F9 : jr z,$8204
820B | FE 01 : cp $01
820D | 20 01 : jr nz,$8210
820F | 35 : dec (hl) // decrease code -01
8210 | FE 02 : cp $02
8212 | 20 01 : jr nz,$8215
8214 | 34 : inc (hl) // increase code +01
8215 | FE 08 : cp $08
8217 | 20 04 : jr nz,$821D
8219 | 3E F0 : ld a,$F0 // decrease code -10
821B | 18 06 : jr $8223
821D | FE 04 : cp $04
821F | 20 05 : jr nz,$8226
8221 | 3E 10 : ld a,$10 // increase code +10
8223 | 86 : add a,(hl)
8224 | 77 : ld (hl),a
8225 | 78 : ld a,b
8226 | FE 10 : cp $10
8228 | 20 05 : jr nz,$822F
822A | 7E : ld a,(hl) // play sound
822B | 32 36 80 : ld ($8036),a
822E | 78 : ld a,b
822F | FE 20 : cp $20
8231 | 20 06 : jr nz,$8239
8233 | AF : xor a // stop sound
8234 | D9 : exx
8235 | CD 0D 1D : call $1D0D // send sound code
8238 | D9 : exx
8239 | 18 C9 : jr $8204
-->
<output format="----- sky wolf 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>sub.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@00A9 = 01AA </action>
<action> sub.md@00A9 = CD4818FB </action>
<action> sub.pq@8200 = 0000000000000000</action>
<action> sub.pq@8208 = 0000000000000000</action>
<action> sub.pq@8210 = 0000000000000000</action>
<action> sub.pq@8218 = 0000000000000000</action>
<action> sub.pq@8220 = 0000000000000000</action>
<action> sub.pq@8228 = 0000000000000000</action>
<action> sub.pq@8230 = 0000000000000000</action>
<action> sub.pq@8238 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
skywolf3.xml
Code: Select all
<!-- Sky Wolf (set 3) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2487 = BE</action> <!-- human -->
<action>maincpu.mb@24A9 = 10</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.mb@2487 = FE</action>
<action>maincpu.mb@24A9 = 09</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1BE8 = 96</action>
</script>
<script state="off">
<action>maincpu.mb@1BE8 = D6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x00c0">02 </item>
<item value="0x01c0">03 </item>
<item value="0x02c0">04 </item>
<item value="0x03c0">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@1C66 = param</action> <!-- up -->
<action>maincpu.mw@1C6B = -param</action> <!-- down -->
<action>maincpu.mw@1CDB = -param</action> <!-- right -->
<action>maincpu.mw@1CE0 = param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mw@1C66 = 00C0</action>
<action>maincpu.mw@1C6B = FF40</action>
<action>maincpu.mw@1CDB = FF40</action>
<action>maincpu.mw@1CE0 = 00C0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x09">03 </item>
<item value="0x0c">04 </item>
<item value="0x0f">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@2005 = -param</action>
</script>
<script state="off">
<action>maincpu.mb@2005 = FA</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mw@1C47 = 0918</action> <!-- y position -->
<action>maincpu.mw@1CCA = 0918</action> <!-- x position -->
</script>
<script state="off">
<action>maincpu.mw@1C47 = 2420</action>
<action>maincpu.mw@1CCA = 1620</action>
</script>
</cheat>
<cheat desc="sub weapon">
<parameter>
<item value="0x3a1f86c3">vulcan </item>
<item value="0x3a203ac3">missile</item>
</parameter>
<script state="on">
<action>maincpu.mb@1F75 = 77</action>
</script>
<script state="change">
<action>maincpu.md@1F83 = param</action>
</script>
<script state="off">
<action>maincpu.mb@1F75 = 8D </action>
<action>maincpu.md@1F83 = 3A203ACA</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@00A9 = 00A8 </action> <!-- disable main cpu -->
<action> sub.md@00A9 = CD8200C3</action>
</script>
<script state="run">
<action>sub.pq@8200 = B8800E3A810021FB</action>
<action>sub.pq@8208 = 35012001FEF92847</action>
<action>sub.pq@8210 = 2008FE34012002FE</action>
<action>sub.pq@8218 = 2004FE0618F03E04</action>
<action>sub.pq@8220 = 10FE787786103E05</action>
<action>sub.pq@8228 = FE788036327E0520</action>
<action>sub.pq@8230 = 1D0DCDD9AF062020</action>
<action>sub.pq@8238 = 0000000000C918D9</action>
<!--
8200 | FB : ei // enable interrput
8201 | 21 00 81 : ld hl,$8100 // sound code address
8204 | 3A 0E 80 : ld a,($800E) // read input
8207 | B8 : cp b
8208 | 47 : ld b,a
8209 | 28 F9 : jr z,$8204
820B | FE 01 : cp $01
820D | 20 01 : jr nz,$8210
820F | 35 : dec (hl) // decrease code -01
8210 | FE 02 : cp $02
8212 | 20 01 : jr nz,$8215
8214 | 34 : inc (hl) // increase code +01
8215 | FE 08 : cp $08
8217 | 20 04 : jr nz,$821D
8219 | 3E F0 : ld a,$F0 // decrease code -10
821B | 18 06 : jr $8223
821D | FE 04 : cp $04
821F | 20 05 : jr nz,$8226
8221 | 3E 10 : ld a,$10 // increase code +10
8223 | 86 : add a,(hl)
8224 | 77 : ld (hl),a
8225 | 78 : ld a,b
8226 | FE 10 : cp $10
8228 | 20 05 : jr nz,$822F
822A | 7E : ld a,(hl) // play sound
822B | 32 36 80 : ld ($8036),a
822E | 78 : ld a,b
822F | FE 20 : cp $20
8231 | 20 06 : jr nz,$8239
8233 | AF : xor a // stop sound
8234 | D9 : exx
8235 | CD 0D 1D : call $1D0D // send sound code
8238 | D9 : exx
8239 | 18 C9 : jr $8204
-->
<output format="----- sky wolf 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>sub.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@00A9 = 01AA </action>
<action> sub.md@00A9 = CD4818FB </action>
<action> sub.pq@8200 = 0000000000000000</action>
<action> sub.pq@8208 = 0000000000000000</action>
<action> sub.pq@8210 = 0000000000000000</action>
<action> sub.pq@8218 = 0000000000000000</action>
<action> sub.pq@8220 = 0000000000000000</action>
<action> sub.pq@8228 = 0000000000000000</action>
<action> sub.pq@8230 = 0000000000000000</action>
<action> sub.pq@8238 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
"no hit" : Fixed for human-type enemy.