[flicky] Flicky

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

[flicky] Flicky

Post by jman »

Code: Select all

<!-- Flicky (128k Version, 315-5051) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@3ac9 = c9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3ac9 = dd</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@3bc3 = 18</action>
            <action>maincpu.mb@3bc4 = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3bc3 = dd</action>
            <action>maincpu.mb@3bc4 = 43</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@383d =               cd</action>
            <action>maincpu.mw@383e =             8000</action>
            <action>maincpu.mq@8000 = 3a062806e6c03e3a</action>
            <action>maincpu.mq@8008 = c0213ac847cbc41a</action>
            <action>maincpu.mq@8010 = 00000000000000c9</action>
            <!--
            8000 | 3a 3e c0 : ld  a,($C03E) // check button
            8003 | e6 06    : and $06
            8005 | 28 06    : jr  z,$800D
            8007 | 3a 1a c4 : ld  a,($C41A) // check jump flag
            800a | cb 47    : bit 0,a
            800c | c8       : ret z
            800d | 3a 21 c0 : ld  a,($C021)
            8010 | c9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@383d =               3a</action>
            <action>maincpu.mw@383e =             c021</action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@7349 =             8020</action>
            <action>maincpu.mq@8020 = dd092001e6c0003a</action>
            <action>maincpu.mq@8028 = c8a77b0320c6fe7c</action>
            <action>maincpu.mq@8030 = 00000000c97369cd</action>
            <!--
            8020 | 3a 00 c0 : ld   a,($C000) // check demonstration or play
            8023 | e6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | dd 7c    : ld   a,ixh     // check player or others
            8029 | fe c6    : cp   $C6
            802b | 20 03    : jr   nz,$8030
            802d | 7b       : ld   a,e
            802e | a7       : and  a
            802f | c8       : ret  z
            8030 | cd 69 73 : call $7369
            8033 | c9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7349 =             7369</action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007f =             8040</action>
            <action>maincpu.mq@8040 = 10e62f08dbc10021</action>
            <action>maincpu.mq@8048 = b8b1c4e62f00db4f</action>
            <action>maincpu.mq@8050 = 35012080fef02847</action>
            <action>maincpu.mq@8058 = 2004fe34012040fe</action>
            <action>maincpu.mq@8060 = 10fe051880f67e05</action>
            <action>maincpu.mq@8068 = 00d41818d3af0320</action>
            <!--
            8040 | 21 00 c1 : ld  hl,$C100 // sound code address
            8043 | db 08    : in  a,($08)  // read start button
            8045 | 2f       : cpl
            8046 | e6 10    : and $10
            8048 | 4f       : ld  c,a
            8049 | db 00    : in  a,($00)  // read other inputs
            804b | 2f       : cpl
            804c | e6 c4    : and $C4
            804e | b1       : or  c
            804f | b8       : cp  b
            8050 | 47       : ld  b,a
            8051 | 28 f0    : jr  z,$8043
            8053 | fe 80    : cp  $80
            8055 | 20 01    : jr  nz,$8058
            8057 | 35       : dec (hl)     // decrease code -01
            8058 | fe 40    : cp  $40
            805a | 20 01    : jr  nz,$805D
            805c | 34       : inc (hl)     // increase code +01
            805d | fe 04    : cp  $04
            805f | 20 05    : jr  nz,$C8066
            8061 | 7e       : ld  a,(hl)   // play sound
            8062 | f6 80    : or  $80
            8064 | 18 05    : jr  $806B
            8066 | fe 10    : cp  $10
            8068 | 20 03    : jr  nz,$806D
            806a | af       : xor a        // stop sound
            806b | d3 18    : out ($18),a  // send sound code
            806d | 18 d4    : jr  $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : 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 %2.2X &gt;&gt;" line="17" align="center"  >
                <argument>maincpu.pb@c100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007f =             0be3</action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@eed6 = 0845084d08490854                         </action>
            <action>maincpu.pq@eede = 0000080008000020                         </action>
            <action>maincpu.pb@eee0 = ((maincpu.pb@c010 band f0) rshift 4) + 30</action>
            <action>maincpu.pb@eee2 =  (maincpu.pb@c010 band 0f)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@eed6 = 0000000000000000</action>
            <action>maincpu.pq@eede = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
  • "no slip" : test code. Sometimes flicky slips (for example, landing in jumping).
  • "sound test mode" : this game has 2-way joystick + 1 button. So I don't add inputs for code ±10.
  • "display timer" : test code. Incorrect display in case of over 99.
    Image
jman
Posts: 874
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times

[flicky]+ Flicky

Post by jman »

