Page 1 of 1
[guzzler] Guzzler
Posted: Wed Jul 07, 2021 9:41 am
by jman
Code: Select all
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@6916 = param</action>
<action>maincpu.mb@6919 = param</action>
<action>maincpu.mb@691c = param</action>
<action>maincpu.mb@691f = param</action>
<action>maincpu.mb@692b = param</action>
<action>maincpu.mb@692e = param</action>
<action>maincpu.mb@6931 = param</action>
<action>maincpu.mb@6934 = param</action>
</script>
<script state="off">
<action>maincpu.mb@6916 = 02</action>
<action>maincpu.mb@6919 = 03</action>
<action>maincpu.mb@691c = 02</action>
<action>maincpu.mb@691f = 03</action>
<action>maincpu.mb@692b = 03</action>
<action>maincpu.mb@692e = 02</action>
<action>maincpu.mb@6931 = 03</action>
<action>maincpu.mb@6934 = 02</action>
</script>
</cheat>
<cheat desc="move manually">
<script state="on">
<action>maincpu.md@315c = 00e920cd</action>
<action>maincpu.mq@e920 = 801b3ac07600cbdd</action>
<action>maincpu.mq@e928 = 013ec9af02280fe6</action>
<action>maincpu.mq@e930 = ffffffffffffc9a7</action>
<!--
e920 | dd cb 00 76 : bit 6,(ix+$00)
e924 | c0 : ret nz
e925 | 3a 1b 80 : ld a,($801b)
e928 | e6 0f : and $0f
e92a | 28 02 : jr z,$e92e
e92c | af : xor a
e92d | c9 : ret
e92e | 3e 01 : ld a,$01
e930 | a7 : and a
e931 | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@315c = 7600cbdd</action>
<action>maincpu.mq@e920 = ffffffffffffffff</action>
<action>maincpu.mq@e928 = ffffffffffffffff</action>
<action>maincpu.mq@e930 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x80">01 (slow)</item>
<item value="0x40">02 </item>
<item value="0x20">03 </item>
<item value="0x10">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2425 = 3200003e</action>
<action>maincpu.md@2476 = 3200003e</action>
</script>
<script state="change">
<action>maincpu.mb@2426 = param</action>
<action>maincpu.mb@2477 = param</action>
</script>
<script state="off">
<action>maincpu.md@2425 = 32c0183a</action>
<action>maincpu.md@2476 = 32c0183a</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@060f = 01e8f0cd</action>
<action>maincpu.mq@e8f0 = 003a810022200021</action>
<action>maincpu.mq@e8f8 = 2002fef6286fbda8</action>
<action>maincpu.mq@e900 = fe24012001fe2501</action>
<action>maincpu.mq@e908 = 04fe06187c032010</action>
<action>maincpu.mq@e910 = 18a80032003e0520</action>
<action>maincpu.mq@e918 = ffffffffffffffda</action>
<!--
060f | cd f0 e8 : call $e8f0
e8f0 | 21 00 20 : ld hl,$2000 // initialize sound and input values
e8f3 | 22 00 81 : ld ($8100),hl
e8f6 | 3a 00 a8 : ld a,($a800) // read input
e8f9 | bd : cp l
e8fa | 6f : ld l,a
e8fb | 28 f6 : jr z,$e8f3
e8fd | fe 02 : cp $02
e8ff | 20 01 : jr nz,$e902
e901 | 25 : dec h // decrease code
e902 | fe 01 : cp $01
e904 | 20 01 : jr nz,$e907
e906 | 24 : inc h // increase code
e907 | fe 10 : cp $10
e909 | 20 03 : jr nz,$e90e
e90b | 7c : ld a,h // play sound
e90c | 18 06 : jr $e914
e90e | fe 04 : cp $04
e910 | 20 05 : jr nz,$e917
e912 | 3e 00 : ld a,$00 // stop sound
e914 | 32 00 a8 : ld ($a800),a // send sound code
e917 | 18 da : jr $e8f3
-->
</script>
<script state="run">
<output format="----- guzzler sound test mode -----" line="10" align="center" />
<output format="left : decrease code" line="11" align="center" />
<output format="right : increase code" line="12" align="center" />
<output format="button 1 : play sound" line="13" align="center" />
<output format="up : stop sound" line="14" align="center" />
<output format="----------------------------" line="15" align="center" />
<output format="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@8101</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@060f = 01900021</action>
<action>maincpu.mq@e8f0 = ffffffffffffffff</action>
<action>maincpu.mq@e8f8 = ffffffffffffffff</action>
<action>maincpu.mq@e900 = ffffffffffffffff</action>
<action>maincpu.mq@e908 = ffffffffffffffff</action>
<action>maincpu.mq@e910 = ffffffffffffffff</action>
<action>maincpu.mq@e918 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@0626 = 78</action>
</script>
<script state="off">
<action>maincpu.mb@0626 = 42</action>
</script>
</cheat>
[guzzler] Guzzler (update)
Posted: Sun Oct 30, 2022 1:32 pm
by jman
Code: Select all
<cheat desc="move manually">
<script state="on">
<action>maincpu.md@315c = 00e8f0cd</action>
<action>maincpu.mq@e8f0 = 801b3ac07600cbdd</action>
<action>maincpu.mq@e8f8 = c93dc9af02280fe6</action>
<!--
e8f0 | dd cb 00 76 : bit 6,(ix+$00)
e8f4 | c0 : ret nz
e8f5 | 3a 1b 80 : ld a,($801B)
e8f8 | e6 0f : and $0f
e8fa | 28 02 : jr z,$E8FE
e8fc | af : xor a
e8fd | c9 : ret
e8fe | 3d : dec a
e8ff | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@315c = 7600cbdd</action>
<action>maincpu.mq@e8f0 = ffffffffffffffff</action>
<action>maincpu.mq@e8f8 = ffffffffffffffff</action>
</script>
</cheat>
"move manually" : rewrite routine. reallocate address.
Code: Select all
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@060f = 01e900c3</action>
<action>maincpu.mq@e900 = b8803a2036810021</action>
<action>maincpu.mq@e908 = 003a4f07070704e6</action>
<action>maincpu.mq@e910 = 02feef2847b8b1a8</action>
<action>maincpu.mq@e918 = 34012001fe350120</action>
<action>maincpu.mq@e920 = 0618f03e042008fe</action>
<action>maincpu.mq@e928 = 7786103e052004fe</action>
<action>maincpu.mq@e930 = 05187e032010fe78</action>
<action>maincpu.mq@e938 = a80032af042020fe</action>
<action>maincpu.mq@e940 = ffffffffffffc318</action>
<!--
e900 | 21 00 81 : ld hl,$8100 // sound code address
e903 | 36 20 : ld (hl),$20
e905 | 3a 80 b8 : ld a,($B880) // read start button
e908 | e6 04 : and $04
e90a | 07 : rlca
e90b | 07 : rlca
e90c | 07 : rlca
e90d | 4f : ld c,a
e90e | 3a 00 a8 : ld a,($A800) // read other inputs
e911 | b1 : or c
e912 | b8 : cp b
e913 | 47 : ld b,a
e914 | 28 ef : jr z,$E905
e916 | fe 02 : cp $02
e918 | 20 01 : jr nz,$E91B
e91a | 35 : dec (hl) // decrease code -01
e91b | fe 01 : cp $01
e91d | 20 01 : jr nz,$E920
e91f | 34 : inc (hl) // increase code +01
e920 | fe 08 : cp $08
e922 | 20 04 : jr nz,$E928
e924 | 3e f0 : ld a,$F0 // decrease code -10
e926 | 18 06 : jr $E92E
e928 | fe 04 : cp $04
e92a | 20 05 : jr nz,$E931
e92c | 3e 10 : ld a,$10 // increase code +10
e92e | 86 : add a,(hl)
e92f | 77 : ld (hl),a
e930 | 78 : ld a,b
e931 | fe 10 : cp $10
e933 | 20 03 : jr nz,$E938
e935 | 7e : ld a,(hl) // play sound
e936 | 18 05 : jr $E93D
e938 | fe 20 : cp $20
e93a | 20 04 : jr nz,$E940
e93c | af : xor a // stop sound
e93d | 32 00 a8 : ld ($A800),a // send sound code
e940 | 18 c3 : jr $E905
-->
</script>
<script state="run">
<output format="----- guzzler 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="start : 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@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@060f = 01900021</action>
<action>maincpu.mq@e900 = ffffffffffffffff</action>
<action>maincpu.mq@e908 = ffffffffffffffff</action>
<action>maincpu.mq@e910 = ffffffffffffffff</action>
<action>maincpu.mq@e918 = ffffffffffffffff</action>
<action>maincpu.mq@e920 = ffffffffffffffff</action>
<action>maincpu.mq@e928 = ffffffffffffffff</action>
<action>maincpu.mq@e930 = ffffffffffffffff</action>
<action>maincpu.mq@e938 = ffffffffffffffff</action>
<action>maincpu.mq@e940 = ffffffffffffffff</action>
</script>
</cheat>
"sound test mode" : rewrite routine. reallocate address. add up/down key (code ±10). change "sound stop" from up key to start button.
[guzzler]+ Guzzler
Posted: Sat Feb 24, 2024 12:21 am
by jman
guzzler.xml
Code: Select all
<!-- Guzzler -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@3389 = 00</action> <!-- enemy -->
<action>maincpu.mb@33E9 = EA</action> <!-- fire -->
</script>
<script state="off">
<action>maincpu.mb@3389 = 0A</action>
<action>maincpu.mb@33D2 = 0D</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@6916 = param</action>
<action>maincpu.mb@6919 = param</action>
<action>maincpu.mb@691C = param</action>
<action>maincpu.mb@691F = param</action>
<action>maincpu.mb@692B = param</action>
<action>maincpu.mb@692E = param</action>
<action>maincpu.mb@6931 = param</action>
<action>maincpu.mb@6934 = param</action>
</script>
<script state="off">
<action>maincpu.mb@6916 = 02</action>
<action>maincpu.mb@6919 = 03</action>
<action>maincpu.mb@691C = 02</action>
<action>maincpu.mb@691F = 03</action>
<action>maincpu.mb@692B = 03</action>
<action>maincpu.mb@692E = 02</action>
<action>maincpu.mb@6931 = 03</action>
<action>maincpu.mb@6934 = 02</action>
</script>
</cheat>
<cheat desc="move manually">
<script state="on">
<action>maincpu.md@315C = 00E8F0CD </action>
<action>maincpu.mq@E8F0 = 801B3AC07600CBDD</action>
<action>maincpu.mq@E8F8 = C93DC9AF02280FE6</action>
<!--
E8F0 | DD CB 00 76 : bit 6,(ix+$00)
E8F4 | C0 : ret nz
E8F5 | 3A 1B 80 : ld a,($801B)
E8F8 | E6 0F : and $0F
E8FA | 28 02 : jr z,$E8FE
E8FC | AF : xor a
E8FD | C9 : ret
E8FE | 3D : dec a
E8FF | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@315C = 7600CBDD </action>
<action>maincpu.mq@E8F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E8F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x80">01</item>
<item value="0x40">02</item>
<item value="0x20">03</item>
<item value="0x10">04</item>
<item value="0x01">05</item>
</parameter>
<script state="on">
<action>maincpu.md@2425 = 3200003E</action>
<action>maincpu.md@2476 = 3200003E</action>
</script>
<script state="change">
<action>maincpu.mb@2426 = param</action>
<action>maincpu.mb@2477 = param</action>
</script>
<script state="off">
<action>maincpu.md@2425 = 32C0183A</action>
<action>maincpu.md@2476 = 32C0183A</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@060F = 01E900C3 </action>
<action>maincpu.mq@E900 = 04E6B8803A800021</action>
<action>maincpu.mq@E908 = B1A8003A4F070707</action>
<action>maincpu.mq@E910 = 012002FEEF2847B8</action>
<action>maincpu.mq@E918 = 08FE34012001FE35</action>
<action>maincpu.mq@E920 = 04FE0618F03E0420</action>
<action>maincpu.mq@E928 = FE787786103E0520</action>
<action>maincpu.mq@E930 = 20FE05187E032010</action>
<action>maincpu.mq@E938 = C318A80032AF0420</action>
<!--
E900 | 21 00 80 : ld hl,$8000 // sound code address
E903 | 3A 80 B8 : ld a,($B880) // read start button
E906 | E6 04 : and $04
E908 | 07 : rlca
E909 | 07 : rlca
E90A | 07 : rlca
E90B | 4F : ld c,a
E90C | 3A 00 A8 : ld a,($A800) // read other inputs
E90F | B1 : or c
E910 | B8 : cp b
E911 | 47 : ld b,a
E912 | 28 EF : jr z,$E903
E914 | FE 02 : cp $02
E916 | 20 01 : jr nz,$E919
E918 | 35 : dec (hl) // decrease code -01
E919 | FE 01 : cp $01
E91B | 20 01 : jr nz,$E91E
E91D | 34 : inc (hl) // increase code +01
E91E | FE 08 : cp $08
E920 | 20 04 : jr nz,$E926
E922 | 3E F0 : ld a,$F0 // decrease code -10
E924 | 18 06 : jr $E92C
E926 | FE 04 : cp $04
E928 | 20 05 : jr nz,$E92F
E92A | 3E 10 : ld a,$10 // increase code +10
E92C | 86 : add a,(hl)
E92D | 77 : ld (hl),a
E92E | 78 : ld a,b
E92F | FE 10 : cp $10
E931 | 20 03 : jr nz,$E936
E933 | 7E : ld a,(hl) // play sound
E934 | 18 05 : jr $E93B
E936 | FE 20 : cp $20
E938 | 20 04 : jr nz,$E93E
E93A | AF : xor a // stop sound
E93B | 32 00 A8 : ld ($A800),a // send sound code
E93E | 18 C3 : jr $E903
-->
</script>
<script state="run">
<output format="----- guzzler 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="P1 start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@060F = 01900021 </action>
<action>maincpu.mq@E900 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E908 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E910 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E918 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E920 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E928 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E930 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E938 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@0626 = 78</action>
</script>
<script state="off">
<action>maincpu.mb@0626 = 42</action>
</script>
</cheat>
</mamecheat>
guzzlers.xml
Code: Select all
<!-- Guzzler (Swimmer Conversion) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@3389 = 00</action> <!-- enemy -->
<action>maincpu.mb@33E9 = EA</action> <!-- fire -->
</script>
<script state="off">
<action>maincpu.mb@3389 = 0A</action>
<action>maincpu.mb@33D2 = 0D</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@6916 = param</action>
<action>maincpu.mb@6919 = param</action>
<action>maincpu.mb@691C = param</action>
<action>maincpu.mb@691F = param</action>
<action>maincpu.mb@692B = param</action>
<action>maincpu.mb@692E = param</action>
<action>maincpu.mb@6931 = param</action>
<action>maincpu.mb@6934 = param</action>
</script>
<script state="off">
<action>maincpu.mb@6916 = 02</action>
<action>maincpu.mb@6919 = 03</action>
<action>maincpu.mb@691C = 02</action>
<action>maincpu.mb@691F = 03</action>
<action>maincpu.mb@692B = 03</action>
<action>maincpu.mb@692E = 02</action>
<action>maincpu.mb@6931 = 03</action>
<action>maincpu.mb@6934 = 02</action>
</script>
</cheat>
<cheat desc="move manually">
<script state="on">
<action>maincpu.md@315C = 00E8F0CD </action>
<action>maincpu.mq@E8F0 = 801B3AC07600CBDD</action>
<action>maincpu.mq@E8F8 = C93DC9AF02280FE6</action>
<!--
E8F0 | DD CB 00 76 : bit 6,(ix+$00)
E8F4 | C0 : ret nz
E8F5 | 3A 1B 80 : ld a,($801B)
E8F8 | E6 0F : and $0F
E8FA | 28 02 : jr z,$E8FE
E8FC | AF : xor a
E8FD | C9 : ret
E8FE | 3D : dec a
E8FF | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@315C = 7600CBDD </action>
<action>maincpu.mq@E8F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E8F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x80">01</item>
<item value="0x40">02</item>
<item value="0x20">03</item>
<item value="0x10">04</item>
<item value="0x01">05</item>
</parameter>
<script state="on">
<action>maincpu.md@2425 = 3200003E</action>
<action>maincpu.md@2476 = 3200003E</action>
</script>
<script state="change">
<action>maincpu.mb@2426 = param</action>
<action>maincpu.mb@2477 = param</action>
</script>
<script state="off">
<action>maincpu.md@2425 = 32C0183A</action>
<action>maincpu.md@2476 = 32C0183A</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@060F = 01E900C3 </action>
<action>maincpu.mq@E900 = 04E6B8803A800021</action>
<action>maincpu.mq@E908 = B1A8003A4F070707</action>
<action>maincpu.mq@E910 = 012002FEEF2847B8</action>
<action>maincpu.mq@E918 = 08FE34012001FE35</action>
<action>maincpu.mq@E920 = 04FE0618F03E0420</action>
<action>maincpu.mq@E928 = FE787786103E0520</action>
<action>maincpu.mq@E930 = 20FE05187E032010</action>
<action>maincpu.mq@E938 = C318A80032AF0420</action>
<!--
E900 | 21 00 80 : ld hl,$8000 // sound code address
E903 | 3A 80 B8 : ld a,($B880) // read start button
E906 | E6 04 : and $04
E908 | 07 : rlca
E909 | 07 : rlca
E90A | 07 : rlca
E90B | 4F : ld c,a
E90C | 3A 00 A8 : ld a,($A800) // read other inputs
E90F | B1 : or c
E910 | B8 : cp b
E911 | 47 : ld b,a
E912 | 28 EF : jr z,$E903
E914 | FE 02 : cp $02
E916 | 20 01 : jr nz,$E919
E918 | 35 : dec (hl) // decrease code -01
E919 | FE 01 : cp $01
E91B | 20 01 : jr nz,$E91E
E91D | 34 : inc (hl) // increase code +01
E91E | FE 08 : cp $08
E920 | 20 04 : jr nz,$E926
E922 | 3E F0 : ld a,$F0 // decrease code -10
E924 | 18 06 : jr $E92C
E926 | FE 04 : cp $04
E928 | 20 05 : jr nz,$E92F
E92A | 3E 10 : ld a,$10 // increase code +10
E92C | 86 : add a,(hl)
E92D | 77 : ld (hl),a
E92E | 78 : ld a,b
E92F | FE 10 : cp $10
E931 | 20 03 : jr nz,$E936
E933 | 7E : ld a,(hl) // play sound
E934 | 18 05 : jr $E93B
E936 | FE 20 : cp $20
E938 | 20 04 : jr nz,$E93E
E93A | AF : xor a // stop sound
E93B | 32 00 A8 : ld ($A800),a // send sound code
E93E | 18 C3 : jr $E903
-->
</script>
<script state="run">
<output format="----- guzzler 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="P1 start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@060F = 01900021 </action>
<action>maincpu.mq@E900 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E908 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E910 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E918 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E920 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E928 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E930 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@E938 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mb@0626 = 78</action>
</script>
<script state="off">
<action>maincpu.mb@0626 = 42</action>
</script>
</cheat>
</mamecheat>