[hoccer]+ Hoccer

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: 850
Joined: Tue Dec 01, 2020 1:24 pm

[hoccer]+ Hoccer

Post by jman »

hoccer.xml

Code: Select all

<!-- Hoccer (newer) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@3878 = C9</action> <!-- puck -->
            <action>maincpu.mb@3914 = 33</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@3878 = 3E</action>
            <action>maincpu.mb@3914 = 0F</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@3781 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3781 = C8</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@3798 = 02</action> <!-- attack timer -->
            <action>maincpu.mb@3CD3 = 01</action> <!-- firing puck -->
        </script>
        <script state="off">
            <action>maincpu.mb@3798 = 10</action>
            <action>maincpu.mb@3CD3 =  B</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <script state="on">
            <action>maincpu.mq@02C4 = 003A8000210029CD</action>
            <action>maincpu.mq@02CC = B1A8003A4F14E6B8</action>
            <action>maincpu.mq@02D4 = 012040FEF22847B8</action>
            <action>maincpu.mq@02DC = 02FE34012080FE35</action>
            <action>maincpu.mq@02E4 = 01FE0618F03E0420</action>
            <action>maincpu.mq@02EC = FE787786103E0520</action>
            <action>maincpu.mq@02F4 = 04FE06187E032010</action>
            <action>maincpu.mq@02FC = 1870F8CD803E0520</action>
            <action>maincpu.mq@0304 = 00000000000000C5</action>
            <!--
            02C4 | CD 29 00 : call $0029     // enable irq in vblank
            02C7 | 21 00 80 : ld   hl,$8000  // sound code address
            02CA | 3A 00 B8 : ld   a,($B800) // read buttons
            02CD | E6 14    : and  $14
            02CF | 4F       : ld   c,a
            02D0 | 3A 00 A8 : ld   a,($A800) // read other inputs
            02D3 | B1       : or   c
            02D4 | B8       : cp   b
            02D5 | 47       : ld   b,a
            02D6 | 28 F2    : jr   z,$02CA
            02D8 | FE 40    : cp   $40
            02DA | 20 01    : jr   nz,$02DD
            02DC | 35       : dec  (hl)      // decrease code -01
            02DD | FE 80    : cp   $80
            02DF | 20 01    : jr   nz,$02E2
            02E1 | 34       : inc  (hl)      // increase code +01
            02E2 | FE 02    : cp   $02
            02E4 | 20 04    : jr   nz,$02EA
            02E6 | 3E F0    : ld   a,$F0     // decrease code -10
            02E8 | 18 06    : jr   $02F0
            02EA | FE 01    : cp   $01
            02EC | 20 05    : jr   nz,$02F3
            02EE | 3E 10    : ld   a,$10     // increase code +10
            02F0 | 86       : add  a,(hl)
            02F1 | 77       : ld   (hl),a
            02F2 | 78       : ld   a,b
            02F3 | FE 10    : cp   $10
            02F5 | 20 03    : jr   nz,$02FA
            02F7 | 7E       : ld   a,(hl)    // play sound
            02F8 | 18 06    : jr   $0300
            02FA | FE 04    : cp   $04
            02FC | 20 05    : jr   nz,$0303
            02FE | 3E 80    : ld   a,$80     // stop sound
            0300 | CD F8 70 : call $70F8     // send sound code
            0303 | 18 C5    : jr   $02CA
            -->
        </script>
        <script state="run">
            <output format="----- hoccer 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="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02C4 = CD050421980032AF</action>
            <action>maincpu.mq@02CC = 85CA110D962131C7</action>
            <action>maincpu.mq@02D4 = 1A0821B0ED000601</action>
            <action>maincpu.mq@02DC = B0ED003201855011</action>
            <action>maincpu.mq@02E4 = 07FBCDC6CB85A621</action>
            <action>maincpu.mq@02EC = CD3128CD0A4321DD</action>
            <action>maincpu.mq@02F4 = FE7885D6327904E6</action>
            <action>maincpu.mq@02FC = 013685A821052002</action>
            <action>maincpu.mq@0304 = C021FF4006233EEF</action>
        </script>
    </cheat>

