bayroute.xml
Code: Select all
<!-- Bay Route (set 3, World) (FD1094 317-0116) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="run">
<action>maincpu.ob@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.ob@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.ob@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.ob@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="run">
<action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.ob@53BF = 02</action> <!-- bomb -->
<action>maincpu.ob@53EB = 02</action> <!-- spread shot -->
<action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.ob@5327 = 1A</action>
<action>maincpu.ob@53BF = 22</action>
<action>maincpu.ob@53EB = 5E</action>
<action>maincpu.ob@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.oq@04102 = 4EB90001F8E04EB9</action>
<action>maincpu.oq@0410A = 0001F8F208E90001</action>
<action>maincpu.oq@1F8E0 = 203900500A80611C</action>
<action>maincpu.oq@1F8E8 = 23C000500A80DC80</action>
<action>maincpu.oq@1F8F0 = 4E75203900500A84</action>
<action>maincpu.oq@1F8F8 = 610A23C000500A84</action>
<action>maincpu.oq@1F900 = DE804E754A390050</action>
<action>maincpu.oq@1F908 = 0A986A10223C0000</action>
<action>maincpu.oq@1F910 = 00004A8067066A02</action>
<action>maincpu.oq@1F918 = 448120014E75FFFF</action>
<action>maincpu.od@1F90E = param </action>
<!--
1F8E0 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
1F8E6 | 611C : bsr $1f904
1F8E8 | 23C0 0050 0A80 : move.l D0, $500a80.l
1F8EE | DC80 : add.l D0, D6
1F8F0 | 4E75 : rts
1F8F2 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
1F8F8 | 610A : bsr $1f904
1F8FA | 23C0 0050 0A84 : move.l D0, $500a84.l
1F900 | DE80 : add.l D0, D7
1F902 | 4E75 : rts
1F904 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
1F90A | 6A10 : bpl $1f91c
1F90C | 223C xxxx xxxx : move.l #$xxxx, D1
1F912 | 4A80 : tst.l D0
1F914 | 6706 : beq $1f91c
1F916 | 6A02 : bpl $1f91a
1F918 | 4481 : neg.l D1
1F91A | 2001 : move.l D1, D0
1F91C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.oq@04102 = DCB900500A80DEB9</action>
<action>maincpu.oq@0410A = 00500A8408E90001</action>
<action>maincpu.oq@1F8E0 = A508A508A508A508</action>
<action>maincpu.oq@1F8E8 = A508A508A508A508</action>
<action>maincpu.oq@1F8F0 = A508A508A508A508</action>
<action>maincpu.oq@1F8F8 = A508A508A508A508</action>
<action>maincpu.oq@1F900 = A508A508A508A508</action>
<action>maincpu.oq@1F908 = A508A508A508A508</action>
<action>maincpu.oq@1F910 = A508A508A508A508</action>
<action>maincpu.oq@1F918 = A508A508A508A508</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="run">
<!-- main routine -->
<action>maincpu.od@01088 = 0001F920 </action>
<action>maincpu.oq@1F920 = 41F90050000043F9</action>
<action>maincpu.oq@1F928 = 00FF000712001039</action>
<action>maincpu.oq@1F930 = 00901003B20067F4</action>
<action>maincpu.oq@1F938 = 0C00007F66025310</action>
<action>maincpu.oq@1F940 = 0C0000BF66025210</action>
<action>maincpu.oq@1F948 = 0C0000EF66040410</action>
<action>maincpu.oq@1F950 = 00100C0000DF6604</action>
<action>maincpu.oq@1F958 = 061000100C0000FD</action>
<action>maincpu.oq@1F960 = 660212900C0000FB</action>
<action>maincpu.oq@1F968 = 660412BC00FF60BC</action>
<!--
1F920 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
1F926 | 43F9 00FF 0007 : lea $ff0007.l, A1 // sound latch address
1F92C | 1200 : move.b D0, D1
1F92E | 1039 0090 1003 : move.b $901003.l, D0 // read input
1F934 | B200 : cmp.b D0, D1
1F936 | 67F4 : beq $1f92c
1F938 | 0C00 007F : cmpi.b #$7f, D0
1F93C | 6602 : bne $1f940
1F93E | 5310 : subq.b #1, (A0) // decrease code -01
1F940 | 0C00 00BF : cmpi.b #-$41, D0
1F944 | 6602 : bne $1f948
1F946 | 5210 : addq.b #1, (A0) // increase code +01
1F948 | 0C00 00EF : cmpi.b #-$11, D0
1F94C | 6604 : bne $1f952
1F94E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1F952 | 0C00 00DF : cmpi.b #-$21, D0
1F956 | 6604 : bne $1f95c
1F958 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F95C | 0C00 00FD : cmpi.b #-$3, D0
1F960 | 6602 : bne $1f964
1F962 | 1290 : move.b (A0), (A1) // play sound
1F964 | 0C00 00FB : cmpi.b #-$5, D0
1F968 | 6604 : bne $1f96e
1F96A | 12BC 00FF : move.b #$ff, (A1) // stop sound
1F96E | 60BC : bra $1f92c
-->
<!-- display -->
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.od@01088 = 0001E376 </action>
<action>maincpu.oq@1F920 = A508A508A508A508</action>
<action>maincpu.oq@1F928 = A508A508A508A508</action>
<action>maincpu.oq@1F930 = A508A508A508A508</action>
<action>maincpu.oq@1F938 = A508A508A508A508</action>
<action>maincpu.oq@1F940 = A508A508A508A508</action>
<action>maincpu.oq@1F948 = A508A508A508A508</action>
<action>maincpu.oq@1F950 = A508A508A508A508</action>
<action>maincpu.oq@1F958 = A508A508A508A508</action>
<action>maincpu.oq@1F960 = A508A508A508A508</action>
<action>maincpu.oq@1F968 = A508A508A508A508</action>
</script>
</cheat>
</mamecheat>
bayroutej.xml
Code: Select all
<!-- Bay Route (set 2, Japan) (FD1094 317-0115) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="run">
<action>maincpu.ob@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.ob@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.ob@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.ob@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="run">
<action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.ob@53BF = 02</action> <!-- bomb -->
<action>maincpu.ob@53EB = 02</action> <!-- spread shot -->
<action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.ob@5327 = 1A</action>
<action>maincpu.ob@53BF = 22</action>
<action>maincpu.ob@53EB = 5E</action>
<action>maincpu.ob@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.oq@04102 = 4EB90001FC304EB9</action>
<action>maincpu.oq@0410A = 0001FC4208E90001</action>
<action>maincpu.oq@1FC30 = 203900500A80611C</action>
<action>maincpu.oq@1FC38 = 23C000500A80DC80</action>
<action>maincpu.oq@1FC40 = 4E75203900500A84</action>
<action>maincpu.oq@1FC48 = 610A23C000500A84</action>
<action>maincpu.oq@1FC50 = DE804E754A390050</action>
<action>maincpu.oq@1FC58 = 0A986A10223C0000</action>
<action>maincpu.oq@1FC60 = 00004A8067066A02</action>
<action>maincpu.oq@1FC68 = 448120014E75FFFF</action>
<action>maincpu.od@1FC5E = param </action>
<!--
1FC30 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
1FC36 | 611C : bsr $1fc54
1FC38 | 23C0 0050 0A80 : move.l D0, $500a80.l
1FC3E | DC80 : add.l D0, D6
1FC40 | 4E75 : rts
1FC42 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
1FC48 | 610A : bsr $1fc54
1FC4A | 23C0 0050 0A84 : move.l D0, $500a84.l
1FC50 | DE80 : add.l D0, D7
1FC52 | 4E75 : rts
1FC54 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
1FC5A | 6A10 : bpl $1fc6c
1FC5C | 223C xxxx xxxx : move.l #$xxxx, D1
1FC62 | 4A80 : tst.l D0
1FC64 | 6706 : beq $1fc6c
1FC66 | 6A02 : bpl $1fc6a
1FC68 | 4481 : neg.l D1
1FC6A | 2001 : move.l D1, D0
1FC6C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.oq@04102 = DCB900500A80DEB9</action>
<action>maincpu.oq@0410A = 00500A8408E90001</action>
<action>maincpu.oq@1FC30 = AD80A422AD20A482</action>
<action>maincpu.oq@1FC38 = A422A422A590A5A0</action>
<action>maincpu.oq@1FC40 = A482A590A422A590</action>
<action>maincpu.oq@1FC48 = A482AD20A5A0A482</action>
<action>maincpu.oq@1FC50 = A482A422A482A422</action>
<action>maincpu.oq@1FC58 = AD20AD20A5A0A422</action>
<action>maincpu.oq@1FC60 = AD20AD20A482A422</action>
<action>maincpu.oq@1FC68 = A482A5A0A5A0A482</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="run">
<!-- main routine -->
<action>maincpu.od@01088 = 0001FC70 </action>
<action>maincpu.oq@1FC70 = 41F90050000043F9</action>
<action>maincpu.oq@1FC78 = 00FF000712001039</action>
<action>maincpu.oq@1FC80 = 00901003B20067F4</action>
<action>maincpu.oq@1FC88 = 0C00007F66025310</action>
<action>maincpu.oq@1FC90 = 0C0000BF66025210</action>
<action>maincpu.oq@1FC98 = 0C0000EF66040410</action>
<action>maincpu.oq@1FCA0 = 00100C0000DF6604</action>
<action>maincpu.oq@1FCA8 = 061000100C0000FD</action>
<action>maincpu.oq@1FCB0 = 660212900C0000FB</action>
<action>maincpu.oq@1FCB8 = 660412BC00FF60BC</action>
<!--
1FC70 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
1FC76 | 43F9 00FF 0007 : lea $ff0007.l, A1 // sound latch address
1FC7C | 1200 : move.b D0, D1
1FC7E | 1039 0090 1003 : move.b $901003.l, D0 // read input
1FC84 | B200 : cmp.b D0, D1
1FC86 | 67F4 : beq $1fc7c
1FC88 | 0C00 007F : cmpi.b #$7f, D0
1FC8C | 6602 : bne $1fc90
1FC8E | 5310 : subq.b #1, (A0) // decrease code -01
1FC90 | 0C00 00BF : cmpi.b #-$41, D0
1FC94 | 6602 : bne $1fc98
1FC96 | 5210 : addq.b #1, (A0) // increase code +01
1FC98 | 0C00 00EF : cmpi.b #-$11, D0
1FC9C | 6604 : bne $1fca2
1FC9E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1FCA2 | 0C00 00DF : cmpi.b #-$21, D0
1FCA6 | 6604 : bne $1fcac
1FCA8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1FCAC | 0C00 00FD : cmpi.b #-$3, D0
1FCB0 | 6602 : bne $1fcb4
1FCB2 | 1290 : move.b (A0), (A1) // play sound
1FCB4 | 0C00 00FB : cmpi.b #-$5, D0
1FCB8 | 6604 : bne $1fcbe
1FCBA | 12BC 00FF : move.b #$ff, (A1) // stop sound
1FCBE | 60BC : bra $1fc7c
-->
<!-- display -->
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.od@01088 = 0001E376 </action>
<action>maincpu.oq@1FC70 = A422A422A422A422</action>
<action>maincpu.oq@1FC78 = A422AD80A590A482</action>
<action>maincpu.oq@1FC80 = A590A482A5A0A482</action>
<action>maincpu.oq@1FC88 = A422A482A422A482</action>
<action>maincpu.oq@1FC90 = AD20AD80AD20A482</action>
<action>maincpu.oq@1FC98 = AD20A482AD80A482</action>
<action>maincpu.oq@1FCA0 = A5A0A5A0AD80A482</action>
<action>maincpu.oq@1FCA8 = A422A422AD20A422</action>
<action>maincpu.oq@1FCB0 = A482A482A482A482</action>
<action>maincpu.oq@1FCB8 = AD20A482A422AD20</action>
</script>
</cheat>
</mamecheat>
bayroute1.xml
Code: Select all
<!-- Bay Route (set 1, US) (unprotected) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.mb@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.mb@53BF = 02</action> <!-- bomb -->
<action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
<action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.mb@5327 = 1A</action>
<action>maincpu.mb@53BF = 22</action>
<action>maincpu.mb@53EB = 5E</action>
<action>maincpu.mb@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@04102 = 4EB90001F8F04EB9</action>
<action>maincpu.mq@0410A = 0001F90208E90001</action>
<action>maincpu.mq@1F8F0 = 203900500A80611C</action>
<action>maincpu.mq@1F8F8 = 23C000500A80DC80</action>
<action>maincpu.mq@1F900 = 4E75203900500A84</action>
<action>maincpu.mq@1F908 = 610A23C000500A84</action>
<action>maincpu.mq@1F910 = DE804E754A390050</action>
<action>maincpu.mq@1F918 = 0A986A10223C0000</action>
<action>maincpu.mq@1F920 = 00004A8067066A02</action>
<action>maincpu.mq@1F928 = 448120014E75FFFF</action>
<!--
1F8F0 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
1F8F6 | 611C : bsr $1f914
1F8F8 | 23C0 0050 0A80 : move.l D0, $500a80.l
1F8FE | DC80 : add.l D0, D6
1F900 | 4E75 : rts
1F902 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
1F908 | 610A : bsr $1f914
1F90A | 23C0 0050 0A84 : move.l D0, $500a84.l
1F910 | DE80 : add.l D0, D7
1F912 | 4E75 : rts
1F914 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
1F91A | 6A10 : bpl $1f92c
1F91C | 223C xxxx xxxx : move.l #$xxxx, D1
1F922 | 4A80 : tst.l D0
1F924 | 6706 : beq $1f92c
1F926 | 6A02 : bpl $1f92a
1F928 | 4481 : neg.l D1
1F92A | 2001 : move.l D1, D0
1F92C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@1F91E = param</action>
</script>
<script state="off">
<action>maincpu.mq@04102 = DCB900500A80DEB9</action>
<action>maincpu.mq@0410A = 00500A8408E90001</action>
<action>maincpu.mq@1F8F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F8F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F900 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F908 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F910 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F918 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F920 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F928 = 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.md@01088 = 0001F930 </action>
<action>maincpu.mq@1F930 = 41F90050000043F9</action>
<action>maincpu.mq@1F938 = 00FF000712001039</action>
<action>maincpu.mq@1F940 = 00901003B20067F4</action>
<action>maincpu.mq@1F948 = 0C00007F66025310</action>
<action>maincpu.mq@1F950 = 0C0000BF66025210</action>
<action>maincpu.mq@1F958 = 0C0000EF66040410</action>
<action>maincpu.mq@1F960 = 00100C0000DF6604</action>
<action>maincpu.mq@1F968 = 061000100C0000FD</action>
<action>maincpu.mq@1F970 = 660212900C0000FB</action>
<action>maincpu.mq@1F978 = 660412BC00FF60BC</action>
<!--
1F930 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
1F936 | 43F9 00FF 0007 : lea $ff0007.l, A1 // sound latch address
1F93C | 1200 : move.b D0, D1
1F93E | 1039 0090 1003 : move.b $901003.l, D0 // read input
1F944 | B200 : cmp.b D0, D1
1F946 | 67F4 : beq $1f93c
1F948 | 0C00 007F : cmpi.b #$7f, D0
1F94C | 6602 : bne $1f950
1F94E | 5310 : subq.b #1, (A0) // decrease code -01
1F950 | 0C00 00BF : cmpi.b #-$41, D0
1F954 | 6602 : bne $1f958
1F956 | 5210 : addq.b #1, (A0) // increase code +01
1F958 | 0C00 00EF : cmpi.b #-$11, D0
1F95C | 6604 : bne $1f962
1F95E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1F962 | 0C00 00DF : cmpi.b #-$21, D0
1F966 | 6604 : bne $1f96c
1F968 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F96C | 0C00 00FD : cmpi.b #-$3, D0
1F970 | 6602 : bne $1f974
1F972 | 1290 : move.b (A0), (A1) // play sound
1F974 | 0C00 00FB : cmpi.b #-$5, D0
1F978 | 6604 : bne $1f97e
1F97A | 12BC 00FF : move.b #$ff, (A1) // stop sound
1F97E | 60BC : bra $1f93c
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01088 = 0001E380 </action>
<action>maincpu.mq@1F930 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F938 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F940 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F948 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F950 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F958 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F960 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F968 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F970 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F978 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
bayrouted.xml
Code: Select all
<!-- Bay Route (set 3, World) (bootleg of FD1094 317-0116 set) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.mb@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.mb@53BF = 02</action> <!-- bomb -->
<action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
<action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.mb@5327 = 1A</action>
<action>maincpu.mb@53BF = 22</action>
<action>maincpu.mb@53EB = 5E</action>
<action>maincpu.mb@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@04102 = 4EB90001F8E04EB9</action>
<action>maincpu.mq@0410A = 0001F8F208E90001</action>
<action>maincpu.mq@1F8E0 = 203900500A80611C</action>
<action>maincpu.mq@1F8E8 = 23C000500A80DC80</action>
<action>maincpu.mq@1F8F0 = 4E75203900500A84</action>
<action>maincpu.mq@1F8F8 = 610A23C000500A84</action>
<action>maincpu.mq@1F900 = DE804E754A390050</action>
<action>maincpu.mq@1F908 = 0A986A10223C0000</action>
<action>maincpu.mq@1F910 = 00004A8067066A02</action>
<action>maincpu.mq@1F918 = 448120014E75FFFF</action>
<!--
1F8E0 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
1F8E6 | 611C : bsr $1f904
1F8E8 | 23C0 0050 0A80 : move.l D0, $500a80.l
1F8EE | DC80 : add.l D0, D6
1F8F0 | 4E75 : rts
1F8F2 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
1F8F8 | 610A : bsr $1f904
1F8FA | 23C0 0050 0A84 : move.l D0, $500a84.l
1F900 | DE80 : add.l D0, D7
1F902 | 4E75 : rts
1F904 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
1F90A | 6A10 : bpl $1f91c
1F90C | 223C xxxx xxxx : move.l #$xxxx, D1
1F912 | 4A80 : tst.l D0
1F914 | 6706 : beq $1f91c
1F916 | 6A02 : bpl $1f91a
1F918 | 4481 : neg.l D1
1F91A | 2001 : move.l D1, D0
1F91C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@1F90E = param</action>
</script>
<script state="off">
<action>maincpu.mq@04102 = DCB900500A80DEB9</action>
<action>maincpu.mq@0410A = 00500A8408E90001</action>
<action>maincpu.mq@1F8E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F8E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F8F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F8F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F900 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F908 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F910 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F918 = 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.md@01088 = 0001F920 </action>
<action>maincpu.mq@1F920 = 41F90050000043F9</action>
<action>maincpu.mq@1F928 = 00FF000712001039</action>
<action>maincpu.mq@1F930 = 00901003B20067F4</action>
<action>maincpu.mq@1F938 = 0C00007F66025310</action>
<action>maincpu.mq@1F940 = 0C0000BF66025210</action>
<action>maincpu.mq@1F948 = 0C0000EF66040410</action>
<action>maincpu.mq@1F950 = 00100C0000DF6604</action>
<action>maincpu.mq@1F958 = 061000100C0000FD</action>
<action>maincpu.mq@1F960 = 660212900C0000FB</action>
<action>maincpu.mq@1F968 = 660412BC00FF60BC</action>
<!--
1F920 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
1F926 | 43F9 00FF 0007 : lea $ff0007.l, A1 // sound latch address
1F92C | 1200 : move.b D0, D1
1F92E | 1039 0090 1003 : move.b $901003.l, D0 // read input
1F934 | B200 : cmp.b D0, D1
1F936 | 67F4 : beq $1f92c
1F938 | 0C00 007F : cmpi.b #$7f, D0
1F93C | 6602 : bne $1f940
1F93E | 5310 : subq.b #1, (A0) // decrease code -01
1F940 | 0C00 00BF : cmpi.b #-$41, D0
1F944 | 6602 : bne $1f948
1F946 | 5210 : addq.b #1, (A0) // increase code +01
1F948 | 0C00 00EF : cmpi.b #-$11, D0
1F94C | 6604 : bne $1f952
1F94E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1F952 | 0C00 00DF : cmpi.b #-$21, D0
1F956 | 6604 : bne $1f95c
1F958 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1F95C | 0C00 00FD : cmpi.b #-$3, D0
1F960 | 6602 : bne $1f964
1F962 | 1290 : move.b (A0), (A1) // play sound
1F964 | 0C00 00FB : cmpi.b #-$5, D0
1F968 | 6604 : bne $1f96e
1F96A | 12BC 00FF : move.b #$ff, (A1) // stop sound
1F96E | 60BC : bra $1f92c
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01088 = 0001E376 </action>
<action>maincpu.mq@1F920 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F928 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F930 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F938 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F940 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F948 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F950 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F958 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F960 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1F968 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
bayroutejd.xml
Code: Select all
<!-- Bay Route (set 2, Japan) (bootleg of FD1094 317-0115 set) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.mb@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.mb@53BF = 02</action> <!-- bomb -->
<action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
<action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.mb@5327 = 1A</action>
<action>maincpu.mb@53BF = 22</action>
<action>maincpu.mb@53EB = 5E</action>
<action>maincpu.mb@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@04102 = 4EB90001FC304EB9</action>
<action>maincpu.mq@0410A = 0001FC4208E90001</action>
<action>maincpu.mq@1FC30 = 203900500A80611C</action>
<action>maincpu.mq@1FC38 = 23C000500A80DC80</action>
<action>maincpu.mq@1FC40 = 4E75203900500A84</action>
<action>maincpu.mq@1FC48 = 610A23C000500A84</action>
<action>maincpu.mq@1FC50 = DE804E754A390050</action>
<action>maincpu.mq@1FC58 = 0A986A10223C0000</action>
<action>maincpu.mq@1FC60 = 00004A8067066A02</action>
<action>maincpu.mq@1FC68 = 448120014E75FFFF</action>
<!--
1FC30 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
1FC36 | 611C : bsr $1fc54
1FC38 | 23C0 0050 0A80 : move.l D0, $500a80.l
1FC3E | DC80 : add.l D0, D6
1FC40 | 4E75 : rts
1FC42 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
1FC48 | 610A : bsr $1fc54
1FC4A | 23C0 0050 0A84 : move.l D0, $500a84.l
1FC50 | DE80 : add.l D0, D7
1FC52 | 4E75 : rts
1FC54 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
1FC5A | 6A10 : bpl $1fc6c
1FC5C | 223C xxxx xxxx : move.l #$xxxx, D1
1FC62 | 4A80 : tst.l D0
1FC64 | 6706 : beq $1fc6c
1FC66 | 6A02 : bpl $1fc6a
1FC68 | 4481 : neg.l D1
1FC6A | 2001 : move.l D1, D0
1FC6C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@1FC5E = param</action>
</script>
<script state="off">
<action>maincpu.mq@04102 = DCB900500A80DEB9</action>
<action>maincpu.mq@0410A = 00500A8408E90001</action>
<action>maincpu.mq@1FC30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC68 = 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.md@01088 = 0001FC70 </action>
<action>maincpu.mq@1FC70 = 41F90050000043F9</action>
<action>maincpu.mq@1FC78 = 00FF000712001039</action>
<action>maincpu.mq@1FC80 = 00901003B20067F4</action>
<action>maincpu.mq@1FC88 = 0C00007F66025310</action>
<action>maincpu.mq@1FC90 = 0C0000BF66025210</action>
<action>maincpu.mq@1FC98 = 0C0000EF66040410</action>
<action>maincpu.mq@1FCA0 = 00100C0000DF6604</action>
<action>maincpu.mq@1FCA8 = 061000100C0000FD</action>
<action>maincpu.mq@1FCB0 = 660212900C0000FB</action>
<action>maincpu.mq@1FCB8 = 660412BC00FF60BC</action>
<!--
1FC70 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
1FC76 | 43F9 00FF 0007 : lea $ff0007.l, A1 // sound latch address
1FC7C | 1200 : move.b D0, D1
1FC7E | 1039 0090 1003 : move.b $901003.l, D0 // read input
1FC84 | B200 : cmp.b D0, D1
1FC86 | 67F4 : beq $1fc7c
1FC88 | 0C00 007F : cmpi.b #$7f, D0
1FC8C | 6602 : bne $1fc90
1FC8E | 5310 : subq.b #1, (A0) // decrease code -01
1FC90 | 0C00 00BF : cmpi.b #-$41, D0
1FC94 | 6602 : bne $1fc98
1FC96 | 5210 : addq.b #1, (A0) // increase code +01
1FC98 | 0C00 00EF : cmpi.b #-$11, D0
1FC9C | 6604 : bne $1fca2
1FC9E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1FCA2 | 0C00 00DF : cmpi.b #-$21, D0
1FCA6 | 6604 : bne $1fcac
1FCA8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1FCAC | 0C00 00FD : cmpi.b #-$3, D0
1FCB0 | 6602 : bne $1fcb4
1FCB2 | 1290 : move.b (A0), (A1) // play sound
1FCB4 | 0C00 00FB : cmpi.b #-$5, D0
1FCB8 | 6604 : bne $1fcbe
1FCBA | 12BC 00FF : move.b #$ff, (A1) // stop sound
1FCBE | 60BC : bra $1fc7c
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01088 = 0001E376 </action>
<action>maincpu.mq@1FC70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FC98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FCA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FCA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FCB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1FCB8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
bayrouteb1.xml
Code: Select all
<!-- Bay Route (encrypted, protected bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="run">
<action>maincpu.ob@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.ob@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.ob@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.ob@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="run">
<action>maincpu.ob@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.ob@53BF = 02</action> <!-- bomb -->
<action>maincpu.ob@53EB = 02</action> <!-- spread shot -->
<action>maincpu.ob@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.ob@5327 = 1A</action>
<action>maincpu.ob@53BF = 22</action>
<action>maincpu.ob@53EB = 5E</action>
<action>maincpu.ob@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.oq@04102 = 4EB9000200004EB9</action>
<action>maincpu.oq@0410A = 0002001208E90001</action>
<action>maincpu.oq@20000 = 203900500A80611C</action>
<action>maincpu.oq@20008 = 23C000500A80DC80</action>
<action>maincpu.oq@20010 = 4E75203900500A84</action>
<action>maincpu.oq@20018 = 610A23C000500A84</action>
<action>maincpu.oq@20020 = DE804E754A390050</action>
<action>maincpu.oq@20028 = 0A986A10223C0000</action>
<action>maincpu.oq@20030 = 00004A8067066A02</action>
<action>maincpu.oq@20038 = 448120014E75FFFF</action>
<action>maincpu.od@2002E = param </action>
<!--
20000 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
20006 | 611C : bsr $20024
20008 | 23C0 0050 0A80 : move.l D0, $500a80.l
2000E | DC80 : add.l D0, D6
20010 | 4E75 : rts
20012 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
20018 | 610A : bsr $20024
2001A | 23C0 0050 0A84 : move.l D0, $500a84.l
20020 | DE80 : add.l D0, D7
20022 | 4E75 : rts
20024 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
2002A | 6A10 : bpl $2003c
2002C | 223C xxxx xxxx : move.l #$xxxx, D1
20032 | 4A80 : tst.l D0
20034 | 6706 : beq $2003c
20036 | 6A02 : bpl $2003a
20038 | 4481 : neg.l D1
2003A | 2001 : move.l D1, D0
2003C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.oq@04102 = DCB900500A80DEB9</action>
<action>maincpu.oq@0410A = 00500A8408E90001</action>
<action>maincpu.oq@20000 = 5114444540101011</action>
<action>maincpu.oq@20008 = 5555404554101011</action>
<action>maincpu.oq@20010 = 0055551450045544</action>
<action>maincpu.oq@20018 = 0444551450045551</action>
<action>maincpu.oq@20020 = 5555404555501011</action>
<action>maincpu.oq@20028 = 0115111455440110</action>
<action>maincpu.oq@20030 = 4015551455015400</action>
<action>maincpu.oq@20038 = 5505050451544051</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="run">
<!-- main routine -->
<action>maincpu.od@01088 = 00020040 </action>
<action>maincpu.oq@20040 = 41F90050000043F9</action>
<action>maincpu.oq@20048 = 0090200712001029</action>
<action>maincpu.oq@20050 = EFFCB20067F60C00</action>
<action>maincpu.oq@20058 = 007F660253100C00</action>
<action>maincpu.oq@20060 = 00BF660252100C00</action>
<action>maincpu.oq@20068 = 00EF660404100010</action>
<action>maincpu.oq@20070 = 0C0000DF66040610</action>
<action>maincpu.oq@20078 = 00100C0000FD6602</action>
<action>maincpu.oq@20080 = 12900C0000FB6604</action>
<action>maincpu.oq@20088 = 12BC00FF60BEFFFF</action>
<!--
20040 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
20046 | 43F9 0090 2007 : lea $902007.l, A1 // sound latch address
2004C | 1200 : move.b D0, D1
2004E | 1029 EFFC : move.b (-$1004,A1), D0 // read input ($901003)
20052 | B200 : cmp.b D0, D1
20054 | 67F6 : beq $2004c
20056 | 0C00 007F : cmpi.b #$7f, D0
2005A | 6602 : bne $2005e
2005C | 5310 : subq.b #1, (A0) // decrease code -01
2005E | 0C00 00BF : cmpi.b #-$41, D0
20062 | 6602 : bne $20066
20064 | 5210 : addq.b #1, (A0) // increase code +01
20066 | 0C00 00EF : cmpi.b #-$11, D0
2006A | 6604 : bne $20070
2006C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20070 | 0C00 00DF : cmpi.b #-$21, D0
20074 | 6604 : bne $2007a
20076 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2007A | 0C00 00FD : cmpi.b #-$3, D0
2007E | 6602 : bne $20082
20080 | 1290 : move.b (A0), (A1) // play sound
20082 | 0C00 00FB : cmpi.b #-$5, D0
20086 | 6604 : bne $2008c
20088 | 12BC 00FF : move.b #$ff, (A1) // stop sound
2008C | 60BE : bra $2004c
-->
<!-- display -->
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.od@01088 = 0001E376 </action>
<action>maincpu.oq@20040 = 5555404554501011</action>
<action>maincpu.oq@20048 = 5555404555101011</action>
<action>maincpu.oq@20050 = 1410551450045515</action>
<action>maincpu.oq@20058 = 1540551450045510</action>
<action>maincpu.oq@20060 = 0451104545040504</action>
<action>maincpu.oq@20068 = 5511011445055554</action>
<action>maincpu.oq@20070 = 5154510111500011</action>
<action>maincpu.oq@20078 = 5101004155414410</action>
<action>maincpu.oq@20080 = 5510555440455505</action>
<action>maincpu.oq@20088 = 5510555140455550</action>
</script>
</cheat>
</mamecheat>
bayrouteb2.xml
Code: Select all
<!-- Bay Route (Datsu bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1B12A = 60</action> <!-- enemy -->
<action>maincpu.mb@1B537 = BA</action> <!-- flame -->
<action>maincpu.mb@1BBAE = 60</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@1B12A = 66</action>
<action>maincpu.mb@1B537 = 8A</action>
<action>maincpu.mb@1BBAE = 66</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@5327 = 02</action> <!-- multi-way shot -->
<action>maincpu.mb@53BF = 02</action> <!-- bomb -->
<action>maincpu.mb@53EB = 02</action> <!-- spread shot -->
<action>maincpu.mb@5495 = 02</action> <!-- flame thrower -->
</script>
<script state="off">
<action>maincpu.mb@5327 = 1A</action>
<action>maincpu.mb@53BF = 22</action>
<action>maincpu.mb@53EB = 5E</action>
<action>maincpu.mb@5495 = 08</action>
</script>
</cheat>
<cheat desc="walk speed (test)">
<comment>player speed doesn't change when you hold a gun in the upper direction</comment>
<parameter>
<item value="0x00001000">01 (slow)</item>
<item value="0x00003000">02 </item>
<item value="0x00006000">03 </item>
<item value="0x00009000">04 </item>
<item value="0x0000c000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@04102 = 4EB9000200004EB9</action>
<action>maincpu.mq@0410A = 0002001208E90001</action>
<action>maincpu.mq@20000 = 203900500A80611C</action>
<action>maincpu.mq@20008 = 23C000500A80DC80</action>
<action>maincpu.mq@20010 = 4E75203900500A84</action>
<action>maincpu.mq@20018 = 610A23C000500A84</action>
<action>maincpu.mq@20020 = DE804E754A390050</action>
<action>maincpu.mq@20028 = 0A986A10223C0000</action>
<action>maincpu.mq@20030 = 00004A8067066A02</action>
<action>maincpu.mq@20038 = 448120014E75FFFF</action>
<!--
20000 | 2039 0050 0A80 : move.l $500a80.l, D0 // x position
20006 | 611C : bsr $20024
20008 | 23C0 0050 0A80 : move.l D0, $500a80.l
2000E | DC80 : add.l D0, D6
20010 | 4E75 : rts
20012 | 2039 0050 0A84 : move.l $500a84.l, D0 // y position
20018 | 610A : bsr $20024
2001A | 23C0 0050 0A84 : move.l D0, $500a84.l
20020 | DE80 : add.l D0, D7
20022 | 4E75 : rts
20024 | 4A39 0050 0A98 : tst.b $500a98.l // check auto move flag
2002A | 6A10 : bpl $2003c
2002C | 223C xxxx xxxx : move.l #$xxxx, D1
20032 | 4A80 : tst.l D0
20034 | 6706 : beq $2003c
20036 | 6A02 : bpl $2003a
20038 | 4481 : neg.l D1
2003A | 2001 : move.l D1, D0
2003C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.md@2002E = param</action>
</script>
<script state="off">
<action>maincpu.mq@04102 = DCB900500A80DEB9</action>
<action>maincpu.mq@0410A = 00500A8408E90001</action>
<action>maincpu.mq@20000 = 0000000000000000</action>
<action>maincpu.mq@20008 = 0000000000000000</action>
<action>maincpu.mq@20010 = 0000000000000000</action>
<action>maincpu.mq@20018 = 0000000000000000</action>
<action>maincpu.mq@20020 = 0000000000000000</action>
<action>maincpu.mq@20028 = 0000000000000000</action>
<action>maincpu.mq@20030 = 0000000000000000</action>
<action>maincpu.mq@20038 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@01088 = 00020040 </action>
<action>maincpu.mq@20040 = 41F90050000043F9</action>
<action>maincpu.mq@20048 = 0090000712001029</action>
<action>maincpu.mq@20050 = 0FFCB20067F60C00</action>
<action>maincpu.mq@20058 = 007F660253100C00</action>
<action>maincpu.mq@20060 = 00BF660252100C00</action>
<action>maincpu.mq@20068 = 00EF660404100010</action>
<action>maincpu.mq@20070 = 0C0000DF66040610</action>
<action>maincpu.mq@20078 = 00100C0000FD6602</action>
<action>maincpu.mq@20080 = 12900C0000FB6604</action>
<action>maincpu.mq@20088 = 12BC00FF60BEFFFF</action>
<!--
20040 | 41F9 0050 0000 : lea $500000.l, A0 // sound code address
20046 | 43F9 0090 0007 : lea $900007.l, A1 // sound latch address
2004C | 1200 : move.b D0, D1
2004E | 1029 0FFC : move.b ($ffc,A1), D0 // read input ($900003)
20052 | B200 : cmp.b D0, D1
20054 | 67F6 : beq $2004c
20056 | 0C00 007F : cmpi.b #$7f, D0
2005A | 6602 : bne $2005e
2005C | 5310 : subq.b #1, (A0) // decrease code -01
2005E | 0C00 00BF : cmpi.b #-$41, D0
20062 | 6602 : bne $20066
20064 | 5210 : addq.b #1, (A0) // increase code +01
20066 | 0C00 00EF : cmpi.b #-$11, D0
2006A | 6604 : bne $20070
2006C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20070 | 0C00 00DF : cmpi.b #-$21, D0
20074 | 6604 : bne $2007a
20076 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2007A | 0C00 00FD : cmpi.b #-$3, D0
2007E | 6602 : bne $20082
20080 | 1290 : move.b (A0), (A1) // play sound
20082 | 0C00 00FB : cmpi.b #-$5, D0
20086 | 6604 : bne $2008c
20088 | 12BC 00FF : move.b #$ff, (A1) // stop sound
2008C | 60BE : bra $2004c
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@500000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@01088 = 0001E376 </action>
<action>maincpu.mq@20040 = 0000000000000000</action>
<action>maincpu.mq@20048 = 0000000000000000</action>
<action>maincpu.mq@20050 = 0000000000000000</action>
<action>maincpu.mq@20058 = 0000000000000000</action>
<action>maincpu.mq@20060 = 0000000000000000</action>
<action>maincpu.mq@20068 = 0000000000000000</action>
<action>maincpu.mq@20070 = 0000000000000000</action>
<action>maincpu.mq@20078 = 0000000000000000</action>
<action>maincpu.mq@20080 = 0000000000000000</action>
<action>maincpu.mq@20088 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
"sound test mode" : In bayroute1, You can select sound code but no playing sound because of incomplete emulation.