Page 1 of 1

[parodiusj] Parodius DA!

Posted: Sun Apr 10, 2022 1:24 pm
by jman

Code: Select all

<cheat desc="no hit - shield">
    <script state="on">
        <!-- objects -->
        <action>maincpu.mw@31323 =             9d50</action> <!-- ($7323) -->
        <action>maincpu.mq@33d50 = 125410340562033c</action>
        <action>maincpu.mq@33d58 = fe8fa90775958fff</action>
        <!--
         9d50 | 12 54 10    : LDA   #$10,u
         9d53 | 34 05       : CMPA  #$05
         9d55 | 62 03       : BCC   $9D5A
         9d57 | 3c fe       : ANDCC #$FE
         9d59 | 8f          : RTS
         9d5a | a9 07 75 95 : JSR   $7595
         9d5e | 8f          : RTS
        -->
        <!-- background -->
        <action>maincpu.mb@316f6 = 60</action> <!-- shield ($76f6) -->
        <action>maincpu.mb@3170b = 60</action> <!-- shield ($770b) -->
        <action>maincpu.mb@31889 = 60</action> <!-- t-trap ($7889) -->
        <action>maincpu.mb@318a0 = 60</action> <!-- t-trap ($78a0) -->
        <action>maincpu.mb@318b7 = 60</action> <!-- t-trap ($78b7) -->
        <action>maincpu.mb@319d6 = 60</action> <!-- forcefield/bubble ($79d6) -->
        <action>maincpu.mb@319ee = 60</action> <!-- forcefield/bubble ($79ee) -->
        <action>maincpu.mb@31a06 = 60</action> <!-- forcefield/bubble ($7a06) -->
        <action>maincpu.mb@31a26 = 60</action> <!-- forcefield/bubble ($7a26) -->
        <action>maincpu.mb@31a3d = 60</action> <!-- forcefield/bubble ($7a3d) -->
    </script>
    <script state="off">
        <action>maincpu.mw@31323 =             7595</action>
        <action>maincpu.mq@33d50 = ffffffffffffffff</action>
        <action>maincpu.mq@33d58 = ffffffffffffffff</action>
        <action>maincpu.mb@316f6 =               73</action>
        <action>maincpu.mb@3170b =               73</action>
        <action>maincpu.mb@31889 =               73</action>
        <action>maincpu.mb@318a0 =               73</action>
        <action>maincpu.mb@318b7 =               73</action>
        <action>maincpu.mb@319d6 =               73</action>
        <action>maincpu.mb@319ee =               73</action>
        <action>maincpu.mb@31a06 =               73</action>
        <action>maincpu.mb@31a26 =               73</action>
        <action>maincpu.mb@31a3d =               73</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@30421 = 97</action> <!-- shot -->
        <action>maincpu.mb@30430 = 97</action> <!-- missile -->
    </script>
    <script state="off">
        <action>maincpu.mb@30421 = 98</action>
        <action>maincpu.mb@30430 = 98</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0280">03       </item>
        <item value="0x0380">04       </item>
        <item value="0x0480">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mb@300b4 = 81</action> <!-- fixed current speed for x position -->
        <action>maincpu.mb@300da = 81</action> <!-- fixed current speed for y position -->
        <action>maincpu.mb@3010c = 60</action> <!-- disable speed down in the water -->
    </script>
    <script state="change">
        <action>maincpu.mw@30225 = param</action> <!-- vertical/horizon -->
        <action>maincpu.mw@30231 = param</action> <!-- slant -->
    </script>
    <script state="off">
        <action>maincpu.mb@300b4 =   9d</action>
        <action>maincpu.mb@300da =   9d</action>
        <action>maincpu.mb@3010c =   72</action>
        <action>maincpu.mw@30225 = 0100</action>
        <action>maincpu.mw@30231 = 00b6</action>
    </script>
</cheat>

