turtship.xml
Code: Select all
<!-- Turtle Ship (North America) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@07F2 = AE</action> <!-- enemy -->
<action>maincpu.mb@0C26 = 28</action> <!-- background -->
<action>maincpu.mb@53EF = 00</action> <!-- bullet -->
<action>maincpu.mb@5B63 = 00</action> <!-- bullet (boss) -->
</script>
<script state="off">
<action>maincpu.mb@07F2 = 8A</action>
<action>maincpu.mb@0C26 = 29</action>
<action>maincpu.mb@53EF = 02</action>
<action>maincpu.mb@5B63 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@038D = 00</action> <!-- button -->
<action>maincpu.mb@0396 = 3E</action> <!-- joystick -->
</script>
<script state="off">
<action>maincpu.mb@038D = 01</action>
<action>maincpu.mb@0396 = 3D</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="change">
<action>maincpu.mb@16C1 = param</action> <!-- right -->
<action>maincpu.mb@171E = param</action> <!-- left -->
<action>maincpu.mb@1776 = param</action> <!-- down -->
<action>maincpu.mb@17B2 = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mb@16C1 = 03</action>
<action>maincpu.mb@171E = 03</action>
<action>maincpu.mb@1776 = 02</action>
<action>maincpu.mb@17B2 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0921 = param</action> <!-- horizontal -->
<action>maincpu.mb@093F = param</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@0921 = 05</action>
<action>maincpu.mb@093F = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@00042 = 5F </action> <!-- disable credit display -->
<action>maincpu.mw@00025 = A4D0 </action>
<action>maincpu.mq@124D0 = B87A1BCDC10021FB</action>
<action>maincpu.mq@124D8 = 35012002FEF92847</action>
<action>maincpu.mq@124E0 = 2004FE34012001FE</action>
<action>maincpu.mq@124E8 = 2008FE0618F03E04</action>
<action>maincpu.mq@124F0 = 10FE787786103E05</action>
<action>maincpu.mq@124F8 = 2020FE05187E0320</action>
<action>maincpu.mq@12500 = FFCD18C00432AF04</action>
<!--
A4D0 | FB : ei // enable interrput
A4D1 | 21 00 C1 : ld hl,$C100 // sound code address
A4D4 | CD 1B 7A : call $7A1B // read input
A4D7 | B8 : cp b
A4D8 | 47 : ld b,a
A4D9 | 28 F9 : jr z,$A4D4
A4DB | FE 02 : cp $02
A4DD | 20 01 : jr nz,$A4E0
A4DF | 35 : dec (hl) // decrease code -01
A4E0 | FE 01 : cp $01
A4E2 | 20 01 : jr nz,$A4E5
A4E4 | 34 : inc (hl) // increase code +10
A4E5 | FE 04 : cp $04
A4E7 | 20 04 : jr nz,$A4ED
A4E9 | 3E F0 : ld a,$F0 // decrease code -10
A4EB | 18 06 : jr $A4F3
A4ED | FE 08 : cp $08
A4EF | 20 05 : jr nz,$A4F6
A4F1 | 3E 10 : ld a,$10 // increase code +10
A4F3 | 86 : add a,(hl)
A4F4 | 77 : ld (hl),a
A4F5 | 78 : ld a,b
A4F6 | FE 10 : cp $10
A4F8 | 20 03 : jr nz,$A4FD
A4FA | 7E : ld a,(hl) // play sound
A4FB | 18 05 : jr $A502
A4FD | FE 20 : cp $20
A4FF | 20 04 : jr nz,$A505
A501 | AF : xor a // stop sound
A502 | 32 04 C0 : ld ($C004),a // send sound code
A505 | 18 CD : jr $A4D4
-->
</script>
<script state="run">
<output format="----- turtle ship 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@00042 = 60 </action>
<action>maincpu.mw@00025 = A200 </action>
<action>maincpu.mq@124D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@12500 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mb@7B79 = 89</action>
</script>
<script state="off">
<action>maincpu.mb@7B79 = 8A</action>
</script>
</cheat>
</mamecheat>
turtshipj.xml
Code: Select all
<!-- Turtle Ship (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@07F2 = AE</action> <!-- enemy -->
<action>maincpu.mb@0C26 = 28</action> <!-- background -->
<action>maincpu.mb@53EF = 00</action> <!-- bullet -->
<action>maincpu.mb@5B63 = 00</action> <!-- bullet (boss) -->
</script>
<script state="off">
<action>maincpu.mb@07F2 = 8A</action>
<action>maincpu.mb@0C26 = 29</action>
<action>maincpu.mb@53EF = 02</action>
<action>maincpu.mb@5B63 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@038D = 00</action> <!-- button -->
<action>maincpu.mb@0396 = 3E</action> <!-- joystick -->
</script>
<script state="off">
<action>maincpu.mb@038D = 01</action>
<action>maincpu.mb@0396 = 3D</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="change">
<action>maincpu.mb@16C1 = param</action> <!-- right -->
<action>maincpu.mb@171E = param</action> <!-- left -->
<action>maincpu.mb@1776 = param</action> <!-- down -->
<action>maincpu.mb@17B2 = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mb@16C1 = 03</action>
<action>maincpu.mb@171E = 03</action>
<action>maincpu.mb@1776 = 02</action>
<action>maincpu.mb@17B2 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0921 = param</action> <!-- horizontal -->
<action>maincpu.mb@093F = param</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@0921 = 05</action>
<action>maincpu.mb@093F = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@00042 = 5F </action> <!-- disable credit display -->
<action>maincpu.mw@00025 = A2A0 </action>
<action>maincpu.mq@122A0 = B87A19CDC10021FB</action>
<action>maincpu.mq@122A8 = 35012002FEF92847</action>
<action>maincpu.mq@122B0 = 2004FE34012001FE</action>
<action>maincpu.mq@122B8 = 2008FE0618F03E04</action>
<action>maincpu.mq@122C0 = 10FE787786103E05</action>
<action>maincpu.mq@122C8 = 2020FE05187E0320</action>
<action>maincpu.mq@122D0 = FFCD18C00432AF04</action>
<!--
A2A0 | FB : ei // enable interrput
A2A1 | 21 00 C1 : ld hl,$C100 // sound code address
A2A4 | CD 19 7A : call $7A19 // read input
A2A7 | B8 : cp b
A2A8 | 47 : ld b,a
A2A9 | 28 F9 : jr z,$A2A4
A2AB | FE 02 : cp $02
A2AD | 20 01 : jr nz,$A2B0
A2AF | 35 : dec (hl) // decrease code -01
A2B0 | FE 01 : cp $01
A2B2 | 20 01 : jr nz,$A2B5
A2B4 | 34 : inc (hl) // increase code +10
A2B5 | FE 04 : cp $04
A2B7 | 20 04 : jr nz,$A2BD
A2B9 | 3E F0 : ld a,$F0 // decrease code -10
A2BB | 18 06 : jr $A2C3
A2BD | FE 08 : cp $08
A2BF | 20 05 : jr nz,$A2C6
A2C1 | 3E 10 : ld a,$10 // increase code +10
A2C3 | 86 : add a,(hl)
A2C4 | 77 : ld (hl),a
A2C5 | 78 : ld a,b
A2C6 | FE 10 : cp $10
A2C8 | 20 03 : jr nz,$A2CD
A2CA | 7E : ld a,(hl) // play sound
A2CB | 18 05 : jr $A2D2
A2CD | FE 20 : cp $20
A2CF | 20 04 : jr nz,$A2D5
A2D1 | AF : xor a // stop sound
A2D2 | 32 04 C0 : ld ($C004),a // send sound code
A2D5 | 18 CD : jr $A2A4
-->
</script>
<script state="run">
<output format="----- turtle ship 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@00042 = 60 </action>
<action>maincpu.mw@00025 = A000 </action>
<action>maincpu.mq@122A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122D0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mb@7B77 = 87</action>
</script>
<script state="off">
<action>maincpu.mb@7B77 = 88</action>
</script>
</cheat>
</mamecheat>
turtshipk.xml
Code: Select all
<!-- Turtle Ship (Korea) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@07F2 = AE</action> <!-- enemy -->
<action>maincpu.mb@0C26 = 28</action> <!-- background -->
<action>maincpu.mb@53EF = 00</action> <!-- bullet -->
<action>maincpu.mb@5B63 = 00</action> <!-- bullet (boss) -->
</script>
<script state="off">
<action>maincpu.mb@07F2 = 8A</action>
<action>maincpu.mb@0C26 = 29</action>
<action>maincpu.mb@53EF = 02</action>
<action>maincpu.mb@5B63 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@038D = 00</action> <!-- button -->
<action>maincpu.mb@0396 = 3E</action> <!-- joystick -->
</script>
<script state="off">
<action>maincpu.mb@038D = 01</action>
<action>maincpu.mb@0396 = 3D</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="change">
<action>maincpu.mb@16C1 = param</action> <!-- right -->
<action>maincpu.mb@171E = param</action> <!-- left -->
<action>maincpu.mb@1776 = param</action> <!-- down -->
<action>maincpu.mb@17B2 = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mb@16C1 = 03</action>
<action>maincpu.mb@171E = 03</action>
<action>maincpu.mb@1776 = 02</action>
<action>maincpu.mb@17B2 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0921 = param</action> <!-- horizontal -->
<action>maincpu.mb@093F = param</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@0921 = 05</action>
<action>maincpu.mb@093F = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@00042 = 5F </action> <!-- disable credit display -->
<action>maincpu.mw@00025 = A2A0 </action>
<action>maincpu.mq@122A0 = B87A1BCDC10021FB</action>
<action>maincpu.mq@122A8 = 35012002FEF92847</action>
<action>maincpu.mq@122B0 = 2004FE34012001FE</action>
<action>maincpu.mq@122B8 = 2008FE0618F03E04</action>
<action>maincpu.mq@122C0 = 10FE787786103E05</action>
<action>maincpu.mq@122C8 = 2020FE05187E0320</action>
<action>maincpu.mq@122D0 = FFCD18C00432AF04</action>
<!--
A2A0 | FB : ei // enable interrput
A2A1 | 21 00 C1 : ld hl,$C100 // sound code address
A2A4 | CD 1B 7A : call $7A1B // read input
A2A7 | B8 : cp b
A2A8 | 47 : ld b,a
A2A9 | 28 F9 : jr z,$A2A4
A2AB | FE 02 : cp $02
A2AD | 20 01 : jr nz,$A2B0
A2AF | 35 : dec (hl) // decrease code -01
A2B0 | FE 01 : cp $01
A2B2 | 20 01 : jr nz,$A2B5
A2B4 | 34 : inc (hl) // increase code +10
A2B5 | FE 04 : cp $04
A2B7 | 20 04 : jr nz,$A2BD
A2B9 | 3E F0 : ld a,$F0 // decrease code -10
A2BB | 18 06 : jr $A2C3
A2BD | FE 08 : cp $08
A2BF | 20 05 : jr nz,$A2C6
A2C1 | 3E 10 : ld a,$10 // increase code +10
A2C3 | 86 : add a,(hl)
A2C4 | 77 : ld (hl),a
A2C5 | 78 : ld a,b
A2C6 | FE 10 : cp $10
A2C8 | 20 03 : jr nz,$A2CD
A2CA | 7E : ld a,(hl) // play sound
A2CB | 18 05 : jr $A2D2
A2CD | FE 20 : cp $20
A2CF | 20 04 : jr nz,$A2D5
A2D1 | AF : xor a // stop sound
A2D2 | 32 04 C0 : ld ($C004),a // send sound code
A2D5 | 18 CD : jr $A2A4
-->
</script>
<script state="run">
<output format="----- turtle ship 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@00042 = 60 </action>
<action>maincpu.mw@00025 = A000 </action>
<action>maincpu.mq@122A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@122D0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mb@7B79 = 89</action>
</script>
<script state="off">
<action>maincpu.mb@7B79 = 8A</action>
</script>
</cheat>
</mamecheat>
turtshipko.xml
Code: Select all
<!-- Turtle Ship (Korea, older) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@07C8 = 80</action> <!-- enemy -->
<action>maincpu.mb@0BE6 = E8</action> <!-- background -->
<action>maincpu.mb@532A = 00</action> <!-- bullet -->
<action>maincpu.mb@5A9E = 00</action> <!-- bullet (boss) -->
</script>
<script state="off">
<action>maincpu.mb@07C8 = 5C</action>
<action>maincpu.mb@0BE6 = E9</action>
<action>maincpu.mb@532A = 02</action>
<action>maincpu.mb@5A9E = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@0376 = 00</action> <!-- button -->
<action>maincpu.mb@0382 = 3C</action> <!-- joystick -->
</script>
<script state="off">
<action>maincpu.mb@0376 = 01</action>
<action>maincpu.mb@0382 = 3B</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="change">
<action>maincpu.mb@1669 = param</action> <!-- right -->
<action>maincpu.mb@16C6 = param</action> <!-- left -->
<action>maincpu.mb@171E = param</action> <!-- down -->
<action>maincpu.mb@175A = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mb@1669 = 03</action>
<action>maincpu.mb@16C6 = 03</action>
<action>maincpu.mb@171E = 02</action>
<action>maincpu.mb@175A = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@08F3 = param</action> <!-- horizontal -->
<action>maincpu.mb@0911 = param</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@08F3 = 05</action>
<action>maincpu.mb@0911 = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@0042 = B5 </action> <!-- disable credit display -->
<action>maincpu.mw@002A = 9D70 </action>
<action>maincpu.mq@DD70 = B87A23CDC10021FB</action>
<action>maincpu.mq@DD78 = 35012002FEF92847</action>
<action>maincpu.mq@DD80 = 2004FE34012001FE</action>
<action>maincpu.mq@DD88 = 2008FE0618F03E04</action>
<action>maincpu.mq@DD90 = 10FE787786103E05</action>
<action>maincpu.mq@DD98 = 2020FE05187E0320</action>
<action>maincpu.mq@DDA0 = FFCD18C00432AF04</action>
<!--
9D70 | FB : ei // enable interrput
9D71 | 21 00 C1 : ld hl,$C100 // sound code address
9D74 | CD 19 7A : call $7A23 // read input
9D77 | B8 : cp b
9D78 | 47 : ld b,a
9D79 | 28 F9 : jr z,$9D74
9D7B | FE 02 : cp $02
9D7D | 20 01 : jr nz,$9D80
9D7F | 35 : dec (hl) // decrease code -01
9D80 | FE 01 : cp $01
9D82 | 20 01 : jr nz,$9D85
9D84 | 34 : inc (hl) // increase code +10
9D85 | FE 04 : cp $04
9D87 | 20 04 : jr nz,$9D8D
9D89 | 3E F0 : ld a,$F0 // decrease code -10
9D8B | 18 06 : jr $9D93
9D8D | FE 08 : cp $08
9D8F | 20 05 : jr nz,$9D96
9D91 | 3E 10 : ld a,$10 // increase code +10
9D93 | 86 : add a,(hl)
9D94 | 77 : ld (hl),a
9D95 | 78 : ld a,b
9D96 | FE 10 : cp $10
9D98 | 20 03 : jr nz,$9D9D
9D9A | 7E : ld a,(hl) // play sound
9D9B | 18 05 : jr $9DA2
9D9D | FE 20 : cp $20
9D9F | 20 04 : jr nz,$9DA5
9DA1 | AF : xor a // stop sound
9DA2 | 32 04 C0 : ld ($C004),a // send sound code
9DA5 | 18 CD : jr $9D74
-->
</script>
<script state="run">
<output format="----- turtle ship 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@0042 = B6 </action>
<action>maincpu.mw@002A = 714A </action>
<action>maincpu.mq@DD70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@DD78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@DD80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@DD88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@DD90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@DD98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@DDA0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mb@7B81 = 91</action>
</script>
<script state="off">
<action>maincpu.mb@7B81 = 92</action>
</script>
</cheat>
</mamecheat>
turtshipkn.xml
Code: Select all
<!-- Turtle Ship (Korea, 88/9) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@07F2 = AE</action> <!-- enemy -->
<action>maincpu.mb@0C26 = 28</action> <!-- background -->
<action>maincpu.mb@5424 = 00</action> <!-- bullet -->
<action>maincpu.mb@5B98 = 00</action> <!-- bullet (boss) -->
</script>
<script state="off">
<action>maincpu.mb@07F2 = 8A</action>
<action>maincpu.mb@0C26 = 29</action>
<action>maincpu.mb@5424 = 02</action>
<action>maincpu.mb@5B98 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@038D = 00</action> <!-- button -->
<action>maincpu.mb@0396 = 3E</action> <!-- joystick -->
</script>
<script state="off">
<action>maincpu.mb@038D = 01</action>
<action>maincpu.mb@0396 = 3D</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="change">
<action>maincpu.mb@16BF = param</action> <!-- right -->
<action>maincpu.mb@171C = param</action> <!-- left -->
<action>maincpu.mb@1774 = param</action> <!-- down -->
<action>maincpu.mb@17B0 = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mb@16BF = 03</action>
<action>maincpu.mb@171C = 03</action>
<action>maincpu.mb@1774 = 02</action>
<action>maincpu.mb@17B0 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0921 = param</action> <!-- horizontal -->
<action>maincpu.mb@093F = param</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@0921 = 05</action>
<action>maincpu.mb@093F = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@00042 = 94 </action> <!-- disable credit display -->
<action>maincpu.mw@00025 = A400 </action>
<action>maincpu.mq@12400 = B87A70CDC10021FB</action>
<action>maincpu.mq@12408 = 35012002FEF92847</action>
<action>maincpu.mq@12410 = 2004FE34012001FE</action>
<action>maincpu.mq@12418 = 2008FE0618F03E04</action>
<action>maincpu.mq@12420 = 10FE787786103E05</action>
<action>maincpu.mq@12428 = 2020FE05187E0320</action>
<action>maincpu.mq@12430 = FFCD18C00432AF04</action>
<!--
A400 | FB : ei // enable interrput
A401 | 21 00 C1 : ld hl,$C100 // sound code address
A404 | CD 70 7A : call $7A70 // read input
A407 | B8 : cp b
A408 | 47 : ld b,a
A409 | 28 F9 : jr z,$A404
A40B | FE 02 : cp $02
A40D | 20 01 : jr nz,$A410
A40F | 35 : dec (hl) // decrease code -01
A410 | FE 01 : cp $01
A412 | 20 01 : jr nz,$A415
A414 | 34 : inc (hl) // increase code +10
A415 | FE 04 : cp $04
A417 | 20 04 : jr nz,$A41D
A419 | 3E F0 : ld a,$F0 // decrease code -10
A41B | 18 06 : jr $A423
A41D | FE 08 : cp $08
A41F | 20 05 : jr nz,$A426
A421 | 3E 10 : ld a,$10 // increase code +10
A423 | 86 : add a,(hl)
A424 | 77 : ld (hl),a
A425 | 78 : ld a,b
A426 | FE 10 : cp $10
A428 | 20 03 : jr nz,$A42D
A42A | 7E : ld a,(hl) // play sound
A42B | 18 05 : jr $A432
A42D | FE 20 : cp $20
A42F | 20 04 : jr nz,$A435
A431 | AF : xor a // stop sound
A432 | 32 04 C0 : ld ($C004),a // send sound code
A435 | 18 CD : jr $A404
-->
</script>
<script state="run">
<output format="----- turtle ship 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@C100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@00042 = 95 </action>
<action>maincpu.mw@00025 = A000 </action>
<action>maincpu.mq@124D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@124F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@12500 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mb@7BCE = DE</action>
</script>
<script state="off">
<action>maincpu.mb@7BCE = DF</action>
</script>
</cheat>
</mamecheat>