[midresj] Midnight Resistance

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

[midresj] Midnight Resistance

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mq@155a2 = 4eb90002d3a0674e</action>
        <action>maincpu.mq@2d3a0 = 45f900102926b5c8</action>
        <action>maincpu.mq@2d3a8 = 6714b5c9671045ea</action>
        <action>maincpu.mq@2d3b0 = 000cb5c86708b5c9</action>
        <action>maincpu.mq@2d3b8 = 6704080700064e75</action>
        <!--
        2d3a0 | 45f9 0010 2926 : lea    $102926.l,A2
        2d3a6 | b5c8           : cmpa.l A0,A2
        2d3a8 | 6714           : beq    $2d3be
        2d3aa | b5c9           : cmpa.l A1,A2
        2d3ac | 6710           : beq    $2d3be
        2d3ae | 45ea 000c      : lea    ($c,A2),A2
        2d3b2 | b5c8           : cmpa.l A0,A2
        2d3b4 | 6708           : beq    $2d3be
        2d3b6 | b5c9           : cmpa.l A1,A2
        2d3b8 | 6704           : beq    $2d3be
        2d3ba | 0807 0006      : btst   #$6,D7
        2d3be | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@155a2 = 4e7108070006674e</action>
        <action>maincpu.mq@2d3a0 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3a8 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3b0 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3b8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@054a8 = 4eb90002d3f04e71</action>
        <action>maincpu.mq@2d3f0 = 102b003c122b0034</action>
        <action>maincpu.mq@2d3f8 = 0201001080010800</action>
        <action>maincpu.mq@2d400 = 00054e75ffffffff</action>
        <!--
        2d3f0 | 102b 003c : move.b ($3c,A3),D0
        2d3f4 | 122b 0034 : move.b ($34,A3),D1
        2d3f8 | 0201 0010 : andi.b #$10,D1
        2d3fc | 8001      : or.b   D1,D0
        2d3fe | 0800 0005 : btst   #$5,D0
        2d402 | 4e75      : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@054a8 = 102b003c08000005</action>
        <action>maincpu.mq@2d3f0 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3f8 = ffffffffffffffff</action>
        <action>maincpu.mq@2d400 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="joystick hack">
    <script state="on">
        <action>maincpu.mq@050d8 = 4eb90002d3c04a04</action>
        <action>maincpu.mq@2d3c0 = 182b00340204000f</action>
        <action>maincpu.mq@2d3c8 = 670c43fa000c1e31</action>
        <action>maincpu.mq@2d3d0 = 40001747004a4e75</action>
        <action>maincpu.mq@2d3d8 = ff0010ff181c14ff</action>
        <action>maincpu.mq@2d3e0 = 08040c0808080808</action>
        <!--
        050d8 | 4eb9 0002 d3c0 : jsr    $2d3c0.l
        050de | 4a04           : tst.b  D4
        ===================================================
        2d3c0 | 182b 0034      : move.b ($34,A3),D4
        2d3c4 | 0204 000f      : andi.b #$f,D4
        2d3c8 | 670c           : beq    $2d3d6
        2d3ca | 43fa 000c      : lea    ($c,PC);($2d3d8),A1
        2d3ce | 1e31 4000      : move.b (A1,D4.w),D7
        2d3d2 | 1747 004a      : move.b D7,($4a,A3)
        2d3d6 | 4e75           : rts
        2d3d8 - 2d3e3          : input/gun direction conversion table
                          input / direction
            (none)          00  /  ff
            up              01  /  00
            down            02  /  10
            (none)          03  /  ff
            left            04  /  18
            upper-left      05  /  1c
            lower-left      06  /  14
            (none)          07  /  ff
            right           08  /  08
            upper-right     09  /  04
            lower-right     0a  /  0c
            (???)         0b-0e /  08 // prevent from crashing in the ending?
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@050d8 = 182b00340204000f</action>
        <action>maincpu.mq@2d3c0 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3c8 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3d0 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3d8 = ffffffffffffffff</action>
        <action>maincpu.mq@2d3e0 = 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@00a30 = 4ef90002d4104eb8</action>
        <action>maincpu.mq@2d410 = 41f90010001043f9</action>
        <action>maincpu.mq@2d418 = 001a000112001039</action>
        <action>maincpu.mq@2d420 = 00180001b20067f4</action>
        <action>maincpu.mq@2d428 = 0c0000fb66025310</action>
        <action>maincpu.mq@2d430 = 0c0000f766025210</action>
        <action>maincpu.mq@2d438 = 0c0000fd66040410</action>
        <action>maincpu.mq@2d440 = 00100c0000fe6604</action>
        <action>maincpu.mq@2d448 = 061000100c0000ef</action>
        <action>maincpu.mq@2d450 = 660212900c0000df</action>
        <action>maincpu.mq@2d458 = 660412bc000160bc</action>
        <!--
        2d410 | 41f9 0010 0010 : lea    $100010.l,A0 // sound code address
        2d416 | 43f9 001a 0001 : lea    $1a0001.l,A1 // sound latch address
        2d41c | 1200           : move.b D0,D1
        2d41e | 1039 0018 0001 : move.b $180001.l,D0 // read input
        2d424 | b200           : cmp.b  D0,D1
        2d426 | 67f4           : beq    $2d41c
        2d428 | 0c00 00fb      : cmpi.b #-$5,D0
        2d42c | 6602           : bne    $2d430
        2d42e | 5310           : subq.b #1,(A0)      // decrease code -01
        2d430 | 0c00 00f7      : cmpi.b #-$9,D0
        2d434 | 6602           : bne    $2d438
        2d436 | 5210           : addq.b #1,(A0)      // increase code +01
        2d438 | 0c00 00fd      : cmpi.b #-$3,D0
        2d43c | 6604           : bne    $2d442
        2d43e | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        2d442 | 0c00 00fe      : cmpi.b #-$2,D0
        2d446 | 6604           : bne    $2d44c
        2d448 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        2d44c | 0c00 00ef      : cmpi.b #-$11,D0
        2d450 | 6602           : bne    $2d454
        2d452 | 1290           : move.b (A0),(A1)    // play sound
        2d454 | 0c00 00df      : cmpi.b #-$21,D0
        2d458 | 6604           : bne    $2d45e
        2d45a | 12bc 0001      : move.b #$1,(A1)     // stop sound
        2d45e | 60bc           : bra    $2d41c
        -->
    </script>
    <script state="run">
        <output format="----- midnight resistance sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"                        line="11" align="center" />
        <output format="right : increase code +01"                       line="12" align="center" />
        <output format="up : increase code +10"                          line="13" align="center" />
        <output format="down : decrease code -10"                        line="14" align="center" />
        <output format="button 1 : play sound"                           line="15" align="center" />
        <output format="button 2 : stop sound"                           line="16" align="center" />
        <output format="----------------------------"                    line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"              line="19" align="center">
            <argument>maincpu.pb@100010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@00a30 = 4eb81ea64e714eb8</action>
        <action>maincpu.mq@2d410 = ffffffffffffffff</action>
        <action>maincpu.mq@2d418 = ffffffffffffffff</action>
        <action>maincpu.mq@2d420 = ffffffffffffffff</action>
        <action>maincpu.mq@2d428 = ffffffffffffffff</action>
        <action>maincpu.mq@2d430 = ffffffffffffffff</action>
        <action>maincpu.mq@2d438 = ffffffffffffffff</action>
        <action>maincpu.mq@2d440 = ffffffffffffffff</action>
        <action>maincpu.mq@2d448 = ffffffffffffffff</action>
        <action>maincpu.mq@2d450 = ffffffffffffffff</action>
        <action>maincpu.mq@2d458 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[midres]+ Midnight Resistance

