[ixion] Ixion
Posted: Tue Oct 03, 2023 11:08 am
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="<< sound code %2.2X >>" 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>