Page 1 of 1

[timescan] Time Scanner

Posted: Mon May 23, 2022 12:54 pm
by jman

Code: Select all

<cheat desc="keep a ball">
    <script state="on">
        <action>maincpu.mq@9442 = 4eb90000f9c0327c</action>
        <action>maincpu.mq@f9c0 = 303c0106b06e000c</action>
        <action>maincpu.mq@f9c8 = 630e3d7c0008002c</action>
        <action>maincpu.mq@f9d0 = 3d40000c201f4e75</action>
        <action>maincpu.mq@f9d8 = 08ee000300004e75</action>
        <!--
        f9c0 | 303c 0106      : move.w #$106,D0
        f9c4 | b06e 000c      : cmp.w  ($c,A6),D0
        f9c8 | 630e           : bls    $f9d8
        f9ca | 3d7c 0008 002c : move.w #$8,($2c,A6)
        f9d0 | 3d40 000c      : move.w D0,($c,A6)
        f9d4 | 201f           : move.l (A7)+,D0
        f9d6 | 4e75           : rts
        f9d8 | 08ee 0003 0000 : bset   #$3,($0,A6) 
        f9de | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@9442 = 08ee00030000327c</action>
        <action>maincpu.mq@f9c0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9c8 = ffffffffffffffff</action>
        <action>maincpu.mq@f9d0 = ffffffffffffffff</action>
        <action>maincpu.mq@f9d8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="ball rise by button 3">
    <script state="on">
        <action>maincpu.mq@10454 = 4eb90000f9e04e71</action>
        <action>maincpu.mq@0f9e0 = 08380000c0806708</action>
        <action>maincpu.mq@0f9e8 = 2d7c00040000002c</action>
        <action>maincpu.mq@0f9f0 = 202e002cd1ae000c</action>
        <action>maincpu.mq@0f9f8 = 4e75ffffffffffff</action>
        <!--
        f9e0 | 0838 0000 c080      : btst   #$0,$c080.w
        f9e6 | 6708                : beq    $f9f0
        f9e8 | 2d7c 0004 0000 002c : move.l #$40000,($2c,A6)
        f9f0 | 202e 002c           : move.l ($2c,A6),D0
        f9f4 | d1ae 000c           : add.l  D0,($c,A6)
        f9f8 | 4e75                : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@10454 = 202e002cd1ae000c</action>
        <action>maincpu.mq@0f9e0 = ffffffffffffffff</action>
        <action>maincpu.mq@0f9e8 = ffffffffffffffff</action>
        <action>maincpu.mq@0f9f0 = ffffffffffffffff</action>
        <action>maincpu.mq@0f9f8 = 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.mq@052e = 4ef90000fa0008b8</action>
        <action>maincpu.mq@fa00 = 41f8c10043f900fe</action>
        <action>maincpu.mq@fa08 = 00071200103900c4</action>
        <action>maincpu.mq@fa10 = 1003b20067f40c00</action>
        <action>maincpu.mq@fa18 = 007f660253100c00</action>
        <action>maincpu.mq@fa20 = 00bf660252100c00</action>
        <action>maincpu.mq@fa28 = 00fe660404100010</action>
        <action>maincpu.mq@fa30 = 0c0000df66040610</action>
        <action>maincpu.mq@fa38 = 00100c0000fd6602</action>
        <action>maincpu.mq@fa40 = 12900c0000fb6602</action>
        <action>maincpu.mq@fa48 = 421160beffffffff</action>
        <!--
        fa00 | 41f8 c100      : lea    $c100.w,A0   // sound code address
        fa04 | 43f9 00fe 0007 : lea    $fe0007.l,A1 // sound latch address
        fa0a | 1200           : move.b D0,D1
        fa0c | 1039 00c4 1003 : move.b $c41003.l,D0 // read input
        fa12 | b200           : cmp.b  D0,D1
        fa14 | 67f4           : beq    $fa0a
        fa16 | 0c00 007f      : cmpi.b #$7f,D0
        fa1a | 6602           : bne    $fa1e
        fa1c | 5310           : subq.b #1,(A0)      // decrease code -01
        fa1e | 0c00 00bf      : cmpi.b #-$41,D0
        fa22 | 6602           : bne    $fa26
        fa24 | 5210           : addq.b #1,(A0)      // increase code +01
        fa26 | 0c00 00fe      : cmpi.b #-$2,D0
        fa2a | 6604           : bne    $fa30
        fa2c | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        fa30 | 0c00 00df      : cmpi.b #-$21,D0
        fa34 | 6604           : bne    $fa3a
        fa36 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        fa3a | 0c00 00fd      : cmpi.b #-$3,D0
        fa3e | 6602           : bne    $fa42
        fa40 | 1290           : move.b (A0),(A1)    // play sound
        fa42 | 0c00 00fb      : cmpi.b #-$5,D0
        fa46 | 6602           : bne    $fa4a
        fa48 | 4211           : clr.b  (A1)         // stop sound
        fa4a | 60be           : bra    $fa0a
        -->
    </script>
    <script state="run">
        <output format="----- time scanner 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="up : increase code +10"                   line="13" align="center" />
        <output format="button 3 : decrease 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@ffc100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@052e = 08b80006c03308b8</action>
        <action>maincpu.mq@fa00 = ffffffffffffffff</action>
        <action>maincpu.mq@fa08 = ffffffffffffffff</action>
        <action>maincpu.mq@fa10 = ffffffffffffffff</action>
        <action>maincpu.mq@fa18 = ffffffffffffffff</action>
        <action>maincpu.mq@fa20 = ffffffffffffffff</action>
        <action>maincpu.mq@fa28 = ffffffffffffffff</action>
        <action>maincpu.mq@fa30 = ffffffffffffffff</action>
        <action>maincpu.mq@fa38 = ffffffffffffffff</action>
        <action>maincpu.mq@fa40 = ffffffffffffffff</action>
        <action>maincpu.mq@fa48 = ffffffffffffffff</action>
    </script>
