skyrobo.xml
Code: Select all
<!-- Sky Robo -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@0FEDA = 6000</action> <!-- background (fighter) -->
<action>maincpu.mw@10862 = 0B02</action> <!-- background (robot) -->
<action>maincpu.mw@1CD50 = 6000</action> <!-- enemy -->
<action>maincpu.mw@1CDC6 = 6000</action> <!-- bullet -->
<action>maincpu.mw@1FDC6 = 6012</action> <!-- capture enemy -->
</script>
<script state="off">
<action>maincpu.mw@0FEDA = 6600</action>
<action>maincpu.mw@10862 = 0AA2</action>
<action>maincpu.mw@1CD50 = 6B00</action>
<action>maincpu.mw@1CDC6 = 6B00</action>
<action>maincpu.mw@1FDC6 = 6A12</action>
</script>
</cheat>
<cheat desc="walk through wall (robot)">
<script state="on">
<action>maincpu.mw@116DA = 6022</action> <!-- up -->
<action>maincpu.mw@1173A = 6050</action> <!-- left/right -->
<action>maincpu.mw@117D4 = 6028</action> <!-- down -->
<action>maincpu.mw@11846 = 6046</action> <!-- upper-left/right -->
</script>
<script state="off">
<action>maincpu.mw@116DA = 323C</action>
<action>maincpu.mw@1173A = 323C</action>
<action>maincpu.mw@117D4 = 323C</action>
<action>maincpu.mw@11846 = 323C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@104A4 = 4EB90003DE300240</action> <!-- fighter -->
<action>maincpu.mq@11264 = 4EB90003DE300800</action> <!-- robot -->
<action>maincpu.mq@3DE30 = 206D00163028FFF0</action>
<action>maincpu.mq@3DE38 = 4E75FFFFFFFFFFFF</action>
<!--
3DE30 | 206D 0016 : movea.l ($16,A5), A0
3DE34 | 3028 FFF0 : move.w (-$10,A0), D0
3DE38 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@104A4 = 206D001630100240</action>
<action>maincpu.mq@11264 = 206D001630100800</action>
<action>maincpu.mq@3DE30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE38 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@101DA = 4EB90003DE403230</action> <!-- x position -->
<action>maincpu.mq@101E4 = 4EB90003DE484E75</action> <!-- y position -->
<action>maincpu.mq@3DE40 = 610E2D4100384E75</action>
<action>maincpu.mq@3DE48 = 61062D41003C4E75</action>
<action>maincpu.mq@3DE50 = 263C00000000C3C2</action>
<action>maincpu.mq@3DE58 = 67066A0244832203</action>
<action>maincpu.mq@3DE60 = 4E75FFFFFFFFFFFF</action>
<!--
3DE40 | 610E : bsr $3de50 // x position
3DE42 | 2D41 0038 : move.l D1, ($38,A6)
3DE46 | 4E75 : rts
3DE48 | 6106 : bsr $3de50 // y position
3DE4A | 2D41 003C : move.l D1, ($3c,A6)
3DE4E | 4E75 : rts
3DE50 | 263C xxxx xxxx : move.l #$xxxx, D3 // main routine
3DE56 | C3C2 : muls.w D2, D1
3DE58 | 6706 : beq $3de60
3DE5A | 6A02 : bpl $3de5e
3DE5C | 4483 : neg.l D3
3DE5E | 2203 : move.l D3, D1
3DE60 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@3DE52 = param</action>
</script>
<script state="off">
<action>maincpu.mq@101D4 = C3C22D4100383230</action>
<action>maincpu.mq@101E4 = C3C22D41003C4E75</action>
<action>maincpu.mq@3DE40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE60 = FFFFFFFFFFFFFFFF</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.md@2F02E = 0003DE70 </action>
<action>maincpu.mq@3DE70 = 41F90008400043F9</action>
<action>maincpu.mq@3DE78 = 0008D00B12001039</action>
<action>maincpu.mq@3DE80 = 0008C001B20067F4</action>
<action>maincpu.mq@3DE88 = 0C0000FB66025310</action>
<action>maincpu.mq@3DE90 = 0C0000F766025210</action>
<action>maincpu.mq@3DE98 = 0C0000FD66040410</action>
<action>maincpu.mq@3DEA0 = 00100C0000FE6604</action>
<action>maincpu.mq@3DEA8 = 061000100C0000EF</action>
<action>maincpu.mq@3DEB0 = 660212900C0000DF</action>
<action>maincpu.mq@3DEB8 = 660412BC003F60BC</action>
<!--
3DE70 | 41F9 0008 4000 : lea $84000.l, A0 // sound code address
3DE76 | 43F9 0008 D00B : lea $8d00b.l, A1 // sound latch address
3DE7C | 1200 : move.b D0, D1
3DE7E | 1039 0008 C001 : move.b $8c001.l, D0 // read input
3DE84 | B200 : cmp.b D0, D1
3DE86 | 67F4 : beq $3de7c
3DE88 | 0C00 00FB : cmpi.b #-$5, D0
3DE8C | 6602 : bne $3de90
3DE8E | 5310 : subq.b #1, (A0) // decrease code -01
3DE90 | 0C00 00F7 : cmpi.b #-$9, D0
3DE94 | 6602 : bne $3de98
3DE96 | 5210 : addq.b #1, (A0) // increase code +01
3DE98 | 0C00 00FD : cmpi.b #-$3, D0
3DE9C | 6604 : bne $3dea2
3DE9E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3DEA2 | 0C00 00FE : cmpi.b #-$2, D0
3DEA6 | 6604 : bne $3deac
3DEA8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3DEAC | 0C00 00EF : cmpi.b #-$11, D0
3DEB0 | 6602 : bne $3deb4
3DEB2 | 1290 : move.b (A0), (A1) // play sound
3DEB4 | 0C00 00DF : cmpi.b #-$21, D0
3DEB8 | 6604 : bne $3debe
3DEBA | 12BC 003F : move.b #$3f, (A1) // stop sound
3DEBE | 60BC : bra $3de7c
-->
</script>
<script state="run">
<output format="----- sky robo 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@84000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@2F02E = 0000CA8C </action>
<action>maincpu.mq@3DE70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DE98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DEA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DEA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DEB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DEB8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.md@2EFAC = 0002EFB0</action>
</script>
<script state="off">
<action>maincpu.md@2EFAC = 0002E736</action>
</script>
</cheat>
</mamecheat>
bigfghtr.xml
Code: Select all
<!-- Tatakae! Big Fighter (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@0FEF0 = 6000</action> <!-- background (fighter) -->
<action>maincpu.mw@1089C = 0B02</action> <!-- background (robot) -->
<action>maincpu.mw@1CDFA = 6000</action> <!-- enemy -->
<action>maincpu.mw@1CE70 = 6000</action> <!-- bullet -->
<action>maincpu.mw@1FE70 = 6012</action> <!-- capture enemy -->
</script>
<script state="off">
<action>maincpu.mw@0FEF0 = 6600</action>
<action>maincpu.mw@1089C = 0AA2</action>
<action>maincpu.mw@1CDFA = 6B00</action>
<action>maincpu.mw@1CE70 = 6B00</action>
<action>maincpu.mw@1FE70 = 6A12</action>
</script>
</cheat>
<cheat desc="walk through wall (robot)">
<script state="on">
<action>maincpu.mw@11714 = 6022</action> <!-- up -->
<action>maincpu.mw@11774 = 6050</action> <!-- left/right -->
<action>maincpu.mw@1180E = 6028</action> <!-- down -->
<action>maincpu.mw@11880 = 6046</action> <!-- upper-left/right -->
</script>
<script state="off">
<action>maincpu.mw@11714 = 323C</action>
<action>maincpu.mw@11774 = 323C</action>
<action>maincpu.mw@1180E = 323C</action>
<action>maincpu.mw@11880 = 323C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@104DE = 4EB90003DF500240</action> <!-- fighter -->
<action>maincpu.mq@1129E = 4EB90003DF500800</action> <!-- robot -->
<action>maincpu.mq@3DF50 = 206D00163028FFF0</action>
<action>maincpu.mq@3DF58 = 4E75FFFFFFFFFFFF</action>
<!--
3DF50 | 206D 0016 : movea.l ($16,A5), A0
3DF54 | 3028 FFF0 : move.w (-$10,A0), D0
3DF58 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@104DE = 206D001630100240</action>
<action>maincpu.mq@1129E = 206D001630100800</action>
<action>maincpu.mq@3DF50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DF58 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x00008000">01 (slow)</item>
<item value="0x00028000">02 </item>
<item value="0x00048000">03 </item>
<item value="0x00068000">04 </item>
<item value="0x00088000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@10208 = 4EB90003DF603230</action> <!-- x position -->
<action>maincpu.mq@10212 = 4EB90003DF684E75</action> <!-- y position -->
<action>maincpu.mq@3DF60 = 610E2D4100384E75</action>
<action>maincpu.mq@3DF68 = 61062D41003C4E75</action>
<action>maincpu.mq@3DF70 = 263C00000000C3C2</action>
<action>maincpu.mq@3DF78 = 67066A0244832203</action>
<action>maincpu.mq@3DF80 = 4E75FFFFFFFFFFFF</action>
<!--
3DF60 | 610E : bsr $3df70 // x position
3DF62 | 2D41 0038 : move.l D1, ($38,A6)
3DF66 | 4E75 : rts
3DF68 | 6106 : bsr $3df70 // y position
3DF6A | 2D41 003C : move.l D1, ($3c,A6)
3DF6E | 4E75 : rts
3DF70 | 263C xxxx xxxx : move.l #$xxxx, D3 // main routine
3DF76 | C3C2 : muls.w D2, D1
3DF78 | 6706 : beq $3df80
3DF7A | 6A02 : bpl $3df7e
3DF7C | 4483 : neg.l D3
3DF7E | 2203 : move.l D3, D1
3DF80 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@3DF72 = param</action>
</script>
<script state="off">
<action>maincpu.mq@10208 = C3C22D4100383230</action>
<action>maincpu.mq@10212 = C3C22D41003C4E75</action>
<action>maincpu.mq@3DF60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DF68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DF70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DF78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DF80 = FFFFFFFFFFFFFFFF</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.md@2F0D8 = 0003DF90 </action>
<action>maincpu.mq@3DF90 = 41F90008400043F9</action>
<action>maincpu.mq@3DF98 = 0008D00B12001039</action>
<action>maincpu.mq@3DFA0 = 0008C001B20067F4</action>
<action>maincpu.mq@3DFA8 = 0C0000FB66025310</action>
<action>maincpu.mq@3DFB0 = 0C0000F766025210</action>
<action>maincpu.mq@3DFB8 = 0C0000FD66040410</action>
<action>maincpu.mq@3DFC0 = 00100C0000FE6604</action>
<action>maincpu.mq@3DFC8 = 061000100C0000EF</action>
<action>maincpu.mq@3DFD0 = 660212900C0000DF</action>
<action>maincpu.mq@3DFD8 = 660412BC003F60BC</action>
<!--
3DF90 | 41F9 0008 4000 : lea $84000.l, A0 // sound code address
3DF96 | 43F9 0008 D00B : lea $8d00b.l, A1 // sound latch address
3DF9C | 1200 : move.b D0, D1
3DF9E | 1039 0008 C001 : move.b $8c001.l, D0 // read input
3DFA4 | B200 : cmp.b D0, D1
3DFA6 | 67F4 : beq $3df9c
3DFA8 | 0C00 00FB : cmpi.b #-$5, D0
3DFAC | 6602 : bne $3dfb0
3DFAE | 5310 : subq.b #1, (A0) // decrease code -01
3DFB0 | 0C00 00F7 : cmpi.b #-$9, D0
3DFB4 | 6602 : bne $3dfb8
3DFB6 | 5210 : addq.b #1, (A0) // increase code +01
3DFB8 | 0C00 00FD : cmpi.b #-$3, D0
3DFBC | 6604 : bne $3dfc2
3DFBE | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3DFC2 | 0C00 00FE : cmpi.b #-$2, D0
3DFC6 | 6604 : bne $3dfcc
3DFC8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3DFCC | 0C00 00EF : cmpi.b #-$11, D0
3DFD0 | 6602 : bne $3dfd4
3DFD2 | 1290 : move.b (A0), (A1) // play sound
3DFD4 | 0C00 00DF : cmpi.b #-$21, D0
3DFD8 | 6604 : bne $3dfde
3DFDA | 12BC 003F : move.b #$3f, (A1) // stop sound
3DFDE | 60BC : bra $3df9c
-->
</script>
<script state="run">
<output format="----- tatakae big fighter 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@84000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@2F0D8 = 0000CA8E </action>
<action>maincpu.mq@3DF90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DF98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFD0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3DFD8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.md@2F056 = 0002F05A</action>
</script>
<script state="off">
<action>maincpu.md@2F056 = 0002E7E0</action>
</script>
</cheat>
</mamecheat>
- "no hit" : Improved code for "background (robot)". Added code for "capture enemy".
- "player speed" : Added new.