Page 1 of 1

[blockch] G.T. Block Challenger

Posted: Wed Feb 24, 2021 8:35 am
by jman

Code: Select all

<cheat desc="keep a ball">
    <script state="on">
        <action>maincpu.mq@01b9 = 161acd205332083e</action>
        <action>maincpu.mq@01c1 = 20043a195211b3f2</action>
        <!--
        11b9 | 3e 08    : mvi  a,08
        11bb | 32 53 20 : sta  a,$2053
        11be | cd 1a 16 : call $161a
        11c1 | f2 b3 11 : jp   $11b3
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@01b9 = 32023e19e8cd073e</action>
        <action>maincpu.mq@01c1 = 20043a1952cd2052</action>
    </script>
</cheat>
The above code has problem. Ball often passes through a block then goes to out of screen.
I don't know this is cheat related bug or emulation problem (this game is "not working" status).

Other addresses are...
  • 206f : credit
  • 2055 : life
  • 2052 : ball x-position
  • 2053 : ball y-position
  • 2062 : flag for ball rise or fall
  • 2056 : score (2bytes BCD)
  • 207a : top score (2bytes BCD)

[blockch]+ G.T. Block Challenger

Posted: Mon Oct 09, 2023 1:42 am
by jman
blockch.xml

Code: Select all

<!-- G.T. Block Challenger -->
<mamecheat version="1">

    <cheat desc="keep a ball (test)">
        <!-- unverified because the game doesn't work -->
        <script state="on">
            <action>maincpu.mq@01B9 = 161ACD205332083E</action>
            <action>maincpu.mq@01C1 = 20043A195211B3F2</action>
            <!--
            11B9 | 3E 08    : mvi  a,08
            11BB | 32 53 20 : sta  a,$2053
            11BE | CD 1A 16 : call $161a
            11C1 | F2 B3 11 : jp   $11b3
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@01B9 = 32023E19E8CD073E</action>
            <action>maincpu.mq@01C1 = 20043A1952CD2052</action>
        </script>
    </cheat>

    <cheat desc="ball speed (test)">
        <!-- unverified because the game doesn't work -->
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@09FF = C96700CE7C6F00C6</action> <!-- up -->
            <action>maincpu.mq@0A12 = C96700DE7C6F00D6</action> <!-- down -->
            <action>maincpu.md@0A39 = 4FC900C6        </action> <!-- right -->
            <action>maincpu.md@0A4B = 4FC900C6        </action> <!-- left -->
        </script>
        <script state="change">
            <action>maincpu.mb@0A00 =  param</action>
            <action>maincpu.mb@0A13 =  param</action>
            <action>maincpu.mb@0A3A =  param</action>
            <action>maincpu.mb@0A4C = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@09FF = 20CA03FE794F03E6</action>
            <action>maincpu.mq@0A12 = 1A2DCAA74F4F03E6</action>
            <action>maincpu.md@0A39 = 4F03E647        </action>
            <action>maincpu.md@0A4B = 4F03E647        </action>
        </script>
    </cheat>

</mamecheat>
tvgm8080.xml.

Code: Select all

<!-- TV Game 8080 -->
<mamecheat version="1">

    <cheat desc="keep a ball (test)">
        <!-- unverified because the game doesn't work -->
        <script state="on">
            <action>maincpu.mq@01B9 = 161ACD205332083E</action>
            <action>maincpu.mq@01C1 = 20043A195211B3F2</action>
            <!--
            11B9 | 3E 08    : mvi  a,08
            11BB | 32 53 20 : sta  a,$2053
            11BE | CD 1A 16 : call $161a
            11C1 | F2 B3 11 : jp   $11b3
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@01B9 = 32023E19E8CD073E</action>
            <action>maincpu.mq@01C1 = 20043A1952CD2052</action>
        </script>
    </cheat>

    <cheat desc="ball speed (test)">
        <!-- unverified because the game doesn't work -->
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@09FF = C96700CE7C6F00C6</action> <!-- up -->
            <action>maincpu.mq@0A12 = C96700DE7C6F00D6</action> <!-- down -->
            <action>maincpu.md@0A39 = 4FC900C6        </action> <!-- right -->
            <action>maincpu.md@0A4B = 4FC900C6        </action> <!-- left -->
        </script>
        <script state="change">
            <action>maincpu.mb@0A00 =  param</action>
            <action>maincpu.mb@0A13 =  param</action>
            <action>maincpu.mb@0A3A =  param</action>
            <action>maincpu.mb@0A4C = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@09FF = 20CA03FE794F03E6</action>
            <action>maincpu.mq@0A12 = 1A2DCAA74F4F03E6</action>
            <action>maincpu.md@0A39 = 4F03E647        </action>
            <action>maincpu.md@0A4B = 4F03E647        </action>
        </script>
    </cheat>

</mamecheat>
  • "keep a ball" : Changed status as test.
  • "ball speed" : Added new as test.
There games are marked as "machine not working". The ball doesn't appear in the field after start the game so that I can't verify the cheat codes.