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.
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Dec 25, 2021 9:51 am
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@1e0a2 = 4e75</action> <!-- objects -->
<action>maincpu.mb@1f24e = 60</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mw@1e0a2 = 0c29</action>
<action>maincpu.mb@1f24e = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@c008 = 4e71</action> <!-- player -->
<action>maincpu.mb@c122 = 60</action> <!-- sub unit 1 -->
<action>maincpu.mb@c15e = 60</action> <!-- sub unit 2 -->
</script>
<script state="off">
<action>maincpu.mw@c008 = 660c</action>
<action>maincpu.mb@c122 = 67</action>
<action>maincpu.mb@c15e = 67</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00028000">03 </item>
<item value="0x00038000">04 </item>
<item value="0x00048000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0bfac = 0001f3a0</action> <!-- y position -->
<action>maincpu.md@0bfb8 = 0001f3a8</action> <!-- x position -->
<action>maincpu.mq@1f3a0 = 4eb90000dcd66006</action>
<action>maincpu.mq@1f3a8 = 4eb90000dcd2203c</action>
<action>maincpu.mq@1f3b0 = 000000004a876706</action>
<action>maincpu.mq@1f3b8 = 6a0244802e004e75</action>
<!--
1f3a0 | 4eb9 0000 dcd6 : jsr $dcd6.l // y position
1f3a6 | 6006 : bra $1f3ae
1f3a8 | 4eb9 0000 dcd2 : jsr $dcd2.l // x position
1f3ae | 203c xxxx xxxx : move.l #$xxxx,D0
1f3b4 | 4a87 : tst.l D7
1f3b6 | 6706 : beq $1f3be
1f3b8 | 6a02 : bpl $1f3bc
1f3ba | 4480 : neg.l D0
1f3bc | 2e00 : move.l D0,D7
1f3be | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@1f3b0 = param</action>
</script>
<script state="off">
<action>maincpu.md@0bfac = 0000dcd6</action>
<action>maincpu.md@0bfb8 = 0000dcd2</action>
<action>maincpu.mq@1f3a0 = ffffffffffffffff</action>
<action>maincpu.mq@1f3a8 = ffffffffffffffff</action>
<action>maincpu.mq@1f3b0 = ffffffffffffffff</action>
<action>maincpu.mq@1f3b8 = 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.mq@0a0dc = 4eb90001f3c043fa</action>
<action>maincpu.mq@1f3c0 = 41f9000601001401</action>
<action>maincpu.mq@1f3c8 = 12390007a003b401</action>
<action>maincpu.mq@1f3d0 = 67f40c0100fe6602</action>
<action>maincpu.mq@1f3d8 = 53100c0100fd6602</action>
<action>maincpu.mq@1f3e0 = 52100c0100fb6604</action>
<action>maincpu.mq@1f3e8 = 041000100c0100f7</action>
<action>maincpu.mq@1f3f0 = 6604061000100c01</action>
<action>maincpu.mq@1f3f8 = 00ef66041010600a</action>
<action>maincpu.mq@1f400 = 0c0100df660a103c</action>
<action>maincpu.mq@1f408 = 00ff13c00007a802</action>
<action>maincpu.mq@1f410 = 60b4ffffffffffff</action>
<!--
1f3c0 | 41f9 0006 0100 : lea $60100.l,A0 // sound code address
1f3c6 | 1401 : move.b D1,D2
1f3c8 | 1239 0007 a003 : move.b $7a003.l,D1 // read input
1f3ce | b401 : cmp.b D1,D2
1f3d0 | 67f4 : beq $1f3c6
1f3d2 | 0c01 00fe : cmpi.b #-$2,D1
1f3d6 | 6602 : bne $1f3da
1f3d8 | 5310 : subq.b #1,(A0) // decrease code -01
1f3da | 0c01 00fd : cmpi.b #-$3,D1
1f3de | 6602 : bne $1f3e2
1f3e0 | 5210 : addq.b #1,(A0) // increase code +01
1f3e2 | 0c01 00fb : cmpi.b #-$5,D1
1f3e6 | 6604 : bne $1f3ec
1f3e8 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
1f3ec | 0c01 00f7 : cmpi.b #-$9,D1
1f3f0 | 6604 : bne $1f3f6
1f3f2 | 0610 0010 : addi.b #$10,(A0) // increase code +10
1f3f6 | 0c01 00ef : cmpi.b #-$11,D1
1f3fa | 6604 : bne $1f400
1f3fc | 1010 : move.b (A0),D0 // play sound
1f3fe | 600a : bra $1f40a
1f400 | 0c01 00df : cmpi.b #-$21,D1
1f404 | 660a : bne $1f410
1f406 | 103c 00ff : move.b #$ff,D0 // stop sound
1f40a | 13c0 0007 a802 : move.b D0,$7a802.l // send sound code
1f410 | 60b4 : bra $1f3c6
-->
</script>
<script state="run">
<output format="----- raiga 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="<< sound code %2.2X >>" line="19" align="center">
<argument>maincpu.pb@60100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0a0dc = 41f90007000043fa</action>
<action>maincpu.mq@1f3c0 = ffffffffffffffff</action>
<action>maincpu.mq@1f3c8 = ffffffffffffffff</action>
<action>maincpu.mq@1f3d0 = ffffffffffffffff</action>
<action>maincpu.mq@1f3d8 = ffffffffffffffff</action>
<action>maincpu.mq@1f3e0 = ffffffffffffffff</action>
<action>maincpu.mq@1f3e8 = ffffffffffffffff</action>
<action>maincpu.mq@1f3f0 = ffffffffffffffff</action>
<action>maincpu.mq@1f3f8 = ffffffffffffffff</action>
<action>maincpu.mq@1f400 = ffffffffffffffff</action>
<action>maincpu.mq@1f408 = ffffffffffffffff</action>
<action>maincpu.mq@1f410 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0528 = 602c</action> <!-- rom -->
<action>maincpu.mw@087e = 7e1e</action> <!-- others -->
</script>
<script state="off">
<action>maincpu.mw@0528 = 41fa</action>
<action>maincpu.mw@087e = 7dd0</action>
</script>
</cheat>
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Oct 21, 2023 8:23 am
stratof.xml
Code: Select all
<!-- Raiga - Strato Fighter (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@1E03E = 4E75</action> <!-- objects -->
<action>maincpu.mw@1F1EA = 6006</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mw@1E03E = 0C29</action>
<action>maincpu.mw@1F1EA = 6706</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@BFA4 = 4E71</action> <!-- player -->
<action>maincpu.mw@C0BE = 600C</action> <!-- sub unit (upper) -->
<action>maincpu.mw@C0FA = 600C</action> <!-- sub unit (lower) -->
</script>
<script state="off">
<action>maincpu.mw@BFA4 = 660C</action>
<action>maincpu.mw@C0BE = 670C</action>
<action>maincpu.mw@C0FA = 670C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00058000">04 </item>
<item value="0x00078000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0BF48 = 0001F340 </action> <!-- y position -->
<action>maincpu.md@0BF54 = 0001F348 </action> <!-- x position -->
<action>maincpu.mq@1F340 = 4EB90000DC726006</action>
<action>maincpu.mq@1F348 = 4EB90000DC6E203C</action>
<action>maincpu.mq@1F350 = 000000004A876706</action>
<action>maincpu.mq@1F358 = 6A0244802E004E75</action>
<!--
1F340 | 4EB9 0000 DC72 : jsr $dc72.l // y position
1F346 | 6006 : bra $1f34e
1F348 | 4EB9 0000 DC6E : jsr $dc6e.l // x position
1F34E | 203C xxxx xxxx : move.l #$xxxx,D0
1F354 | 4A87 : tst.l D7
1F356 | 6706 : beq $1f35e
1F358 | 6A02 : bpl $1f35c
1F35A | 4480 : neg.l D0
1F35C | 2E00 : move.l D0,D7
1F35E | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@1F350 = param</action>
</script>
<script state="off">
<action>maincpu.md@0BF48 = 0000DC72 </action>
<action>maincpu.md@0BF54 = 0000DC6E </action>
<action>maincpu.mq@1F340 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F348 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F350 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F358 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@C2CF = 1A</action> <!-- ion launcher -->
<action>maincpu.mb@C341 = 06</action> <!-- shot gun -->
<action>maincpu.mb@C3D9 = 08</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@C2CF = 02</action>
<action>maincpu.mb@C341 = 01</action>
<action>maincpu.mb@C3D9 = 01</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@07DF2 = 4EB90001F3604E71</action>
<action>maincpu.mq@1F360 = 41F90006100043F9</action>
<action>maincpu.mq@1F368 = 0007A80212001029</action>
<action>maincpu.mq@1F370 = F801B20067F60C00</action>
<action>maincpu.mq@1F378 = 00FE660253100C00</action>
<action>maincpu.mq@1F380 = 00FD660252100C00</action>
<action>maincpu.mq@1F388 = 00FB660404100010</action>
<action>maincpu.mq@1F390 = 0C0000F766040610</action>
<action>maincpu.mq@1F398 = 00100C0000EF6602</action>
<action>maincpu.mq@1F3A0 = 12900C0000DF6604</action>
<action>maincpu.mq@1F3A8 = 12BC00FF60BEFFFF</action>
<!--
1F360 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
1F366 | 43F9 0007 A802 : lea $7a802.l, A1 // sound latch address
1F36C | 1200 : move.b D0, D1
1F36E | 1029 F801 : move.b (-$7ff,A1), D0 // read input ($7a003)
1F372 | B200 : cmp.b D0, D1
1F374 | 67F6 : beq $1f36c
1F376 | 0C00 00FE : cmpi.b #-$2, D0
1F37A | 6602 : bne $1f37e
1F37C | 5310 : subq.b #1, (A0) // decrease code -01
1F37E | 0C00 00FD : cmpi.b #-$3, D0
1F382 | 6602 : bne $1f386
1F384 | 5210 : addq.b #1, (A0) // increase code +01
1F386 | 0C00 00FB : cmpi.b #-$5, D0
1F38A | 6604 : bne $1f390
1F38C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1F390 | 0C00 00F7 : cmpi.b #-$9, D0
1F394 | 6604 : bne $1f39a
1F396 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F39A | 0C00 00EF : cmpi.b #-$11, D0
1F39E | 6602 : bne $1f3a2
1F3A0 | 1290 : move.b (A0), (A1) // play sound
1F3A2 | 0C00 00DF : cmpi.b #-$21, D0
1F3A6 | 6604 : bne $1f3ac
1F3A8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
1F3AC | 60BE : bra $1f36c
-->
</script>
<script state="run">
<output format="----- raiga 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="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@07DF2 = 610013626100B70C</action>
<action>maincpu.mq@1F360 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F368 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F370 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F378 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F380 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F388 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F390 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F398 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F4A8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0528 = 602C</action> <!-- rom -->
<action>maincpu.mw@087E = 7DBA</action> <!-- others -->
</script>
<script state="off">
<action>maincpu.mw@0528 = 41FA</action>
<action>maincpu.mw@087E = 7D6C</action>
</script>
</cheat>
</mamecheat>
raiga.xml
Code: Select all
<!-- Raiga - Strato Fighter (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@1E0A2 = 4E75</action> <!-- objects -->
<action>maincpu.mw@1F24E = 6006</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mw@1E0A2 = 0C29</action>
<action>maincpu.mw@1F24E = 6706</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@C008 = 4E71</action> <!-- player -->
<action>maincpu.mw@C122 = 600C</action> <!-- sub unit (upper) -->
<action>maincpu.mw@C15E = 600C</action> <!-- sub unit (lower) -->
</script>
<script state="off">
<action>maincpu.mw@C008 = 660C</action>
<action>maincpu.mw@C122 = 670C</action>
<action>maincpu.mw@C15E = 670C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00018000">02 </item>
<item value="0x00038000">03 </item>
<item value="0x00058000">04 </item>
<item value="0x00078000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0BFAC = 0001F3A0 </action> <!-- y position -->
<action>maincpu.md@0BFB8 = 0001F3A8 </action> <!-- x position -->
<action>maincpu.mq@1F3A0 = 4EB90000DCD66006</action>
<action>maincpu.mq@1F3A8 = 4EB90000DCD2203C</action>
<action>maincpu.mq@1F3B0 = 000000004A876706</action>
<action>maincpu.mq@1F3B8 = 6A0244802E004E75</action>
<!--
1F3A0 | 4EB9 0000 DCD6 : jsr $dcd6.l // y position
1F3A6 | 6006 : bra $1f3ae
1F3A8 | 4EB9 0000 DCD2 : jsr $dcd2.l // x position
1F3AE | 203C xxxx xxxx : move.l #$xxxx,D0
1F3B4 | 4A87 : tst.l D7
1F3B6 | 6706 : beq $1f3be
1F3B8 | 6A02 : bpl $1f3bc
1F3BA | 4480 : neg.l D0
1F3BC | 2E00 : move.l D0,D7
1F3BE | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@1F3B0 = param</action>
</script>
<script state="off">
<action>maincpu.md@0BFAC = 0000DCD6 </action>
<action>maincpu.md@0BFB8 = 0000DCD2 </action>
<action>maincpu.mq@1F3A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3B8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up">
<script state="on">
<action>maincpu.mb@C333 = 1A</action> <!-- ion launcher -->
<action>maincpu.mb@C3A5 = 06</action> <!-- shot gun -->
<action>maincpu.mb@C43D = 08</action> <!-- vertical -->
</script>
<script state="off">
<action>maincpu.mb@C333 = 02</action>
<action>maincpu.mb@C3A5 = 01</action>
<action>maincpu.mb@C43D = 01</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@07E56 = 4EB90001F3C04E71</action>
<action>maincpu.mq@1F3C0 = 41F90006100043F9</action>
<action>maincpu.mq@1F3C8 = 0007A80212001029</action>
<action>maincpu.mq@1F3D0 = F801B20067F60C00</action>
<action>maincpu.mq@1F3D8 = 00FE660253100C00</action>
<action>maincpu.mq@1F3E0 = 00FD660252100C00</action>
<action>maincpu.mq@1F3E8 = 00FB660404100010</action>
<action>maincpu.mq@1F3F0 = 0C0000F766040610</action>
<action>maincpu.mq@1F3F8 = 00100C0000EF6602</action>
<action>maincpu.mq@1F400 = 12900C0000DF6604</action>
<action>maincpu.mq@1F408 = 12BC00FF60BEFFFF</action>
<!--
1F3C0 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
1F3C6 | 43F9 0007 A802 : lea $7a802.l, A1 // sound latch address
1F3CC | 1200 : move.b D0, D1
1F3CE | 1029 F801 : move.b (-$7ff,A1), D0 // read input ($7a003)
1F3D2 | B200 : cmp.b D0, D1
1F3D4 | 67F6 : beq $1f3cc
1F3D6 | 0C00 00FE : cmpi.b #-$2, D0
1F3DA | 6602 : bne $1f3de
1F3DC | 5310 : subq.b #1, (A0) // decrease code -01
1F3DE | 0C00 00FD : cmpi.b #-$3, D0
1F3E2 | 6602 : bne $1f3e6
1F3E4 | 5210 : addq.b #1, (A0) // increase code +01
1F3E6 | 0C00 00FB : cmpi.b #-$5, D0
1F3EA | 6604 : bne $1f3f0
1F3EC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1F3F0 | 0C00 00F7 : cmpi.b #-$9, D0
1F3F4 | 6604 : bne $1f3fa
1F3F6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F3FA | 0C00 00EF : cmpi.b #-$11, D0
1F3FE | 6602 : bne $1f402
1F400 | 1290 : move.b (A0), (A1) // play sound
1F402 | 0C00 00DF : cmpi.b #-$21, D0
1F406 | 6604 : bne $1f40c
1F408 | 12BC 00FF : move.b #$ff, (A1) // stop sound
1F40C | 60BE : bra $1f3cc
-->
</script>
<script state="run">
<output format="----- raiga 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="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@07E56 = 610013626100B6A8</action>
<action>maincpu.mq@1F3C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F3F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F400 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F408 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0528 = 602C</action> <!-- rom -->
<action>maincpu.mw@087E = 7E1E</action> <!-- others -->
</script>
<script state="off">
<action>maincpu.mw@0528 = 41FA</action>
<action>maincpu.mw@087E = 7DD0</action>
</script>
</cheat>
</mamecheat>
"max bullets up" : Added new.