<cheat desc="roulette speed">
    <parameter>
        <item value="0x7f">01 (slow)</item>
        <item value="0x3f">02       </item>
        <item value="0x0f">03       </item>
        <item value="0x03">04       </item>
        <item value="0x00">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@30f12 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@30f12 = 03</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mw@3a40c =             fc80</action> <!-- ($a40c) -->
        <action>maincpu.mq@3fc80 = 3ac41112073f8c36</action>
        <action>maincpu.mq@3fc88 = c41173f413c41034</action>
        <action>maincpu.mq@3fc90 = f763018d34ef6301</action>
        <action>maincpu.mq@3fc98 = 8a34fb63021d1034</action>
        <action>maincpu.mq@3fca0 = fd630215103bc410</action>
        <action>maincpu.mq@3fca8 = 34df730634bf630a</action>
        <action>maincpu.mq@3fcb0 = 11fb3b073fcc3b07</action>
        <action>maincpu.mq@3fcb8 = 3fc860c4ffffffff</action>
        <!--
        fc80 | 3a c4 11    : STA   $11
        fc83 | 12 07 3f 8c : LDA   $3f8c // read input
        fc87 | 36 c4 11    : CMPA  $11
        fc8a | 73 f4       : BEQ   $FC80
        fc8c | 13 c4 10    : LDB   $10
        fc8f | 34 f7       : CMPA  #$F7
        fc91 | 63 01       : BNE   $FC94
        fc93 | 8d          : DECB        // decrease code -01
        fc94 | 34 ef       : CMPA  #$EF
        fc96 | 63 01       : BNE   $FC99
        fc98 | 8a          : INCB        // increase code +01
        fc99 | 34 fb       : CMPA  #$FB
        fc9b | 63 02       : BNE   $FC9F
        fc9d | 1d 10       : SUBB  #$10  // decrease code -10
        fc9f | 34 fd       : CMPA  #$FD
        fca1 | 63 02       : BNE   $FCA5
        fca3 | 15 10       : ADDB  #$10  // increase code +10
        fca5 | 3b c4 10    : STB   $10
        fca8 | 34 df       : CMPA  #$DF
        fcaa | 73 06       : BEQ   $FCB2
        fcac | 34 bf       : CMPA  #$BF
        fcae | 63 0a       : BNE   $FCBA
        fcb0 | 11 fb       : LDB   #$FB  // stop sound
        fcb2 | 3b 07 3f cc : STB   $3fcc // send sound code
        fcb6 | 3b 07 3f c8 : STB   $3fc8 // sound cpu trigger
        fcba | 60 c4       : BRA   $FC80
        -->
    </script>
    <script state="run">
        <output format="----- parodius da! 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@1810</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@3a40c =             a51d</action>
        <action>maincpu.mq@3fc80 = ffffffffffffffff</action>
        <action>maincpu.mq@3fc88 = ffffffffffffffff</action>
        <action>maincpu.mq@3fc90 = ffffffffffffffff</action>
        <action>maincpu.mq@3fc98 = ffffffffffffffff</action>
        <action>maincpu.mq@3fca0 = ffffffffffffffff</action>
        <action>maincpu.mq@3fca8 = ffffffffffffffff</action>
        <action>maincpu.mq@3fcb0 = ffffffffffffffff</action>
        <action>maincpu.mq@3fcb8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.md@3a108 = 6801ca13</action> <!-- LBRA $A2D5 ($a108) -->
    </script>
    <script state="off">
        <action>maincpu.md@3a108 = 42000013</action>
    </script>
</cheat>

[parodius]+ Parodius Da!

Posted: Mon May 05, 2025 10:21 am
by jman
parodius.xml

Code: Select all