</mamecheat>
hoccer2.xml

Code: Select all

<!-- Hoccer (earlier) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@386E = C9</action> <!-- puck -->
            <action>maincpu.mb@393D = 46</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@386E = 3E</action>
            <action>maincpu.mb@393D = 0F</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@37AF = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@37AF = C8</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@37C6 = 02</action> <!-- attack timer -->
            <action>maincpu.mb@3CFC = 01</action> <!-- firing puck -->
        </script>
        <script state="off">
            <action>maincpu.mb@37C6 = 10</action>
            <action>maincpu.mb@3CFC =  B</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <script state="on">
            <action>maincpu.mq@02C4 = 003A8000210029CD</action>
            <action>maincpu.mq@02CC = B1A8003A4F14E6B8</action>
            <action>maincpu.mq@02D4 = 012040FEF22847B8</action>
            <action>maincpu.mq@02DC = 02FE34012080FE35</action>
            <action>maincpu.mq@02E4 = 01FE0618F03E0420</action>
            <action>maincpu.mq@02EC = FE787786103E0520</action>
            <action>maincpu.mq@02F4 = 04FE06187E032010</action>
            <action>maincpu.mq@02FC = 1870C1CD803E0520</action>
            <action>maincpu.mq@0304 = 00000000000000C5</action>
            <!--
            02C4 | CD 29 00 : call $0029     // enable irq in vblank
            02C7 | 21 00 80 : ld   hl,$8000  // sound code address
            02CA | 3A 00 B8 : ld   a,($B800) // read buttons
            02CD | E6 14    : and  $14
            02CF | 4F       : ld   c,a
            02D0 | 3A 00 A8 : ld   a,($A800) // read other inputs
            02D3 | B1       : or   c
            02D4 | B8       : cp   b
            02D5 | 47       : ld   b,a
            02D6 | 28 F2    : jr   z,$02CA
            02D8 | FE 40    : cp   $40
            02DA | 20 01    : jr   nz,$02DD
            02DC | 35       : dec  (hl)      // decrease code -01
            02DD | FE 80    : cp   $80
            02DF | 20 01    : jr   nz,$02E2
            02E1 | 34       : inc  (hl)      // increase code +01
            02E2 | FE 02    : cp   $02
            02E4 | 20 04    : jr   nz,$02EA
            02E6 | 3E F0    : ld   a,$F0     // decrease code -10
            02E8 | 18 06    : jr   $02F0
            02EA | FE 01    : cp   $01
            02EC | 20 05    : jr   nz,$02F3
            02EE | 3E 10    : ld   a,$10     // increase code +10
            02F0 | 86       : add  a,(hl)
            02F1 | 77       : ld   (hl),a
            02F2 | 78       : ld   a,b
            02F3 | FE 10    : cp   $10
            02F5 | 20 03    : jr   nz,$02FA
            02F7 | 7E       : ld   a,(hl)    // play sound
            02F8 | 18 06    : jr   $0300
            02FA | FE 04    : cp   $04
            02FC | 20 05    : jr   nz,$0303
            02FE | 3E 80    : ld   a,$80     // stop sound
            0300 | CD C1 70 : call $70C1     // send sound code
            0303 | 18 C5    : jr   $02CA
            -->
        </script>
        <script state="run">
            <output format="----- hoccer 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="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02C4 = CD050121980032AF</action>
            <action>maincpu.mq@02CC = 85CA110DEE2131D1</action>
            <action>maincpu.mq@02D4 = 1A2821B0ED000601</action>
            <action>maincpu.mq@02DC = B0ED003C01855011</action>
            <action>maincpu.mq@02E4 = 07B8CDC6CB85A621</action>
            <action>maincpu.mq@02EC = CD3132CD0A0021DD</action>
            <action>maincpu.mq@02F4 = FE7885D6327904E3</action>
            <action>maincpu.mq@02FC = 013685A821052002</action>
            <action>maincpu.mq@0304 = C021FF4006233EEF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply