This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Sat Jul 03, 2021 8:52 am
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@37df = cb46a0c3</action>
<action>maincpu.mq@46a0 = e2c3c057cb58533a</action>
<action>maincpu.mq@46a8 = ffffffffffffff37</action>
<!--
46a0 | 3a 53 58 : ld a,($5853)
46a3 | cb 57 : bit 2,a
46a5 | c0 : ret nz
46a6 | c3 e2 37 : jp $37e2
-->
</script>
<script state="off">
<action>maincpu.md@37df = cb58533a</action>
<action>maincpu.mq@46a0 = ffffffffffffffff</action>
<action>maincpu.mq@46a8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="auto fire - shot">
<script state="on">
<action>maincpu.mb@2525 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2525 = c0</action>
</script>
</cheat>
<cheat desc="no delay missile">
<script state="on">
<action>maincpu.mb@2510 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2510 = c0</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@062d = c9</action> <!-- input check routine stopper -->
<action>maincpu.md@07db = 0946b0c3</action>
<action>maincpu.mq@46b0 = 0022700032000021</action>
<action>maincpu.mq@46b8 = 6fbde105ffcde559</action>
<action>maincpu.mq@46c0 = fe25012002fef128</action>
<action>maincpu.mq@46c8 = 032010fe24012001</action>
<action>maincpu.mq@46d0 = 3e052020fe06187c</action>
<action>maincpu.mq@46d8 = ffffd518609032f2</action>
<!--
46b0 : 21 00 00 : ld hl,$0000 // initialize sound and input values
46b3 : 32 00 70 : ld ($7000),a
46b6 : 22 00 59 : ld ($5900),hl
46b9 : e5 : push hl
46ba : cd ff 05 : call $05ff // read input
46bd : e1 : pop hl
46be : bd : cp l
46bf : 6f : ld l,a
46c0 : 28 f1 : jr z,$46b3
46c2 : fe 02 : cp $02
46c4 : 20 01 : jr nz,$46c7
46c6 : 25 : dec h // decrease code
46c7 : fe 01 : cp $01
46c9 : 20 01 : jr nz,$46cc
46cb : 24 : inc h // increase code
46cc : fe 10 : cp $10
46ce : 20 03 : jr nz,$46d3
46d0 : 7c : ld a,h // play sound
46d1 : 18 06 : jr $46d9
46d3 : fe 20 : cp $20
46d5 : 20 05 : jr nz,$46dc
46d7 : 3e f2 : ld a,$f2 // stop sound
46d9 : 32 90 60 : ld ($6090),a
46dc : 18 d5 : jr $46b3
-->
</script>
<script state="run">
<output format="----- the percussor 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="button 2 : 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@5901</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@062d = 18</action>
<action>maincpu.md@07db = 09001001</action>
<action>maincpu.mq@46b0 = ffffffffffffffff</action>
<action>maincpu.mq@46b8 = ffffffffffffffff</action>
<action>maincpu.mq@46c0 = ffffffffffffffff</action>
<action>maincpu.mq@46c8 = ffffffffffffffff</action>
<action>maincpu.mq@46d0 = ffffffffffffffff</action>
<action>maincpu.mq@46d8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.mw@0284 = 2b18</action> <!-- maincpu : ram -->
<action> maincpu.mw@03b6 = 1f18</action> <!-- maincpu : rom -->
<action>audiocpu.mw@0078 = 2818</action> <!-- audiocpu : ram -->
<action>audiocpu.mw@00b9 = 1918</action> <!-- audiocpu : rom -->
</script>
<script state="off">
<action> maincpu.mw@0284 = 21dd</action>
<action> maincpu.mw@03b6 = 0021</action>
<action>audiocpu.mw@0078 = 21dd</action>
<action>audiocpu.mw@00b9 = 0021</action>
</script>
</cheat>
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Sat Nov 05, 2022 7:59 am
Code: Select all
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@062d = c9</action> <!-- input check routine stopper -->
<action>maincpu.md@07db = 0946b0c3</action>
<action>maincpu.mq@46b0 = 002105ffcd700032</action>
<action>maincpu.mq@46b8 = 2002fef32847b859</action>
<action>maincpu.mq@46c0 = fe34012001fe3501</action>
<action>maincpu.mq@46c8 = fe0618f03e042008</action>
<action>maincpu.mq@46d0 = 787786103e052004</action>
<action>maincpu.mq@46d8 = fe06187e032010fe</action>
<action>maincpu.mq@46e0 = 609032f23e052020</action>
<action>maincpu.mq@46e8 = ffffffffffffc618</action>
<!--
46b0 | 32 00 70 : ld ($7000),a // watchdog
46b3 | cd ff 05 : call $05FF // read input
46b6 | 21 00 59 : ld hl,$5900 // sound code address
46b9 | b8 : cp b
46ba | 47 : ld b,a
46bb | 28 f3 : jr z,$46B0
46bd | fe 02 : cp $02
46bf | 20 01 : jr nz,$46C2
46c1 | 35 : dec (hl) // decrease code -01
46c2 | fe 01 : cp $01
46c4 | 20 01 : jr nz,$46C7
46c6 | 34 : inc (hl) // increase code +01
46c7 | fe 08 : cp $08
46c9 | 20 04 : jr nz,$46CF
46cb | 3e f0 : ld a,$F0 // decrease code -10
46cd | 18 06 : jr $46D5
46cf | fe 04 : cp $04
46d1 | 20 05 : jr nz,$46D8
46d3 | 3e 10 : ld a,$10 // increase code +10
46d5 | 86 : add a,(hl)
46d6 | 77 : ld (hl),a
46d7 | 78 : ld a,b
46d8 | fe 10 : cp $10
46da | 20 03 : jr nz,$46DF
46dc | 7e : ld a,(hl) // play sound
46dd | 18 06 : jr $46E5
46df | fe 20 : cp $20
46e1 | 20 05 : jr nz,$46E8
46e3 | 3e f2 : ld a,$F2 // stop sound
46e5 | 32 90 60 : ld ($6090),a // send sound code
46e8 | 18 c6 : jr $46B0
-->
</script>
<script state="run">
<output format="----- the percussor 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@5900</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@062d = 18</action>
<action>maincpu.md@07db = 09001001</action>
<action>maincpu.mq@46b0 = ffffffffffffffff</action>
<action>maincpu.mq@46b8 = ffffffffffffffff</action>
<action>maincpu.mq@46c0 = ffffffffffffffff</action>
<action>maincpu.mq@46c8 = ffffffffffffffff</action>
<action>maincpu.mq@46d0 = ffffffffffffffff</action>
<action>maincpu.mq@46d8 = ffffffffffffffff</action>
<action>maincpu.mq@46e0 = ffffffffffffffff</action>
<action>maincpu.mq@46e8 = ffffffffffffffff</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Sun Nov 17, 2024 1:32 pm
percuss.xml
Code: Select all
<!-- The Percussor -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@37DF = CB46A0C3 </action>
<action>maincpu.mq@46A0 = E2C3C057CB58533A</action>
<action>maincpu.mq@46A8 = FFFFFFFFFFFFFF37</action>
<!--
46A0 | 3A 53 58 : ld a,($5853)
46A3 | CB 57 : bit 2,a
46A5 | C0 : ret nz
46A6 | C3 E2 37 : jp $37E2
-->
</script>
<script state="off">
<action>maincpu.md@37DF = CB58533A </action>
<action>maincpu.mq@46A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46A8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="rapid fire - shot">
<script state="on">
<action>maincpu.mb@2525 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2525 = c0</action>
</script>
</cheat>
<cheat desc="no delay missile">
<script state="on">
<action>maincpu.mb@2510 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2510 = C0</action>
</script>
</cheat>
<cheat desc="fuel speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@22DF = param</action>
</script>
<script state="off">
<action>maincpu.mb@22DF = 1F</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@00AE = F5 </action> <!-- disable HUD -->
<action>maincpu.mb@062D = C9 </action> <!-- input check routine stopper -->
<action>maincpu.md@07DB = 0946B0C3 </action>
<action>maincpu.mq@46B0 = 002105FFCD700032</action>
<action>maincpu.mq@46B8 = 2002FEF32847B859</action>
<action>maincpu.mq@46C0 = FE34012001FE3501</action>
<action>maincpu.mq@46C8 = FE0618F03E042008</action>
<action>maincpu.mq@46D0 = 787786103E052004</action>
<action>maincpu.mq@46D8 = FE06187E032010FE</action>
<action>maincpu.mq@46E0 = 609032F23E052020</action>
<action>maincpu.mq@46E8 = FFFFFFFFFFFFC618</action>
<!--
46B0 | 32 00 70 : ld ($7000),a // watchdog
46B3 | CD FF 05 : call $05FF // read input
46B6 | 21 00 59 : ld hl,$5900 // sound code address
46B9 | B8 : cp b
46BA | 47 : ld b,a
46BB | 28 F3 : jr z,$46B0
46BD | FE 02 : cp $02
46BF | 20 01 : jr nz,$46C2
46C1 | 35 : dec (hl) // decrease code -01
46C2 | FE 01 : cp $01
46C4 | 20 01 : jr nz,$46C7
46C6 | 34 : inc (hl) // increase code +01
46C7 | FE 08 : cp $08
46C9 | 20 04 : jr nz,$46CF
46CB | 3E F0 : ld a,$F0 // decrease code -10
46CD | 18 06 : jr $46D5
46CF | FE 04 : cp $04
46D1 | 20 05 : jr nz,$46D8
46D3 | 3E 10 : ld a,$10 // increase code +10
46D5 | 86 : add a,(hl)
46D6 | 77 : ld (hl),a
46D7 | 78 : ld a,b
46D8 | FE 10 : cp $10
46DA | 20 03 : jr nz,$46DF
46DC | 7E : ld a,(hl) // play sound
46DD | 18 06 : jr $46E5
46DF | FE 20 : cp $20
46E1 | 20 05 : jr nz,$46E8
46E3 | 3E F2 : ld a,$F2 // stop sound
46E5 | 32 90 60 : ld ($6090),a // send sound code
46E8 | 18 C6 : jr $46B0
-->
</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>maincpu.pb@5900</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@00AE = F6 </action>
<action>maincpu.mb@062D = 18 </action>
<action>maincpu.md@07DB = 09001001 </action>
<action>maincpu.mq@46B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@46E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.mw@0284 = 2B18</action> <!-- ram -->
<action> maincpu.mw@03B6 = 1F18</action> <!-- rom -->
<action>audiocpu.mw@0078 = 2818</action> <!-- ram -->
<action>audiocpu.mw@00B9 = 1918</action> <!-- rom -->
</script>
<script state="off">
<action> maincpu.mw@0284 = 21DD</action>
<action> maincpu.mw@03B6 = 0021</action>
<action>audiocpu.mw@0078 = 21DD</action>
<action>audiocpu.mw@00B9 = 0021</action>
</script>
</cheat>
</mamecheat>
"fuel speed" : Added new.
"sound test mode" : Added code for disabling HUD. Previous code displays "1UP" message on the screen.