</cheat>
"ball rise by button 3" is unique. All balls in the field moves upwards when you press button 3.

[timescan]+ Time Scanner

Posted: Mon Oct 02, 2023 9:43 am
by jman
timescan3 is added in 0.259. It's similar to timescan.

timescan3.xml

Code: Select all

<!-- Time Scanner (set 3, Japan, System 16B) (FD1089B 317-0024) -->
<mamecheat version="1">

    <cheat desc="keep a ball">
        <script state="run">
            <action>maincpu.oq@9442 = 4EB90000F9C0327C</action>
            <action>maincpu.oq@F9C0 = 303C0106B06E000C</action>
            <action>maincpu.oq@F9C8 = 630E3D7C0008002C</action>
            <action>maincpu.oq@F9D0 = 3D40000C201F4E75</action>
            <action>maincpu.oq@F9D8 = 08EE000300004E75</action>
            <!--
            F9C0 | 303C 0106      : move.w #$106,D0
            F9C4 | B06E 000C      : cmp.w  ($c,A6),D0
            F9C8 | 630E           : bls    $f9d8
            F9CA | 3D7C 0008 002C : move.w #$8,($2c,A6)
            F9D0 | 3D40 000C      : move.w D0,($c,A6)
            F9D4 | 201F           : move.l (A7)+,D0
            F9D6 | 4E75           : rts
            F9D8 | 08EE 0003 0000 : bset   #$3,($0,A6)
            F9DE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@9442 = 08EE00030000327C</action>
            <action>maincpu.oq@F9C0 = F7BF43BFF7BF43BF</action>
            <action>maincpu.oq@F9C8 = EBF747BFEBF747BF</action>
            <action>maincpu.oq@F9D0 = F7BF43BFF7BF43BF</action>
            <action>maincpu.oq@F9D8 = EBF747BFEBF747BF</action>
        </script>
    </cheat>

    <cheat desc="ball rise by button 3">
        <script state="run">
            <action>maincpu.oq@10454 = 4EB90000F9E04E71</action>
            <action>maincpu.oq@0F9E0 = 08380000C0806708</action>
            <action>maincpu.oq@0F9E8 = 2D7C00040000002C</action>
            <action>maincpu.oq@0F9F0 = 202E002CD1AE000C</action>
            <action>maincpu.oq@0F9F8 = 4E75FFFFFFFFFFFF</action>
            <!--
            F9E0 | 0838 0000 C080      : btst   #$0,$c080.w
            F9E6 | 6708                : beq    $f9f0
            F9E8 | 2D7C 0004 0000 002C : move.l #$40000,($2c,A6)
            F9F0 | 202E 002C           : move.l ($2c,A6),D0
            F9F4 | D1AE 000C           : add.l  D0,($c,A6)
            F9F8 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@10454 = 202E002CD1AE000C</action>
            <action>maincpu.oq@0F9E0 = CBBF1FFFCBBF1FFF</action>
            <action>maincpu.oq@0F9E8 = 27FF8FB727FF8FB7</action>
            <action>maincpu.oq@0F9F0 = CBBF1FFFCBBF1FFF</action>
            <action>maincpu.oq@0F9F8 = 27FF8FB727FF8FB7</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@052E = 4EF90000FA0008B8</action>
            <action>maincpu.oq@FA00 = 41F8C10043F900FE</action>
            <action>maincpu.oq@FA08 = 00071200103900C4</action>
            <action>maincpu.oq@FA10 = 1003B20067F40C00</action>
            <action>maincpu.oq@FA18 = 007F660253100C00</action>
            <action>maincpu.oq@FA20 = 00BF660252100C00</action>
            <action>maincpu.oq@FA28 = 00FE660404100010</action>
            <action>maincpu.oq@FA30 = 0C0000DF66040610</action>
            <action>maincpu.oq@FA38 = 00100C0000FD6602</action>
            <action>maincpu.oq@FA40 = 12900C0000FB6602</action>
            <action>maincpu.oq@FA48 = 421160BEFFFFFFFF</action>
            <!--
            FA00 | 41F8 C100      : lea    $c100.w,A0   // sound code address ($ffc100)
            FA04 | 43F9 00FE 0007 : lea    $fe0007.l,A1 // sound latch address
            FA0A | 1200           : move.b D0,D1
            FA0C | 1039 00C4 1003 : move.b $c41003.l,D0 // read input
            FA12 | B200           : cmp.b  D0,D1
            FA14 | 67F4           : beq    $fa0a
            FA16 | 0C00 007F      : cmpi.b #$7f,D0
            FA1A | 6602           : bne    $fa1e
            FA1C | 5310           : subq.b #1,(A0)      // decrease code -01
            FA1E | 0C00 00BF      : cmpi.b #-$41,D0
            FA22 | 6602           : bne    $fa26
            FA24 | 5210           : addq.b #1,(A0)      // increase code +01
            FA26 | 0C00 00FE      : cmpi.b #-$2,D0
            FA2A | 6604           : bne    $fa30
            FA2C | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
            FA30 | 0C00 00DF      : cmpi.b #-$21,D0
            FA34 | 6604           : bne    $fa3a
            FA36 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
            FA3A | 0C00 00FD      : cmpi.b #-$3,D0
            FA3E | 6602           : bne    $fa42
            FA40 | 1290           : move.b (A0),(A1)    // play sound
            FA42 | 0C00 00FB      : cmpi.b #-$5,D0
            FA46 | 6602           : bne    $fa4a
            FA48 | 4211           : clr.b  (A1)         // stop sound
            FA4A | 60BE           : bra    $fa0a
            -->
            <!-- display -->
            <output format="----- time scanner 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="up : increase code +10"                   line="13" align="center" />
            <output format="button 3 : decrease 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@FFC100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@052E = 08B80006C03308B8</action>
            <action>maincpu.oq@FA00 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA08 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FA10 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA18 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FA20 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FA28 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FA30 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FA38 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FA40 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA48 = 2BFFD7BF2BFFD7BF</action>
        </script>
    </cheat>