Post by jman »

midres.xml

Code: Select all

<!-- Midnight Resistance (World, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@154A6 = 4EB90002D240674E</action>
            <action>maincpu.mq@2D240 = 45F900102924B5C8</action>
            <action>maincpu.mq@2D248 = 6714B5C9671045EA</action>
            <action>maincpu.mq@2D250 = 000CB5C86708B5C9</action>
            <action>maincpu.mq@2D258 = 6704080700064E75</action>
            <!--
            2D240 | 45F9 0010 2924 : lea     $102924.l, A2
            2D246 | B5C8           : cmpa.l  A0, A2
            2D248 | 6714           : beq     $2d25e
            2D24A | B5C9           : cmpa.l  A1, A2
            2D24C | 6710           : beq     $2d25e
            2D24E | 45EA 000C      : lea     ($c,A2), A2
            2D252 | B5C8           : cmpa.l  A0, A2
            2D254 | 6708           : beq     $2d25e
            2D256 | B5C9           : cmpa.l  A1, A2
            2D258 | 6704           : beq     $2d25e
            2D25A | 0807 0006      : btst    #$6, D7
            2D25E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@154A6 = 4E7108070006674E</action>
            <action>maincpu.mq@2D240 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D248 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D258 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@053AC = 4EB90002D2604E71</action>
            <action>maincpu.mq@2D260 = 102B003C122B0034</action>
            <action>maincpu.mq@2D268 = 0201001080010800</action>
            <action>maincpu.mq@2D270 = 00054E75FFFFFFFF</action>
            <!--
            2D260 | 102B 003C : move.b  ($3c,A3), D0
            2D264 | 122B 0034 : move.b  ($34,A3), D1
            2D268 | 0201 0010 : andi.b  #$10, D1
            2D26C | 8001      : or.b    D1, D0
            2D26E | 0800 0005 : btst    #$5, D0
            2D272 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@053AC = 102B003C08000005</action>
            <action>maincpu.mq@2D260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D268 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D270 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="joystick hack">
        <script state="on">
            <action>maincpu.mq@04FDC = 4EB90002D2804A04</action>
            <action>maincpu.mq@2D280 = 182B00340244000F</action>
            <action>maincpu.mq@2D288 = 083900060010216E</action>
            <action>maincpu.mq@2D290 = 660E4A44670A43FA</action>
            <action>maincpu.mq@2D298 = 000A17714000004A</action>
            <action>maincpu.mq@2D2A0 = 4E75FF0010FF181C</action>
            <action>maincpu.mq@2D2A8 = 14FF08040CFFFFFF</action>
            <!--
            04FDC | 4EB9 0002 D280      : jsr     $2d280.l
            04FE2 | 4A04                : tst.b   D4
            ============================================================
            2D280 | 182B 0034           : move.b  ($34,A3), D4
            2D284 | 0244 000F           : andi.w  #$f, D4
            2D288 | 0839 0006 0010 216E : btst    #$6, $10216e.l
            2D290 | 660E                : bne     $2d2a0
            2D292 | 4A44                : tst.w   D4
            2D294 | 670A                : beq     $2d2a0
            2D296 | 43FA 000A           : lea     ($a,PC) ; ($2d2a2), A1
            2D29A | 1771 4000 004A      : move.b  (A1,D4.w), ($4a,A3)
            2D2A0 | 4E75                : rts
            2D2A2 - 2D2AC               : input/direction conversion table
              input   direction
                00      ff      (none)
                01      00      up
                02      10      down
                03      ff      (none)
                04      18      left
                05      1c      upper-left
                06      14      lower-left
                07      ff      (none)
                08      08      right
                09      04      upper-right
                0a      0c      lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04FDC = 182B00340204000F</action>
            <action>maincpu.mq@2D280 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D288 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2A8 = 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@00A20 = 4EF90002D2B04EB8</action>
            <action>maincpu.mq@2D2B0 = 41F90010000043F9</action>
            <action>maincpu.mq@2D2B8 = 001A000112001039</action>
            <action>maincpu.mq@2D2C0 = 00180001B20067F4</action>
            <action>maincpu.mq@2D2C8 = 0C0000FB66025310</action>
            <action>maincpu.mq@2D2D0 = 0C0000F766025210</action>
            <action>maincpu.mq@2D2D8 = 0C0000FD66040410</action>
            <action>maincpu.mq@2D2E0 = 00100C0000FE6604</action>
            <action>maincpu.mq@2D2E8 = 061000100C0000EF</action>
            <action>maincpu.mq@2D2F0 = 660212900C0000DF</action>
            <action>maincpu.mq@2D2F8 = 660412BC000160BC</action>
            <!--
            2D2B0 | 41F9 0010 0000 : lea     $100000.l, A0 // sound code address
            2D2B6 | 43F9 001A 0001 : lea     $1a0001.l, A1 // sound latch address
            2D2BC | 1200           : move.b  D0, D1
            2D2BE | 1039 0018 0001 : move.b  $180001.l, D0 // read input
            2D2C4 | B200           : cmp.b   D0, D1
            2D2C6 | 67F4           : beq     $2d2bc
            2D2C8 | 0C00 00FB      : cmpi.b  #-$5, D0
            2D2CC | 6602           : bne     $2d2d0
            2D2CE | 5310           : subq.b  #1, (A0)      // decrease code -01
            2D2D0 | 0C00 00F7      : cmpi.b  #-$9, D0
            2D2D4 | 6602           : bne     $2d2d8
            2D2D6 | 5210           : addq.b  #1, (A0)      // increase code +01
            2D2D8 | 0C00 00FD      : cmpi.b  #-$3, D0
            2D2DC | 6604           : bne     $2d2e2
            2D2DE | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            2D2E2 | 0C00 00FE      : cmpi.b  #-$2, D0
            2D2E6 | 6604           : bne     $2d2ec
            2D2E8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2D2EC | 0C00 00EF      : cmpi.b  #-$11, D0
            2D2F0 | 6602           : bne     $2d2f4
            2D2F2 | 1290           : move.b  (A0), (A1)    // play sound
            2D2F4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2D2F8 | 6604           : bne     $2d2fe
            2D2FA | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            2D2FE | 60BC           : bra     $2d2bc
            -->
        </script>
        <script state="run">
            <output format="----- midnight resistance 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00A20 = 4EB81E344E714EB8</action>
            <action>maincpu.mq@2D2B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
midres2.xml

Code: Select all

<!-- Midnight Resistance (World, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@15568 = 4EB90002D300674E</action>
            <action>maincpu.mq@2D300 = 45F900102926B5C8</action>
            <action>maincpu.mq@2D308 = 6714B5C9671045EA</action>
            <action>maincpu.mq@2D310 = 000CB5C86708B5C9</action>
            <action>maincpu.mq@2D318 = 6704080700064E75</action>
            <!--
            2D300 | 45F9 0010 2926 : lea     $102926.l, A2
            2D306 | B5C8           : cmpa.l  A0, A2
            2D308 | 6714           : beq     $2d31e
            2D30A | B5C9           : cmpa.l  A1, A2
            2D30C | 6710           : beq     $2d31e
            2D30E | 45EA 000C      : lea     ($c,A2), A2
            2D312 | B5C8           : cmpa.l  A0, A2
            2D314 | 6708           : beq     $2d31e
            2D316 | B5C9           : cmpa.l  A1, A2
            2D318 | 6704           : beq     $2d31e
            2D31A | 0807 0006      : btst    #$6, D7
            2D31E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@15568 = 4E7108070006674E</action>
            <action>maincpu.mq@2D300 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D308 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D310 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D318 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@0546E = 4EB90002D3204E71</action>
            <action>maincpu.mq@2D320 = 102B003C122B0034</action>
            <action>maincpu.mq@2D328 = 0201001080010800</action>
            <action>maincpu.mq@2D330 = 00054E75FFFFFFFF</action>
            <!--
            2D320 | 102B 003C : move.b  ($3c,A3), D0
            2D324 | 122B 0034 : move.b  ($34,A3), D1
            2D328 | 0201 0010 : andi.b  #$10, D1
            2D32C | 8001      : or.b    D1, D0
            2D32E | 0800 0005 : btst    #$5, D0
            2D332 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0546E = 102B003C08000005</action>
            <action>maincpu.mq@2D320 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D328 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D330 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="joystick hack">
        <script state="on">
            <action>maincpu.mq@0509E = 4EB90002D3404A04</action>
            <action>maincpu.mq@2D340 = 182B00340244000F</action>
            <action>maincpu.mq@2D348 = 0839000600102170</action>
            <action>maincpu.mq@2D350 = 660E4A44670A43FA</action>
            <action>maincpu.mq@2D358 = 000A17714000004A</action>
            <action>maincpu.mq@2D360 = 4E75FF0010FF181C</action>
            <action>maincpu.mq@2D368 = 14FF08040CFFFFFF</action>
            <!--
            0509E | 4EB9 0002 D340      : jsr     $2d340.l
            050A4 | 4A04                : tst.b   D4
            ============================================================
            2D340 | 182B 0034           : move.b  ($34,A3), D4
            2D344 | 0244 000F           : andi.w  #$f, D4
            2D348 | 0839 0006 0010 2170 : btst    #$6, $102170.l
            2D350 | 660E                : bne     $2d360
            2D352 | 4A44                : tst.w   D4
            2D354 | 670A                : beq     $2d360
            2D356 | 43FA 000A           : lea     ($a,PC) ; ($2d362), A1
            2D35A | 1771 4000 004A      : move.b  (A1,D4.w), ($4a,A3)
            2D360 | 4E75                : rts
            2D362 - 2D36C               : input/direction conversion table
              input   direction
                00      ff      (none)
                01      00      up
                02      10      down
                03      ff      (none)
                04      18      left
                05      1c      upper-left
                06      14      lower-left
                07      ff      (none)
                08      08      right
                09      04      upper-right
                0a      0c      lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0509E = 182B00340204000F</action>
            <action>maincpu.mq@2D340 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D348 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D350 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D358 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D368 = 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@00A20 = 4EF90002D3704EB8</action>
            <action>maincpu.mq@2D370 = 41F90010000043F9</action>
            <action>maincpu.mq@2D378 = 001A000112001039</action>
            <action>maincpu.mq@2D380 = 00180001B20067F4</action>
            <action>maincpu.mq@2D388 = 0C0000FB66025310</action>
            <action>maincpu.mq@2D390 = 0C0000F766025210</action>
            <action>maincpu.mq@2D398 = 0C0000FD66040410</action>
            <action>maincpu.mq@2D3A0 = 00100C0000FE6604</action>
            <action>maincpu.mq@2D3A8 = 061000100C0000EF</action>
            <action>maincpu.mq@2D3B0 = 660212900C0000DF</action>
            <action>maincpu.mq@2D3B8 = 660412BC000160BC</action>
            <!--
            2D370 | 41F9 0010 0000 : lea     $100000.l, A0 // sound code address
            2D376 | 43F9 001A 0001 : lea     $1a0001.l, A1 // sound latch address
            2D37C | 1200           : move.b  D0, D1
            2D37E | 1039 0018 0001 : move.b  $180001.l, D0 // read input
            2D384 | B200           : cmp.b   D0, D1
            2D386 | 67F4           : beq     $2d37c
            2D388 | 0C00 00FB      : cmpi.b  #-$5, D0
            2D38C | 6602           : bne     $2d390
            2D38E | 5310           : subq.b  #1, (A0)      // decrease code -01
            2D390 | 0C00 00F7      : cmpi.b  #-$9, D0
            2D394 | 6602           : bne     $2d398
            2D396 | 5210           : addq.b  #1, (A0)      // increase code +01
            2D398 | 0C00 00FD      : cmpi.b  #-$3, D0
            2D39C | 6604           : bne     $2d3a2
            2D39E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            2D3A2 | 0C00 00FE      : cmpi.b  #-$2, D0
            2D3A6 | 6604           : bne     $2d3ac
            2D3A8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2D3AC | 0C00 00EF      : cmpi.b  #-$11, D0
            2D3B0 | 6602           : bne     $2d3b4
            2D3B2 | 1290           : move.b  (A0), (A1)    // play sound
            2D3B4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2D3B8 | 6604           : bne     $2d3be
            2D3BA | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            2D3BE | 60BC           : bra     $2d37c
            -->
        </script>
        <script state="run">
            <output format="----- midnight resistance 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00A20 = 4EB81EF64E714EB8</action>
            <action>maincpu.mq@2D370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
midresu.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@15468 = 4EB90002D200674E</action>
            <action>maincpu.mq@2D200 = 45F900102924B5C8</action>
            <action>maincpu.mq@2D208 = 6714B5C9671045EA</action>
            <action>maincpu.mq@2D210 = 000CB5C86708B5C9</action>
            <action>maincpu.mq@2D218 = 6704080700064E75</action>
            <!--
            2D200 | 45F9 0010 2924 : lea     $102924.l, A2
            2D206 | B5C8           : cmpa.l  A0, A2
            2D208 | 6714           : beq     $2d21e
            2D20A | B5C9           : cmpa.l  A1, A2
            2D20C | 6710           : beq     $2d21e
            2D20E | 45EA 000C      : lea     ($c,A2), A2
            2D212 | B5C8           : cmpa.l  A0, A2
            2D214 | 6708           : beq     $2d21e
            2D216 | B5C9           : cmpa.l  A1, A2
            2D218 | 6704           : beq     $2d21e
            2D21A | 0807 0006      : btst    #$6, D7
            2D21E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@15468 = 4E7108070006674E</action>
            <action>maincpu.mq@2D200 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D208 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D210 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D218 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@0536E = 4EB90002D2204E71</action>
            <action>maincpu.mq@2D220 = 102B003C122B0034</action>
            <action>maincpu.mq@2D228 = 0201001080010800</action>
            <action>maincpu.mq@2D230 = 00054E75FFFFFFFF</action>
            <!--
            2D3C0 | 102B 003C : move.b  ($3c,A3), D0
            2D3C4 | 122B 0034 : move.b  ($34,A3), D1
            2D3C8 | 0201 0010 : andi.b  #$10, D1
            2D3CC | 8001      : or.b    D1, D0
            2D3CE | 0800 0005 : btst    #$5, D0
            2D3D2 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0536E = 102B003C08000005</action>
            <action>maincpu.mq@2D220 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D228 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D230 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="joystick hack">
        <script state="on">
            <action>maincpu.mq@04F9E = 4EB90002D2404A04</action>
            <action>maincpu.mq@2D240 = 182B00340244000F</action>
            <action>maincpu.mq@2D248 = 083900060010216E</action>
            <action>maincpu.mq@2D250 = 660E4A44670A43FA</action>
            <action>maincpu.mq@2D258 = 000A17714000004A</action>
            <action>maincpu.mq@2D260 = 4E75FF0010FF181C</action>
            <action>maincpu.mq@2D268 = 14FF08040CFFFFFF</action>
            <!--
            050D8 | 4EB9 0002 D240      : jsr     $2d240.l
            050DE | 4A04                : tst.b   D4
            ============================================================
            2D240 | 182B 0034           : move.b  ($34,A3), D4
            2D244 | 0244 000F           : andi.w  #$f, D4
            2D248 | 0839 0006 0010 216E : btst    #$6, $10216e.l
            2D250 | 660E                : bne     $2d260
            2D252 | 4A44                : tst.w   D4
            2D254 | 670A                : beq     $2d260
            2D256 | 43FA 000A           : lea     ($a,PC) ; ($2d262), A1
            2D25A | 1771 4000 004A      : move.b  (A1,D4.w), ($4a,A3)
            2D260 | 4E75                : rts
            2D262 - 2D26C               : input/direction conversion table
              input   direction
                00      ff      (none)
                01      00      up
                02      10      down
                03      ff      (none)
                04      18      left
                05      1c      upper-left
                06      14      lower-left
                07      ff      (none)
                08      08      right
                09      04      upper-right
                0a      0c      lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@050D8 = 182B00340204000F</action>
            <action>maincpu.mq@2D240 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D248 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D258 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D268 = 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@00A14 = 4EF90002D2704EB8</action>
            <action>maincpu.mq@2D270 = 41F90010000043F9</action>
            <action>maincpu.mq@2D278 = 001A000112001039</action>
            <action>maincpu.mq@2D280 = 00180001B20067F4</action>
            <action>maincpu.mq@2D288 = 0C0000FB66025310</action>
            <action>maincpu.mq@2D290 = 0C0000F766025210</action>
            <action>maincpu.mq@2D298 = 0C0000FD66040410</action>
            <action>maincpu.mq@2D2A0 = 00100C0000FE6604</action>
            <action>maincpu.mq@2D2A8 = 061000100C0000EF</action>
            <action>maincpu.mq@2D2B0 = 660212900C0000DF</action>
            <action>maincpu.mq@2D2B8 = 660412BC000160BC</action>
            <!--
            2D270 | 41F9 0010 0000 : lea     $100000.l, A0 // sound code address
            2D276 | 43F9 001A 0001 : lea     $1a0001.l, A1 // sound latch address
            2D27C | 1200           : move.b  D0, D1
            2D27E | 1039 0018 0001 : move.b  $180001.l, D0 // read input
            2D284 | B200           : cmp.b   D0, D1
            2D286 | 67F4           : beq     $2d27c
            2D288 | 0C00 00FB      : cmpi.b  #-$5, D0
            2D28C | 6602           : bne     $2d290
            2D28E | 5310           : subq.b  #1, (A0)      // decrease code -01
            2D290 | 0C00 00F7      : cmpi.b  #-$9, D0
            2D294 | 6602           : bne     $2d298
            2D296 | 5210           : addq.b  #1, (A0)      // increase code +01
            2D298 | 0C00 00FD      : cmpi.b  #-$3, D0
            2D29C | 6604           : bne     $2d2a2
            2D29E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            2D2A2 | 0C00 00FE      : cmpi.b  #-$2, D0
            2D2A6 | 6604           : bne     $2d2ac
            2D2A8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2D2AC | 0C00 00EF      : cmpi.b  #-$11, D0
            2D2B0 | 6602           : bne     $2d2b4
            2D2B2 | 1290           : move.b  (A0), (A1)    // play sound
            2D2B4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2D2B8 | 6604           : bne     $2d2be
            2D2BA | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            2D2BE | 60BC           : bra     $2d27c
            -->
        </script>
        <script state="run">
            <output format="----- midnight resistance 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00A14 = 4EB80EEA4E714EB8</action>
            <action>maincpu.mq@2D410 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D418 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D428 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D448 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D450 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D458 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
midresj.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@155A2 = 4EB90002D3A0674E</action>
            <action>maincpu.mq@2D3A0 = 45F900102926B5C8</action>
            <action>maincpu.mq@2D3A8 = 6714B5C9671045EA</action>
            <action>maincpu.mq@2D3B0 = 000CB5C86708B5C9</action>
            <action>maincpu.mq@2D3B8 = 6704080700064E75</action>
            <!--
            2D3A0 | 45F9 0010 2926 : lea     $102926.l, A2
            2D3A6 | B5C8           : cmpa.l  A0, A2
            2D3A8 | 6714           : beq     $2d3be
            2D3AA | B5C9           : cmpa.l  A1, A2
            2D3AC | 6710           : beq     $2d3be
            2D3AE | 45EA 000C      : lea     ($c,A2), A2
            2D3B2 | B5C8           : cmpa.l  A0, A2
            2D3B4 | 6708           : beq     $2d3be
            2D3B6 | B5C9           : cmpa.l  A1, A2
            2D3B8 | 6704           : beq     $2d3be
            2D3BA | 0807 0006      : btst    #$6, D7
            2D3BE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@155A2 = 4E7108070006674E</action>
            <action>maincpu.mq@2D3A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@054A8 = 4EB90002D3C04E71</action>
            <action>maincpu.mq@2D3C0 = 102B003C122B0034</action>
            <action>maincpu.mq@2D3C8 = 0201001080010800</action>
            <action>maincpu.mq@2D3D0 = 00054E75FFFFFFFF</action>
            <!--
            2D3C0 | 102B 003C : move.b  ($3c,A3), D0
            2D3C4 | 122B 0034 : move.b  ($34,A3), D1
            2D3C8 | 0201 0010 : andi.b  #$10, D1
            2D3CC | 8001      : or.b    D1, D0
            2D3CE | 0800 0005 : btst    #$5, D0
            2D3D2 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@054A8 = 102B003C08000005</action>
            <action>maincpu.mq@2D3C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3D0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="joystick hack">
        <script state="on">
            <action>maincpu.mq@050D8 = 4EB90002D3E04A04</action>
            <action>maincpu.mq@2D3E0 = 182B00340244000F</action>
            <action>maincpu.mq@2D3E8 = 0839000600102170</action>
            <action>maincpu.mq@2D3F0 = 660E4A44670A43FA</action>
            <action>maincpu.mq@2D3F8 = 000A17714000004A</action>
            <action>maincpu.mq@2D400 = 4E75FF0010FF181C</action>
            <action>maincpu.mq@2D408 = 14FF08040CFFFFFF</action>
            <!--
            050D8 | 4EB9 0002 D3E0      : jsr     $2d3e0.l
            050DE | 4A04                : tst.b   D4
            ============================================================
            2D3E0 | 182B 0034           : move.b  ($34,A3), D4
            2D3E4 | 0244 000F           : andi.w  #$f, D4
            2D3E8 | 0839 0006 0010 2170 : btst    #$6, $102170.l
            2D3F0 | 660E                : bne     $2d400
            2D3F2 | 4A44                : tst.w   D4
            2D3F4 | 670A                : beq     $2d400
            2D3F6 | 43FA 000A           : lea     ($a,PC) ; ($2d402), A1
            2D3FA | 1771 4000 004A      : move.b  (A1,D4.w), ($4a,A3)
            2D400 | 4E75                : rts
            2D402 - 2D40c               : input/direction conversion table
              input   direction
                00      ff      (none)
                01      00      up
                02      10      down
                03      ff      (none)
                04      18      left
                05      1c      upper-left
                06      14      lower-left
                07      ff      (none)
                08      08      right
                09      04      upper-right
                0a      0c      lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@050D8 = 182B00340204000F</action>
            <action>maincpu.mq@2D3E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D3F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D400 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D408 = 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@00A30 = 4EF90002D4104EB8</action>
            <action>maincpu.mq@2D410 = 41F90010000043F9</action>
            <action>maincpu.mq@2D418 = 001A000112001039</action>
            <action>maincpu.mq@2D420 = 00180001B20067F4</action>
            <action>maincpu.mq@2D428 = 0C0000FB66025310</action>
            <action>maincpu.mq@2D430 = 0C0000F766025210</action>
            <action>maincpu.mq@2D438 = 0C0000FD66040410</action>
            <action>maincpu.mq@2D440 = 00100C0000FE6604</action>
            <action>maincpu.mq@2D448 = 061000100C0000EF</action>
            <action>maincpu.mq@2D450 = 660212900C0000DF</action>
            <action>maincpu.mq@2D458 = 660412BC000160BC</action>
            <!--
            2D410 | 41F9 0010 0000 : lea     $100000.l, A0 // sound code address
            2D416 | 43F9 001A 0001 : lea     $1a0001.l, A1 // sound latch address
            2D41C | 1200           : move.b  D0, D1
            2D41E | 1039 0018 0001 : move.b  $180001.l, D0 // read input
            2D424 | B200           : cmp.b   D0, D1
            2D426 | 67F4           : beq     $2d41c
            2D428 | 0C00 00FB      : cmpi.b  #-$5, D0
            2D42C | 6602           : bne     $2d430
            2D42E | 5310           : subq.b  #1, (A0)      // decrease code -01
            2D430 | 0C00 00F7      : cmpi.b  #-$9, D0
            2D434 | 6602           : bne     $2d438
            2D436 | 5210           : addq.b  #1, (A0)      // increase code +01
            2D438 | 0C00 00FD      : cmpi.b  #-$3, D0
            2D43C | 6604           : bne     $2d442
            2D43E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            2D442 | 0C00 00FE      : cmpi.b  #-$2, D0
            2D446 | 6604           : bne     $2d44c
            2D448 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2D44C | 0C00 00EF      : cmpi.b  #-$11, D0
            2D450 | 6602           : bne     $2d454
            2D452 | 1290           : move.b  (A0), (A1)    // play sound
            2D454 | 0C00 00DF      : cmpi.b  #-$21, D0
            2D458 | 6604           : bne     $2d45e
            2D45A | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            2D45E | 60BC           : bra     $2d41c
            -->
        </script>
        <script state="run">
            <output format="----- midnight resistance 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00A30 = 4EB81EA64E714EB8</action>
            <action>maincpu.mq@2D410 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D418 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D428 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D448 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D450 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D458 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
midresb.xml

Code: Select all

<!-- Midnight Resistance (bootleg with 68705) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@154A6 = 4EB90002D240674E</action>
            <action>maincpu.mq@2D240 = 45F900102924B5C8</action>
            <action>maincpu.mq@2D248 = 6714B5C9671045EA</action>
            <action>maincpu.mq@2D250 = 000CB5C86708B5C9</action>
            <action>maincpu.mq@2D258 = 6704080700064E75</action>
            <!--
            2D240 | 45F9 0010 2924 : lea     $102924.l, A2
            2D246 | B5C8           : cmpa.l  A0, A2
            2D248 | 6714           : beq     $2d25e
            2D24A | B5C9           : cmpa.l  A1, A2
            2D24C | 6710           : beq     $2d25e
            2D24E | 45EA 000C      : lea     ($c,A2), A2
            2D252 | B5C8           : cmpa.l  A0, A2
            2D254 | 6708           : beq     $2d25e
            2D256 | B5C9           : cmpa.l  A1, A2
            2D258 | 6704           : beq     $2d25e
            2D25A | 0807 0006      : btst    #$6, D7
            2D25E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@154A6 = 4E7108070006674E</action>
            <action>maincpu.mq@2D240 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D248 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D258 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@053AC = 4EB90002D2604E71</action>
            <action>maincpu.mq@2D260 = 102B003C122B0034</action>
            <action>maincpu.mq@2D268 = 0201001080010800</action>
            <action>maincpu.mq@2D270 = 00054E75FFFFFFFF</action>
            <!--
            2D260 | 102B 003C : move.b  ($3c,A3), D0
            2D264 | 122B 0034 : move.b  ($34,A3), D1
            2D268 | 0201 0010 : andi.b  #$10, D1
            2D26C | 8001      : or.b    D1, D0
            2D26E | 0800 0005 : btst    #$5, D0
            2D272 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@053AC = 102B003C08000005</action>
            <action>maincpu.mq@2D260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D268 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D270 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="joystick hack">
        <script state="on">
            <action>maincpu.mq@04FDC = 4EB90002D2804A04</action>
            <action>maincpu.mq@2D280 = 182B00340244000F</action>
            <action>maincpu.mq@2D288 = 083900060010216E</action>
            <action>maincpu.mq@2D290 = 660E4A44670A43FA</action>
            <action>maincpu.mq@2D298 = 000A17714000004A</action>
            <action>maincpu.mq@2D2A0 = 4E75FF0010FF181C</action>
            <action>maincpu.mq@2D2A8 = 14FF08040CFFFFFF</action>
            <!--
            04FDC | 4EB9 0002 D280      : jsr     $2d280.l
            04FE2 | 4A04                : tst.b   D4
            ============================================================
            2D280 | 182B 0034           : move.b  ($34,A3), D4
            2D284 | 0244 000F           : andi.w  #$f, D4
            2D288 | 0839 0006 0010 216E : btst    #$6, $10216e.l
            2D290 | 660E                : bne     $2d2a0
            2D292 | 4A44                : tst.w   D4
            2D294 | 670A                : beq     $2d2a0
            2D296 | 43FA 000A           : lea     ($a,PC) ; ($2d2a2), A1
            2D29A | 1771 4000 004A      : move.b  (A1,D4.w), ($4a,A3)
            2D2A0 | 4E75                : rts
            2D2A2 - 2D2AC               : input/direction conversion table
              input   direction
                00      ff      (none)
                01      00      up
                02      10      down
                03      ff      (none)
                04      18      left
                05      1c      upper-left
                06      14      lower-left
                07      ff      (none)
                08      08      right
                09      04      upper-right
                0a      0c      lower-right
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04FDC = 182B00340204000F</action>
            <action>maincpu.mq@2D280 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D288 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2A8 = 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@00A20 = 4EF90002D2B04EB8</action>
            <action>maincpu.mq@2D2B0 = 41F90010000043F9</action>
            <action>maincpu.mq@2D2B8 = 001A000112001039</action>
            <action>maincpu.mq@2D2C0 = 00180001B20067F4</action>
            <action>maincpu.mq@2D2C8 = 0C0000FB66025310</action>
            <action>maincpu.mq@2D2D0 = 0C0000F766025210</action>
            <action>maincpu.mq@2D2D8 = 0C0000FD66040410</action>
            <action>maincpu.mq@2D2E0 = 00100C0000FE6604</action>
            <action>maincpu.mq@2D2E8 = 061000100C0000EF</action>
            <action>maincpu.mq@2D2F0 = 660212900C0000DF</action>
            <action>maincpu.mq@2D2F8 = 660412BC000160BC</action>
            <!--
            2D2B0 | 41F9 0010 0000 : lea     $100000.l, A0 // sound code address
            2D2B6 | 43F9 001A 0001 : lea     $1a0001.l, A1 // sound latch address
            2D2BC | 1200           : move.b  D0, D1
            2D2BE | 1039 0018 0001 : move.b  $180001.l, D0 // read input
            2D2C4 | B200           : cmp.b   D0, D1
            2D2C6 | 67F4           : beq     $2d2bc
            2D2C8 | 0C00 00FB      : cmpi.b  #-$5, D0
            2D2CC | 6602           : bne     $2d2d0
            2D2CE | 5310           : subq.b  #1, (A0)      // decrease code -01
            2D2D0 | 0C00 00F7      : cmpi.b  #-$9, D0
            2D2D4 | 6602           : bne     $2d2d8
            2D2D6 | 5210           : addq.b  #1, (A0)      // increase code +01
            2D2D8 | 0C00 00FD      : cmpi.b  #-$3, D0
            2D2DC | 6604           : bne     $2d2e2
            2D2DE | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            2D2E2 | 0C00 00FE      : cmpi.b  #-$2, D0
            2D2E6 | 6604           : bne     $2d2ec
            2D2E8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2D2EC | 0C00 00EF      : cmpi.b  #-$11, D0
            2D2F0 | 6602           : bne     $2d2f4
            2D2F2 | 1290           : move.b  (A0), (A1)    // play sound
            2D2F4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2D2F8 | 6604           : bne     $2d2fe
            2D2FA | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            2D2FE | 60BC           : bra     $2d2bc
            -->
        </script>
        <script state="run">
            <output format="----- midnight resistance 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00A20 = 4EB81E344E714EB8</action>
            <action>maincpu.mq@2D2B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
midresbj.xml

Code: Select all

<!-- Midnight Resistance (Joystick bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@154A6 = 4EB90002D240674E</action>
            <action>maincpu.mq@2D240 = 45F900102924B5C8</action>
            <action>maincpu.mq@2D248 = 6714B5C9671045EA</action>
            <action>maincpu.mq@2D250 = 000CB5C86708B5C9</action>
            <action>maincpu.mq@2D258 = 6704080700064E75</action>
            <!--
            2D240 | 45F9 0010 2924 : lea     $102924.l, A2
            2D246 | B5C8           : cmpa.l  A0, A2
            2D248 | 6714           : beq     $2d25e
            2D24A | B5C9           : cmpa.l  A1, A2
            2D24C | 6710           : beq     $2d25e
            2D24E | 45EA 000C      : lea     ($c,A2), A2
            2D252 | B5C8           : cmpa.l  A0, A2
            2D254 | 6708           : beq     $2d25e
            2D256 | B5C9           : cmpa.l  A1, A2
            2D258 | 6704           : beq     $2d25e
            2D25A | 0807 0006      : btst    #$6, D7
            2D25E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@154A6 = 4E7108070006674E</action>
            <action>maincpu.mq@2D240 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D248 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D258 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@053AC = 4EB90002D2604E71</action>
            <action>maincpu.mq@2D260 = 102B003C122B0034</action>
            <action>maincpu.mq@2D268 = 0201001080010800</action>
            <action>maincpu.mq@2D270 = 00054E75FFFFFFFF</action>
            <!--
            2D260 | 102B 003C : move.b  ($3c,A3), D0
            2D264 | 122B 0034 : move.b  ($34,A3), D1
            2D268 | 0201 0010 : andi.b  #$10, D1
            2D26C | 8001      : or.b    D1, D0
            2D26E | 0800 0005 : btst    #$5, D0
            2D272 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@053AC = 102B003C08000005</action>
            <action>maincpu.mq@2D260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D268 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D270 = 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@00A20 = 4EF90002D2B04EB8</action>
            <action>maincpu.mq@2D2B0 = 41F90010000043F9</action>
            <action>maincpu.mq@2D2B8 = 001A000112001039</action>
            <action>maincpu.mq@2D2C0 = 00180001B20067F4</action>
            <action>maincpu.mq@2D2C8 = 0C0000FB66025310</action>
            <action>maincpu.mq@2D2D0 = 0C0000F766025210</action>
            <action>maincpu.mq@2D2D8 = 0C0000FD66040410</action>
            <action>maincpu.mq@2D2E0 = 00100C0000FE6604</action>
            <action>maincpu.mq@2D2E8 = 061000100C0000EF</action>
            <action>maincpu.mq@2D2F0 = 660212900C0000DF</action>
            <action>maincpu.mq@2D2F8 = 660412BC000160BC</action>
            <!--
            2D2B0 | 41F9 0010 0000 : lea     $100000.l, A0 // sound code address
            2D2B6 | 43F9 001A 0001 : lea     $1a0001.l, A1 // sound latch address
            2D2BC | 1200           : move.b  D0, D1
            2D2BE | 1039 0018 0001 : move.b  $180001.l, D0 // read input
            2D2C4 | B200           : cmp.b   D0, D1
            2D2C6 | 67F4           : beq     $2d2bc
            2D2C8 | 0C00 00FB      : cmpi.b  #-$5, D0
            2D2CC | 6602           : bne     $2d2d0
            2D2CE | 5310           : subq.b  #1, (A0)      // decrease code -01
            2D2D0 | 0C00 00F7      : cmpi.b  #-$9, D0
            2D2D4 | 6602           : bne     $2d2d8
            2D2D6 | 5210           : addq.b  #1, (A0)      // increase code +01
            2D2D8 | 0C00 00FD      : cmpi.b  #-$3, D0
            2D2DC | 6604           : bne     $2d2e2
            2D2DE | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            2D2E2 | 0C00 00FE      : cmpi.b  #-$2, D0
            2D2E6 | 6604           : bne     $2d2ec
            2D2E8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2D2EC | 0C00 00EF      : cmpi.b  #-$11, D0
            2D2F0 | 6602           : bne     $2d2f4
            2D2F2 | 1290           : move.b  (A0), (A1)    // play sound
            2D2F4 | 0C00 00DF      : cmpi.b  #-$21, D0
            2D2F8 | 6604           : bne     $2d2fe
            2D2FA | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            2D2FE | 60BC           : bra     $2d2bc
            -->
        </script>
        <script state="run">
            <output format="----- midnight resistance 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00A20 = 4EB81E344E714EB8</action>
            <action>maincpu.mq@2D2B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2D2F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"joystick hack" : Fixed game crash in the ending. I don't add this code for midresbj because this set already has had joystick mode.
Post Reply