Page 1 of 1

[midresj] Midnight Resistance

Posted: Thu Mar 24, 2022 10:35 am
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>

[midres]+ Midnight Resistance

Posted: Sat Nov 04, 2023 9:46 am
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.