</mamecheat>
Also missing timescan1.xml

Code: Select all

<!-- Time Scanner (set 1, System 16A, FD1089B 317-0024) -->
<mamecheat version="1">

    <cheat desc="keep a ball">
        <script state="run">
            <action>maincpu.oq@9478 = 4EB90000FB60327C</action>
            <action>maincpu.oq@FB60 = 303C0106B06E000C</action>
            <action>maincpu.oq@FB68 = 630E3D7C0008002C</action>
            <action>maincpu.oq@FB70 = 3D40000C201F4E75</action>
            <action>maincpu.oq@FB78 = 08EE000300004E75</action>
            <!--
            FB60 | 303C 0106      : move.w #$106,D0
            FB64 | B06E 000C      : cmp.w  ($c,A6),D0
            FB68 | 630E           : bls    $fb78
            FB6A | 3D7C 0008 002C : move.w #$8,($2c,A6)
            FB70 | 3D40 000C      : move.w D0,($c,A6)
            FB74 | 201F           : move.l (A7)+,D0
            FB76 | 4E75           : rts
            FB78 | 08EE 0003 0000 : bset   #$3,($0,A6)
            FB7E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@9478 = 08EE00030000327C</action>
            <action>maincpu.oq@FB60 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FB68 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FB70 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FB78 = 57BF77FF57BF77FF</action>
        </script>
    </cheat>

    <cheat desc="ball rise by button 3">
        <script state="run">
            <action>maincpu.oq@1044A = 4EB90000FB804E71</action>
            <action>maincpu.oq@0FB80 = 08380000C0806708</action>
            <action>maincpu.oq@0FB88 = 2D7C00040000002C</action>
            <action>maincpu.oq@0FB90 = 202E002CD1AE000C</action>
            <action>maincpu.oq@0FB98 = 4E75FFFFFFFFFFFF</action>
            <!--
            FB80 | 0838 0000 C080      : btst   #$0,$c080.w
            FB86 | 6708                : beq    $fb90
            FB88 | 2D7C 0004 0000 002C : move.l #$40000,($2c,A6)
            FB90 | 202E 002C           : move.l ($2c,A6),D0
            FB94 | D1AE 000C           : add.l  D0,($c,A6)
            FB98 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@1044A = 202E002CD1AE000C</action>
            <action>maincpu.oq@0FB80 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@0FB88 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@0FB90 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@0FB98 = 2BFFD7BF2BFFD7BF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- main routine -->
            <action>maincpu.oq@0526 = 4EF90000FBA008B8</action>
            <action>maincpu.oq@FBA0 = 41F8C10043F900C4</action>
            <action>maincpu.oq@FBA8 = 00011200103900C4</action>
            <action>maincpu.oq@FBB0 = 1003B20067F40C00</action>
            <action>maincpu.oq@FBB8 = 007F660253100C00</action>
            <action>maincpu.oq@FBC0 = 00BF660252100C00</action>
            <action>maincpu.oq@FBC8 = 00FE660404100010</action>
            <action>maincpu.oq@FBD0 = 0C0000DF66040610</action>
            <action>maincpu.oq@FBD8 = 00100C0000FD6602</action>
            <action>maincpu.oq@FBE0 = 12900C0000FB6602</action>
            <action>maincpu.oq@FBE8 = 421160BEFFFFFFFF</action>
            <!--
            FBA0 | 41F8 C100      : lea    $c100.w,A0   // sound code address ($ffc100)
            FBA4 | 43F9 00C4 0001 : lea    $c40001.l,A1 // sound latch address
            FBAA | 1200           : move.b D0,D1
            FBAC | 1039 00C4 1003 : move.b $c41003.l,D0 // read input
            FBB2 | B200           : cmp.b  D0,D1
            FBB4 | 67F4           : beq    $fbaa
            FBB6 | 0C00 007F      : cmpi.b #$7f,D0
            FBBA | 6602           : bne    $fbbe
            FBBC | 5310           : subq.b #1,(A0)      // decrease code -01
            FBBE | 0C00 00BF      : cmpi.b #-$41,D0
            FBC2 | 6602           : bne    $fbc6
            FBC4 | 5210           : addq.b #1,(A0)      // increase code +01
            FBC6 | 0C00 00FE      : cmpi.b #-$2,D0
            FBCA | 6604           : bne    $fbd0
            FBCC | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
            FBD0 | 0C00 00DF      : cmpi.b #-$21,D0
            FBD4 | 6604           : bne    $fbda
            FBD6 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
            FBDA | 0C00 00FD      : cmpi.b #-$3,D0
            FBDE | 6602           : bne    $fbe2
            FBE0 | 1290           : move.b (A0),(A1)    // play sound
            FBE2 | 0C00 00FB      : cmpi.b #-$5,D0
            FBE6 | 6602           : bne    $fbea
            FBE8 | 4211           : clr.b  (A1)         // stop sound
            FBEA | 60BE           : bra    $fbaa
            -->
            <!-- display -->
            <output format="----- time scanner 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="up : increase code +10"                   line="13" align="center" />
            <output format="button 3 : decrease 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@FFC100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@0526 = 08B80006C03308B8</action>
            <action>maincpu.oq@FBA0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBA8 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FBB0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBB8 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FBC0 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FBC8 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FBD0 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FBD8 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FBE0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBE8 = 57BF77FF57BF77FF</action>
        </script>
    </cheat>

