[armorcar] Armored Car

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.
Post Reply
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[armorcar] Armored Car

Post by jman »

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="&lt;&lt; sound code %2.2X &gt;&gt;"      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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[armorcar]+ Armored Car

Post by jman »

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 &quot;skip ram/rom check&quot; 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="&lt;&lt; sound code %2.2X &gt;&gt;"      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 &quot;skip ram/rom check&quot; 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="&lt;&lt; sound code %2.2X &gt;&gt;"      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.
Post Reply