[bankp] Bank Panic

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

[bankp] Bank Panic

Post by jman »

Mainly cleaned up codes.

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@9ac0 = a7</action> <!-- left -->
        <action>maincpu.mb@9ad7 = af</action> <!-- center -->
        <action>maincpu.mb@9aee = a7</action> <!-- right -->
        <action>maincpu.mb@9af6 = 04</action> <!-- ? -->
    </script>
    <script state="off">
        <action>maincpu.mb@9ac0 = e7</action>
        <action>maincpu.mb@9ad7 = ef</action>
        <action>maincpu.mb@9aee = f7</action>
        <action>maincpu.mb@9af6 = 08</action>
    </script>
</cheat>

<cheat desc="auto shooting a robber">
    <script state="on">
        <action>maincpu.md@99cd =         32dfc0cd</action>
        <action>maincpu.mq@dfc0 = 0306002011e46221</action>
        <action>maincpu.mq@dfc8 = 3af91019072076cb</action>
        <action>maincpu.mq@dfd0 = 19dfdc2158c9e006</action>
        <action>maincpu.mq@dfd8 = 102040c9e006327e</action>
        <!--
        dfc0 | 21 62 e4 : ld   hl,$e462  // search a door
        dfc3 | 11 20 00 : ld   de,$0020
        dfc6 | 06 03    : ld   b,$03
        dfc8 | cb 76    : bit  6,(hl)
        dfca | 20 07    : jr   nz,$dfd3  // is robber?
        dfcc | 19       : add  hl,de
        dfcd | 10 f9    : djnz $dfc8
        dfcf | 3a 06 e0 : ld   a,($e006) // not found
        dfd2 | c9       : ret
        dfd3 | 58       : ld   e,b       // found
        dfd4 | 21 dc df : ld   hl,$dfdc
        dfd7 | 19       : add  hl,de
        dfd8 | 7e       : ld   a,(hl)
        dfd9 | 32 06 e0 : ld   ($e006),a // set button index
        dfdc | c9       : ret
        dfdd - dfdf     : address/button convert table
         address button
          $e462    10   left
          $e482    20   center
          $e4a2    40   right
        -->
    </script>
    <script state="off">
        <action>maincpu.md@99cd =         32e0063a</action>
        <action>maincpu.mq@dfc0 = ffffffffffffffff</action>
        <action>maincpu.mq@dfc8 = ffffffffffffffff</action>
        <action>maincpu.mq@dfd0 = ffffffffffffffff</action>
        <action>maincpu.mq@dfd8 = 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@0262 = 1021e00122001021</action>
        <action>maincpu.mq@026a = f62847b8e0063ae0</action>
        <action>maincpu.mq@0272 = 2002fe35012008fe</action>
        <action>maincpu.mq@027a = 0016042010fe3401</action>
        <action>maincpu.mq@0282 = ff160b2020fe0618</action>
        <action>maincpu.mq@028a = 18da04cd7e4f5faf</action>
        <action>maincpu.mq@0292 = 73cdc5052040fe09</action>
        <action>maincpu.mq@029a = e2e611ebca18c1da</action>
        <!--
        0262 | 21 10 00 : ld   hl,$0010
        0265 | 22 01 e0 : ld   ($e001),hl
        0268 | 21 10 e0 : ld   hl,$e010   // sound code address
        026b | 3a 06 e0 : ld   a,($e006)  // read input
        026e | b8       : cp   b
        026f | 47       : ld   b,a
        0270 | 28 f6    : jr   z,$0268
        0272 | fe 08    : cp   $08
        0274 | 20 01    : jr   nz,$0277
        0276 | 35       : dec  (hl)       // decrease code
        0277 | fe 02    : cp   $02
        0279 | 20 01    : jr   nz,$027c
        027b | 34       : inc  (hl)       // increase code
        027c | fe 10    : cp   $10
        027e | 20 04    : jr   nz,$0284
        0280 | 16 00    : ld   d,$00      // play with normal tempo
        0282 | 18 06    : jr   $028a
        0284 | fe 20    : cp   $20
        0286 | 20 0b    : jr   nz,$0293
        0288 | 16 ff    : ld   d,$ff      // play with fast tempo
        028a | af       : xor  a
        028b | 5f       : ld   e,a
        028c | 4f       : ld   c,a
        028d | 7e       : ld   a,(hl)
        028e | cd 04 da : call $da04      // send sound code
        0291 | 18 09    : jr   $029c
        0293 | fe 40    : cp   $40
        0295 | 20 05    : jr   nz,$029c
        0297 | c5       : push bc
        0298 | cd 73 da : call $da73      // stop sound
        029b | c1       : pop  bc
        029c | 18 ca    : jr   $0268
        -->
    </script>
    <script state="run">
        <output format="----- bank panic 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 with normal tempo" line="13" align="center" />
        <output format="button 2 : play sound with fast tempo"   line="14" align="center" />
        <output format="button 3 : stop sound"                   line="15" align="center" />
        <output format="----------------------------"            line="16" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"      line="18" align="center">
            <argument>maincpu.pb@e010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0252 = f57790e67ee00121</action>
        <action>maincpu.mq@025a = 0837cdff0106233e</action>
        <action>maincpu.mq@0262 = 72ca7fcbf1080bcd</action>
        <action>maincpu.mq@026a = 3a1620b7e0273a03</action>
        <action>maincpu.mq@0272 = e0243a1020b7e020</action>
        <action>maincpu.mq@027a = 10e6e0013a0a20b7</action>
        <action>maincpu.mq@0282 = 0a1e21bb18e00132</action>
        <action>maincpu.mq@028a = b0ed001801e2e011</action>
        <action>maincpu.mq@0292 = 362103e6f5e0073a</action>
        <action>maincpu.mq@029a = e2e611eb0c7fcd0a</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@0001 = 01f0</action>
    </script>
    <script state="off">
        <action>maincpu.mw@0001 = abc0</action>
    </script>
</cheat>
  • "auto shooting a robber" : Rewritten the codes with qword. Now new 5 codes against old 16 codes.
  • "sound test mode" : Rewritten the codes with qword. Added "sound stop" button.
The follwoing codes are test.

Code: Select all

<cheat desc="open doors soon (test)">
    <script state="on">
        <action>maincpu.mb@2fb5 = 18</action>
        <action>maincpu.mb@2fcd = 18</action>
        <action>maincpu.mb@2f5f = 18</action>
        <action>maincpu.mb@2f6a = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2fb5 = 28</action>
        <action>maincpu.mb@2fcd = 28</action>
        <action>maincpu.mb@2f5f = 28</action>
        <action>maincpu.mb@2f6a = 28</action>
    </script>
</cheat>

<cheat desc="visitor (test)">
    <parameter>
        <item value="0x00">customer only</item>
        <item value="0x02">robber only  </item>
    </parameter>
    <script state="on">
        <action>maincpu.md@30cd = fd00003e</action>
    </script>
    <script state="change">
        <action>maincpu.mb@30ce = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@30cd = fd127edd</action>
    </script>
</cheat>
  • "open doors soon" : Sometimes locked a door.
  • "visitor" : Often robber comes even when you set "customer only".
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[bankp]+ Bank Panic

Post by jman »

bankp.xml

Code: Select all

<!-- Bank Panic -->
<mamecheat version="1">

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@9AC0 = A7</action> <!-- left -->
            <action>maincpu.mb@9AD7 = AF</action> <!-- center -->
            <action>maincpu.mb@9AEE = A7</action> <!-- right -->
            <action>maincpu.mb@9AF6 = 04</action> <!-- fire timer -->
        </script>
        <script state="off">
            <action>maincpu.mb@9AC0 = E7</action>
            <action>maincpu.mb@9AD7 = EF</action>
            <action>maincpu.mb@9AEE = F7</action>
            <action>maincpu.mb@9AF6 = 08</action>
        </script>
    </cheat>

    <cheat desc="auto shooting a robber">
        <script state="on">
            <action>maincpu.md@99CD = 32DFC0CD        </action>
            <action>maincpu.mq@DFC0 = 0306002011E46221</action>
            <action>maincpu.mq@DFC8 = 3AF91019072076CB</action>
            <action>maincpu.mq@DFD0 = 19DFDC2158C9E006</action>
            <action>maincpu.mq@DFD8 = 102040C9E006327E</action>
            <!--
            DFC0 | 21 62 E4 : ld   hl,$E462  // search the doors
            DFC3 | 11 20 00 : ld   de,$0020
            DFC6 | 06 03    : ld   b,$03
            DFC8 | CB 76    : bit  6,(hl)
            DFCA | 20 07    : jr   nz,$DFD3  // is robber?
            DFCC | 19       : add  hl,de
            DFCD | 10 F9    : djnz $DFC8
            DFCF | 3A 06 E0 : ld   a,($E006) // not found
            DFD2 | C9       : ret
            DFD3 | 58       : ld   e,b       // found
            DFD4 | 21 DC DF : ld   hl,$DFDC
            DFD7 | 19       : add  hl,de
            DFD8 | 7E       : ld   a,(hl)
            DFD9 | 32 06 E0 : ld   ($E006),a // set button index
            DFDC | C9       : ret
            DFDD - DFDF     : address/button conversion table
             address button
              $e462    10   : left
              $e482    20   : center
              $e4a2    40   : right
            -->
        </script>
        <script state="off">
            <action>maincpu.md@99CD = 32E0063A        </action>
            <action>maincpu.mq@DFC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DFC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DFD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DFD8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="open doors soon (test)">
        <script state="on">
            <action>maincpu.mb@2FB5 = 18</action>
            <action>maincpu.mb@2FCD = 18</action>
            <action>maincpu.mb@2F5F = 18</action>
            <action>maincpu.mb@2F6A = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2FB5 = 28</action>
            <action>maincpu.mb@2FCD = 28</action>
            <action>maincpu.mb@2F5F = 28</action>
            <action>maincpu.mb@2F6A = 28</action>
        </script>
    </cheat>

    <cheat desc="visitor (test)">
        <parameter>
            <item value="0x00">customer</item>
            <item value="0x02">robber  </item>
        </parameter>
        <script state="on">
            <action>maincpu.md@30CD = FD00003E</action>
        </script>
        <script state="change">
            <action>maincpu.mb@30CE = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@30CD = FD127EDD</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@0A13 = param</action> <!-- initialize -->
            <action>maincpu.mb@0DB4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0A13 = 80</action>
            <action>maincpu.mb@0DB4 = 80</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@0262 = 0021E00122001021</action>
            <action>maincpu.mq@026A = F62847B8E0063AE1</action>
            <action>maincpu.mq@0272 = 2002FE35012008FE</action>
            <action>maincpu.mq@027A = 0016042010FE3401</action>
            <action>maincpu.mq@0282 = FF160B2020FE0618</action>
            <action>maincpu.mq@028A = 18DA04CD7E4F5FAF</action>
            <action>maincpu.mq@0292 = 73CDC5052040FE09</action>
            <action>maincpu.mq@029A = E2E611EBCA18C1DA</action>
            <!--
            0262 | 21 10 00 : ld   hl,$0010
            0265 | 22 01 E0 : ld   ($E001),hl
            0268 | 21 00 E1 : ld   hl,$E100   // sound code address
            026B | 3A 06 E0 : ld   a,($E006)  // read input
            026E | B8       : cp   b
            026F | 47       : ld   b,a
            0270 | 28 F6    : jr   z,$0268
            0272 | FE 08    : cp   $08
            0274 | 20 01    : jr   nz,$0277
            0276 | 35       : dec  (hl)       // decrease code -01
            0277 | FE 02    : cp   $02
            0279 | 20 01    : jr   nz,$027C
            027B | 34       : inc  (hl)       // increase code +01
            027C | FE 10    : cp   $10
            027E | 20 04    : jr   nz,$0284
            0280 | 16 00    : ld   d,$00      // play with normal tempo
            0282 | 18 06    : jr   $028A
            0284 | FE 20    : cp   $20
            0286 | 20 0B    : jr   nz,$0293
            0288 | 16 FF    : ld   d,$FF      // play with fast tempo
            028A | AF       : xor  a
            028B | 5F       : ld   e,a
            028C | 4F       : ld   c,a
            028D | 7E       : ld   a,(hl)
            028E | CD 04 DA : call $DA04      // send sound code
            0291 | 18 09    : jr   $029C
            0293 | FE 40    : cp   $40
            0295 | 20 05    : jr   nz,$029C
            0297 | C5       : push bc
            0298 | CD 73 DA : call $DA73      // stop sound
            029B | C1       : pop  bc
            029C | 18 CA    : jr   $0268
            -->
        </script>
        <script state="run">
            <output format="----- bank panic 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 with normal tempo" line="13" align="center" />
            <output format="button 2 : play sound with fast tempo"   line="14" align="center" />
            <output format="button 3 : stop sound"                   line="15" align="center" />
            <output format="----------------------------"            line="16" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"       line="18" align="center">
                <argument>maincpu.pb@E100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0262 = 72CA7FCBF1080BCD</action>
            <action>maincpu.mq@026A = 3A1620B7E0273A03</action>
            <action>maincpu.mq@0272 = E0243A1020B7E020</action>
            <action>maincpu.mq@027A = 10E6E0013A0A20B7</action>
            <action>maincpu.mq@0282 = 0A1E21BB18E00132</action>
            <action>maincpu.mq@028A = B0ED001801E2E011</action>
            <action>maincpu.mq@0292 = 362103E6F5E0073A</action>
            <action>maincpu.mq@029A = E2E611EB0C7FCD0A</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@0001 = 01F0</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0001 = ABC0</action>
        </script>
    </cheat>

</mamecheat>
bankpt.xml

Code: Select all

<!-- Bank Panic (Tecfri bootleg) -->
<mamecheat version="1">

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@9AC0 = A7</action> <!-- left -->
            <action>maincpu.mb@9AD7 = AF</action> <!-- center -->
            <action>maincpu.mb@9AEE = A7</action> <!-- right -->
            <action>maincpu.mb@9AF6 = 04</action> <!-- fire timer -->
        </script>
        <script state="off">
            <action>maincpu.mb@9AC0 = E7</action>
            <action>maincpu.mb@9AD7 = EF</action>
            <action>maincpu.mb@9AEE = F7</action>
            <action>maincpu.mb@9AF6 = 08</action>
        </script>
    </cheat>

    <cheat desc="auto shooting a robber">
        <script state="on">
            <action>maincpu.md@99CD = 32DFC0CD        </action>
            <action>maincpu.mq@DFC0 = 0306002011E46221</action>
            <action>maincpu.mq@DFC8 = 3AF91019072076CB</action>
            <action>maincpu.mq@DFD0 = 19DFDC2158C9E006</action>
            <action>maincpu.mq@DFD8 = 102040C9E006327E</action>
            <!--
            DFC0 | 21 62 E4 : ld   hl,$E462  // search the doors
            DFC3 | 11 20 00 : ld   de,$0020
            DFC6 | 06 03    : ld   b,$03
            DFC8 | CB 76    : bit  6,(hl)
            DFCA | 20 07    : jr   nz,$DFD3  // is robber?
            DFCC | 19       : add  hl,de
            DFCD | 10 F9    : djnz $DFC8
            DFCF | 3A 06 E0 : ld   a,($E006) // not found
            DFD2 | C9       : ret
            DFD3 | 58       : ld   e,b       // found
            DFD4 | 21 DC DF : ld   hl,$DFDC
            DFD7 | 19       : add  hl,de
            DFD8 | 7E       : ld   a,(hl)
            DFD9 | 32 06 E0 : ld   ($E006),a // set button index
            DFDC | C9       : ret
            DFDD - DFDF     : address/button conversion table
             address button
              $e462    10   : left
              $e482    20   : center
              $e4a2    40   : right
            -->
        </script>
        <script state="off">
            <action>maincpu.md@99CD = 32E0063A        </action>
            <action>maincpu.mq@DFC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DFC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DFD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DFD8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="open doors soon (test)">
        <script state="on">
            <action>maincpu.mb@2FB5 = 18</action>
            <action>maincpu.mb@2FCD = 18</action>
            <action>maincpu.mb@2F5F = 18</action>
            <action>maincpu.mb@2F6A = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2FB5 = 28</action>
            <action>maincpu.mb@2FCD = 28</action>
            <action>maincpu.mb@2F5F = 28</action>
            <action>maincpu.mb@2F6A = 28</action>
        </script>
    </cheat>

    <cheat desc="visitor (test)">
        <parameter>
            <item value="0x00">customer</item>
            <item value="0x02">robber  </item>
        </parameter>
        <script state="on">
            <action>maincpu.md@30CD = FD00003E</action>
        </script>
        <script state="change">
            <action>maincpu.mb@30CE = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@30CD = FD127EDD</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@0A13 = param</action> <!-- initialize -->
            <action>maincpu.mb@0DB4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0A13 = 80</action>
            <action>maincpu.mb@0DB4 = 80</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@0262 = 0021E00122001021</action>
            <action>maincpu.mq@026A = F62847B8E0063AE1</action>
            <action>maincpu.mq@0272 = 2002FE35012008FE</action>
            <action>maincpu.mq@027A = 0016042010FE3401</action>
            <action>maincpu.mq@0282 = FF160B2020FE0618</action>
            <action>maincpu.mq@028A = 18DA04CD7E4F5FAF</action>
            <action>maincpu.mq@0292 = 73CDC5052040FE09</action>
            <action>maincpu.mq@029A = E2E611EBCA18C1DA</action>
            <!--
            0262 | 21 10 00 : ld   hl,$0010
            0265 | 22 01 E0 : ld   ($E001),hl
            0268 | 21 00 E1 : ld   hl,$E100   // sound code address
            026B | 3A 06 E0 : ld   a,($E006)  // read input
            026E | B8       : cp   b
            026F | 47       : ld   b,a
            0270 | 28 F6    : jr   z,$0268
            0272 | FE 08    : cp   $08
            0274 | 20 01    : jr   nz,$0277
            0276 | 35       : dec  (hl)       // decrease code -01
            0277 | FE 02    : cp   $02
            0279 | 20 01    : jr   nz,$027C
            027B | 34       : inc  (hl)       // increase code +01
            027C | FE 10    : cp   $10
            027E | 20 04    : jr   nz,$0284
            0280 | 16 00    : ld   d,$00      // play with normal tempo
            0282 | 18 06    : jr   $028A
            0284 | FE 20    : cp   $20
            0286 | 20 0B    : jr   nz,$0293
            0288 | 16 FF    : ld   d,$FF      // play with fast tempo
            028A | AF       : xor  a
            028B | 5F       : ld   e,a
            028C | 4F       : ld   c,a
            028D | 7E       : ld   a,(hl)
            028E | CD 04 DA : call $DA04      // send sound code
            0291 | 18 09    : jr   $029C
            0293 | FE 40    : cp   $40
            0295 | 20 05    : jr   nz,$029C
            0297 | C5       : push bc
            0298 | CD 73 DA : call $DA73      // stop sound
            029B | C1       : pop  bc
            029C | 18 CA    : jr   $0268
            -->
        </script>
        <script state="run">
            <output format="----- bank panic 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 with normal tempo" line="13" align="center" />
            <output format="button 2 : play sound with fast tempo"   line="14" align="center" />
            <output format="button 3 : stop sound"                   line="15" align="center" />
            <output format="----------------------------"            line="16" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"       line="18" align="center">
                <argument>maincpu.pb@E100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0262 = 72CA7FCBF1080BCD</action>
            <action>maincpu.mq@026A = 3A1620B7E0273A03</action>
            <action>maincpu.mq@0272 = E0243A1020B7E020</action>
            <action>maincpu.mq@027A = 10E6E0013A0A20B7</action>
            <action>maincpu.mq@0282 = 0A1E21BB18E00132</action>
            <action>maincpu.mq@028A = B0ED001801E2E011</action>
            <action>maincpu.mq@0292 = 362103E6F5E0073A</action>
            <action>maincpu.mq@029A = E2E611EB0C7FCD0A</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@0001 = 01F0</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0001 = ABC0</action>
        </script>
    </cheat>

</mamecheat>
Post Reply