</mamecheat>
Clean up timescan.xml

Code: Select all

<!-- Time Scanner (set 2, System 16B) -->
<mamecheat version="1">

    <cheat desc="keep a ball">
        <script state="on">
            <action>maincpu.mq@9442 = 4EB90000F9C0327C</action>
            <action>maincpu.mq@F9C0 = 303C0106B06E000C</action>
            <action>maincpu.mq@F9C8 = 630E3D7C0008002C</action>
            <action>maincpu.mq@F9D0 = 3D40000C201F4E75</action>
            <action>maincpu.mq@F9D8 = 08EE000300004E75</action>
            <!--
            F9C0 | 303C 0106      : move.w #$106,D0
            F9C4 | B06E 000C      : cmp.w  ($c,A6),D0
            F9C8 | 630E           : bls    $f9d8
            F9CA | 3D7C 0008 002C : move.w #$8,($2c,A6)
            F9D0 | 3D40 000C      : move.w D0,($c,A6)
            F9D4 | 201F           : move.l (A7)+,D0
            F9D6 | 4E75           : rts
            F9D8 | 08EE 0003 0000 : bset   #$3,($0,A6)
            F9DE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@9442 = 08EE00030000327C</action>
            <action>maincpu.mq@F9C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="ball rise by button 3">
        <script state="on">
            <action>maincpu.mq@10454 = 4EB90000F9E04E71</action>
            <action>maincpu.mq@0F9E0 = 08380000C0806708</action>
            <action>maincpu.mq@0F9E8 = 2D7C00040000002C</action>
            <action>maincpu.mq@0F9F0 = 202E002CD1AE000C</action>
            <action>maincpu.mq@0F9F8 = 4E75FFFFFFFFFFFF</action>
            <!--
            F9E0 | 0838 0000 C080      : btst   #$0,$c080.w
            F9E6 | 6708                : beq    $f9f0
            F9E8 | 2D7C 0004 0000 002C : move.l #$40000,($2c,A6)
            F9F0 | 202E 002C           : move.l ($2c,A6),D0
            F9F4 | D1AE 000C           : add.l  D0,($c,A6)
            F9F8 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@10454 = 202E002CD1AE000C</action>
            <action>maincpu.mq@0F9E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0F9E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0F9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0F9F8 = 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.mq@052E = 4EF90000FA0008B8</action>
            <action>maincpu.mq@FA00 = 41F8C10043F900FE</action>
            <action>maincpu.mq@FA08 = 00071200103900C4</action>
            <action>maincpu.mq@FA10 = 1003B20067F40C00</action>
            <action>maincpu.mq@FA18 = 007F660253100C00</action>
            <action>maincpu.mq@FA20 = 00BF660252100C00</action>
            <action>maincpu.mq@FA28 = 00FE660404100010</action>
            <action>maincpu.mq@FA30 = 0C0000DF66040610</action>
            <action>maincpu.mq@FA38 = 00100C0000FD6602</action>
            <action>maincpu.mq@FA40 = 12900C0000FB6602</action>
            <action>maincpu.mq@FA48 = 421160BEFFFFFFFF</action>
            <!--
            FA00 | 41F8 C100      : lea    $c100.w,A0   // sound code address ($ffc100)
            FA04 | 43F9 00FE 0007 : lea    $fe0007.l,A1 // sound latch address
            FA0A | 1200           : move.b D0,D1
            FA0C | 1039 00C4 1003 : move.b $c41003.l,D0 // read input
            FA12 | B200           : cmp.b  D0,D1
            FA14 | 67F4           : beq    $fa0a
            FA16 | 0C00 007F      : cmpi.b #$7f,D0
            FA1A | 6602           : bne    $fa1e
            FA1C | 5310           : subq.b #1,(A0)      // decrease code -01
            FA1E | 0C00 00BF      : cmpi.b #-$41,D0
            FA22 | 6602           : bne    $fa26
            FA24 | 5210           : addq.b #1,(A0)      // increase code +01
            FA26 | 0C00 00FE      : cmpi.b #-$2,D0
            FA2A | 6604           : bne    $fa30
            FA2C | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
            FA30 | 0C00 00DF      : cmpi.b #-$21,D0
            FA34 | 6604           : bne    $fa3a
            FA36 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
            FA3A | 0C00 00FD      : cmpi.b #-$3,D0
            FA3E | 6602           : bne    $fa42
            FA40 | 1290           : move.b (A0),(A1)    // play sound
            FA42 | 0C00 00FB      : cmpi.b #-$5,D0
            FA46 | 6602           : bne    $fa4a
            FA48 | 4211           : clr.b  (A1)         // stop sound
            FA4A | 60BE           : bra    $fa0a
            -->
        </script>
        <script state="run">
            <output format="----- time scanner 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="up : increase code +10"                   line="13" align="center" />
            <output format="button 3 : decrease 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@FFC100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@052E = 08B80006C03308B8</action>
            <action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>

