[1942] 1942

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

[1942] 1942

Post by jman »

Fist of all, this game has in-game rom check so that the following codes cause game crash unless you use together with "skip in-game rom error" code.

Code: Select all

<cheat desc="no hit - player">
    <script state="on">
        <action>maincpu.mb@3329 = c9</action> <!-- enemy -->
        <action>maincpu.mb@2e97 = 18</action> <!-- bullet -->
        <action>maincpu.mb@3382 = c9</action> <!-- middle enemy -->
        <action>maincpu.mb@3350 = c9</action> <!-- large enemy -->
        <action>maincpu.mb@30be = c9</action> <!-- boss -->
    </script>
    <script state="off">
        <action>maincpu.mb@3329 = c0</action>
        <action>maincpu.mb@2e97 = 38</action>
        <action>maincpu.mb@3382 = c0</action>
        <action>maincpu.mb@3350 = c0</action>
        <action>maincpu.mb@30be = c0</action>
    </script>
</cheat>

<cheat desc="no hit - sidefighters">
    <script state="on">
        <action>maincpu.mw@2e8a = 3aa8</action>
    </script>
    <script state="off">
        <action>maincpu.mw@2e8a = 38b6</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@1c80 = 20</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1c80 = 28</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x02">02       </item>
        <item value="0x04">03       </item>
        <item value="0x06">04       </item>
        <item value="0x08">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@262b = 00c0 * param</action>
        <action>maincpu.mw@2631 = 0100 * param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@262b = 0180</action>
        <action>maincpu.mw@2631 = 0200</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x0c">03       </item>
        <item value="0x12">04       </item>
        <item value="0x18">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@2a31 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2a31 = 06</action>
    </script>
</cheat>

<cheat desc="easy call sidefighters">
    <script state="on">
        <action>maincpu.mb@1c3e = cd</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1c3e = c4</action>
    </script>
</cheat>

<cheat desc="penetration shot">
    <script state="on">
        <action>maincpu.mb@34fa = 86</action> <!-- enemy -->
        <action>maincpu.mb@3588 = 96</action> <!-- middle enemy -->
    </script>
    <script state="off">
        <action>maincpu.mb@34fa = c6</action>
        <action>maincpu.mb@3588 = d6</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@02cd =             7190</action>
        <action>maincpu.mq@7190 = 32023ee00032803e</action>
        <action>maincpu.mq@7198 = e10022010021c806</action>
        <action>maincpu.mq@71a0 = fef6286fbdc0013a</action>
        <action>maincpu.mq@71a8 = 0120fefe250120fd</action>
        <action>maincpu.mq@71b0 = cde54c0620effe24</action>
        <action>maincpu.mq@71b8 = e50520dffee11178</action>
        <action>maincpu.mq@71c0 = 0000d718e1b36acd</action>
        <!--
        7190 | 3e 80    : ld   a,$80
        7192 | 32 00 e0 : ld   ($e000),a
        7195 | 3e 02    : ld   a,$02
        7197 | 32 06 c8 : ld   ($c806),a  // set rom bank
        719a | 21 00 01 : ld   hl,$0100   // initialize sound and input values
        719d | 22 00 e1 : ld   ($e100),hl
        71a0 | 3a 01 c0 : ld   a,($c001)  // read input
        71a3 | bd       : cp   l
        71a4 | 6f       : ld   l,a
        71a5 | 28 f6    : jr   z,$719d
        71a7 | fe fd    : cp   $fd
        71a9 | 20 01    : jr   nz,$71ac
        71ab | 25       : dec  h          // decrease code
        71ac | fe fe    : cp   $fe
        71ae | 20 01    : jr   nz,$71b1
        71b0 | 24       : inc  h          // increase code
        71b1 | fe ef    : cp   $ef
        71b3 | 20 06    : jr   nz,$71bb
        71b5 | 4c       : ld   c,h        // play sound
        71b6 | e5       : push hl
        71b7 | cd 78 11 : call $1178      // send sound code
        71ba | e1       : pop  hl
        71bb | fe df    : cp   $df
        71bd | 20 05    : jr   nz,$71c4
        71bf | e5       : push hl
        71c0 | cd 6a b3 : call $b36a      // stop sound
        71c3 | e1       : pop  hl
        71c4 | 18 d7    : jr   $719d
        -->
    </script>
    <script state="run">
        <output format="----- 1942 sound test mode -----"   line="10" align="center" />
        <output format="left : decrease code"               line="11" align="center" />
        <output format="right : increase code"              line="12" align="center" />
        <output format="button 1 : play sound"              line="13" align="center" />
        <output format="button 2 : stop sound"              line="14" align="center" />
        <output format="----------------------------"       line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;" line="17" align="center">
            <argument>maincpu.pb@e101</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@02cd =             0416</action>
        <action>maincpu.mq@7190 = 0000000000000000</action>
        <action>maincpu.mq@7198 = 0000000000000000</action>
        <action>maincpu.mq@71a0 = 0000000000000000</action>
        <action>maincpu.mq@71a8 = 0000000000000000</action>
        <action>maincpu.mq@71b0 = 0000000000000000</action>
        <action>maincpu.mq@71b8 = 0000000000000000</action>
        <action>maincpu.mq@71c0 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip in-game rom error">
    <script state="on">
        <action>maincpu.mb@7137 = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@7137 = 28</action>
    </script>
