[cnebula] Nebula (DECO Cassette)

This forum is for posting M.A.M.E. arcade cheats. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[cnebula] Nebula (DECO Cassette)

Post by jman »

cnebula (DECO Cassette) will be added in 0.251.

Basic RAM codes.

Code: Select all

<cheat desc="infinite credit">
    <script state="run">
        <action>maincpu.pb@000b = 99</action>
    </script>
</cheat>

<cheat desc="infinite life">
    <script state="run">
        <action>maincpu.pb@0029 = 0a</action>
    </script>
</cheat>
The following ROM codes are wip. Required more test.

Code: Select all

<cheat desc="no hit (wip)">
    <script state="run">
        <action>maincpu.pw@153f = 6058</action> <!-- enemy -->
        <action>maincpu.pw@172d = 6058</action> <!-- meteor -->
        <action>maincpu.pw@1b21 = 6058</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.pw@153f = 45c5</action>
        <action>maincpu.pw@172d = 45c5</action>
        <action>maincpu.pw@1b21 = 45c5</action>
    </script>
</cheat>

<cheat desc="auto fire (wip)">
    <script state="run">
        <action>maincpu.pw@190c = fafa</action>
    </script>
    <script state="off">
        <action>maincpu.pw@190c = 4e25</action>
    </script>
</cheat>

<cheat desc="player speed (wip)">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x04">02       </item>
        <item value="0x08">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x10">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pb@18d1 = -param</action> <!-- up -->
        <action>maincpu.pb@18d3 =  param</action> <!-- down -->
        <action>maincpu.pb@25f2 =  param</action> <!-- right -->
        <action>maincpu.pb@25f3 = -param</action> <!-- left -->
    </script>
    <script state="off">
        <action>maincpu.pb@18d1 = fc</action>
        <action>maincpu.pb@18d3 = 04</action>
        <action>maincpu.pb@25f2 = 04</action>
        <action>maincpu.pb@25f3 = fc</action>
    </script>
</cheat>

<cheat desc="bullet speed (wip)">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x09">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x0f">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pb@1b8b = param</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1b8b = 06</action>
    </script>
</cheat>

<cheat desc="sound test mode (wip)">
    <!-- don't play code 0x40 due to no sound response -->
    <comment>reset the game (F3) then wait data load to enter sound test mode</comment>
    <script state="run">
        <!-- routine -->
        <action>maincpu.pw@0523 =             46c0</action>
        <action>maincpu.pq@46c0 = f011a5e600cd1185</action>
        <action>maincpu.pq@46c8 = 01b002a910c6c8f7</action>
        <action>maincpu.pq@46d0 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@46d8 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@46e0 = 1069188a06b004a9</action>
        <action>maincpu.pq@46e8 = 06f010a9108698ca</action>
        <action>maincpu.pq@46f0 = 148e00c205b020a9</action>
        <action>maincpu.pq@46f8 = 0000000046c02ce4</action>
        <!--
        46c0 | 85 11    : sta $11
        46c2 | ad 00 e6 : lda $e600 // read input
        46c5 | c5 11    : cmp $11
        46c7 | f0 f7    : beq $46c0
        46c9 | a8       : tay
        46ca | a6 10    : ldx $10
        46cc | c9 02    : cmp #$02
        46ce | d0 01    : bne $46d1
        46d0 | ca       : dex       // decrease code -01
        46d1 | c9 01    : cmp #$01
        46d3 | d0 01    : bne $46d6
        46d5 | e8       : inx       // increase code +01
        46d6 | c9 08    : cmp #$08
        46d8 | d0 06    : bne $46e0
        46da | 8a       : txa       // decrease code -10
        46db | 38       : sec
        46dc | e9 10    : sbc #$10
        46de | aa       : tax
        46df | 98       : tya
        46e0 | c9 04    : cmp #$04
        46e2 | d0 06    : bne $46ea
        46e4 | 8a       : txa       // increase code +10
        46e5 | 18       : clc
        46e6 | 69 10    : adc #$10
        46e8 | aa       : tax
        46e9 | 98       : tya
        46ea | 86 10    : stx $10
        46ec | c9 10    : cmp #$10
        46ee | f0 06    : beq $46f6
        46f0 | c9 40    : cmp #$20
        46f2 | d0 05    : bne $46f9
        46f4 | a2 00    : ldx #$00  // stop sound
        46f6 | 8e 14 e4 : stx $e414 // send sound code
        46f9 | 4c a0 26 : jmp $46c0
        -->
        <action>audiocpu.pb@0c75 = 58</action> <!-- enable interrupt in playing music to stop sound -->
        <!-- display -->
        <output format="----- nebula 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@0523 =             240b</action>
        <action> maincpu.pq@46c0 = 0000000000000000</action>
        <action> maincpu.pq@46c8 = 0000000000000000</action>
        <action> maincpu.pq@46d0 = 0000000000000000</action>
        <action> maincpu.pq@46d8 = 0000000000000000</action>
        <action> maincpu.pq@46e0 = 0000000000000000</action>
        <action> maincpu.pq@46e8 = 0000000000000000</action>
        <action> maincpu.pq@46f0 = 0000000000000000</action>
        <action> maincpu.pq@46f8 = 0000000000000000</action>
        <action>audiocpu.pb@0c75 =               78</action>
    </script>
</cheat>
In "sound test mode", valid sound codes are 0x01 - 0x3f (sfx) and 0x41, 0x42 (music) but code 0x40 causes no sound response so that don't play this code.
Post Reply