<!-- Parodius Da!: Shinwa kara Owarai e (World, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@30282 = 8F</action> <!-- objects ($6282) -->
            <action>maincpu.mb@30160 = 60</action> <!-- background ($6160) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30282 = 12</action>
            <action>maincpu.mb@30160 = 73</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <!-- objects -->
            <action>maincpu.mw@31323 = 9D50            </action> <!-- ($7323) -->
            <action>maincpu.mq@33D50 = 125410340562033C</action>
            <action>maincpu.mq@33D58 = FE8FA90775958FFF</action>
            <!--
            9D50 | 12 54 10    : LDA    #$10,U
            9D53 | 34 05       : CMPA   #$05
            9D55 | 62 03       : BCC    $9D5A
            9D57 | 3C FE       : ANDCC  #$FE
            9D59 | 8F          : RTS
            9D5A | A9 07 75 95 : JSR    $7595
            9D5E | 8F          : RTS
            -->
            <!-- background -->
            <action>maincpu.mb@316F6 = 60</action> <!-- shield ($76F6) -->
            <action>maincpu.mb@3170B = 60</action> <!-- shield ($770B) -->
            <action>maincpu.mb@31889 = 60</action> <!-- t-trap ($7889) -->
            <action>maincpu.mb@318A0 = 60</action> <!-- t-trap ($78A0) -->
            <action>maincpu.mb@318B7 = 60</action> <!-- t-trap ($78B7) -->
            <action>maincpu.mb@319D6 = 60</action> <!-- forcefield/bubble ($79D6) -->
            <action>maincpu.mb@319EE = 60</action> <!-- forcefield/bubble ($79EE) -->
            <action>maincpu.mb@31A06 = 60</action> <!-- forcefield/bubble ($7A06) -->
            <action>maincpu.mb@31A26 = 60</action> <!-- forcefield/bubble ($7A26) -->
            <action>maincpu.mb@31A3D = 60</action> <!-- forcefield/bubble ($7A3D) -->
        </script>
        <script state="off">
            <action>maincpu.mw@31323 = 7595            </action>
            <action>maincpu.mq@33D50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33D58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@316F6 = 73              </action>
            <action>maincpu.mb@3170B = 73              </action>
            <action>maincpu.mb@31889 = 73              </action>
            <action>maincpu.mb@318A0 = 73              </action>
            <action>maincpu.mb@318B7 = 73              </action>
            <action>maincpu.mb@319D6 = 73              </action>
            <action>maincpu.mb@319EE = 73              </action>
            <action>maincpu.mb@31A06 = 73              </action>
            <action>maincpu.mb@31A26 = 73              </action>
            <action>maincpu.mb@31A3D = 73              </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@30421 = 97</action> <!-- shot ($6421) -->
            <action>maincpu.mb@30430 = 97</action> <!-- missile ($6430) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30421 = 98</action>
            <action>maincpu.mb@30430 = 98</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x40008092">01 (slow)</item>
            <item value="0x40018092">02       </item>
            <item value="0x40038092">03       </item>
            <item value="0x40058092">04       </item>
            <item value="0x40078092">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@3010C = 60</action> <!-- no speed down in the water ($610C) -->
        </script>
        <script state="change">
            <action>maincpu.md@300B4 = param</action> <!-- left/right ($60B4) -->
            <action>maincpu.md@300DA = param</action> <!-- up/down ($60DA) -->
        </script>
        <script state="off">
            <action>maincpu.mb@3010C = 72      </action>
            <action>maincpu.md@300B4 = 9D41B192</action>
            <action>maincpu.md@300DA = 9D41B192</action>
        </script>
    </cheat>

    <cheat desc="no roulette">
        <script state="on">
            <action>maincpu.mb@31362 = 3D</action> <!-- ($7361) -->
        </script>
        <script state="off">
            <action>maincpu.mb@31362 = 21</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x3F">01 (slow)</item>
            <item value="0x1F">02       </item>
            <item value="0x0F">03       </item>
            <item value="0x03">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@30F12 = param</action> <!-- ($6F12) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30F12 = 03</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3A3FF = FC80            </action> <!-- ($A40C) -->
            <action>maincpu.mq@3FC80 = 3AC48112073F8C36</action>
            <action>maincpu.mq@3FC88 = C48173F413C48034</action>
            <action>maincpu.mq@3FC90 = F763018D34EF6301</action>
            <action>maincpu.mq@3FC98 = 8A34FB63021D1034</action>
            <action>maincpu.mq@3FCA0 = FD630215103BC480</action>
            <action>maincpu.mq@3FCA8 = 34DF730634BF630A</action>
            <action>maincpu.mq@3FCB0 = 11FB3B073FCC3B07</action>
            <action>maincpu.mq@3FCB8 = 3FC860C4FFFFFFFF</action>
            <!--
            FC80 | 3A C4 81    : STA    $81
            FC83 | 12 07 3F 8C : LDA    $3F8C // read input
            FC87 | 36 C4 81    : CMPA   $81
            FC8A | 73 F4       : BEQ    $FC80
            FC8C | 13 C4 80    : LDB    $80
            FC8F | 34 F7       : CMPA   #$F7
            FC91 | 63 01       : BNE    $FC94
            FC93 | 8D          : DECB         // decrease code -01
            FC94 | 34 EF       : CMPA   #$EF
            FC96 | 63 01       : BNE    $FC99
            FC98 | 8A          : INCB         // increase code +01
            FC99 | 34 FB       : CMPA   #$FB
            FC9B | 63 02       : BNE    $FC9F
            FC9D | 1D 10       : SUBB   #$10  // decrease code -10
            FC9F | 34 FD       : CMPA   #$FD
            FCA1 | 63 02       : BNE    $FCA5
            FCA3 | 15 10       : ADDB   #$10  // increase code +10
            FCA5 | 3B C4 80    : STB    $80
            FCA8 | 34 DF       : CMPA   #$DF
            FCAA | 73 06       : BEQ    $FCB2 // play sound
            FCAC | 34 BF       : CMPA   #$BF
            FCAE | 63 0A       : BNE    $FCBA
            FCB0 | 11 FB       : LDB    #$FB  // stop sound
            FCB2 | 3B 07 3F CC : STB    $3FCC // send sound code
            FCB6 | 3B 07 3F C8 : STB    $3FC8 // audio cpu trigger
            FCBA | 60 C4       : BRA    $FC80
            -->
        </script>
        <script state="run">
            <output format="----- 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@1880</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3A3FF = A510            </action>
            <action>maincpu.mq@3FC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.md@3A108 = 6801CA13</action> <!-- ($A108) -->
            <action>audiocpu.md@005D9 = 7105EEC3</action> <!-- ram -->
            <action>audiocpu.md@005FE = 210618C3</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.md@3A108 = 42000013</action>
            <action>audiocpu.md@005D9 = 71F00021</action>
            <action>audiocpu.md@005FE = 21000001</action>
        </script>
    </cheat>

</mamecheat>
parodiuse.xml

Code: Select all

<!-- Parodius Da!: Shinwa kara Owarai e (World, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@30282 = 8F</action> <!-- objects ($6282) -->
            <action>maincpu.mb@30160 = 60</action> <!-- background ($6160) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30282 = 12</action>
            <action>maincpu.mb@30160 = 73</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <!-- objects -->
            <action>maincpu.mw@31323 = 9D50            </action> <!-- ($7323) -->
            <action>maincpu.mq@33D50 = 125410340562033C</action>
            <action>maincpu.mq@33D58 = FE8FA90775958FFF</action>
            <!--
            9D50 | 12 54 10    : LDA    #$10,U
            9D53 | 34 05       : CMPA   #$05
            9D55 | 62 03       : BCC    $9D5A
            9D57 | 3C FE       : ANDCC  #$FE
            9D59 | 8F          : RTS
            9D5A | A9 07 75 95 : JSR    $7595
            9D5E | 8F          : RTS
            -->
            <!-- background -->
            <action>maincpu.mb@316F6 = 60</action> <!-- shield ($76F6) -->
            <action>maincpu.mb@3170B = 60</action> <!-- shield ($770B) -->
            <action>maincpu.mb@31889 = 60</action> <!-- t-trap ($7889) -->
            <action>maincpu.mb@318A0 = 60</action> <!-- t-trap ($78A0) -->
            <action>maincpu.mb@318B7 = 60</action> <!-- t-trap ($78B7) -->
            <action>maincpu.mb@319D6 = 60</action> <!-- forcefield/bubble ($79D6) -->
            <action>maincpu.mb@319EE = 60</action> <!-- forcefield/bubble ($79EE) -->
            <action>maincpu.mb@31A06 = 60</action> <!-- forcefield/bubble ($7A06) -->
            <action>maincpu.mb@31A26 = 60</action> <!-- forcefield/bubble ($7A26) -->
            <action>maincpu.mb@31A3D = 60</action> <!-- forcefield/bubble ($7A3D) -->
        </script>
        <script state="off">
            <action>maincpu.mw@31323 = 7595            </action>
            <action>maincpu.mq@33D50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33D58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@316F6 = 73              </action>
            <action>maincpu.mb@3170B = 73              </action>
            <action>maincpu.mb@31889 = 73              </action>
            <action>maincpu.mb@318A0 = 73              </action>
            <action>maincpu.mb@318B7 = 73              </action>
            <action>maincpu.mb@319D6 = 73              </action>
            <action>maincpu.mb@319EE = 73              </action>
            <action>maincpu.mb@31A06 = 73              </action>
            <action>maincpu.mb@31A26 = 73              </action>
            <action>maincpu.mb@31A3D = 73              </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@30421 = 97</action> <!-- shot ($6421) -->
            <action>maincpu.mb@30430 = 97</action> <!-- missile ($6430) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30421 = 98</action>
            <action>maincpu.mb@30430 = 98</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x40008092">01 (slow)</item>
            <item value="0x40018092">02       </item>
            <item value="0x40038092">03       </item>
            <item value="0x40058092">04       </item>
            <item value="0x40078092">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@3010C = 60</action> <!-- no speed down in the water ($610C) -->
        </script>
        <script state="change">
            <action>maincpu.md@300B4 = param</action> <!-- left/right ($60B4) -->
            <action>maincpu.md@300DA = param</action> <!-- up/down ($60DA) -->
        </script>
        <script state="off">
            <action>maincpu.mb@3010C = 72      </action>
            <action>maincpu.md@300B4 = 9D41B192</action>
            <action>maincpu.md@300DA = 9D41B192</action>
        </script>
    </cheat>

    <cheat desc="no roulette">
        <script state="on">
            <action>maincpu.mb@31362 = 3D</action> <!-- ($7361) -->
        </script>
        <script state="off">
            <action>maincpu.mb@31362 = 21</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x3F">01 (slow)</item>
            <item value="0x1F">02       </item>
            <item value="0x0F">03       </item>
            <item value="0x03">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@30F12 = param</action> <!-- ($6F12) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30F12 = 03</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3A40C = FC80            </action> <!-- ($A40C) -->
            <action>maincpu.mq@3FC80 = 3AC48112073F8C36</action>
            <action>maincpu.mq@3FC88 = C48173F413C48034</action>
            <action>maincpu.mq@3FC90 = F763018D34EF6301</action>
            <action>maincpu.mq@3FC98 = 8A34FB63021D1034</action>
            <action>maincpu.mq@3FCA0 = FD630215103BC480</action>
            <action>maincpu.mq@3FCA8 = 34DF730634BF630A</action>
            <action>maincpu.mq@3FCB0 = 11FB3B073FCC3B07</action>
            <action>maincpu.mq@3FCB8 = 3FC860C4FFFFFFFF</action>
            <!--
            FC80 | 3A C4 81    : STA    $81
            FC83 | 12 07 3F 8C : LDA    $3F8C // read input
            FC87 | 36 C4 81    : CMPA   $81
            FC8A | 73 F4       : BEQ    $FC80
            FC8C | 13 C4 80    : LDB    $80
            FC8F | 34 F7       : CMPA   #$F7
            FC91 | 63 01       : BNE    $FC94
            FC93 | 8D          : DECB         // decrease code -01
            FC94 | 34 EF       : CMPA   #$EF
            FC96 | 63 01       : BNE    $FC99
            FC98 | 8A          : INCB         // increase code +01
            FC99 | 34 FB       : CMPA   #$FB
            FC9B | 63 02       : BNE    $FC9F
            FC9D | 1D 10       : SUBB   #$10  // decrease code -10
            FC9F | 34 FD       : CMPA   #$FD
            FCA1 | 63 02       : BNE    $FCA5
            FCA3 | 15 10       : ADDB   #$10  // increase code +10
            FCA5 | 3B C4 80    : STB    $80
            FCA8 | 34 DF       : CMPA   #$DF
            FCAA | 73 06       : BEQ    $FCB2 // play sound
            FCAC | 34 BF       : CMPA   #$BF
            FCAE | 63 0A       : BNE    $FCBA
            FCB0 | 11 FB       : LDB    #$FB  // stop sound
            FCB2 | 3B 07 3F CC : STB    $3FCC // send sound code
            FCB6 | 3B 07 3F C8 : STB    $3FC8 // audio cpu trigger
            FCBA | 60 C4       : BRA    $FC80
            -->
        </script>
        <script state="run">
            <output format="----- 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@1880</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3A40C = A51D            </action>
            <action>maincpu.mq@3FC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.md@3A108 = 6801CA13</action> <!-- ($A108) -->
            <action>audiocpu.md@005D9 = 7105EEC3</action> <!-- ram -->
            <action>audiocpu.md@005FE = 210618C3</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.md@3A108 = 42000013</action>
            <action>audiocpu.md@005D9 = 71F00021</action>
            <action>audiocpu.md@005FE = 21000001</action>
        </script>
    </cheat>

</mamecheat>
parodiusj.xml

Code: Select all

<!-- Parodius Da!: Shinwa kara Owarai e (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@30282 = 8F</action> <!-- objects ($6282) -->
            <action>maincpu.mb@30160 = 60</action> <!-- background ($6160) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30282 = 12</action>
            <action>maincpu.mb@30160 = 73</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <!-- objects -->
            <action>maincpu.mw@31323 = 9D50            </action> <!-- ($7323) -->
            <action>maincpu.mq@33D50 = 125410340562033C</action>
            <action>maincpu.mq@33D58 = FE8FA90775958FFF</action>
            <!--
            9D50 | 12 54 10    : LDA    #$10,U
            9D53 | 34 05       : CMPA   #$05
            9D55 | 62 03       : BCC    $9D5A
            9D57 | 3C FE       : ANDCC  #$FE
            9D59 | 8F          : RTS
            9D5A | A9 07 75 95 : JSR    $7595
            9D5E | 8F          : RTS
            -->
            <!-- background -->
            <action>maincpu.mb@316F6 = 60</action> <!-- shield ($76F6) -->
            <action>maincpu.mb@3170B = 60</action> <!-- shield ($770B) -->
            <action>maincpu.mb@31889 = 60</action> <!-- t-trap ($7889) -->
            <action>maincpu.mb@318A0 = 60</action> <!-- t-trap ($78A0) -->
            <action>maincpu.mb@318B7 = 60</action> <!-- t-trap ($78B7) -->
            <action>maincpu.mb@319D6 = 60</action> <!-- forcefield/bubble ($79D6) -->
            <action>maincpu.mb@319EE = 60</action> <!-- forcefield/bubble ($79EE) -->
            <action>maincpu.mb@31A06 = 60</action> <!-- forcefield/bubble ($7A06) -->
            <action>maincpu.mb@31A26 = 60</action> <!-- forcefield/bubble ($7A26) -->
            <action>maincpu.mb@31A3D = 60</action> <!-- forcefield/bubble ($7A3D) -->
        </script>
        <script state="off">
            <action>maincpu.mw@31323 = 7595            </action>
            <action>maincpu.mq@33D50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33D58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@316F6 = 73              </action>
            <action>maincpu.mb@3170B = 73              </action>
            <action>maincpu.mb@31889 = 73              </action>
            <action>maincpu.mb@318A0 = 73              </action>
            <action>maincpu.mb@318B7 = 73              </action>
            <action>maincpu.mb@319D6 = 73              </action>
            <action>maincpu.mb@319EE = 73              </action>
            <action>maincpu.mb@31A06 = 73              </action>
            <action>maincpu.mb@31A26 = 73              </action>
            <action>maincpu.mb@31A3D = 73              </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@30421 = 97</action> <!-- shot ($6421) -->
            <action>maincpu.mb@30430 = 97</action> <!-- missile ($6430) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30421 = 98</action>
            <action>maincpu.mb@30430 = 98</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x40008092">01 (slow)</item>
            <item value="0x40018092">02       </item>
            <item value="0x40038092">03       </item>
            <item value="0x40058092">04       </item>
            <item value="0x40078092">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@3010C = 60</action> <!-- no speed down in the water ($610C) -->
        </script>
        <script state="change">
            <action>maincpu.md@300B4 = param</action> <!-- left/right ($60B4) -->
            <action>maincpu.md@300DA = param</action> <!-- up/down ($60DA) -->
        </script>
        <script state="off">
            <action>maincpu.mb@3010C = 72      </action>
            <action>maincpu.md@300B4 = 9D41B192</action>
            <action>maincpu.md@300DA = 9D41B192</action>
        </script>
    </cheat>

    <cheat desc="no roulette">
        <script state="on">
            <action>maincpu.mb@31362 = 3D</action> <!-- ($7361) -->
        </script>
        <script state="off">
            <action>maincpu.mb@31362 = 21</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x3F">01 (slow)</item>
            <item value="0x1F">02       </item>
            <item value="0x0F">03       </item>
            <item value="0x03">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@30F12 = param</action> <!-- ($6F12) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30F12 = 03</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3A40C = FC80            </action> <!-- ($A40C) -->
            <action>maincpu.mq@3FC80 = 3AC48112073F8C36</action>
            <action>maincpu.mq@3FC88 = C48173F413C48034</action>
            <action>maincpu.mq@3FC90 = F763018D34EF6301</action>
            <action>maincpu.mq@3FC98 = 8A34FB63021D1034</action>
            <action>maincpu.mq@3FCA0 = FD630215103BC480</action>
            <action>maincpu.mq@3FCA8 = 34DF730634BF630A</action>
            <action>maincpu.mq@3FCB0 = 11FB3B073FCC3B07</action>
            <action>maincpu.mq@3FCB8 = 3FC860C4FFFFFFFF</action>
            <!--
            FC80 | 3A C4 81    : STA    $81
            FC83 | 12 07 3F 8C : LDA    $3F8C // read input
            FC87 | 36 C4 81    : CMPA   $81
            FC8A | 73 F4       : BEQ    $FC80
            FC8C | 13 C4 80    : LDB    $80
            FC8F | 34 F7       : CMPA   #$F7
            FC91 | 63 01       : BNE    $FC94
            FC93 | 8D          : DECB         // decrease code -01
            FC94 | 34 EF       : CMPA   #$EF
            FC96 | 63 01       : BNE    $FC99
            FC98 | 8A          : INCB         // increase code +01
            FC99 | 34 FB       : CMPA   #$FB
            FC9B | 63 02       : BNE    $FC9F
            FC9D | 1D 10       : SUBB   #$10  // decrease code -10
            FC9F | 34 FD       : CMPA   #$FD
            FCA1 | 63 02       : BNE    $FCA5
            FCA3 | 15 10       : ADDB   #$10  // increase code +10
            FCA5 | 3B C4 80    : STB    $80
            FCA8 | 34 DF       : CMPA   #$DF
            FCAA | 73 06       : BEQ    $FCB2 // play sound
            FCAC | 34 BF       : CMPA   #$BF
            FCAE | 63 0A       : BNE    $FCBA
            FCB0 | 11 FB       : LDB    #$FB  // stop sound
            FCB2 | 3B 07 3F CC : STB    $3FCC // send sound code
            FCB6 | 3B 07 3F C8 : STB    $3FC8 // audio cpu trigger
            FCBA | 60 C4       : BRA    $FC80
            -->
        </script>
        <script state="run">
            <output format="----- 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@1880</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3A40C = A51D            </action>
            <action>maincpu.mq@3FC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.md@3A108 = 6801CA13</action> <!-- ($A108) -->
            <action>audiocpu.md@005D9 = 7105EEC3</action> <!-- ram -->
            <action>audiocpu.md@005FE = 210618C3</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.md@3A108 = 42000013</action>
            <action>audiocpu.md@005D9 = 71F00021</action>
            <action>audiocpu.md@005FE = 21000001</action>
        </script>
    </cheat>

</mamecheat>
parodiusa.xml

Code: Select all

<!-- Parodius Da!: Shinwa kara Owarai e (Asia) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@30282 = 8F</action> <!-- objects ($6282) -->
            <action>maincpu.mb@30160 = 60</action> <!-- background ($6160) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30282 = 12</action>
            <action>maincpu.mb@30160 = 73</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <!-- objects -->
            <action>maincpu.mw@31323 = 9D50            </action> <!-- ($7323) -->
            <action>maincpu.mq@33D50 = 125410340562033C</action>
            <action>maincpu.mq@33D58 = FE8FA90775958FFF</action>
            <!--
            9D50 | 12 54 10    : LDA    #$10,U
            9D53 | 34 05       : CMPA   #$05
            9D55 | 62 03       : BCC    $9D5A
            9D57 | 3C FE       : ANDCC  #$FE
            9D59 | 8F          : RTS
            9D5A | A9 07 75 95 : JSR    $7595
            9D5E | 8F          : RTS
            -->
            <!-- background -->
            <action>maincpu.mb@316F6 = 60</action> <!-- shield ($76F6) -->
            <action>maincpu.mb@3170B = 60</action> <!-- shield ($770B) -->
            <action>maincpu.mb@31889 = 60</action> <!-- t-trap ($7889) -->
            <action>maincpu.mb@318A0 = 60</action> <!-- t-trap ($78A0) -->
            <action>maincpu.mb@318B7 = 60</action> <!-- t-trap ($78B7) -->
            <action>maincpu.mb@319D6 = 60</action> <!-- forcefield/bubble ($79D6) -->
            <action>maincpu.mb@319EE = 60</action> <!-- forcefield/bubble ($79EE) -->
            <action>maincpu.mb@31A06 = 60</action> <!-- forcefield/bubble ($7A06) -->
            <action>maincpu.mb@31A26 = 60</action> <!-- forcefield/bubble ($7A26) -->
            <action>maincpu.mb@31A3D = 60</action> <!-- forcefield/bubble ($7A3D) -->
        </script>
        <script state="off">
            <action>maincpu.mw@31323 = 7595            </action>
            <action>maincpu.mq@33D50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33D58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@316F6 = 73              </action>
            <action>maincpu.mb@3170B = 73              </action>
            <action>maincpu.mb@31889 = 73              </action>
            <action>maincpu.mb@318A0 = 73              </action>
            <action>maincpu.mb@318B7 = 73              </action>
            <action>maincpu.mb@319D6 = 73              </action>
            <action>maincpu.mb@319EE = 73              </action>
            <action>maincpu.mb@31A06 = 73              </action>
            <action>maincpu.mb@31A26 = 73              </action>
            <action>maincpu.mb@31A3D = 73              </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@30421 = 97</action> <!-- shot ($6421) -->
            <action>maincpu.mb@30430 = 97</action> <!-- missile ($6430) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30421 = 98</action>
            <action>maincpu.mb@30430 = 98</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x40008092">01 (slow)</item>
            <item value="0x40018092">02       </item>
            <item value="0x40038092">03       </item>
            <item value="0x40058092">04       </item>
            <item value="0x40078092">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@3010C = 60</action> <!-- no speed down in the water ($610C) -->
        </script>
        <script state="change">
            <action>maincpu.md@300B4 = param</action> <!-- left/right ($60B4) -->
            <action>maincpu.md@300DA = param</action> <!-- up/down ($60DA) -->
        </script>
        <script state="off">
            <action>maincpu.mb@3010C = 72      </action>
            <action>maincpu.md@300B4 = 9D41B192</action>
            <action>maincpu.md@300DA = 9D41B192</action>
        </script>
    </cheat>

    <cheat desc="no roulette">
        <script state="on">
            <action>maincpu.mb@31362 = 3D</action> <!-- ($7361) -->
        </script>
        <script state="off">
            <action>maincpu.mb@31362 = 21</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x3F">01 (slow)</item>
            <item value="0x1F">02       </item>
            <item value="0x0F">03       </item>
            <item value="0x03">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@30F12 = param</action> <!-- ($6F12) -->
        </script>
        <script state="off">
            <action>maincpu.mb@30F12 = 03</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3A40C = FC80            </action> <!-- ($A40C) -->
            <action>maincpu.mq@3FC80 = 3AC48112073F8C36</action>
            <action>maincpu.mq@3FC88 = C48173F413C48034</action>
            <action>maincpu.mq@3FC90 = F763018D34EF6301</action>
            <action>maincpu.mq@3FC98 = 8A34FB63021D1034</action>
            <action>maincpu.mq@3FCA0 = FD630215103BC480</action>
            <action>maincpu.mq@3FCA8 = 34DF730634BF630A</action>
            <action>maincpu.mq@3FCB0 = 11FB3B073FCC3B07</action>
            <action>maincpu.mq@3FCB8 = 3FC860C4FFFFFFFF</action>
            <!--
            FC80 | 3A C4 81    : STA    $81
            FC83 | 12 07 3F 8C : LDA    $3F8C // read input
            FC87 | 36 C4 81    : CMPA   $81
            FC8A | 73 F4       : BEQ    $FC80
            FC8C | 13 C4 80    : LDB    $80
            FC8F | 34 F7       : CMPA   #$F7
            FC91 | 63 01       : BNE    $FC94
            FC93 | 8D          : DECB         // decrease code -01
            FC94 | 34 EF       : CMPA   #$EF
            FC96 | 63 01       : BNE    $FC99
            FC98 | 8A          : INCB         // increase code +01
            FC99 | 34 FB       : CMPA   #$FB
            FC9B | 63 02       : BNE    $FC9F
            FC9D | 1D 10       : SUBB   #$10  // decrease code -10
            FC9F | 34 FD       : CMPA   #$FD
            FCA1 | 63 02       : BNE    $FCA5
            FCA3 | 15 10       : ADDB   #$10  // increase code +10
            FCA5 | 3B C4 80    : STB    $80
            FCA8 | 34 DF       : CMPA   #$DF
            FCAA | 73 06       : BEQ    $FCB2 // play sound
            FCAC | 34 BF       : CMPA   #$BF
            FCAE | 63 0A       : BNE    $FCBA
            FCB0 | 11 FB       : LDB    #$FB  // stop sound
            FCB2 | 3B 07 3F CC : STB    $3FCC // send sound code
            FCB6 | 3B 07 3F C8 : STB    $3FC8 // audio cpu trigger
            FCBA | 60 C4       : BRA    $FC80
            -->
        </script>
        <script state="run">
            <output format="----- 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@1880</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3A40C = A51D            </action>
            <action>maincpu.mq@3FC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FC98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FCB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.md@3A108 = 6801CA13</action> <!-- ($A108) -->
            <action>audiocpu.md@005D9 = 7105EEC3</action> <!-- ram -->
            <action>audiocpu.md@005FE = 210618C3</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.md@3A108 = 42000013</action>
            <action>audiocpu.md@005D9 = 71F00021</action>
            <action>audiocpu.md@005FE = 21000001</action>
        </script>
    </cheat>

</mamecheat>
  • "player speed" : Simplified code.
  • "no roulette" : Added new.
  • "sound test mode" : Rewritten routine.
  • "skip ram/rom check" : Added codes for audiocpu.