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: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Mon Oct 18, 2021 3:24 pm
Code: Select all
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0140">03 </item>
<item value="0x0180">04 </item>
<item value="0x0200">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@36f4 = param</action>
<action>maincpu.mw@36f7 = -param</action>
<action>maincpu.mw@3700 = param</action>
<action>maincpu.mw@3703 = -param</action>
<action>maincpu.mw@371b = param</action>
<action>maincpu.mw@371e = -param</action>
</script>
<script state="off">
<action>maincpu.mw@36f4 = 0080</action>
<action>maincpu.mw@36f7 = ff80</action>
<action>maincpu.mw@3700 = 0100</action>
<action>maincpu.mw@3703 = ff00</action>
<action>maincpu.mw@371b = 0200</action>
<action>maincpu.mw@371e = fe00</action>
</script>
</cheat>
<cheat desc="disable arrow">
<script state="on">
<action>maincpu.mb@352c = 18</action>
<action>maincpu.mb@3570 = 18</action>
</script>
<script state="off">
<action>maincpu.mb@352c = 20</action>
<action>maincpu.mb@3570 = 20</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set ram/rom check skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@153a = 4810</action>
<action>maincpu.mq@4810 = 11010021082ccdaf</action>
<action>maincpu.mq@4818 = 003a810022d54817</action>
<action>maincpu.mq@4820 = fec86fbd98003ab0</action>
<action>maincpu.mq@4828 = 0120effe250120df</action>
<action>maincpu.mq@4830 = 04187c0320f7fe24</action>
<action>maincpu.mq@4838 = c9082ccdafc0fdfe</action>
<!--
4810 | af : xor a
4811 | cd 2c 08 : call $082c
4814 | 21 00 01 : ld hl,$0100 // initialize sound and input values
4817 | 11 17 48 : ld de,$4817
481a | d5 : push de
481b | 22 00 81 : ld ($8100),hl
481e | 3a 00 b0 : ld a,($b000) // watchdog
4821 | 3a 00 98 : ld a,($9800) // read input
4824 | bd : cp l
4825 | 6f : ld l,a
4826 | c8 : ret z
4827 | fe df : cp $df
4829 | 20 01 : jr nz,$482c
482b | 25 : dec h // decrease code
482c | fe ef : cp $ef
482e | 20 01 : jr nz,$4831
4830 | 24 : inc h // increase code
4831 | fe f7 : cp $f7
4833 | 20 03 : jr nz,$4838
4835 | 7c : ld a,h // play sound
4836 | 18 04 : jr $483c
4838 | fe fd : cp $fd
483a | c0 : ret nz
483b | af : xor a // stop sound
483c | cd 2c 08 : call $082c // send sound code
483f | c9 : ret
-->
</script>
<script state="run">
<output format="----- armored car 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@8101</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@153a = 064d</action>
<action>maincpu.mq@4810 = ffffffffffffffff</action>
<action>maincpu.mq@4818 = ffffffffffffffff</action>
<action>maincpu.mq@4820 = ffffffffffffffff</action>
<action>maincpu.mq@4828 = ffffffffffffffff</action>
<action>maincpu.mq@4830 = ffffffffffffffff</action>
<action>maincpu.mq@4838 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0114 = e9dd</action> <!-- rom -->
<action>maincpu.mw@0156 = e9fd</action> <!-- ram -->
</script>
<script state="off">
<action>maincpu.mw@0114 = 0001</action>
<action>maincpu.mw@0156 = 6069</action>
</script>
</cheat>
"sound test mode" is incomplete. Normal play sound is performed after some sound effects (e.g. code 0x02).
jman
Posts: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Wed Oct 25, 2023 10:08 am
armorcar.xml
Code: Select all
<!-- Armored Car (set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0E5C = 18</action>
</script>
<script state="off">
<action>maincpu.mb@0E5C = 30</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0140">03 </item>
<item value="0x0180">04 </item>
<item value="0x0200">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@36F4 = param</action>
<action>maincpu.mw@36F7 = -param</action>
<action>maincpu.mw@3700 = param</action>
<action>maincpu.mw@3703 = -param</action>
<action>maincpu.mw@371B = param</action>
<action>maincpu.mw@371E = -param</action>
</script>
<script state="off">
<action>maincpu.mw@36F4 = 0080</action>
<action>maincpu.mw@36F7 = FF80</action>
<action>maincpu.mw@3700 = 0100</action>
<action>maincpu.mw@3703 = FF00</action>
<action>maincpu.mw@371B = 0200</action>
<action>maincpu.mw@371E = FE00</action>
</script>
</cheat>
<cheat desc="disable arrow">
<script state="on">
<action>maincpu.mb@352C = 18</action>
<action>maincpu.mb@3570 = 18</action>
</script>
<script state="off">
<action>maincpu.mb@352C = 20</action>
<action>maincpu.mb@3570 = 20</action>
</script>
</cheat>
<cheat desc="fuel speed">
<parameter>
<item value="0x80">01 (slow)</item>
<item value="0x40">02 </item>
<item value="0x20">03 </item>
<item value="0x08">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@3706 = param</action>
<action>maincpu.mb@3711 = param</action>
</script>
<script state="off">
<action>maincpu.mb@3706 = 08</action>
<action>maincpu.mb@3711 = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@153A = 4810 </action>
<action>maincpu.mq@4810 = 98023A3A18800021</action>
<action>maincpu.mq@4818 = 003A4F070750E62F</action>
<action>maincpu.mq@4820 = 2847B8B13AE62F98</action>
<action>maincpu.mq@4828 = 10FE35012020FEEC</action>
<action>maincpu.mq@4830 = 3E042001FE340120</action>
<action>maincpu.mq@4838 = 3E052040FE0618F0</action>
<action>maincpu.mq@4840 = 032008FE78778610</action>
<action>maincpu.mq@4848 = AF042002FE05187E</action>
<action>maincpu.mq@4850 = FFFFFFC018082CCD</action>
<!--
4810 | 21 00 80 : ld hl,$8000 // sound code address
4813 | 18 3A : jr $484F
4815 | 3A 02 98 : ld a,($9802) // read up/down
4818 | 2F : cpl
4819 | E6 50 : and $50
481B | 07 : rlca
481C | 07 : rlca
481D | 4F : ld c,a
481E | 3A 00 98 : ld a,($9800) // read other inputs
4821 | 2F : cpl
4822 | E6 3A : and $3A
4824 | B1 : or c
4825 | B8 : cp b
4826 | 47 : ld b,a
4827 | 28 EC : jr z,$4815
4829 | FE 20 : cp $20
482B | 20 01 : jr nz,$482E
482D | 35 : dec (hl) // decrease code -01
482E | FE 10 : cp $10
4830 | 20 01 : jr nz,$4833
4832 | 34 : inc (hl) // increase code +01
4833 | FE 01 : cp $01
4835 | 20 04 : jr nz,$483B
4837 | 3E F0 : ld a,$F0 // decrease code -10
4839 | 18 06 : jr $4841
483B | FE 40 : cp $40
483D | 20 05 : jr nz,$4844
483F | 3E 10 : ld a,$10 // increase code +10
4841 | 86 : add a,(hl)
4842 | 77 : ld (hl),a
4843 | 78 : ld a,b
4844 | FE 08 : cp $08
4846 | 20 03 : jr nz,$484B
4848 | 7E : ld a,(hl) // play sound
4849 | 18 05 : jr $4850
484B | FE 02 : cp $02
484D | 20 04 : jr nz,$4853
484F | AF : xor a // stop sound
4850 | CD 2C 08 : call $082C
4853 | 18 C0 : jr $4815
-->
<action>audiocpu.mw@021E = 02E2</action> <!-- disable playing sfx and music at the same time -->
</script>
<script state="run">
<output format="----- armored car 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@8000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mw@153A = 064D </action>
<action> maincpu.mq@4810 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4818 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4820 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4828 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4830 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4838 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4840 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4848 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@4850 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mw@021E = 0076 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0114 = E9DD</action> <!-- rom -->
<action>maincpu.mw@0156 = E9FD</action> <!-- ram -->
</script>
<script state="off">
<action>maincpu.mw@0114 = 0001</action>
<action>maincpu.mw@0156 = 6069</action>
</script>
</cheat>
</mamecheat>
armorcar2.xml
Code: Select all
<!-- Armored Car (set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0E3B = 18</action>
</script>
<script state="off">
<action>maincpu.mb@0E3B = 30</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0140">03 </item>
<item value="0x0180">04 </item>
<item value="0x0200">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@368C = param</action>
<action>maincpu.mw@368F = -param</action>
<action>maincpu.mw@3698 = param</action>
<action>maincpu.mw@369B = -param</action>
<action>maincpu.mw@36B3 = param</action>
<action>maincpu.mw@36B6 = -param</action>
</script>
<script state="off">
<action>maincpu.mw@368C = 0080</action>
<action>maincpu.mw@368F = FF80</action>
<action>maincpu.mw@3698 = 0100</action>
<action>maincpu.mw@369B = FF00</action>
<action>maincpu.mw@36B3 = 0200</action>
<action>maincpu.mw@36B6 = FE00</action>
</script>
</cheat>
<cheat desc="disable arrow">
<script state="on">
<action>maincpu.mb@34C4 = 18</action>
<action>maincpu.mb@3508 = 18</action>
</script>
<script state="off">
<action>maincpu.mb@35C4 = 20</action>
<action>maincpu.mb@3508 = 20</action>
</script>
</cheat>
<cheat desc="fuel speed">
<parameter>
<item value="0x80">01 (slow)</item>
<item value="0x40">02 </item>
<item value="0x20">03 </item>
<item value="0x08">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@369E = param</action>
<action>maincpu.mb@36A9 = param</action>
</script>
<script state="off">
<action>maincpu.mb@369E = 08</action>
<action>maincpu.mb@36A9 = 04</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@14D2 = 47A0 </action>
<action>maincpu.mq@47A0 = 98023A3A18800021</action>
<action>maincpu.mq@47A8 = 003A4F070750E62F</action>
<action>maincpu.mq@47B0 = 2847B8B13AE62F98</action>
<action>maincpu.mq@47B8 = 10FE35012020FEEC</action>
<action>maincpu.mq@47C0 = 3E042001FE340120</action>
<action>maincpu.mq@47C8 = 3E052040FE0618F0</action>
<action>maincpu.mq@47D0 = 032008FE78778610</action>
<action>maincpu.mq@47D8 = AF042002FE05187E</action>
<action>maincpu.mq@47E0 = FFFFFFC0180832CD</action>
<!--
4810 | 21 00 80 : ld hl,$8000 // sound code address
4813 | 18 3A : jr $484F
4815 | 3A 02 98 : ld a,($9802) // read up/down
4818 | 2F : cpl
4819 | E6 50 : and $50
481B | 07 : rlca
481C | 07 : rlca
481D | 4F : ld c,a
481E | 3A 00 98 : ld a,($9800) // read other inputs
4821 | 2F : cpl
4822 | E6 3A : and $3A
4824 | B1 : or c
4825 | B8 : cp b
4826 | 47 : ld b,a
4827 | 28 EC : jr z,$4815
4829 | FE 20 : cp $20
482B | 20 01 : jr nz,$482E
482D | 35 : dec (hl) // decrease code -01
482E | FE 10 : cp $10
4830 | 20 01 : jr nz,$4833
4832 | 34 : inc (hl) // increase code +01
4833 | FE 01 : cp $01
4835 | 20 04 : jr nz,$483B
4837 | 3E F0 : ld a,$F0 // decrease code -10
4839 | 18 06 : jr $4841
483B | FE 40 : cp $40
483D | 20 05 : jr nz,$4844
483F | 3E 10 : ld a,$10 // increase code +10
4841 | 86 : add a,(hl)
4842 | 77 : ld (hl),a
4843 | 78 : ld a,b
4844 | FE 08 : cp $08
4846 | 20 03 : jr nz,$484B
4848 | 7E : ld a,(hl) // play sound
4849 | 18 05 : jr $4850
484B | FE 02 : cp $02
484D | 20 04 : jr nz,$4853
484F | AF : xor a // stop sound
4850 | CD 32 08 : call $0832
4853 | 18 C0 : jr $4815
-->
<action>audiocpu.mw@021E = 02E2</action> <!-- disable playing sfx and music at the same time -->
</script>
<script state="run">
<output format="----- armored car 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@8000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mw@14D2 = 0653 </action>
<action> maincpu.mq@47A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47B8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47C0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47C8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47D0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47D8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@47E0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mw@021E = 0076 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0114 = E9DD</action> <!-- rom -->
<action>maincpu.mw@0156 = E9FD</action> <!-- ram -->
</script>
<script state="off">
<action>maincpu.mw@0114 = 0001</action>
<action>maincpu.mw@0156 = 6069</action>
</script>
</cheat>
</mamecheat>
"fuel speed" : Added new.
"sound test mode" : Fixed. New code disables playing sfx and music at the same time.