[perfrman] Performan

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

[perfrman] Performan

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@184d = 184f</action> <!-- enemy -->
        <action>maincpu.mw@185a = 185c</action> <!-- bomb -->
    </script>
    <script state="off">
        <action>maincpu.mw@184d = 1b29</action>
        <action>maincpu.mw@185a = 1baa</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mq@1a27 = 10c1478ccdc50006</action>
        <action>maincpu.mq@1a2f = cbdd061ef50000f9</action>
        <!--
        1a27 | 06 xx    : ld   b,$xx
        1a29 | c5       : push bc
        1a2a | cd 8c 47 : call $478c
        1a2d | c1       : pop  bc
        1a2e | 10 f9    : djnz $1a29
        1a30 | 00       : nop
        1a31 | 00       : nop
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@1a28 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@1a27 = 66cb807b21478ccd</action>
        <action>maincpu.mq@1a2f = cbdd061ef5478cc4</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@0197 = 3ad5019a11810021</action>
        <action>maincpu.mq@019f = 2080fec847b88806</action>
        <action>maincpu.mq@01a7 = fe34012040fe3501</action>
        <action>maincpu.mq@01af = 01fe05187e032002</action>
        <action>maincpu.mq@01b7 = 01c9880032fe3ec0</action>
        <!--
        0197 | 21 00 81 : ld   hl,$8100  // sound code address
        019a | 11 9a 01 : ld   de,$019a
        019d | d5       : push de
        019e | 3a 06 88 : ld   a,($8806) // read input
        01a1 | b8       : cp   b
        01a2 | 47       : ld   b,a
        01a3 | c8       : ret  z
        01a4 | fe 80    : cp   $80
        01a6 | 20 01    : jr   nz,$01a9
        01a8 | 35       : dec  (hl)      // decrease code
        01a9 | fe 40    : cp   $40
        01ab | 20 01    : jr   nz,$01ae
        01ad | 34       : inc  (hl)      // increase code
        01ae | fe 02    : cp   $02
        01b0 | 20 03    : jr   nz,$01b5
        01b2 | 7e       : ld   a,(hl)    // play sound
        01b3 | 18 05    : jr   $01ba
        01b5 | fe 01    : cp   $01
        01b7 | c0       : ret  nz
        01b8 | 3e fe    : ld   a,$fe     // stop sound
        01ba | 32 00 88 : ld   ($8800),a // send sound code
        01bd | c9       : ret
        -->
    </script>
    <script state="run">
        <output format="----- performan sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                  line="11" align="center" />
        <output format="right : increase code"                 line="12" align="center" />
        <output format="button 1 : play sound"                 line="13" align="center" />
        <output format="button 2 : 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@8100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0197 = 266f86381186333a</action>
        <action>maincpu.mq@019f = 26287ecb19292900</action>
        <action>maincpu.mq@01a7 = a0eda0ed863411e5</action>
        <action>maincpu.mq@01af = 064f8787a0eda0ed</action>
        <action>maincpu.mq@01b7 = 01c11109021c2100</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.md@7ec1 = 110178c3</action>
    </script>
    <script state="off">
        <action>maincpu.md@7ec1 = 116f67af</action>
    </script>