[timescan]+ Time Scanner

Posted: Wed Jul 02, 2025 1:20 pm
by jman
timescan.xml

Code: Select all

<!-- Time Scanner (set 2, System 16B) -->
<mamecheat version="1">

    <cheat desc="keep a ball">
        <script state="on">
            <action>maincpu.mq@9442 = 4EB90000F9C0327C</action>
            <action>maincpu.mq@F9C0 = 303C0106B06E000C</action>
            <action>maincpu.mq@F9C8 = 630E3D7C0008002C</action>
            <action>maincpu.mq@F9D0 = 3D40000C201F4E75</action>
            <action>maincpu.mq@F9D8 = 08EE000300004E75</action>
            <!--
            F9C0 | 303C 0106      : move.w  #$106, D0
            F9C4 | B06E 000C      : cmp.w   ($c,A6), D0
            F9C8 | 630E           : bls     $f9d8
            F9CA | 3D7C 0008 002C : move.w  #$8, ($2c,A6)
            F9D0 | 3D40 000C      : move.w  D0, ($c,A6)
            F9D4 | 201F           : move.l  (A7)+, D0
            F9D6 | 4E75           : rts
            F9D8 | 08EE 0003 0000 : bset    #$3, ($0,A6)
            F9DE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@9442 = 08EE00030000327C</action>
            <action>maincpu.mq@F9C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="control a ball">
        <comment>button 1 = move to left, button 2 = move to right, button 3 = rise</comment>
        <script state="on">
            <action>maincpu.md@7016 = 0000F9E0        </action>
            <action>maincpu.mq@F9E0 = 1038C080223C0004</action>
            <action>maincpu.mq@F9E8 = 0000080000006704</action>
            <action>maincpu.mq@F9F0 = 2D41002C08000002</action>
            <action>maincpu.mq@F9F8 = 6608080000016706</action>
            <action>maincpu.mq@FA00 = 44812D4100304EF9</action>
            <action>maincpu.mq@FA08 = 00010454FFFFFFFF</action>
            <!--
            F9E0 | 1038 C080      : move.b  $c080.w, D0  // read input
            F9E4 | 223C 0004 0000 : move.l  #$40000, D1
            F9EA | 0800 0000      : btst    #$0, D0
            F9EE | 6704           : beq     $f9f4
            F9F0 | 2D41 002C      : move.l  D1, ($2c,A6) // up
            F9F4 | 0800 0002      : btst    #$2, D0
            F9F8 | 6608           : bne     $fa02        // right
            F9FA | 0800 0001      : btst    #$1, D0
            F9FE | 6706           : beq     $fa06
            FA00 | 4481           : neg.l   D1           // left
            FA02 | 2D41 0030      : move.l  D1, ($30,A6)
            FA06 | 4EF9 0001 0454 : jmp     $10454.l
            -->
        </script>
        <script state="off">
            <action>maincpu.md@7016 = 00010454        </action>
            <action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA08 = 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.mq@052E = 4EF90000FA1008B8</action>
            <action>maincpu.mq@FA10 = 41F8800043F900FE</action>
            <action>maincpu.mq@FA18 = 00071200103900C4</action>
            <action>maincpu.mq@FA20 = 1003B20067F40C00</action>
            <action>maincpu.mq@FA28 = 007F660253100C00</action>
            <action>maincpu.mq@FA30 = 00BF660252100C00</action>
            <action>maincpu.mq@FA38 = 00FE660404100010</action>
            <action>maincpu.mq@FA40 = 0C0000DF66040610</action>
            <action>maincpu.mq@FA48 = 00100C0000FD6602</action>
            <action>maincpu.mq@FA50 = 12900C0000FB6602</action>
            <action>maincpu.mq@FA58 = 421160BEFFFFFFFF</action>
            <!--
            FA10 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            FA14 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            FA1A | 1200           : move.b  D0, D1
            FA1C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            FA22 | B200           : cmp.b   D0, D1
            FA24 | 67F4           : beq     $fa1a
            FA26 | 0C00 007F      : cmpi.b  #$7f, D0
            FA2A | 6602           : bne     $fa2e
            FA2C | 5310           : subq.b  #1, (A0)      // decrease code -01
            FA2E | 0C00 00BF      : cmpi.b  #-$41, D0
            FA32 | 6602           : bne     $fa36
            FA34 | 5210           : addq.b  #1, (A0)      // increase code +01
            FA36 | 0C00 00FE      : cmpi.b  #-$2, D0
            FA3A | 6604           : bne     $fa40
            FA3C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            FA40 | 0C00 00DF      : cmpi.b  #-$21, D0
            FA44 | 6604           : bne     $fa4a
            FA46 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            FA4A | 0C00 00FD      : cmpi.b  #-$3, D0
            FA4E | 6602           : bne     $fa52
            FA50 | 1290           : move.b  (A0), (A1)    // play sound
            FA52 | 0C00 00FB      : cmpi.b  #-$5, D0
            FA56 | 6602           : bne     $fa5a
            FA58 | 4211           : clr.b   (A1)          // stop sound
            FA5A | 60BE           : bra     $fa1a
            -->
        </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="up : increase code +10"            line="13" align="center" />
            <output format="button 3 : decrease 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 %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@052E = 08B80006C03308B8</action>
            <action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FA58 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
