[ixion] Ixion

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

[ixion] Ixion

Post by jman »

Code: Select all

<!-- Ixion (prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@1536 = 18  </action> <!-- out of tile -->
            <action>maincpu.ow@189B = C9AF</action> <!-- background -->
            <action>maincpu.ob@1F9C = C9  </action> <!-- bullet -->
            <action>maincpu.ob@21AF = 18  </action> <!-- kailo/oliak -->
        </script>
        <script state="off">
            <action>maincpu.ob@1536 = 28  </action>
            <action>maincpu.ow@189B = CDE5</action>
            <action>maincpu.ob@1F9C = 21  </action>
            <action>maincpu.ob@21AF = 28  </action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.ob@129E = C3              </action>
            <action>maincpu.mw@129F = 4D00            </action>
            <action>maincpu.oq@4D00 = CDFFFFCBDDC5FF06</action>
            <action>maincpu.mq@4D00 = FF4E01FFFFFF00FF</action>
            <action>maincpu.oq@4D08 = FFFFC9FF10C1FFFF</action>
            <action>maincpu.mq@4D08 = FFFFFFF5FFFF12A2</action>
            <!--
            4D00 | 06 xx       : ld   b,$xx
            4D02 | C5          : push bc
            4D03 | DD CB 01 4E : bit  1,(ix+$01)
            4D07 | CD A2 12    : call $12A2
            4D0A | C1          : pop  bc
            4D0B | 10 F5       : djnz $4D02
            4D0D | C9          : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@4D01 = param</action>
        </script>
        <script state="off">
            <action>maincpu.ob@129E = DD              </action>
            <action>maincpu.mw@129F = 016B            </action>
            <action>maincpu.oq@4D00 = D757D757D757D757</action>
            <action>maincpu.mq@4D00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D08 = D757D757D757D757</action>
            <action>maincpu.mq@4D08 = FFFFFFFFFFFFFFFF</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@2789 = 4D10            </action>
            <action>maincpu.oq@4D10 = FFE6FFFF3AFFFF21</action>
            <action>maincpu.mq@4D10 = 04FFC100FF6010FF</action>
            <action>maincpu.oq@4D18 = B1FFFF3A4F070707</action>
            <action>maincpu.mq@4D18 = FFC001FFFFFFFFFF</action>
            <action>maincpu.oq@4D20 = FF20FFFEFF2847B8</action>
            <action>maincpu.mq@4D20 = 01FF02FFEFFFFFFF</action>
            <action>maincpu.oq@4D28 = FFFE34FF20FFFE35</action>
            <action>maincpu.mq@4D28 = 08FFFF01FF01FFFF</action>
            <action>maincpu.oq@4D30 = FFFEFF18FF3EFF20</action>
            <action>maincpu.mq@4D30 = 04FF06FFF0FF04FF</action>
            <action>maincpu.oq@4D38 = FE787786FF3EFF20</action>
            <action>maincpu.mq@4D38 = FFFFFFFF10FF05FF</action>
            <action>maincpu.oq@4D40 = FFFEFF187EFF20FF</action>
            <action>maincpu.mq@4D40 = 20FF06FFFF03FF10</action>
            <action>maincpu.oq@4D48 = 18FFFF32FF3EFF20</action>
            <action>maincpu.mq@4D48 = FFFF3CFF03FF05FF</action>
            <action>maincpu.oq@4D50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4D50 = FFFFFFFFFFFFFFC2</action>
            <!--
            4D10 | 21 10 60 : ld   hl,$6010  // sound code address
            4D13 | 3A 00 C1 : ld   a,($C100) // read start button
            4D16 | E6 04    : and  $04
            4D18 | 07       : rlca
            4D19 | 07       : rlca
            4D1A | 07       : rlca
            4D1B | 4F       : ld   c,a
            4D1C | 3A 01 C0 : ld   a,($C001) // read other inputs
            4D1F | B1       : or   c
            4D20 | B8       : cp   b
            4D21 | 47       : ld   b,a
            4D22 | 28 EF    : jr   z,$4D13
            4D24 | FE 02    : cp   $02
            4D26 | 20 01    : jr   nz,$4D29
            4D28 | 35       : dec  (hl)      // decrease code -01
            4D29 | FE 01    : cp   $01
            4D2B | 20 01    : jr   nz,$4D2E
            4D2D | 34       : inc  (hl)      // increase code +01
            4D2E | FE 08    : cp   $08
            4D30 | 20 04    : jr   nz,$4D36
            4D32 | 3E F0    : ld   a,$F0     // decrease code -10
            4D34 | 18 06    : jr   $4D3C
            4D36 | FE 04    : cp   $04
            4D38 | 20 05    : jr   nz,$4D3F
            4D3A | 3E 10    : ld   a,$10     // increase code +10
            4D3C | 86       : add  a,(hl)
            4D3D | 77       : ld   (hl),a
            4D3E | 78       : ld   a,b
            4D3F | FE 10    : cp   $10
            4D41 | 20 03    : jr   nz,$4D46
            4D43 | 7E       : ld   a,(hl)    // play sound
            4D44 | 18 06    : jr   $4D4C
            4D46 | FE 20    : cp   $20
            4D48 | 20 05    : jr   nz,$4D4F
            4D4A | 3E 03    : ld   a,$03     // stop sound
            4D4C | 32 3C FF : ld   ($FF3C),a // send sound code
            4D4F | 18 C2    : jr   $4D13
            -->
        </script>
        <script state="run">
            <output format="----- ixion 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 1 : 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@6010</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@2789 = 4030            </action>
            <action>maincpu.oq@4D10 = 575F575F575F575F</action>
            <action>maincpu.mq@4D10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D18 = 575F575F575F575F</action>
            <action>maincpu.mq@4D18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D20 = D757D757D757D757</action>
            <action>maincpu.mq@4D20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D28 = D757D757D757D757</action>
            <action>maincpu.mq@4D28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D30 = 575F575F575F575F</action>
            <action>maincpu.mq@4D30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D38 = 575F575F575F575F</action>
            <action>maincpu.mq@4D38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D40 = D757D757D757D757</action>
            <action>maincpu.mq@4D40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D48 = D757D757D757D757</action>
            <action>maincpu.mq@4D48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@4D50 = 575F575F575F575F</action>
            <action>maincpu.mq@4D50 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"no hit" : For some reson, you can move on no-tile space.
Post Reply