</cheat>
Current "invincibility" has problem that you can't get an item.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[perfrman] Performan (update)

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@0197 = 47b888063a810021</action>
        <action>maincpu.mq@019f = fe35012080fef928</action>
        <action>maincpu.mq@01a7 = 042020fe34012040</action>
        <action>maincpu.mq@01af = 052010fe0618f03e</action>
        <action>maincpu.mq@01b7 = 2002fe787786103e</action>
        <action>maincpu.mq@01bf = 052001fe06187e03</action>
        <action>maincpu.mq@01c7 = 33cc18880032fe3e</action>
        <!--
        0197 | 21 00 81 : ld  hl,$8100  // sound code address
        019a | 3a 06 88 : ld  a,($8806) // read input
        019d | b8       : cp  b
        019e | 47       : ld  b,a
        019f | 28 f9    : jr  z,$019A
        01a1 | fe 80    : cp  $80
        01a3 | 20 01    : jr  nz,$01A6
        01a5 | 35       : dec (hl)      // decrease code -01
        01a6 | fe 40    : cp  $40
        01a8 | 20 01    : jr  nz,$01AB
        01aa | 34       : inc (hl)      // increase code +01
        01ab | fe 20    : cp  $20
        01ad | 20 04    : jr  nz,$01B3
        01af | 3e f0    : ld  a,$F0     // decrease code -10
        01b1 | 18 06    : jr  $01B9
        01b3 | fe 10    : cp  $10
        01b5 | 20 05    : jr  nz,$01BC
        01b7 | 3e 10    : ld  a,$10     // increase code +10
        01b9 | 86       : add a,(hl)
        01ba | 77       : ld  (hl),a
        01bb | 78       : ld  a,b
        01bc | fe 02    : cp  $02
        01be | 20 03    : jr  nz,$01C3
        01c0 | 7e       : ld  a,(hl)    // play sound
        01c1 | 18 06    : jr  $01C9
        01c3 | fe 01    : cp  $01
        01c5 | 20 05    : jr  nz,$01CC
        01c7 | 3e fe    : ld  a,$FE     // stop sound
        01c9 | 32 00 88 : ld  ($8800),a // send sound code
        01cc | 18 cc    : jr  $019A
        -->
    </script>
    <script state="run">
        <output format="----- performan 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="down : decrease code -10"              line="13" align="center" />
        <output format="up : increase 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@8100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0197 = 266f86381186333a</action>
        <action>maincpu.mq@019f = 26287ecb19292900</action>
        <action>maincpu.mq@01a7 = a0eda0ed863411e5</action>
        <action>maincpu.mq@01af = 064f8787a0eda0ed</action>
        <action>maincpu.mq@01b7 = 01c11109021c2100</action>
        <action>maincpu.mq@01bf = a0ed863421d1e9d5</action>
        <action>maincpu.mq@01c7 = 3321a0eda0eda0ed</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[perfrman]+ Performan

Post by jman »

perfrman.xml

Code: Select all

<!-- Performan (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@184D = 184F</action> <!-- enemy -->
            <action>maincpu.mw@185A = 185C</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mw@184D = 1B29</action>
            <action>maincpu.mw@185A = 1BAA</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@1A27 = 10C1478CCDC50006</action>
            <action>maincpu.mq@1A2F = CBDD061EF50000F9</action>
            <!--
            1A27 | 06 xx    : ld   b,$xx
            1A29 | C5       : push bc
            1A2A | CD 8C 47 : call $478C
            1A2D | C1       : pop  bc
            1A2E | 10 F9    : djnz $1A29
            1A30 | 00       : nop
            1A31 | 00       : nop
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@1A28 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@1A27 = 66CB807B21478CCD</action>
            <action>maincpu.mq@1A2F = CBDD061EF5478CC4</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0197 = 47B888063A800021</action>
            <action>maincpu.mq@019F = FE35012080FEF928</action>
            <action>maincpu.mq@01A7 = 042020FE34012040</action>
            <action>maincpu.mq@01AF = 052010FE0618F03E</action>
            <action>maincpu.mq@01B7 = 2002FE787786103E</action>
            <action>maincpu.mq@01BF = 052001FE06187E03</action>
            <action>maincpu.mq@01C7 = 33CC18880032FE3E</action>
            <!--
            0197 | 21 00 80 : ld   hl,$8000  // sound code address
            019A | 3A 06 88 : ld   a,($8806) // read input
            019D | B8       : cp   b
            019E | 47       : ld   b,a
            019F | 28 F9    : jr   z,$019A
            01A1 | FE 80    : cp   $80
            01A3 | 20 01    : jr   nz,$01A6
            01A5 | 35       : dec  (hl)      // decrease code -01
            01A6 | FE 40    : cp   $40
            01A8 | 20 01    : jr   nz,$01AB
            01AA | 34       : inc  (hl)      // increase code +01
            01AB | FE 20    : cp   $20
            01AD | 20 04    : jr   nz,$01B3
            01AF | 3E F0    : ld   a,$F0     // decrease code -10
            01B1 | 18 06    : jr   $01B9
            01B3 | FE 10    : cp   $10
            01B5 | 20 05    : jr   nz,$01BC
            01B7 | 3E 10    : ld   a,$10     // increase code +10
            01B9 | 86       : add  a,(hl)
            01BA | 77       : ld   (hl),a
            01BB | 78       : ld   a,b
            01BC | FE 02    : cp   $02
            01BE | 20 03    : jr   nz,$01C3
            01C0 | 7E       : ld   a,(hl)    // play sound
            01C1 | 18 06    : jr   $01C9
            01C3 | FE 01    : cp   $01
            01C5 | 20 05    : jr   nz,$01CC
            01C7 | 3E FE    : ld   a,$FE     // stop sound
            01C9 | 32 00 88 : ld   ($8800),a // send sound code
            01CC | 18 CC    : jr   $019A
            -->
        </script>
        <script state="run">
            <output format="----- performan 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="down : decrease code -10"              line="13" align="center" />
            <output format="up : increase 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@8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0197 = 266F86381186333A</action>
            <action>maincpu.mq@019F = 26287ECB19292900</action>
            <action>maincpu.mq@01A7 = A0EDA0ED863411E5</action>
            <action>maincpu.mq@01AF = 064F8787A0EDA0ED</action>
            <action>maincpu.mq@01B7 = 01C11109021C2100</action>
            <action>maincpu.mq@01BF = A0ED863421D1E9D5</action>
            <action>maincpu.mq@01C7 = 3321A0EDA0EDA0ED</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.md@7EC1 = 110178C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@7EC1 = 116F67AF</action>
        </script>
    </cheat>

</mamecheat>
perfrmanu.xml

Code: Select all

<!-- Performan (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@184D = 184F</action> <!-- enemy -->
            <action>maincpu.mw@185A = 185C</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mw@184D = 1B29</action>
            <action>maincpu.mw@185A = 1BAA</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@1A27 = 10C1478CCDC50006</action>
            <action>maincpu.mq@1A2F = CBDD061EF50000F9</action>
            <!--
            1A27 | 06 xx    : ld   b,$xx
            1A29 | C5       : push bc
            1A2A | CD 8C 47 : call $478C
            1A2D | C1       : pop  bc
            1A2E | 10 F9    : djnz $1A29
            1A30 | 00       : nop
            1A31 | 00       : nop
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@1A28 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@1A27 = 66CB807B21478CCD</action>
            <action>maincpu.mq@1A2F = CBDD061EF5478CC4</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0197 = 47B888063A800021</action>
            <action>maincpu.mq@019F = FE35012080FEF928</action>
            <action>maincpu.mq@01A7 = 042020FE34012040</action>
            <action>maincpu.mq@01AF = 052010FE0618F03E</action>
            <action>maincpu.mq@01B7 = 2002FE787786103E</action>
            <action>maincpu.mq@01BF = 052001FE06187E03</action>
            <action>maincpu.mq@01C7 = 33CC18880032FE3E</action>
            <!--
            0197 | 21 00 80 : ld   hl,$8000  // sound code address
            019A | 3A 06 88 : ld   a,($8806) // read input
            019D | B8       : cp   b
            019E | 47       : ld   b,a
            019F | 28 F9    : jr   z,$019A
            01A1 | FE 80    : cp   $80
            01A3 | 20 01    : jr   nz,$01A6
            01A5 | 35       : dec  (hl)      // decrease code -01
            01A6 | FE 40    : cp   $40
            01A8 | 20 01    : jr   nz,$01AB
            01AA | 34       : inc  (hl)      // increase code +01
            01AB | FE 20    : cp   $20
            01AD | 20 04    : jr   nz,$01B3
            01AF | 3E F0    : ld   a,$F0     // decrease code -10
            01B1 | 18 06    : jr   $01B9
            01B3 | FE 10    : cp   $10
            01B5 | 20 05    : jr   nz,$01BC
            01B7 | 3E 10    : ld   a,$10     // increase code +10
            01B9 | 86       : add  a,(hl)
            01BA | 77       : ld   (hl),a
            01BB | 78       : ld   a,b
            01BC | FE 02    : cp   $02
            01BE | 20 03    : jr   nz,$01C3
            01C0 | 7E       : ld   a,(hl)    // play sound
            01C1 | 18 06    : jr   $01C9
            01C3 | FE 01    : cp   $01
            01C5 | 20 05    : jr   nz,$01CC
            01C7 | 3E FE    : ld   a,$FE     // stop sound
            01C9 | 32 00 88 : ld   ($8800),a // send sound code
            01CC | 18 CC    : jr   $019A
            -->
        </script>
        <script state="run">
            <output format="----- performan 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="down : decrease code -10"              line="13" align="center" />
            <output format="up : increase 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@8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0197 = 266F86381186333A</action>
            <action>maincpu.mq@019F = 26287ECB19292900</action>
            <action>maincpu.mq@01A7 = A0EDA0ED863411E5</action>
            <action>maincpu.mq@01AF = 064F8787A0EDA0ED</action>
            <action>maincpu.mq@01B7 = 01C11109021C2100</action>
            <action>maincpu.mq@01BF = A0ED863421D1E9D5</action>
            <action>maincpu.mq@01C7 = 3321A0EDA0EDA0ED</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.md@7EC1 = 110178C3</action>
        </script>
        <script state="off">
            <action>maincpu.md@7EC1 = 116F67AF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply