[timescan] Time Scanner

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

[timescan] Time Scanner

Post 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.
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[timescan]+ Time Scanner

Post 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>
Post Reply