Page 1 of 1

[cfboy0a1] Flash Boy

Posted: Sun Jan 15, 2023 1:12 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.pw@29b9 = 0790</action> <!-- bullet -->
        <action>maincpu.pw@2d8f = 00b0</action> <!-- background -->
    </script>
    <script state="off">
        <action>maincpu.pw@29b9 = 8ad5</action>
        <action>maincpu.pw@2d8f = 01c0</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="run">
        <action>maincpu.pb@1516 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1516 = 0e</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="run">
        <action>maincpu.pd@14ad = 85fa00c9</action>
        <action>maincpu.pb@14ae =    param</action>
    </script>
    <script state="off">
        <action>maincpu.pd@14ad = 8516e8cd</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="run">
        <action>maincpu.pb@1534 = 01</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1534 = 10</action>
    </script>
</cheat>

<cheat desc="energy speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0xc0">02       </item>
        <item value="0x80">03       </item>
        <item value="0x40">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pb@2b18 = param</action>
    </script>
    <script state="off">
        <action>maincpu.pb@2b18 = 46</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) then wait data load to enter sound test mode</comment>
    <script state="run">
        <!-- routine -->
        <action>maincpu.pw@0605 =             5140</action>
        <action>maincpu.pq@5140 = f011a5e600cd1185</action>
        <action>maincpu.pq@5148 = 01b002a910c6c8f7</action>
        <action>maincpu.pq@5150 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@5158 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@5160 = 1069188a06b004a9</action>
        <action>maincpu.pq@5168 = 06f010a9108698ca</action>
        <action>maincpu.pq@5170 = 148e00c205b020a9</action>
        <action>maincpu.pq@5178 = 0000000051402ce4</action>
        <!--
        5140 | 85 11    : sta $11
        5142 | ad 00 e6 : lda $e600 // read input
        5145 | c5 11    : cmp $11
        5147 | f0 f7    : beq $5140
        5149 | a8       : tay
        514a | a6 10    : ldx $10
        514c | c9 02    : cmp #$02
        514e | d0 01    : bne $5151
        5150 | ca       : dex       // decrease code -01
        5151 | c9 01    : cmp #$01
        5153 | d0 01    : bne $5156
        5155 | e8       : inx       // increase code +01
        5156 | c9 08    : cmp #$08
        5158 | d0 06    : bne $5160
        515a | 8a       : txa       // decrease code -10
        515b | 38       : sec
        515c | e9 10    : sbc #$10
        515e | aa       : tax
        515f | 98       : tya
        5160 | c9 04    : cmp #$04
        5162 | d0 06    : bne $516a
        5164 | 8a       : txa       // increase code +10
        5165 | 18       : clc
        5166 | 69 10    : adc #$10
        5168 | aa       : tax
        5169 | 98       : tya
        516a | 86 10    : stx $10
        516c | c9 10    : cmp #$10
        516e | f0 06    : beq $5176
        5170 | c9 40    : cmp #$20
        5172 | d0 05    : bne $5179
        5174 | a2 00    : ldx #$00  // stop sound
        5176 | 8e 14 e4 : stx $e414 // send sound code
        5179 | 4c 40 51 : jmp $5140
        -->
        <!-- display -->
        <output format="----- flash boy 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@0010</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.pw@0605 =             3510</action>
        <action> maincpu.pq@5140 = 0000000000000000</action>
        <action> maincpu.pq@5148 = 0000000000000000</action>
        <action> maincpu.pq@5150 = 0000000000000000</action>
        <action> maincpu.pq@5158 = 0000000000000000</action>
        <action> maincpu.pq@5160 = 0000000000000000</action>
        <action> maincpu.pq@5168 = 0000000000000000</action>
        <action> maincpu.pq@5170 = 0000000000000000</action>
        <action> maincpu.pq@5178 = 0000000000000000</action>
    </script>
</cheat>

[cfboy0a1] Flash Boy

Posted: Sat Aug 10, 2024 10:26 am
by jman
Small clean up.

cfboy0a1.xml

Code: Select all

<!-- Flash Boy (vertical) (DECO Cassette MD) (No.12/Ver.0/Set.1,Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.pw@29B9 = 0790</action> <!-- bullet -->
            <action>maincpu.pw@2D8F = 00B0</action> <!-- background -->
        </script>
        <script state="off">
            <action>maincpu.pw@29B9 = 8AD5</action>
            <action>maincpu.pw@2D8F = 01C0</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="run">
            <action>maincpu.pb@1516 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1516 = 0E</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="run">
            <action>maincpu.pd@14AD = 85FA00C9</action>
            <action>maincpu.pb@14AE = param</action>
        </script>
        <script state="off">
            <action>maincpu.pd@14AD = 8516E8CD</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="run">
            <action>maincpu.pb@1534 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1534 = 10</action>
        </script>
    </cheat>

    <cheat desc="energy speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0xc0">02       </item>
            <item value="0x80">03       </item>
            <item value="0x40">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.pb@2B18 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@2B18 = 46</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) then wait data load to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.pw@0605 = 5140           </action>
            <action>maincpu.pq@5140 = F081A4E600CC8184</action>
            <action>maincpu.pq@5148 = AA01B002A080C6F7</action>
            <action>maincpu.pq@5150 = B008A0E801B001A0</action>
            <action>maincpu.pq@5158 = 04A0CA10E9588A05</action>
            <action>maincpu.pq@5160 = 86CA1069188A05B0</action>
            <action>maincpu.pq@5168 = B020A006F010A080</action>
            <action>maincpu.pq@5170 = 402CE4148E00C205</action>
            <action>maincpu.pq@5178 = 0000000000000051</action>
            <!--
            5140 | 84 81    : sty $81
            5142 | AC 00 E6 : ldy $e600 // read input
            5145 | C4 81    : cpy $81
            5147 | F0 F7    : beq $5140
            5149 | A6 80    : ldx $80
            514B | C0 02    : cpy #$02
            514D | D0 01    : bne $5150
            514F | CA       : dex       // decrease code -01
            5150 | C0 01    : cpy #$01
            5152 | D0 01    : bne $5155
            5154 | E8       : inx       // increase code +01
            5155 | C0 08    : cpy #$08
            5157 | D0 05    : bne $515e
            5159 | 8A       : txa       // decrease code -10
            515A | 38       : sec
            515B | E9 10    : sbc #$10
            515D | AA       : tax
            515E | C0 04    : cpy #$04
            5160 | D0 05    : bne $5167
            5162 | 8A       : txa       // increase code +10
            5163 | 18       : clc
            5164 | 69 10    : adc #$10
            5166 | AA       : tax
            5167 | 86 80    : stx $80
            5169 | C0 10    : cpy #$10
            516B | F0 06    : beq $5173 // play sound
            516D | C0 20    : cpy #$20
            516F | D0 05    : bne $5176
            5171 | A2 00    : ldx #$00  // stop sound
            5173 | 8E 14 E4 : stx $e414 // send sound code
            5176 | 4C 40 51 : jmp $5140
            -->
            <!-- display -->
            <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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.pw@0605 = 3510            </action>
            <action> maincpu.pq@5140 = 0000000000000000</action>
            <action> maincpu.pq@5148 = 0000000000000000</action>
            <action> maincpu.pq@5150 = 0000000000000000</action>
            <action> maincpu.pq@5158 = 0000000000000000</action>
            <action> maincpu.pq@5160 = 0000000000000000</action>
            <action> maincpu.pq@5168 = 0000000000000000</action>
            <action> maincpu.pq@5170 = 0000000000000000</action>
            <action> maincpu.pq@5178 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : Rewritten routine.