</cheat>
This game starts another ending when you get 10,000,000 points. You can see another ending by breaking an enemy after set the following code.

Code: Select all

<cheat desc="1 hit to see the ending">
    <script state="on">
        <action>maincpu.pb@e048 = 01</action>
    </script>
</cheat>
But I remove the above code from my database because it is one of "score" code.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[1942] update

Post by jman »

Random maintenance.

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@1c68 = 21</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1c68 = 06</action>
    </script>
</cheat>
"auto fire" : change address and value.

Code: Select all

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0380">03       </item>
        <item value="0x0580">04       </item>
        <item value="0x0780">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@262b = param</action>
        <action>maincpu.mw@2631 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@262b = 0180</action>
        <action>maincpu.mw@2631 = 0200</action>
    </script>
</cheat>
"player speed" : adjust parameter values.

Code: Select all

<cheat desc="short hit mark">
    <script state="on">
        <action>maincpu.mb@2aa3 = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2aa3 = 06</action>
    </script>
</cheat>
"short hit mark" : add new.

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mb@117d =               00</action> <!-- enable to play sound -->
        <action>maincpu.mw@02d8 =             7190</action>
        <action>maincpu.mq@7190 = e10021c80632023e</action>
        <action>maincpu.mq@7198 = fef62847b8c0013a</action>
        <action>maincpu.mq@71a0 = 0120fefe350120fd</action>
        <action>maincpu.mq@71a8 = 18f03e0420fbfe34</action>
        <action>maincpu.mq@71b0 = 86103e0520f7fe06</action>
        <action>maincpu.mq@71b8 = 327e0620effe7877</action>
        <action>maincpu.mq@71c0 = 0320dffe0718c800</action>
        <action>maincpu.mq@71c8 = 000000c818b36acd</action>
        <!--
        7190 | 3e 02    : ld   a,$02     // set rom bank
        7192 | 32 06 c8 : ld   ($C806),a
        7195 | 21 00 e1 : ld   hl,$E100  // sound code address
        7198 | 3a 01 c0 : ld   a,($C001) // read input
        719b | b8       : cp   b
        719c | 47       : ld   b,a
        719d | 28 f6    : jr   z,$7195
        719f | fe fd    : cp   $FD
        71a1 | 20 01    : jr   nz,$71A4
        71a3 | 35       : dec  (hl)      // decrease code -01
        71a4 | fe fe    : cp   $FE
        71a6 | 20 01    : jr   nz,$71A9
        71a8 | 34       : inc  (hl)      // increase code +01
        71a9 | fe fb    : cp   $FB
        71ab | 20 04    : jr   nz,$71B1
        71ad | 3e f0    : ld   a,$F0     // decrease code -10
        71af | 18 06    : jr   $71B7
        71b1 | fe f7    : cp   $F7
        71b3 | 20 05    : jr   nz,$71BA
        71b5 | 3e 10    : ld   a,$10     // increase code +10
        71b7 | 86       : add  a,(hl)
        71b8 | 77       : ld   (hl),a
        71b9 | 78       : ld   a,b
        71ba | fe ef    : cp   $EF
        71bc | 20 06    : jr   nz,$71C4
        71be | 7e       : ld   a,(hl)    // play sound
        71bf | 32 00 c8 : ld   ($C800),a
        71c2 | 18 07    : jr   $71CB
        71c4 | fe df    : cp   $DF
        71c6 | 20 03    : jr   nz,$71CB
        71c8 | cd 6a b3 : call $B36A     // stop sound
        71cb | 18 c8    : jr   $7195
        -->
    </script>
    <script state="run">
        <output format="----- 1942 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@e100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@117d =               c8</action>
        <action>maincpu.mw@02d8 =             118d</action>
        <action>maincpu.mq@7190 = 0000000000000000</action>
        <action>maincpu.mq@7198 = 0000000000000000</action>
        <action>maincpu.mq@71a0 = 0000000000000000</action>
        <action>maincpu.mq@71a8 = 0000000000000000</action>
        <action>maincpu.mq@71b0 = 0000000000000000</action>
        <action>maincpu.mq@71b8 = 0000000000000000</action>
        <action>maincpu.mq@71c0 = 0000000000000000</action>
        <action>maincpu.mq@71c8 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" : add up/down key (code ±10).

Code: Select all

<cheat desc="easy call sidefighters (test)">
    <script state="on">
        <action>maincpu.mb@1c3e = cd</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1c3e = c4</action>
    </script>
</cheat>
"easy call sidefighters" : change status to "test" because this code has gfx buggy when you get sidefighter item.

Code: Select all

<cheat desc="scroll speed (test)">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x02">02       </item>
        <item value="0x04">03       </item>
        <item value="0x06">04       </item>
        <item value="0x08">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mb@01b0 =               00</action>
        <action>maincpu.md@01b1 =         0071d0cd</action>
        <action>maincpu.mq@71d0 = 306f85003ee0d22a</action>
        <action>maincpu.mq@71d8 = 0000000000c92401</action>
        <!--
        71d0 | 2a d2 e0 : ld  hl,($E0D2)
        71d3 | 3e xx    : ld  a,$xx
        71d5 | 85       : add a,l
        71d6 | 6f       : ld  l,a
        71d7 | 30 01    : jr  nc,$71DA
        71d9 | 24       : inc h
        71da | c9       : ret
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@71d4 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@01b0 =               2a</action>
        <action>maincpu.md@01b1 =         23e0d22a</action>
        <action>maincpu.mq@71d0 = 0000000000000000</action>
        <action>maincpu.mq@71d8 = 0000000000000000</action>
    </script>
</cheat>
"scroll speed" : add new as "test" code because of un-verification.

Over and over I say, the above codes except "sound test mode" require "skip in-game rom error" to prevent from freezing the game.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[1942]+ 1942

Post by jman »

1942.xml

Code: Select all

<!-- 1942 (Revision B) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E97 = 18</action> <!-- bullet -->
            <action>maincpu.mb@30BE = C9</action> <!-- boss -->
            <action>maincpu.mb@3329 = C9</action> <!-- enemy -->
            <action>maincpu.mb@3350 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3382 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E97 = 38</action>
            <action>maincpu.mb@30BE = C0</action>
            <action>maincpu.mb@3329 = C0</action>
            <action>maincpu.mb@3350 = C0</action>
            <action>maincpu.mb@3382 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8A = 3AA8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8A = 38B6</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C68 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C68 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@262B = param</action>
            <action>maincpu.mw@2631 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@262B = 0180</action>
            <action>maincpu.mw@2631 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A31 = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA3 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FA = 86</action> <!-- enemy -->
            <action>maincpu.mb@3588 = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FA = C6</action>
            <action>maincpu.mb@3588 = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3E = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3E = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 007190CD        </action>
            <action>maincpu.mq@7190 = 306F85003EE0D22A</action>
            <action>maincpu.mq@7198 = 0000000000C92401</action>
            <!--
            7190 | 2A D2 E0 : ld   hl,($E0D2)
            7193 | 3E xx    : ld   a,$xx
            7195 | 85       : add  a,l
            7196 | 6F       : ld   l,a
            7197 | 30 01    : jr   nc,$719A
            7199 | 24       : inc  h
            719A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7194 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@7190 = 0000000000000000</action>
            <action>maincpu.mq@7198 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@117D = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 71A0            </action>
            <action>maincpu.mq@71A0 = E00021C80632023E</action>
            <action>maincpu.mq@71A8 = FEF62847B8C0013A</action>
            <action>maincpu.mq@71B0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@71B8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@71C0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@71C8 = 327E0520EFFE7877</action>
            <action>maincpu.mq@71D0 = CD0320DFFE78C800</action>
            <action>maincpu.mq@71D8 = 00000000C918B36A</action>
            <!--
            71A0 | 3E 02    : ld   a,$02     // set rom bank
            71A2 | 32 06 C8 : ld   ($C806),a
            71A5 | 21 00 E0 : ld   hl,$E000  // sound code address
            71A8 | 3A 01 C0 : ld   a,($C001) // read input
            71AB | B8       : cp   b
            71AC | 47       : ld   b,a
            71AD | 28 F6    : jr   z,$71A5
            71AF | FE FD    : cp   $FD
            71B1 | 20 01    : jr   nz,$71B4
            71B3 | 35       : dec  (hl)      // decrease code -01
            71B4 | FE FE    : cp   $FE
            71B6 | 20 01    : jr   nz,$71B9
            71B8 | 34       : inc  (hl)      // increase code +01
            71B9 | FE FB    : cp   $FB
            71BB | 20 04    : jr   nz,$71C1
            71BD | 3E F0    : ld   a,$F0     // decrease code -10
            71BF | 18 06    : jr   $71C7
            71C1 | FE F7    : cp   $F7
            71C3 | 20 05    : jr   nz,$71CA
            71C5 | 3E 10    : ld   a,$10     // increase code +10
            71C7 | 86       : add  a,(hl)
            71C8 | 77       : ld   (hl),a
            71C9 | 78       : ld   a,b
            71CA | FE EF    : cp   $EF
            71CC | 20 05    : jr   nz,$71D3
            71CE | 7E       : ld   a,(hl)    // play sound
            71CF | 32 00 C8 : ld   ($C800),a
            71D2 | 78       : ld   a,b
            71D3 | FE DF    : cp   $DF
            71D5 | 20 03    : jr   nz,$71DA
            71D7 | CD 6A B3 : call $B36A     // stop sound
            71DA | 18 C9    : jr   $71A5
            -->
        </script>
        <script state="run">
            <output format="----- 1942 sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@117D = C8              </action>
            <action>maincpu.mw@02D8 = 118D            </action>
            <action>maincpu.mq@71A0 = 0000000000000000</action>
            <action>maincpu.mq@71A8 = 0000000000000000</action>
            <action>maincpu.mq@71B0 = 0000000000000000</action>
            <action>maincpu.mq@71B8 = 0000000000000000</action>
            <action>maincpu.mq@71C0 = 0000000000000000</action>
            <action>maincpu.mq@71C8 = 0000000000000000</action>
            <action>maincpu.mq@71D0 = 0000000000000000</action>
            <action>maincpu.mq@71D8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom error">
        <script state="on">
            <action>maincpu.mb@7137 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@7137 = 28</action>
        </script>
    </cheat>

</mamecheat>
1942a.xml

Code: Select all

<!-- 1942 (Revision A) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E9B = 18</action> <!-- bullet -->
            <action>maincpu.mb@30C2 = C9</action> <!-- boss -->
            <action>maincpu.mb@332D = C9</action> <!-- enemy -->
            <action>maincpu.mb@3354 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3386 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E9B = 38</action>
            <action>maincpu.mb@30C2 = C0</action>
            <action>maincpu.mb@332D = C0</action>
            <action>maincpu.mb@3354 = C0</action>
            <action>maincpu.mb@3386 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8E = 2DF7</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8E = 38BA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C68 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C68 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@262B = param</action>
            <action>maincpu.mw@2631 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@262B = 0180</action>
            <action>maincpu.mw@2631 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A31 = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA3 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FE = 86</action> <!-- enemy -->
            <action>maincpu.mb@358C = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FE = C6</action>
            <action>maincpu.mb@358C = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3E = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3E = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 007180CD        </action>
            <action>maincpu.mq@7180 = 306F85003EE0D22A</action>
            <action>maincpu.mq@7188 = FFFFFFFFFFC92401</action>
            <!--
            7180 | 2A D2 E0 : ld   hl,($E0D2)
            7183 | 3E xx    : ld   a,$xx
            7185 | 85       : add  a,l
            7186 | 6F       : ld   l,a
            7187 | 30 01    : jr   nc,$718A
            7189 | 24       : inc  h
            718A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7184 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@7180 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7188 = 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.mb@117D = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 7190            </action>
            <action>maincpu.mq@7190 = E00021C80632023E</action>
            <action>maincpu.mq@7198 = FEF62847B8C0013A</action>
            <action>maincpu.mq@71A0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@71A8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@71B0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@71B8 = 327E0520EFFE7877</action>
            <action>maincpu.mq@71C0 = CD0320DFFE78C800</action>
            <action>maincpu.mq@71C8 = FFFFFFFFC918B36A</action>
            <!--
            7190 | 3E 02    : ld   a,$02     // set rom bank
            7192 | 32 06 C8 : ld   ($C806),a
            7195 | 21 00 E0 : ld   hl,$E000  // sound code address
            7198 | 3A 01 C0 : ld   a,($C001) // read input
            719B | B8       : cp   b
            719C | 47       : ld   b,a
            719D | 28 F6    : jr   z,$7195
            719F | FE FD    : cp   $FD
            71A1 | 20 01    : jr   nz,$71A4
            71A3 | 35       : dec  (hl)      // decrease code -01
            71A4 | FE FE    : cp   $FE
            71A6 | 20 01    : jr   nz,$71A9
            71A8 | 34       : inc  (hl)      // increase code +01
            71A9 | FE FB    : cp   $FB
            71AB | 20 04    : jr   nz,$71B1
            71AD | 3E F0    : ld   a,$F0     // decrease code -10
            71AF | 18 06    : jr   $71B7
            71B1 | FE F7    : cp   $F7
            71B3 | 20 05    : jr   nz,$71BA
            71B5 | 3E 10    : ld   a,$10     // increase code +10
            71B7 | 86       : add  a,(hl)
            71B8 | 77       : ld   (hl),a
            71B9 | 78       : ld   a,b
            71BA | FE EF    : cp   $EF
            71BC | 20 05    : jr   nz,$71C3
            71BE | 7E       : ld   a,(hl)    // play sound
            71BF | 32 00 C8 : ld   ($C800),a
            71C2 | 78       : ld   a,b
            71C3 | FE DF    : cp   $DF
            71C5 | 20 03    : jr   nz,$71CA
            71C7 | CD 6A B3 : call $B36A     // stop sound
            71CA | 18 C9    : jr   $7195
            -->
        </script>
        <script state="run">
            <output format="----- 1942 sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@117D = C8              </action>
            <action>maincpu.mw@02D8 = 118D            </action>
            <action>maincpu.mq@7190 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7198 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom error">
        <script state="on">
            <action>maincpu.mb@713B = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@713B = 28</action>
        </script>
    </cheat>

</mamecheat>
1942abl.xml

Code: Select all

