Page 1 of 1

[pandoras] Pandora's Palace

Posted: Sat Mar 05, 2022 1:01 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@c26f =       20</action> <!-- flame -->
        <action>maincpu.mb@c1e6 =       00</action> <!-- fire -->
        <action>maincpu.md@c0a8 = 1600fa12</action> <!-- monster -->
        <action>maincpu.mb@b025 =       20</action> <!-- fall off platform -->
        <action>maincpu.mb@b1e4 =       00</action> <!-- jump off platform -->
    </script>
    <script state="off">
        <action>maincpu.mb@c26f =       27</action>
        <action>maincpu.mb@c1e6 =       0a</action>
        <action>maincpu.md@c0a8 = 102700f9</action>
        <action>maincpu.mb@b025 =       26</action>
        <action>maincpu.mb@b1e4 =       5a</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x10">02       </item>
        <item value="0x30">03       </item>
        <item value="0x80">04       </item>
        <item value="0xff">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@b73a = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@b73a = 30</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.md@858d =         7eff708d</action>
        <action>maincpu.mq@ff70 = 97819635918127f8</action>
        <action>maincpu.mq@ff78 = 810126020a808102</action>
        <action>maincpu.mq@ff80 = 26020c8081102604</action>
        <action>maincpu.mq@ff88 = d680200581042604</action>
        <action>maincpu.mq@ff90 = 5fbd8ced20daffff</action>
        <!--
        ff70 | 97 81    : STA  $81
        ff72 | 96 35    : LDA  $35   // read input
        ff74 | 91 81    : CMPA $81
        ff76 | 27 f8    : BEQ  $FF70
        ff78 | 81 01    : CMPA #$01
        ff7a | 26 02    : BNE  $FF7E
        ff7c | 0a 80    : DEC  $80   // decrease code
        ff7e | 81 02    : CMPA #$02
        ff80 | 26 02    : BNE  $FF84
        ff82 | 0c 80    : INC  $80   // increase code
        ff84 | 81 10    : CMPA #$10
        ff86 | 26 04    : BNE  $FF8C
        ff88 | d6 80    : LDB  $80   // play sound
        ff8a | 20 05    : BRA  $FF91
        ff8c | 81 04    : CMPA #$04
        ff8e | 26 04    : BNE  $FF94
        ff90 | 5f       : CLRB       // stop sound
        ff91 | bd 8c ed : JSR  $8CED // send sound code
        ff94 | 20 da    : BRA  $FF70
        -->
    </script>
    <script state="run">
        <output format="----- pandora's palace 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="up : 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@6080</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@858d =         8e145f8d</action>
        <action>maincpu.mq@ff70 = ffffffffffffffff</action>
        <action>maincpu.mq@ff78 = ffffffffffffffff</action>
        <action>maincpu.mq@ff80 = ffffffffffffffff</action>
        <action>maincpu.mq@ff88 = ffffffffffffffff</action>
        <action>maincpu.mq@ff90 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@81fb = 200b</action> <!-- ram 1 (read) -->
        <action>maincpu.mw@8212 = 200e</action> <!-- ram 1 (write) -->
        <action>maincpu.mw@8232 = 201e</action> <!-- ram 2 -->
        <action>maincpu.mw@8262 = 8334</action> <!-- rom -->
        <action>    sub.mw@e135 = 200b</action> <!-- ram 1 (read) -->
        <action>    sub.mw@e14c = 200e</action> <!-- ram 1 (write) -->
        <action>    sub.mw@e16c = 201e</action> <!-- ram 2 -->
        <action>    sub.mw@e19c = e22e</action> <!-- rom -->
    </script>
    <script state="off">
        <action>maincpu.mw@81fb = 8601</action>
        <action>maincpu.mw@8212 = 8601</action>
        <action>maincpu.mw@8232 = 1f43</action>
        <action>maincpu.mw@8262 = 82c7</action>
        <action>    sub.mw@e135 = 8601</action>
        <action>    sub.mw@e14c = 8601</action>
        <action>    sub.mw@e16c = 1f43</action>
        <action>    sub.mw@e19c = e1e0</action>
    </script>
</cheat>

[pandoras] Pandora's Palace

Posted: Wed Nov 13, 2024 11:47 am
by jman
pandoras.xml

Code: Select all