flicky.xml

Code: Select all

<!-- Flicky (128k Version, 315-5051) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@3AC9 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3AC9 = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@3BC3 = 18</action>
            <action>maincpu.mb@3BC4 = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3BC3 = DD</action>
            <action>maincpu.mb@3BC4 = 43</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@383D = CD              </action>
            <action>maincpu.mw@383E = 8000            </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@383D = 3A              </action>
            <action>maincpu.mw@383E = C021            </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@7349 = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C97369CD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 69 73 : call $7369
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7349 = 7369            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007F = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41818D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 18    : out  ($18),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007F = 0BE3            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
flickya.xml

Code: Select all

<!-- Flicky (128k Version, 315-5051, larger roms) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@3AC9 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3AC9 = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@3BC3 = 18</action>
            <action>maincpu.mb@3BC4 = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3BC3 = DD</action>
            <action>maincpu.mb@3BC4 = 43</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@383D = CD              </action>
            <action>maincpu.mw@383E = 8000            </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@383D = 3A              </action>
            <action>maincpu.mw@383E = C021            </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@7349 = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C97369CD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 69 73 : call $7369
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7349 = 7369            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007F = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41818D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 18    : out  ($18),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007F = 0BE3            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
flickys2.xml

Code: Select all

<!-- Flicky (128k Version, not encrypted)  -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.mb@2448 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2448 = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.mw@2542 = 4318</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2542 = CBDD</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@21BC = A78000CD        </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@21BC = A7C0213A        </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@7649 = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C97669CD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 69 76 : call $7669
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7649 = 7669            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007F = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41818D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 18    : out  ($18),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007F = 0BDC            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
flickyo.xml

Code: Select all