timescan3.xml

Code: Select all

<!-- Time Scanner (set 3, Japan, System 16B) (FD1089B 317-0024) -->
<mamecheat version="1">

    <cheat desc="keep a ball">
        <script state="run">
            <action>maincpu.oq@9442 = 4EB90000F9C0327C</action>
            <action>maincpu.oq@F9C0 = 303C0106B06E000C</action>
            <action>maincpu.oq@F9C8 = 630E3D7C0008002C</action>
            <action>maincpu.oq@F9D0 = 3D40000C201F4E75</action>
            <action>maincpu.oq@F9D8 = 08EE000300004E75</action>
            <!--
            F9C0 | 303C 0106      : move.w  #$106, D0
            F9C4 | B06E 000C      : cmp.w   ($c,A6), D0
            F9C8 | 630E           : bls     $f9d8
            F9CA | 3D7C 0008 002C : move.w  #$8, ($2c,A6)
            F9D0 | 3D40 000C      : move.w  D0, ($c,A6)
            F9D4 | 201F           : move.l  (A7)+, D0
            F9D6 | 4E75           : rts
            F9D8 | 08EE 0003 0000 : bset    #$3, ($0,A6)
            F9DE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@9442 = 08EE00030000327C</action>
            <action>maincpu.oq@F9C0 = F7BF43BFF7BF43BF</action>
            <action>maincpu.oq@F9C8 = EBF747BFEBF747BF</action>
            <action>maincpu.oq@F9D0 = F7BF43BFF7BF43BF</action>
            <action>maincpu.oq@F9D8 = EBF747BFEBF747BF</action>
        </script>
    </cheat>

    <cheat desc="control a ball">
        <comment>button 1 = move to left, button 2 = move to right, button 3 = rise</comment>
        <script state="run">
            <action>maincpu.od@7016 = 0000F9E0        </action>
            <action>maincpu.oq@F9E0 = 1038C080223C0004</action>
            <action>maincpu.oq@F9E8 = 0000080000006704</action>
            <action>maincpu.oq@F9F0 = 2D41002C08000002</action>
            <action>maincpu.oq@F9F8 = 6608080000016706</action>
            <action>maincpu.oq@FA00 = 44812D4100304EF9</action>
            <action>maincpu.oq@FA08 = 00010454FFFFFFFF</action>
            <!--
            F9E0 | 1038 C080      : move.b  $c080.w, D0  // read input
            F9E4 | 223C 0004 0000 : move.l  #$40000, D1
            F9EA | 0800 0000      : btst    #$0, D0
            F9EE | 6704           : beq     $f9f4
            F9F0 | 2D41 002C      : move.l  D1, ($2c,A6) // up
            F9F4 | 0800 0002      : btst    #$2, D0
            F9F8 | 6608           : bne     $fa02        // right
            F9FA | 0800 0001      : btst    #$1, D0
            F9FE | 6706           : beq     $fa06
            FA00 | 4481           : neg.l   D1           // left
            FA02 | 2D41 0030      : move.l  D1, ($30,A6)
            FA06 | 4EF9 0001 0454 : jmp     $10454.l
            -->
        </script>
        <script state="off">
            <action>maincpu.od@7016 = 00010454        </action>
            <action>maincpu.oq@F9E0 = CBBF1FFFCBBF1FFF</action>
            <action>maincpu.oq@F9E8 = 27FF8FB727FF8FB7</action>
            <action>maincpu.oq@F9F0 = CBBF1FFFCBBF1FFF</action>
            <action>maincpu.oq@F9F8 = 27FF8FB727FF8FB7</action>
            <action>maincpu.oq@FA00 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA08 = 2BFFD7BF2BFFD7BF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@052E = 4EF90000FA1008B8</action>
            <action>maincpu.oq@FA10 = 41F8800043F900FE</action>
            <action>maincpu.oq@FA18 = 00071200103900C4</action>
            <action>maincpu.oq@FA20 = 1003B20067F40C00</action>
            <action>maincpu.oq@FA28 = 007F660253100C00</action>
            <action>maincpu.oq@FA30 = 00BF660252100C00</action>
            <action>maincpu.oq@FA38 = 00FE660404100010</action>
            <action>maincpu.oq@FA40 = 0C0000DF66040610</action>
            <action>maincpu.oq@FA48 = 00100C0000FD6602</action>
            <action>maincpu.oq@FA50 = 12900C0000FB6602</action>
            <action>maincpu.oq@FA58 = 421160BEFFFFFFFF</action>
            <!--
            FA10 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            FA14 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            FA1A | 1200           : move.b  D0, D1
            FA1C | 1039 00C4 1003 : move.b  $c41003.l, D0 // read input
            FA22 | B200           : cmp.b   D0, D1
            FA24 | 67F4           : beq     $fa1a
            FA26 | 0C00 007F      : cmpi.b  #$7f, D0
            FA2A | 6602           : bne     $fa2e
            FA2C | 5310           : subq.b  #1, (A0)      // decrease code -01
            FA2E | 0C00 00BF      : cmpi.b  #-$41, D0
            FA32 | 6602           : bne     $fa36
            FA34 | 5210           : addq.b  #1, (A0)      // increase code +01
            FA36 | 0C00 00FE      : cmpi.b  #-$2, D0
            FA3A | 6604           : bne     $fa40
            FA3C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            FA40 | 0C00 00DF      : cmpi.b  #-$21, D0
            FA44 | 6604           : bne     $fa4a
            FA46 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            FA4A | 0C00 00FD      : cmpi.b  #-$3, D0
            FA4E | 6602           : bne     $fa52
            FA50 | 1290           : move.b  (A0), (A1)    // play sound
            FA52 | 0C00 00FB      : cmpi.b  #-$5, D0
            FA56 | 6602           : bne     $fa5a
            FA58 | 4211           : clr.b   (A1)          // stop sound
            FA5A | 60BE           : bra     $fa1a
            -->
            <!-- display -->
            <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="up : increase code +10"            line="13" align="center" />
            <output format="button 3 : decrease 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 %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@052E = 08B80006C03308B8</action>
            <action>maincpu.oq@FA10 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA18 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FA20 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FA28 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FA30 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FA38 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FA40 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA48 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FA50 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FA58 = 2BFFD7BF2BFFD7BF</action>
        </script>
    </cheat>