<!-- Pandora's Palace -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@B025 = 20      </action> <!-- fall off platform -->
            <action>maincpu.mb@B1E4 = 00      </action> <!-- jump off platform -->
            <action>maincpu.md@C0A8 = 1600FA12</action> <!-- monster -->
            <action>maincpu.mb@C1E6 = 00      </action> <!-- fire -->
            <action>maincpu.mb@C26F = 20      </action> <!-- flame -->
        </script>
        <script state="off">
            <action>maincpu.mb@B025 = 26      </action>
            <action>maincpu.mb@B1E4 = 5A      </action>
            <action>maincpu.md@C0A8 = 102700F9</action>
            <action>maincpu.mb@C1E6 = 0A      </action>
            <action>maincpu.mb@C26F = 27      </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x10">02       </item>
            <item value="0x30">03       </item>
            <item value="0x80">04       </item>
            <item value="0xff">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@B73A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@B73A = 30</action>
        </script>
    </cheat>

    <cheat desc="next is always challenging stage">
        <script state="on">
            <action>maincpu.mw@988F = 8604</action>
        </script>
        <script state="off">
            <action>maincpu.mw@988F = A6A6</action>
        </script>
    </cheat>

    <cheat desc="skip introduction scene">
        <script state="on">
            <action>maincpu.md@923E = 0C082600</action>
        </script>
        <script state="off">
            <action>maincpu.md@923E = 0DFA2604</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.md@858D = 7EFF708D        </action>
            <action>maincpu.mq@FF70 = 9781963784084848</action>
            <action>maincpu.mq@FF78 = 97829635841F9A82</action>
            <action>maincpu.mq@FF80 = 918127ECD6808101</action>
            <action>maincpu.mq@FF88 = 26015A810226015C</action>
            <action>maincpu.mq@FF90 = 81082602C0108104</action>
            <action>maincpu.mq@FF98 = 2602CB10D7808110</action>
            <action>maincpu.mq@FFA0 = 2705812026045FBD</action>
            <action>maincpu.mq@FFA8 = 8CED20C4FFFFFFFF</action>
            <!--
            FF70 | 97 81    : STA    $81
            FF72 | 96 37    : LDA    $37   // read start button
            FF74 | 84 08    : ANDA   #$08
            FF76 | 48       : ASLA
            FF77 | 48       : ASLA
            FF78 | 97 82    : STA    $82
            FF7A | 96 35    : LDA    $35   // read other inputs
            FF7C | 84 1F    : ANDA   #$1F
            FF7E | 9A 82    : ORA    $82
            FF80 | 91 81    : CMPA   $81
            FF82 | 27 EC    : BEQ    $FF70
            FF84 | D6 80    : LDB    $80
            FF86 | 81 01    : CMPA   #$01
            FF88 | 26 01    : BNE    $FF8B
            FF8A | 5A       : DECB         // decrease code -01
            FF8B | 81 02    : CMPA   #$02
            FF8D | 26 01    : BNE    $FF90
            FF8F | 5C       : INCB         // increase code +01
            FF90 | 81 08    : CMPA   #$08
            FF92 | 26 02    : BNE    $FF96
            FF94 | C0 10    : SUBB   #$10  // decrease code -10
            FF96 | 81 04    : CMPA   #$04
            FF98 | 26 02    : BNE    $FF9C
            FF9A | CB 10    : ADDB   #$10  // increase code +10
            FF9C | D7 80    : STB    $80
            FF9E | 81 10    : CMPA   #$10
            FFA0 | 27 05    : BEQ    $FFA7 // play sound
            FFA2 | 81 20    : CMPA   #$20
            FFA4 | 26 04    : BNE    $FFAA
            FFA6 | 5F       : CLRB         // stop sound
            FFA7 | BD 8C ED : JSR    $8CED // send sound code
            FFAA | 20 C4    : BRA    $FF70
            -->
        </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="start : 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@6080</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@858D = 8E145F8D        </action>
            <action>maincpu.mq@FF70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@81FB = 200B</action> <!-- ram 1 (read) -->
            <action>maincpu.mw@8212 = 200E</action> <!-- ram 1 (write) -->
            <action>maincpu.mw@8232 = 201E</action> <!-- ram 2 -->
            <action>maincpu.mw@8262 = 8334</action> <!-- rom -->
            <action>    sub.mw@E135 = 200B</action> <!-- ram 1 (read) -->
            <action>    sub.mw@E14C = 200E</action> <!-- ram 1 (write) -->
            <action>    sub.mw@E16C = 201E</action> <!-- ram 2 -->
            <action>    sub.mw@E19C = E22E</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.mw@81FB = 8601</action>
            <action>maincpu.mw@8212 = 8601</action>
            <action>maincpu.mw@8232 = 1F43</action>
            <action>maincpu.mw@8262 = 82C7</action>
            <action>    sub.mw@E135 = 8601</action>
            <action>    sub.mw@E14C = 8601</action>
            <action>    sub.mw@E16C = 1F43</action>
            <action>    sub.mw@E19C = E1E0</action>
        </script>
    </cheat>

</mamecheat>
"next is always challenging stage" and "skip introduction scene" : Added new.