<!-- 1942 (Revision A, bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E9B = 18</action> <!-- bullet -->
            <action>maincpu.mb@30C2 = C9</action> <!-- boss -->
            <action>maincpu.mb@332D = C9</action> <!-- enemy -->
            <action>maincpu.mb@3354 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3386 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E9B = 38</action>
            <action>maincpu.mb@30C2 = C0</action>
            <action>maincpu.mb@332D = C0</action>
            <action>maincpu.mb@3354 = C0</action>
            <action>maincpu.mb@3386 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8E = 2DF7</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8E = 38BA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C68 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C68 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@262B = param</action>
            <action>maincpu.mw@2631 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@262B = 0180</action>
            <action>maincpu.mw@2631 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A31 = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA3 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FE = 86</action> <!-- enemy -->
            <action>maincpu.mb@358C = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FE = C6</action>
            <action>maincpu.mb@358C = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3E = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3E = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 007180CD        </action>
            <action>maincpu.mq@7180 = 306F85003EE0D22A</action>
            <action>maincpu.mq@7188 = FFFFFFFFFFC92401</action>
            <!--
            7180 | 2A D2 E0 : ld   hl,($E0D2)
            7183 | 3E xx    : ld   a,$xx
            7185 | 85       : add  a,l
            7186 | 6F       : ld   l,a
            7187 | 30 01    : jr   nc,$718A
            7189 | 24       : inc  h
            718A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7184 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@7180 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7188 = 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.mb@117D = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 7190            </action>
            <action>maincpu.mq@7190 = E00021C80632023E</action>
            <action>maincpu.mq@7198 = FEF62847B8C0013A</action>
            <action>maincpu.mq@71A0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@71A8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@71B0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@71B8 = 327E0520EFFE7877</action>
            <action>maincpu.mq@71C0 = CD0320DFFE78C800</action>
            <action>maincpu.mq@71C8 = FFFFFFFFC918B36A</action>
            <!--
            7190 | 3E 02    : ld   a,$02     // set rom bank
            7192 | 32 06 C8 : ld   ($C806),a
            7195 | 21 00 E0 : ld   hl,$E000  // sound code address
            7198 | 3A 01 C0 : ld   a,($C001) // read input
            719B | B8       : cp   b
            719C | 47       : ld   b,a
            719D | 28 F6    : jr   z,$7195
            719F | FE FD    : cp   $FD
            71A1 | 20 01    : jr   nz,$71A4
            71A3 | 35       : dec  (hl)      // decrease code -01
            71A4 | FE FE    : cp   $FE
            71A6 | 20 01    : jr   nz,$71A9
            71A8 | 34       : inc  (hl)      // increase code +01
            71A9 | FE FB    : cp   $FB
            71AB | 20 04    : jr   nz,$71B1
            71AD | 3E F0    : ld   a,$F0     // decrease code -10
            71AF | 18 06    : jr   $71B7
            71B1 | FE F7    : cp   $F7
            71B3 | 20 05    : jr   nz,$71BA
            71B5 | 3E 10    : ld   a,$10     // increase code +10
            71B7 | 86       : add  a,(hl)
            71B8 | 77       : ld   (hl),a
            71B9 | 78       : ld   a,b
            71BA | FE EF    : cp   $EF
            71BC | 20 05    : jr   nz,$71C3
            71BE | 7E       : ld   a,(hl)    // play sound
            71BF | 32 00 C8 : ld   ($C800),a
            71C2 | 78       : ld   a,b
            71C3 | FE DF    : cp   $DF
            71C5 | 20 03    : jr   nz,$71CA
            71C7 | CD 6A B3 : call $B36A     // stop sound
            71CA | 18 C9    : jr   $7195
            -->
        </script>
        <script state="run">
            <output format="----- 1942 sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@117D = C8              </action>
            <action>maincpu.mw@02D8 = 118D            </action>
            <action>maincpu.mq@7190 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7198 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom error">
        <script state="on">
            <action>maincpu.mb@713B = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@713B = 28</action>
        </script>
    </cheat>

</mamecheat>
1942h.xml

Code: Select all

<!-- Supercharger 1942 -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E9B = 18</action> <!-- bullet -->
            <action>maincpu.mb@30C2 = C9</action> <!-- boss -->
            <action>maincpu.mb@332D = C9</action> <!-- enemy -->
            <action>maincpu.mb@3354 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3386 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E9B = 38</action>
            <action>maincpu.mb@30C2 = C0</action>
            <action>maincpu.mb@332D = C0</action>
            <action>maincpu.mb@3354 = C0</action>
            <action>maincpu.mb@3386 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8E = 2DF7</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8E = 38BA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C68 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C68 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@262B = param</action>
            <action>maincpu.mw@2631 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@262B = 0180</action>
            <action>maincpu.mw@2631 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A31 = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA3 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FE = 86</action> <!-- enemy -->
            <action>maincpu.mb@358C = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FE = C6</action>
            <action>maincpu.mb@358C = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3E = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3E = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 007180CD        </action>
            <action>maincpu.mq@7180 = 306F85003EE0D22A</action>
            <action>maincpu.mq@7188 = FFFFFFFFFFC92401</action>
            <!--
            7180 | 2A D2 E0 : ld   hl,($E0D2)
            7183 | 3E xx    : ld   a,$xx
            7185 | 85       : add  a,l
            7186 | 6F       : ld   l,a
            7187 | 30 01    : jr   nc,$718A
            7189 | 24       : inc  h
            718A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7184 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@7180 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7188 = 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.mb@117D = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 7190            </action>
            <action>maincpu.mq@7190 = E00021C80632023E</action>
            <action>maincpu.mq@7198 = FEF62847B8C0013A</action>
            <action>maincpu.mq@71A0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@71A8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@71B0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@71B8 = 327E0520EFFE7877</action>
            <action>maincpu.mq@71C0 = CD0320DFFE78C800</action>
            <action>maincpu.mq@71C8 = FFFFFFFFC918B36A</action>
            <!--
            7190 | 3E 02    : ld   a,$02     // set rom bank
            7192 | 32 06 C8 : ld   ($C806),a
            7195 | 21 00 E0 : ld   hl,$E000  // sound code address
            7198 | 3A 01 C0 : ld   a,($C001) // read input
            719B | B8       : cp   b
            719C | 47       : ld   b,a
            719D | 28 F6    : jr   z,$7195
            719F | FE FD    : cp   $FD
            71A1 | 20 01    : jr   nz,$71A4
            71A3 | 35       : dec  (hl)      // decrease code -01
            71A4 | FE FE    : cp   $FE
            71A6 | 20 01    : jr   nz,$71A9
            71A8 | 34       : inc  (hl)      // increase code +01
            71A9 | FE FB    : cp   $FB
            71AB | 20 04    : jr   nz,$71B1
            71AD | 3E F0    : ld   a,$F0     // decrease code -10
            71AF | 18 06    : jr   $71B7
            71B1 | FE F7    : cp   $F7
            71B3 | 20 05    : jr   nz,$71BA
            71B5 | 3E 10    : ld   a,$10     // increase code +10
            71B7 | 86       : add  a,(hl)
            71B8 | 77       : ld   (hl),a
            71B9 | 78       : ld   a,b
            71BA | FE EF    : cp   $EF
            71BC | 20 05    : jr   nz,$71C3
            71BE | 7E       : ld   a,(hl)    // play sound
            71BF | 32 00 C8 : ld   ($C800),a
            71C2 | 78       : ld   a,b
            71C3 | FE DF    : cp   $DF
            71C5 | 20 03    : jr   nz,$71CA
            71C7 | CD 6A B3 : call $B36A     // stop sound
            71CA | 18 C9    : jr   $7195
            -->
        </script>
        <script state="run">
            <output format="----- supercharger 1942 sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                      line="11" align="center" />
            <output format="right : increase code +01"                     line="12" align="center" />
            <output format="down : decrease code -10"                      line="13" align="center" />
            <output format="up : increase code +10"                        line="14" align="center" />
            <output format="button 1 : play sound"                         line="15" align="center" />
            <output format="button 2 : stop sound"                         line="16" align="center" />
            <output format="----------------------------"                  line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"             line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@117D = C8              </action>
            <action>maincpu.mw@02D8 = 118D            </action>
            <action>maincpu.mq@7190 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7198 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom error">
        <script state="on">
            <action>maincpu.mb@713B = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@713B = 28</action>
        </script>
    </cheat>

</mamecheat>
1942b.xml

Code: Select all

<!-- 1942 (First Version) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E9B = 18</action> <!-- bullet -->
            <action>maincpu.mb@30C2 = C9</action> <!-- boss -->
            <action>maincpu.mb@332D = C9</action> <!-- enemy -->
            <action>maincpu.mb@3354 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3386 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E9B = 38</action>
            <action>maincpu.mb@30C2 = C0</action>
            <action>maincpu.mb@332D = C0</action>
            <action>maincpu.mb@3354 = C0</action>
            <action>maincpu.mb@3386 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8E = 2DF7</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8E = 38BA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C68 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C68 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@262B = param</action>
            <action>maincpu.mw@2631 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@262B = 0180</action>
            <action>maincpu.mw@2631 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A31 = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA3 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FE = 86</action> <!-- enemy -->
            <action>maincpu.mb@358C = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FE = C6</action>
            <action>maincpu.mb@358C = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3E = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3E = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 007180CD        </action>
            <action>maincpu.mq@7180 = 306F85003EE0D22A</action>
            <action>maincpu.mq@7188 = FFFFFFFFFFC92401</action>
            <!--
            7180 | 2A D2 E0 : ld   hl,($E0D2)
            7183 | 3E xx    : ld   a,$xx
            7185 | 85       : add  a,l
            7186 | 6F       : ld   l,a
            7187 | 30 01    : jr   nc,$718A
            7189 | 24       : inc  h
            718A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7184 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@7180 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7188 = 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.mb@117D = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 7190            </action>
            <action>maincpu.mq@7190 = E00021C80632023E</action>
            <action>maincpu.mq@7198 = FEF62847B8C0013A</action>
            <action>maincpu.mq@71A0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@71A8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@71B0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@71B8 = 327E0520EFFE7877</action>
            <action>maincpu.mq@71C0 = CD0320DFFE78C800</action>
            <action>maincpu.mq@71C8 = FFFFFFFFC918B36A</action>
            <!--
            7190 | 3E 02    : ld   a,$02     // set rom bank
            7192 | 32 06 C8 : ld   ($C806),a
            7195 | 21 00 E0 : ld   hl,$E000  // sound code address
            7198 | 3A 01 C0 : ld   a,($C001) // read input
            719B | B8       : cp   b
            719C | 47       : ld   b,a
            719D | 28 F6    : jr   z,$7195
            719F | FE FD    : cp   $FD
            71A1 | 20 01    : jr   nz,$71A4
            71A3 | 35       : dec  (hl)      // decrease code -01
            71A4 | FE FE    : cp   $FE
            71A6 | 20 01    : jr   nz,$71A9
            71A8 | 34       : inc  (hl)      // increase code +01
            71A9 | FE FB    : cp   $FB
            71AB | 20 04    : jr   nz,$71B1
            71AD | 3E F0    : ld   a,$F0     // decrease code -10
            71AF | 18 06    : jr   $71B7
            71B1 | FE F7    : cp   $F7
            71B3 | 20 05    : jr   nz,$71BA
            71B5 | 3E 10    : ld   a,$10     // increase code +10
            71B7 | 86       : add  a,(hl)
            71B8 | 77       : ld   (hl),a
            71B9 | 78       : ld   a,b
            71BA | FE EF    : cp   $EF
            71BC | 20 05    : jr   nz,$71C3
            71BE | 7E       : ld   a,(hl)    // play sound
            71BF | 32 00 C8 : ld   ($C800),a
            71C2 | 78       : ld   a,b
            71C3 | FE DF    : cp   $DF
            71C5 | 20 03    : jr   nz,$71CA
            71C7 | CD 6A B3 : call $B36A     // stop sound
            71CA | 18 C9    : jr   $7195
            -->
        </script>
        <script state="run">
            <output format="----- 1942 sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@117D = C8              </action>
            <action>maincpu.mw@02D8 = 118D            </action>
            <action>maincpu.mq@7190 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7198 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@71C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom error">
        <script state="on">
            <action>maincpu.mb@713B = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@713B = 28</action>
        </script>
    </cheat>

</mamecheat>
1942w.xml

Code: Select all

<!-- 1942 (Williams Electronics license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E99 = 18</action> <!-- bullet -->
            <action>maincpu.mb@30C0 = C9</action> <!-- boss -->
            <action>maincpu.mb@332B = C9</action> <!-- enemy -->
            <action>maincpu.mb@3352 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3384 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E99 = 38</action>
            <action>maincpu.mb@30C0 = C0</action>
            <action>maincpu.mb@332B = C0</action>
            <action>maincpu.mb@3352 = C0</action>
            <action>maincpu.mb@3384 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8C = 3AAA</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8C = 38B8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C66 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C66 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@2629 = param</action>
            <action>maincpu.mw@262F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2629 = 0180</action>
            <action>maincpu.mw@262F = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A2F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A2F = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA1 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA1 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FC = 86</action> <!-- enemy -->
            <action>maincpu.mb@358A = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FC = C6</action>
            <action>maincpu.mb@358A = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3C = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3C = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 0071A0CD        </action>
            <action>maincpu.mq@71A0 = 306F85003EE0D22A</action>
            <action>maincpu.mq@71A8 = 0000000000C92401</action>
            <!--
            71A0 | 2A D2 E0 : ld   hl,($E0D2)
            71A3 | 3E xx    : ld   a,$xx
            71A5 | 85       : add  a,l
            71A6 | 6F       : ld   l,a
            71A7 | 30 01    : jr   nc,$71AA
            71A9 | 24       : inc  h
            71AA | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@71A4 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@71A0 = 0000000000000000</action>
            <action>maincpu.mq@71A8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@1182 = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 71B0            </action>
            <action>maincpu.mq@71B0 = E00021C80632023E</action>
            <action>maincpu.mq@71B8 = FEF62847B8C0013A</action>
            <action>maincpu.mq@71C0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@71C8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@71D0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@71D8 = 327E0520EFFE7877</action>
            <action>maincpu.mq@71E0 = CD0320DFFE78C800</action>
            <action>maincpu.mq@71E8 = 00000000C918B36A</action>
            <!--
            71B0 | 3E 02    : ld   a,$02     // set rom bank
            71B2 | 32 06 C8 : ld   ($C806),a
            71B5 | 21 00 E0 : ld   hl,$E000  // sound code address
            71B8 | 3A 01 C0 : ld   a,($C001) // read input
            71BB | B8       : cp   b
            71BC | 47       : ld   b,a
            71BD | 28 F6    : jr   z,$71B5
            71BF | FE FD    : cp   $FD
            71C1 | 20 01    : jr   nz,$71C4
            71C3 | 35       : dec  (hl)      // decrease code -01
            71C4 | FE FE    : cp   $FE
            71C6 | 20 01    : jr   nz,$71C9
            71C8 | 34       : inc  (hl)      // increase code +01
            71C9 | FE FB    : cp   $FB
            71CB | 20 04    : jr   nz,$71D1
            71CD | 3E F0    : ld   a,$F0     // decrease code -10
            71CF | 18 06    : jr   $71D7
            71D1 | FE F7    : cp   $F7
            71D3 | 20 05    : jr   nz,$71DA
            71D5 | 3E 10    : ld   a,$10     // increase code +10
            71D7 | 86       : add  a,(hl)
            71D8 | 77       : ld   (hl),a
            71D9 | 78       : ld   a,b
            71DA | FE EF    : cp   $EF
            71DC | 20 05    : jr   nz,$71E3
            71DE | 7E       : ld   a,(hl)    // play sound
            71DF | 32 00 C8 : ld   ($C800),a
            71E2 | 78       : ld   a,b
            71E3 | FE DF    : cp   $DF
            71E5 | 20 03    : jr   nz,$71EA
            71E7 | CD 6A B3 : call $B36A     // stop sound
            71EA | 18 C9    : jr   $71B5
            -->
        </script>
        <script state="run">
            <output format="----- 1942 sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@1182 = C8              </action>
            <action>maincpu.mw@02D8 = 1192            </action>
            <action>maincpu.mq@71B0 = 0000000000000000</action>
            <action>maincpu.mq@71B8 = 0000000000000000</action>
            <action>maincpu.mq@71C0 = 0000000000000000</action>
            <action>maincpu.mq@71C8 = 0000000000000000</action>
            <action>maincpu.mq@71D0 = 0000000000000000</action>
            <action>maincpu.mq@71D8 = 0000000000000000</action>
            <action>maincpu.mq@71E0 = 0000000000000000</action>
            <action>maincpu.mq@71E8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom error">
        <script state="on">
            <action>maincpu.mb@7151 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@7151 = 28</action>
        </script>
    </cheat>

</mamecheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[1942]+ 1942

Post by jman »

1942p.xml

Code: Select all

<!-- 1942 (Tecfri PCB, bootleg?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2E9B = 18</action> <!-- bullet -->
            <action>maincpu.mb@30C2 = C9</action> <!-- boss -->
            <action>maincpu.mb@332D = C9</action> <!-- enemy -->
            <action>maincpu.mb@3354 = C9</action> <!-- large enemy -->
            <action>maincpu.mb@3386 = C9</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2E9B = 38</action>
            <action>maincpu.mb@30C2 = C0</action>
            <action>maincpu.mb@332D = C0</action>
            <action>maincpu.mb@3354 = C0</action>
            <action>maincpu.mb@3386 = C0</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mw@2E8E = 2DF7</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2E8E = 38BA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C68 = 21</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C68 = 06</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@262B = param</action>
            <action>maincpu.mw@2631 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@262B = 0180</action>
            <action>maincpu.mw@2631 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2A31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2A31 = 06</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@2AA3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2AA3 = 06</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>maincpu.mb@34FE = 86</action> <!-- enemy -->
            <action>maincpu.mb@358C = 96</action> <!-- middle enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@34FE = C6</action>
            <action>maincpu.mb@358C = D6</action>
        </script>
    </cheat>

    <cheat desc="easy call sidefighters (test)">
        <script state="on">
            <action>maincpu.mb@1C3E = CD</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C3E = C4</action>
        </script>
    </cheat>

    <cheat desc="scroll speed (test)">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@01B0 = 00              </action>
            <action>maincpu.md@01B1 = 007590CD        </action>
            <action>maincpu.mq@7590 = 306F85003EE0D22A</action>
            <action>maincpu.mq@7598 = FFFFFFFFFFC92401</action>
            <!--
            7590 | 2A D2 E0 : ld   hl,($E0D2)
            7593 | 3E xx    : ld   a,$xx
            7595 | 85       : add  a,l
            7596 | 6F       : ld   l,a
            7597 | 30 01    : jr   nc,$759A
            7599 | 24       : inc  h
            759A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7594 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@01B0 = 2A              </action>
            <action>maincpu.md@01B1 = 23E0D22A        </action>
            <action>maincpu.mq@7590 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7598 = 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.mb@117D = 00              </action> <!-- enable to play sound -->
            <action>maincpu.mw@02D8 = 75A0            </action>
            <action>maincpu.mq@75A0 = E00021F40032023E</action>
            <action>maincpu.mq@75A8 = FEF62847B8F7033A</action>
            <action>maincpu.mq@75B0 = 0120FEFE350120FD</action>
            <action>maincpu.mq@75B8 = 18F03E0420FBFE34</action>
            <action>maincpu.mq@75C0 = 86103E0520F7FE06</action>
            <action>maincpu.mq@75C8 = 327E05207FFE7877</action>
            <action>maincpu.mq@75D0 = CD0320DFFE78F500</action>
            <action>maincpu.mq@75D8 = FFFFFFFFC918B36A</action>
            <!--
            75A0 | 3E 02    : ld   a,$02     // set rom bank
            75A2 | 32 00 F4 : ld   ($F400),a
            75A5 | 21 00 E0 : ld   hl,$E000  // sound code address
            75A8 | 3A 03 F7 : ld   a,($F703) // read input
            75AB | B8       : cp   b
            75AC | 47       : ld   b,a
            75AD | 28 F6    : jr   z,$75A5
            75AF | FE FD    : cp   $FD
            75B1 | 20 01    : jr   nz,$75B4
            75B3 | 35       : dec  (hl)      // decrease code -01
            75B4 | FE FE    : cp   $FE
            75B6 | 20 01    : jr   nz,$75B9
            75B8 | 34       : inc  (hl)      // increase code +01
            75B9 | FE FB    : cp   $FB
            75BB | 20 04    : jr   nz,$75C1
            75BD | 3E F0    : ld   a,$F0     // decrease code -10
            75BF | 18 06    : jr   $75C7
            75C1 | FE F7    : cp   $F7
            75C3 | 20 05    : jr   nz,$75CA
            75C5 | 3E 10    : ld   a,$10     // increase code +10
            75C7 | 86       : add  a,(hl)
            75C8 | 77       : ld   (hl),a
            75C9 | 78       : ld   a,b
            75CA | FE 7F    : cp   $7F
            75CC | 20 05    : jr   nz,$75D3
            75CE | 7E       : ld   a,(hl)    // play sound
            75CF | 32 00 F5 : ld   ($F500),a
            75D2 | 78       : ld   a,b
            75D3 | FE DF    : cp   $DF
            75D5 | 20 03    : jr   nz,$75DA
            75D7 | CD 6A B3 : call $B36A     // stop sound
            75DA | 18 C9    : jr   $75A5
            -->
        </script>
        <script state="run">
            <output format="----- 1942 sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@117D = C8              </action>
            <action>maincpu.mw@02D8 = 118D            </action>
            <action>maincpu.mq@75A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@75D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"skip in-game rom error" : 1942p doesn't have this code because this set removes error check from the beginning.
Post Reply