</mamecheat>
timescan1.xml

Code: Select all

<!-- Time Scanner (set 1, System 16A, FD1089B 317-0024) -->
<mamecheat version="1">

    <cheat desc="keep a ball">
        <script state="run">
            <action>maincpu.oq@9478 = 4EB90000FB60327C</action>
            <action>maincpu.oq@FB60 = 303C0106B06E000C</action>
            <action>maincpu.oq@FB68 = 630E3D7C0008002C</action>
            <action>maincpu.oq@FB70 = 3D40000C201F4E75</action>
            <action>maincpu.oq@FB78 = 08EE000300004E75</action>
            <!--
            FB60 | 303C 0106      : move.w  #$106, D0
            FB64 | B06E 000C      : cmp.w   ($c,A6), D0
            FB68 | 630E           : bls     $fb78
            FB6A | 3D7C 0008 002C : move.w  #$8, ($2c,A6)
            FB70 | 3D40 000C      : move.w  D0, ($c,A6)
            FB74 | 201F           : move.l  (A7)+, D0
            FB76 | 4E75           : rts
            FB78 | 08EE 0003 0000 : bset    #$3, ($0,A6)
            FB7E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@9478 = 08EE00030000327C</action>
            <action>maincpu.oq@FB60 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FB68 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FB70 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FB78 = 57BF77FF57BF77FF</action>
        </script>
    </cheat>

    <cheat desc="control a ball">
        <comment>button 1 = move to left, button 2 = move to right, button 3 = rise</comment>
        <script state="run">
            <action>maincpu.od@703C = 0000FB80        </action>
            <action>maincpu.oq@FB80 = 1038C080223C0004</action>
            <action>maincpu.oq@FB88 = 0000080000006704</action>
            <action>maincpu.oq@FB90 = 2D41002C08000002</action>
            <action>maincpu.oq@FB98 = 6608080000016706</action>
            <action>maincpu.oq@FBA0 = 44812D4100304EF9</action>
            <action>maincpu.oq@FBA8 = 0001044AFFFFFFFF</action>
            <!--
            FB80 | 1038 C080      : move.b  $c080.w, D0  // read input
            FB84 | 223C 0004 0000 : move.l  #$40000, D1
            FB8A | 0800 0000      : btst    #$0, D0
            FB8E | 6704           : beq     $fb94
            FB90 | 2D41 002C      : move.l  D1, ($2c,A6) // up
            FB94 | 0800 0002      : btst    #$2, D0
            FB98 | 6608           : bne     $fba2        // right
            FB9A | 0800 0001      : btst    #$1, D0
            FB9E | 6706           : beq     $fba6
            FBA0 | 4481           : neg.l   D1           // left
            FBA2 | 2D41 0030      : move.l  D1, ($30,A6)
            FBA6 | 4EF9 0001 044A : jmp     $1044a.l
            -->
        </script>
        <script state="off">
            <action>maincpu.od@703C = 0001044A        </action>
            <action>maincpu.oq@FB80 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FB88 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FB90 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FB98 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FBA0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBA8 = 57BF77FF57BF77FF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@0526 = 4EF90000FBB008B8</action>
            <action>maincpu.oq@FBB0 = 41F8800043F900C4</action>
            <action>maincpu.oq@FBB8 = 0001120010291002</action>
            <action>maincpu.oq@FBC0 = B20067F60C00007F</action>
            <action>maincpu.oq@FBC8 = 660253100C0000BF</action>
            <action>maincpu.oq@FBD0 = 660252100C0000FE</action>
            <action>maincpu.oq@FBD8 = 6604041000100C00</action>
            <action>maincpu.oq@FBE0 = 00DF660406100010</action>
            <action>maincpu.oq@FBE8 = 0C0000FD66021290</action>
            <action>maincpu.oq@FBF0 = 0C0000FB66024211</action>
            <action>maincpu.oq@FBF8 = 60C0FFFFFFFFFFFF</action>
            <!--
            FBB0 | 41F8 8000      : lea     $8000.w, A0    // sound code address ($FF8000)
            FBB4 | 43F9 00C4 0001 : lea     $c40001.l, A1  // sound latch address
            FBBA | 1200           : move.b  D0, D1
            FBBC | 1029 1002      : move.b  ($1002,A1), D0 // read input ($C41003)
            FBC0 | B200           : cmp.b   D0, D1
            FBC2 | 67F6           : beq     $fbba
            FBC4 | 0C00 007F      : cmpi.b  #$7f, D0
            FBC8 | 6602           : bne     $fbcc
            FBCA | 5310           : subq.b  #1, (A0)       // decrease code -01
            FBCC | 0C00 00BF      : cmpi.b  #-$41, D0
            FBD0 | 6602           : bne     $fbd4
            FBD2 | 5210           : addq.b  #1, (A0)       // increase code +01
            FBD4 | 0C00 00FE      : cmpi.b  #-$2, D0
            FBD8 | 6604           : bne     $fbde
            FBDA | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            FBDE | 0C00 00DF      : cmpi.b  #-$21, D0
            FBE2 | 6604           : bne     $fbe8
            FBE4 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            FBE8 | 0C00 00FD      : cmpi.b  #-$3, D0
            FBEC | 6602           : bne     $fbf0
            FBEE | 1290           : move.b  (A0), (A1)     // play sound
            FBF0 | 0C00 00FB      : cmpi.b  #-$5, D0
            FBF4 | 6602           : bne     $fbf8
            FBF6 | 4211           : clr.b   (A1)           // stop sound
            FBF8 | 60C0           : bra     $fbba
            -->
            <!-- display -->
            <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="up : increase code +10"            line="13" align="center" />
            <output format="button 3 : decrease 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 %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@0526 = 08B80006C03308B8</action>
            <action>maincpu.oq@FBB0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBB8 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FBC0 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FBC8 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FBD0 = 37F77FBF37F77FBF</action>
            <action>maincpu.oq@FBD8 = 2BFFD7BF2BFFD7BF</action>
            <action>maincpu.oq@FBE0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBE8 = 57BF77FF57BF77FF</action>
            <action>maincpu.oq@FBF0 = 07BF17FF07BF17FF</action>
            <action>maincpu.oq@FBF8 = 57BF77FF57BF77FF</action>
        </script>
    </cheat>

</mamecheat>
  • "control a ball" : Added new and merged from "ball rise by button 3". You can control a ball with button 1, 2 and 3. Button 1 = move to left, button 2 = move to right, button 3 = rise.
  • "sound test mode" : Cleaned up code for timescan1.