<!-- Flicky (64k Version, 315-5051, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@3AB4 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3AB4 = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@3BAE = 18</action>
            <action>maincpu.mb@3BAF = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3BAE = DD</action>
            <action>maincpu.mb@3BAF = 43</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@3828 = CD              </action>
            <action>maincpu.mw@3829 = 8000            </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@3828 = 3A              </action>
            <action>maincpu.mw@3829 = C021            </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@732D = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C9734DCD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 4D 73 : call $734D
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@732D = 734D            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007F = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41814D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 14    : out  ($14),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007F = 0BCE            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
flickys1.xml

Code: Select all

<!-- Flicky (64k Version, 315-5051, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@3AA1 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3AA1 = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@3B9B = 18</action>
            <action>maincpu.mb@3B9C = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3B9B = DD</action>
            <action>maincpu.mb@3B9C = CB</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@3815 = CD              </action>
            <action>maincpu.mw@3816 = 8000            </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@3815 = 3A              </action>
            <action>maincpu.mw@3816 = C021            </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@7332 = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C97352CD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 52 73 : call $7352
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7332 = 7352            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007F = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41814D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 14    : out  ($14),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007F = 0BC7            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
flickyup.xml

Code: Select all

<!-- Flicky (64k Version, on Up'n Down boardset, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@3AA0 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3AA0 = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@3B9A = 18</action>
            <action>maincpu.mb@3B9B = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3B9A = DD</action>
            <action>maincpu.mb@3B9B = C3</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@3823 = CD              </action>
            <action>maincpu.mw@3824 = 8000            </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@3823 = 3A              </action>
            <action>maincpu.mw@3824 = C021            </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@730C = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C9732CCD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 2C 73 : call $732C
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@730C = 732C            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@0082 = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41814D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 14    : out  ($14),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0082 = 0BD1            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
flickyupa.xml

Code: Select all

<!-- Flicky (64k Version, on Up'n Down boardset, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit - flicky">
        <script state="on">
            <action>maincpu.ob@262A = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@262A = DD</action>
        </script>
    </cheat>

    <cheat desc="no hit - pio pio">
        <script state="on">
            <action>maincpu.ob@271D = 18</action>
            <action>maincpu.mb@271E = 43</action>
        </script>
        <script state="off">
            <action>maincpu.ob@271D = DD</action>
            <action>maincpu.mb@271E = CB</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.ob@2397 = CD              </action>
            <action>maincpu.mw@2398 = 8000            </action>
            <action>maincpu.mq@8000 = 3A062806E6C03E3A</action>
            <action>maincpu.mq@8008 = C0213AC847CBC41A</action>
            <action>maincpu.mq@8010 = 00000000000000C9</action>
            <!--
            8000 | 3A 3E C0 : ld   a,($C03E) // check button
            8003 | E6 06    : and  $06
            8005 | 28 06    : jr   z,$800D
            8007 | 3A 1A C4 : ld   a,($C41A) // check jump flag
            800A | CB 47    : bit  0,a
            800C | C8       : ret  z
            800D | 3A 21 C0 : ld   a,($C021)
            8010 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.ob@2397 = 3A              </action>
            <action>maincpu.mw@2398 = C021            </action>
            <action>maincpu.mq@8000 = 0000000000000000</action>
            <action>maincpu.mq@8008 = 0000000000000000</action>
            <action>maincpu.mq@8010 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="no slip (test)">
        <comment>sometimes flicky slips</comment>
        <script state="on">
            <action>maincpu.mw@6A49 = 8020            </action>
            <action>maincpu.mq@8020 = DD092001E6C0003A</action>
            <action>maincpu.mq@8028 = C8A77B0320C6FE7C</action>
            <action>maincpu.mq@8030 = 00000000C96A69CD</action>
            <!--
            8020 | 3A 00 C0 : ld   a,($C000) // check demonstration or play
            8023 | E6 01    : and  $01
            8025 | 20 09    : jr   nz,$8030
            8027 | DD 7C    : ld   a,ixh     // check player or others
            8029 | FE C6    : cp   $C6
            802B | 20 03    : jr   nz,$8030
            802D | 7B       : ld   a,e
            802E | A7       : and  a
            802F | C8       : ret  z
            8030 | CD 69 6A : call $6A69
            8033 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@6A49 = 6A69            </action>
            <action>maincpu.mq@8020 = 0000000000000000</action>
            <action>maincpu.mq@8028 = 0000000000000000</action>
            <action>maincpu.mq@8030 = 0000000000000000</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@007F = 8040            </action>
            <action>maincpu.mq@8040 = 10E62F08DBC00021</action>
            <action>maincpu.mq@8048 = B8B1C4E62F00DB4F</action>
            <action>maincpu.mq@8050 = 35012080FEF02847</action>
            <action>maincpu.mq@8058 = 2004FE34012040FE</action>
            <action>maincpu.mq@8060 = 10FE051880F67E05</action>
            <action>maincpu.mq@8068 = 00D41814D3AF0320</action>
            <!--
            8040 | 21 00 C0 : ld   hl,$C000 // sound code address
            8043 | DB 08    : in   a,($08)  // read start button
            8045 | 2F       : cpl
            8046 | E6 10    : and  $10
            8048 | 4F       : ld   c,a
            8049 | DB 00    : in   a,($00)  // read other inputs
            804B | 2F       : cpl
            804C | E6 C4    : and  $C4
            804E | B1       : or   c
            804F | B8       : cp   b
            8050 | 47       : ld   b,a
            8051 | 28 F0    : jr   z,$8043
            8053 | FE 80    : cp   $80
            8055 | 20 01    : jr   nz,$8058
            8057 | 35       : dec  (hl)     // decrease code -01
            8058 | FE 40    : cp   $40
            805A | 20 01    : jr   nz,$805D
            805C | 34       : inc  (hl)     // increase code +01
            805D | FE 04    : cp   $04
            805F | 20 05    : jr   nz,$8066
            8061 | 7E       : ld   a,(hl)   // play sound
            8062 | F6 80    : or   $80
            8064 | 18 05    : jr   $806B
            8066 | FE 10    : cp   $10
            8068 | 20 03    : jr   nz,$806D
            806A | AF       : xor  a        // stop sound
            806B | D3 14    : out  ($14),a  // send sound code
            806D | 18 D4    : jr   $8043
            -->
        </script>
        <script state="run">
            <output format="----- flicky 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="button 1 : play sound"              line="13" align="center" />
            <output format="1P 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@007F = 0BCE            </action>
            <action>maincpu.mq@8040 = 0000000000000000</action>
            <action>maincpu.mq@8048 = 0000000000000000</action>
            <action>maincpu.mq@8050 = 0000000000000000</action>
            <action>maincpu.mq@8058 = 0000000000000000</action>
            <action>maincpu.mq@8060 = 0000000000000000</action>
            <action>maincpu.mq@8068 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="display timer (test)">
        <script state="run">
            <action>maincpu.pq@EED6 = 0845084D08490854                         </action>
            <action>maincpu.pq@EEDE = 0000080008000020                         </action>
            <action>maincpu.pb@EEE0 = ((maincpu.pb@C010 band F0) rshift 4) + 30</action>
            <action>maincpu.pb@EEE2 =  (maincpu.pb@C010 band 0F)           + 30</action>
        </script>
        <script state="off">
            <action>maincpu.pq@EED6 = 0000000000000000</action>
            <action>maincpu.pq@EEDE = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
Post Reply