[hangonjr] Hang-On Jr.

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: 1296
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[hangonjr] Hang-On Jr.

Post by jman »

hangonjr.xml

Code: Select all

<!-- Hang-On Jr. (Rev. B) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2F10 = C9</action> <!-- enemy -->
            <action>maincpu.mb@357E = C9</action> <!-- obstacle -->
            <action>maincpu.mb@702A = C9</action> <!-- water -->
        </script>
        <script state="off">
            <action>maincpu.mb@2F10 = D0</action>
            <action>maincpu.mb@357E = D0</action>
            <action>maincpu.mb@702A = D0</action>
       </script>
    </cheat>

    <cheat desc="no offroad slowdown">
        <script state="on">
            <action>maincpu.mb@144F = 14</action>
            <action>maincpu.mb@1452 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@144F = 04</action>
            <action>maincpu.mb@1452 = 38</action>
        </script>
    </cheat>

    <cheat desc="no tire slip">
        <script state="on">
            <action>maincpu.mb@14B7 = 00</action>
            <action>maincpu.mb@14C0 = 00</action>
            <action>maincpu.mb@14C9 = 00</action>
            <action>maincpu.mb@14D1 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@14B7 = 1B</action>
            <action>maincpu.mb@14C0 = 12</action>
            <action>maincpu.mb@14C9 = 09</action>
            <action>maincpu.mb@14D1 = 38</action>
        </script>
    </cheat>

    <cheat desc="timer 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="0x01">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@1D03 = 277BD0CD        </action>
            <action>maincpu.mq@7BD0 = C901D67E2300362B</action>
            <!--
            7BD0 | 2B    : dec  hl
            7BD1 | 36 xx : ld   (hl),$xx
            7BD3 | 23    : inc  hl
            7BD4 | 7E    : ld   a,(hl)
            7BD5 | D6 01 : sub  $01
            7BD7 | C9    : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7BD2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1D03 = 0F01D67E        </action>
            <action>maincpu.mq@7BD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@786E = C800            </action> <!-- read sound code -->
            <action>maincpu.mw@0959 = 7BD8            </action>
            <action>maincpu.mq@7BD8 = 3A000EC80021F3CF</action>
            <action>maincpu.mq@7BE0 = 200E022067CBC212</action>
            <action>maincpu.mq@7BE8 = CB082880FEC2053A</action>
            <action>maincpu.mq@7BF0 = 3A010E0220020E7F</action>
            <action>maincpu.mq@7BF8 = 79100E0228A7C206</action>
            <action>maincpu.mq@7C00 = 012001FED42847B8</action>
            <action>maincpu.mq@7C08 = 10FE34012002FE35</action>
            <action>maincpu.mq@7C10 = 78C17867CDC50620</action>
            <action>maincpu.mq@7C18 = 185940CD032020FE</action>
            <action>maincpu.mq@7C20 = FFFFFFFFFFFFFFB7</action>
            <!--
            7BD8 | CF       : rst  $08       // wait interrupt
            7BD9 | F3       : di
            7BDA | 21 00 C8 : ld   hl,$C800  // sound code address
            7BDD | 0E 00    : ld   c,$00
            7BDF | 3A 12 C2 : ld   a,($C212) // read start button
            7BE2 | CB 67    : bit  4,a
            7BE4 | 20 02    : jr   nz,$7BE8
            7BE6 | 0E 20    : ld   c,$20
            7BE8 | 3A 05 C2 : ld   a,($C205) // read accelerator
            7BEB | FE 80    : cp   $80
            7BED | 28 08    : jr   z,$7BF7
            7BEF | CB 7F    : bit  7,a
            7BF1 | 0E 02    : ld   c,$02
            7BF3 | 20 02    : jr   nz,$7BF7
            7BF5 | 0E 01    : ld   c,$01
            7BF7 | 3A 06 C2 : ld   a,($C206) // read steering wheel
            7BFA | A7       : and  a
            7BFB | 28 02    : jr   z,$7BFF
            7BFD | 0E 10    : ld   c,$10
            7BFF | 79       : ld   a,c
            7C00 | B8       : cp   b
            7C01 | 47       : ld   b,a
            7C02 | 28 D4    : jr   z,$7BD8
            7C04 | FE 01    : cp   $01
            7C06 | 20 01    : jr   nz,$7C09
            7C08 | 35       : dec  (hl)      // decrease code -01
            7C09 | FE 02    : cp   $02
            7C0B | 20 01    : jr   nz,$7C0E
            7C0D | 34       : inc  (hl)      // increase code +01
            7C0E | FE 10    : cp   $10
            7C10 | 20 06    : jr   nz,$7C18
            7C12 | C5       : push bc        // play sound
            7C13 | CD 67 78 : call $7867
            7C16 | C1       : pop  bc
            7C17 | 78       : ld   a,b
            7C18 | FE 20    : cp   $20
            7C1A | 20 03    : jr   nz,$7C1F
            7C1C | CD 40 59 : call $5940     // stop sound
            7C1F | 18 B7    : jr   $7BD8
            -->
        </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="accel : play sound"                line="13" align="center" />
            <output format="start : stop sound"                line="14" align="center" />
            <output format="----------------------------"      line="15" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="17" align="center"  >
                <argument>maincpu.pb@C800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@786E = C701            </action>
            <action>maincpu.mw@0959 = 05AD            </action>
            <action>maincpu.mq@7BD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C20 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply