Page 1 of 1

[hoccer]+ Hoccer

Posted: Sat Jan 13, 2024 8:10 am
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>