[shootoutj] Shoot Out

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: 842
Joined: Tue Dec 01, 2020 1:24 pm

[shootoutj] Shoot Out

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@1b3d = 0290</action> <!-- bullet [boss] ($9b3d) -->
        <action>maincpu.mw@85b3 = 40f0</action> <!-- bullet ($45b3) -->
        <action>maincpu.mw@9080 = 13f0</action> <!-- enemy ($5080) -->
        <action>maincpu.mw@97f2 = 0290</action> <!-- dog ($57f2) -->
        <action>maincpu.mw@9b35 = 10f0</action> <!-- flower pot ($5b35) -->
    </script>
    <script state="off">
        <action>maincpu.mw@1b3d = 80a9</action>
        <action>maincpu.mw@85b3 = 04a9</action>
        <action>maincpu.mw@9080 = 64a5</action>
        <action>maincpu.mw@97f2 = 80a9</action>
        <action>maincpu.mw@9b35 = 0ca9</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@8045 = 5b</action> <!-- ($4045) -->
    </script>
    <script state="off">
        <action>maincpu.mb@8045 = 5c</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="change">
        <action>maincpu.mb@81a8 = param</action> <!-- left ($41a8) -->
        <action>maincpu.mb@81b5 = param</action> <!-- right ($41b5) -->
    </script>
    <script state="off">
        <action>maincpu.mb@81a8 = 01</action>
        <action>maincpu.mb@81b5 = 01</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <comment>this code has an impact on throwing back enemy</comment>
    <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="change">
        <action>maincpu.mb@82a8 =  param</action> <!-- up ($42a8) -->
        <action>maincpu.mb@82ab =  param</action> <!-- upper-left : left ($42ab) -->
        <action>maincpu.mb@82ac =  param</action> <!-- upper-left : up ($42ac) -->
        <action>maincpu.mb@82af = -param</action> <!-- upper-right : right ($42af) -->
        <action>maincpu.mb@82b0 =  param</action> <!-- upper-right : up ($42b0) -->
        <action>maincpu.mb@82b3 =  param</action> <!-- left ($42b3) -->
        <action>maincpu.mb@82b7 = -param</action> <!-- right ($42b4) -->
        <action>maincpu.mb@82bb =  param</action> <!-- upper-left [crouch] : left ($42bb) -->
        <action>maincpu.mb@82bc =  param</action> <!-- upper-left [crouch] : up ($42bc) -->
        <action>maincpu.mb@82bf = -param</action> <!-- upper-right [crouch] : right ($42bf) -->
        <action>maincpu.mb@82c0 =  param</action> <!-- upper-right [crouch] : up ($42c0) -->
        <action>maincpu.mb@82c4 =  param</action> <!-- up [crouch] ($42c4) -->
    </script>
    <script state="off">
        <action>maincpu.mb@82a8 = 08</action>
        <action>maincpu.mb@82ab = 06</action>
        <action>maincpu.mb@82ac = 07</action>
        <action>maincpu.mb@82af = fa</action>
        <action>maincpu.mb@82b0 = 07</action>
        <action>maincpu.mb@82b3 = 0c</action>
        <action>maincpu.mb@82b7 = f4</action>
        <action>maincpu.mb@82bb = 05</action>
        <action>maincpu.mb@82bf = 07</action>
        <action>maincpu.mb@82bf = fb</action>
        <action>maincpu.mb@82c0 = 07</action>
        <action>maincpu.mb@82c4 = 08</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@6332 =             ff80</action> <!-- ($e332) -->
        <action>maincpu.mq@7f80 = 848086ffa001a258</action>
        <action>maincpu.mq@7f88 = f081c5a81001ad81</action>
        <action>maincpu.mq@7f90 = fec9ca01d0fdc9f4</action>
        <action>maincpu.mq@7f98 = 4807d0f7c9e801d0</action>
        <action>maincpu.mq@7fa0 = fbc968aa10e9388a</action>
        <action>maincpu.mq@7fa8 = aa1069188a4807d0</action>
        <action>maincpu.mq@7fb0 = 86d08604d0efc968</action>
        <action>maincpu.mq@7fb8 = c982a512d0dfc982</action>
        <action>maincpu.mq@7fc0 = a904b01ec9089016</action>
        <action>maincpu.mq@7fc8 = 4cd08590a902d096</action>
        <action>maincpu.mq@7fd0 = 000000000000ff85</action>
        <!--
        ff80 | 58       : cli       // enable interrupt
        ff81 | a2 01    : ldx #$01  // initialize sound code value
        ff83 | a0 ff    : ldy #$ff  // initialize input value
        ff85 | 86 80    : stx $80
        ff87 | 84 81    : sty $81
        ff89 | ad 01 10 : lda $1001 // read input
        ff8c | a8       : tay
        ff8d | c5 81    : cmp $81
        ff8f | f0 f4    : beq $ff85
        ff91 | c9 fd    : cmp #$fd
        ff93 | d0 01    : bne $ff96
        ff95 | ca       : dex       // decrease code -01
        ff96 | c9 fe    : cmp #$fe
        ff98 | d0 01    : bne $ff9b
        ff9a | e8       : inx       // increase code +01
        ff9b | c9 f7    : cmp #$f7
        ff9d | d0 07    : bne $ffa6
        ff9f | 48       : pha       // decrease code -10
        ffa0 | 8a       : txa
        ffa1 | 38       : sec
        ffa2 | e9 10    : sbc #$10
        ffa4 | aa       : tax
        ffa5 | 68       : pla
        ffa6 | c9 fb    : cmp #$fb
        ffa8 | d0 07    : bne $ffb1
        ffaa | 48       : pha       // increase code +10
        ffab | 8a       : txa
        ffac | 18       : clc
        ffad | 69 10    : adc #$10
        ffaf | aa       : tax
        ffb0 | 68       : pla
        ffb1 | c9 ef    : cmp #$ef
        ffb3 | d0 04    : bne $ffb9
        ffb5 | 86 d0    : stx $d0   // play sound
        ffb7 | 86 82    : stx $82
        ffb9 | c9 df    : cmp #$df
        ffbb | d0 12    : bne $ffcf
        ffbd | a5 82    : lda $82   // stop sound
        ffbf | c9 16    : cmp #$16
        ffc1 | 90 08    : bcc $ffcb
        ffc3 | c9 1e    : cmp #$1e
        ffc5 | b0 04    : bcs $ffcb
        ffc7 | a9 96    : lda #$96
        ffc9 | d0 02    : bne $ffcd
        ffcb | a9 90    : lda #$90
        ffcd | 85 d0    : sta $d0   // send sound code
        ffcf | 4c 85 ff : jmp $ff85
        -->
    </script>
    <script state="run">
        <output format="----- shoot out 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@0080</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@6332 =             e400</action>
        <action>maincpu.mq@7f80 = ffffffffffffffff</action>
        <action>maincpu.mq@7f88 = ffffffffffffffff</action>
        <action>maincpu.mq@7f90 = ffffffffffffffff</action>
        <action>maincpu.mq@7f98 = ffffffffffffffff</action>
        <action>maincpu.mq@7fa0 = ffffffffffffffff</action>
        <action>maincpu.mq@7fa8 = ffffffffffffffff</action>
        <action>maincpu.mq@7fb0 = ffffffffffffffff</action>
        <action>maincpu.mq@7fb8 = ffffffffffffffff</action>
        <action>maincpu.mq@7fc0 = 0000000000000000</action>
        <action>maincpu.mq@7fc8 = 0000000000000000</action>
    </script>
</cheat>
"bullet speed" influences the speed of bending enemy backward after bullet hit though.
Post Reply