nastar.xml
Code: Select all
<!-- Nastar (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1094A = 60</action>
</script>
<script state="off">
<action>maincpu.mb@1094A = 6F</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mw@A85C = 0002</action> <!-- stand -->
<action>maincpu.mw@A412 = 0002</action> <!-- crouch -->
<action>maincpu.mw@A61A = 0002</action> <!-- upper attack -->
<action>maincpu.mw@A74C = 0002</action> <!-- lower attack in jumping -->
</script>
<script state="off">
<action>maincpu.mw@A85C = 0132</action>
<action>maincpu.mw@A412 = 011A</action>
<action>maincpu.mw@A61A = 012A</action>
<action>maincpu.mw@A74C = 0108</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- P1 jump -->
<action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- P1 fall -->
<action>maincpu.mq@082D6 = 4EB90002EE6E4EBA</action> <!-- P2 jump -->
<action>maincpu.mq@0851A = 4EB90002EE6E4EBA</action> <!-- P2 fall -->
<action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
<action>maincpu.mq@2EE68 = 102D04D4600C41ED</action>
<action>maincpu.mq@2EE70 = 1C3E43ED7102102D</action>
<action>maincpu.mq@2EE78 = 04D5080000056632</action>
<action>maincpu.mq@2EE80 = 4A51662C4EB90000</action>
<action>maincpu.mq@2EE88 = 9F2E08000002660C</action>
<action>maincpu.mq@2EE90 = 197C0001003008EC</action>
<action>maincpu.mq@2EE98 = 0006000608000003</action>
<action>maincpu.mq@2EEA0 = 660A426C003008AC</action>
<action>maincpu.mq@2EEA8 = 0006000612BC0001</action>
<action>maincpu.mq@2EEB0 = 4E7542514E75FFFF</action>
<!--
2EE60 | 41ED 1C2A : lea ($1c2a,A5), A0 // P1
2EE64 | 43ED 7100 : lea ($7100,A5), A1
2EE68 | 102D 04D4 : move.b ($4d4,A5), D0
2EE6C | 600C : bra $2ee7a
2EE6E | 41ED 1C3E : lea ($1c3e,A5), A0 // P2
2EE72 | 43ED 7102 : lea ($7102,A5), A1
2EE76 | 102D 04D5 : move.b ($4d5,A5), D0
2EE7A | 0800 0005 : btst #$5, D0 // check jump button
2EE7E | 6632 : bne $2eeb2
2EE80 | 4A51 : tst.w (A1) // check hold jump button flag
2EE82 | 662C : bne $2eeb0
2EE84 | 4EB9 0000 9F2E : jsr $9f2e.l // initialize jump
2EE8A | 0800 0002 : btst #$2, D0
2EE8E | 660C : bne $2ee9c
2EE90 | 197C 0001 0030 : move.b #$1, ($30,A4) // turn to left
2EE96 | 08EC 0006 0006 : bset #$6, ($6,A4)
2EE9C | 0800 0003 : btst #$3, D0
2EEA0 | 660A : bne $2eeac
2EEA2 | 426C 0030 : clr.w ($30,A4) // turn to right
2EEA6 | 08AC 0006 0006 : bclr #$6, ($6,A4)
2EEAC | 12BC 0001 : move.b #$1, (A1) // set hold jump button flag
2EEB0 | 4E75 : rts
2EEB2 | 4251 : clr.w (A1) // clear hold jump button flag
2EEB4 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
<action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
<action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
<action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
<action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@6BB1 = param</action>
<action>maincpu.mb@6C4F = param</action>
</script>
<script state="off">
<action>maincpu.mb@6BB1 = 3C</action>
<action>maincpu.mb@6C4F = 1C</action>
</script>
</cheat>
<cheat desc="unlock scene select mode">
<!-- start with 255 lives -->
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@0D44 = 4E71</action>
<action>maincpu.mw@5604 = 0002</action>
<action>maincpu.mw@5690 = 4E71</action>
<action>maincpu.mw@57B2 = 601C</action>
</script>
<script state="off">
<action>maincpu.mw@0D44 = 671A</action>
<action>maincpu.mw@5604 = 0086</action>
<action>maincpu.mw@5690 = 6708</action>
<action>maincpu.mw@57B2 = 661C</action>
</script>
</cheat>
<cheat desc="region">
<comment>reset the game (F3) to change region</comment>
<parameter>
<item value="0x00">rastan saga 2 (japan)</item>
<item value="0x01">nastar warrior (us) </item>
<item value="0x03">nastar (world) </item>
</parameter>
<script state="change">
<action>maincpu.mb@3FFFF = param</action>
</script>
<script state="off">
<action>maincpu.mb@3FFFF = 02</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@04020 = 4EB90002EEC04E71</action>
<action>maincpu.mq@2EEC0 = 41ED100043F900A0</action>
<action>maincpu.mq@2EEC8 = 0000128012001029</action>
<action>maincpu.mq@2EED0 = 0004B20067F40C00</action>
<action>maincpu.mq@2EED8 = 00FB660253100C00</action>
<action>maincpu.mq@2EEE0 = 00F7660252100C00</action>
<action>maincpu.mq@2EEE8 = 00FD660404100010</action>
<action>maincpu.mq@2EEF0 = 0C0000FE66040610</action>
<action>maincpu.mq@2EEF8 = 00100C0000EF6604</action>
<action>maincpu.mq@2EF00 = 1E1060080C0000DF</action>
<action>maincpu.mq@2EF08 = 660642074EB82D2C</action>
<action>maincpu.mq@2EF10 = 60B8FFFFFFFFFFFF</action>
<!--
2EEC0 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($601000)
2EEC4 | 43F9 00A0 0000 : lea $a00000.l, A1 // input address
2EECA | 1280 : move.b D0, (A1) // watchdog
2EECC | 1200 : move.b D0, D1
2EECE | 1029 0004 : move.b ($4,A1), D0 // read input
2EED2 | B200 : cmp.b D0, D1
2EED4 | 67F4 : beq $2eeca
2EED6 | 0C00 00FB : cmpi.b #-$5, D0
2EEDA | 6602 : bne $2eede
2EEDC | 5310 : subq.b #1, (A0) // decrease code -01
2EEDE | 0C00 00F7 : cmpi.b #-$9, D0
2EEE2 | 6602 : bne $2eee6
2EEE4 | 5210 : addq.b #1, (A0) // increase code +01
2EEE6 | 0C00 00FD : cmpi.b #-$3, D0
2EEEA | 6604 : bne $2eef0
2EEEC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
2EEF0 | 0C00 00FE : cmpi.b #-$2, D0
2EEF4 | 6604 : bne $2eefa
2EEF6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2EEFA | 0C00 00EF : cmpi.b #-$11, D0
2EEFE | 6604 : bne $2ef04
2EF00 | 1E10 : move.b (A0), D7 // play sound
2EF02 | 6008 : bra $2ef0c
2EF04 | 0C00 00DF : cmpi.b #-$21, D0
2EF08 | 6606 : bne $2ef10
2EF0A | 4207 : clr.b D7 // stop sound
2EF0C | 4EB8 2D2C : jsr $2d2c.w // send sound code
2EF10 | 60B8 : bra $2eeca
-->
</script>
<script state="run">
<output format="----- rastan saga 2 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@601000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@04020 = 0C7900000003FFFE</action>
<action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@0BDC = 4E75</action>
</script>
<script state="off">
<action>maincpu.mw@0BDC = 4280</action>
</script>
</cheat>
</mamecheat>
nastarw.xml
Code: Select all
<!-- Nastar Warrior (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1094A = 60</action>
</script>
<script state="off">
<action>maincpu.mb@1094A = 6F</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mw@A85C = 0002</action> <!-- stand -->
<action>maincpu.mw@A412 = 0002</action> <!-- crouch -->
<action>maincpu.mw@A61A = 0002</action> <!-- upper attack -->
<action>maincpu.mw@A74C = 0002</action> <!-- lower attack in jumping -->
</script>
<script state="off">
<action>maincpu.mw@A85C = 0132</action>
<action>maincpu.mw@A412 = 011A</action>
<action>maincpu.mw@A61A = 012A</action>
<action>maincpu.mw@A74C = 0108</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- P1 jump -->
<action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- P1 fall -->
<action>maincpu.mq@082D6 = 4EB90002EE6E4EBA</action> <!-- P2 jump -->
<action>maincpu.mq@0851A = 4EB90002EE6E4EBA</action> <!-- P2 fall -->
<action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
<action>maincpu.mq@2EE68 = 102D04D4600C41ED</action>
<action>maincpu.mq@2EE70 = 1C3E43ED7102102D</action>
<action>maincpu.mq@2EE78 = 04D5080000056632</action>
<action>maincpu.mq@2EE80 = 4A51662C4EB90000</action>
<action>maincpu.mq@2EE88 = 9F2E08000002660C</action>
<action>maincpu.mq@2EE90 = 197C0001003008EC</action>
<action>maincpu.mq@2EE98 = 0006000608000003</action>
<action>maincpu.mq@2EEA0 = 660A426C003008AC</action>
<action>maincpu.mq@2EEA8 = 0006000612BC0001</action>
<action>maincpu.mq@2EEB0 = 4E7542514E75FFFF</action>
<!--
2EE60 | 41ED 1C2A : lea ($1c2a,A5), A0 // P1
2EE64 | 43ED 7100 : lea ($7100,A5), A1
2EE68 | 102D 04D4 : move.b ($4d4,A5), D0
2EE6C | 600C : bra $2ee7a
2EE6E | 41ED 1C3E : lea ($1c3e,A5), A0 // P2
2EE72 | 43ED 7102 : lea ($7102,A5), A1
2EE76 | 102D 04D5 : move.b ($4d5,A5), D0
2EE7A | 0800 0005 : btst #$5, D0 // check jump button
2EE7E | 6632 : bne $2eeb2
2EE80 | 4A51 : tst.w (A1) // check hold jump button flag
2EE82 | 662C : bne $2eeb0
2EE84 | 4EB9 0000 9F2E : jsr $9f2e.l // initialize jump
2EE8A | 0800 0002 : btst #$2, D0
2EE8E | 660C : bne $2ee9c
2EE90 | 197C 0001 0030 : move.b #$1, ($30,A4) // turn to left
2EE96 | 08EC 0006 0006 : bset #$6, ($6,A4)
2EE9C | 0800 0003 : btst #$3, D0
2EEA0 | 660A : bne $2eeac
2EEA2 | 426C 0030 : clr.w ($30,A4) // turn to right
2EEA6 | 08AC 0006 0006 : bclr #$6, ($6,A4)
2EEAC | 12BC 0001 : move.b #$1, (A1) // set hold jump button flag
2EEB0 | 4E75 : rts
2EEB2 | 4251 : clr.w (A1) // clear hold jump button flag
2EEB4 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
<action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
<action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
<action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
<action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@6BB1 = param</action>
<action>maincpu.mb@6C4F = param</action>
</script>
<script state="off">
<action>maincpu.mb@6BB1 = 3C</action>
<action>maincpu.mb@6C4F = 1C</action>
</script>
</cheat>
<cheat desc="unlock scene select mode">
<!-- start with 255 lives -->
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@0D44 = 4E71</action>
<action>maincpu.mw@5604 = 0002</action>
<action>maincpu.mw@5690 = 4E71</action>
<action>maincpu.mw@57B2 = 601C</action>
</script>
<script state="off">
<action>maincpu.mw@0D44 = 671A</action>
<action>maincpu.mw@5604 = 0086</action>
<action>maincpu.mw@5690 = 6708</action>
<action>maincpu.mw@57B2 = 661C</action>
</script>
</cheat>
<cheat desc="region">
<comment>reset the game (F3) to change region</comment>
<parameter>
<item value="0x00">rastan saga 2 (japan)</item>
<item value="0x01">nastar warrior (us) </item>
<item value="0x03">nastar (world) </item>
</parameter>
<script state="change">
<action>maincpu.mb@3FFFF = param</action>
</script>
<script state="off">
<action>maincpu.mb@3FFFF = 01</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@04020 = 4EB90002EEC04E71</action>
<action>maincpu.mq@2EEC0 = 41ED100043F900A0</action>
<action>maincpu.mq@2EEC8 = 0000128012001029</action>
<action>maincpu.mq@2EED0 = 0004B20067F40C00</action>
<action>maincpu.mq@2EED8 = 00FB660253100C00</action>
<action>maincpu.mq@2EEE0 = 00F7660252100C00</action>
<action>maincpu.mq@2EEE8 = 00FD660404100010</action>
<action>maincpu.mq@2EEF0 = 0C0000FE66040610</action>
<action>maincpu.mq@2EEF8 = 00100C0000EF6604</action>
<action>maincpu.mq@2EF00 = 1E1060080C0000DF</action>
<action>maincpu.mq@2EF08 = 660642074EB82D2C</action>
<action>maincpu.mq@2EF10 = 60B8FFFFFFFFFFFF</action>
<!--
2EEC0 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($601000)
2EEC4 | 43F9 00A0 0000 : lea $a00000.l, A1 // input address
2EECA | 1280 : move.b D0, (A1) // watchdog
2EECC | 1200 : move.b D0, D1
2EECE | 1029 0004 : move.b ($4,A1), D0 // read input
2EED2 | B200 : cmp.b D0, D1
2EED4 | 67F4 : beq $2eeca
2EED6 | 0C00 00FB : cmpi.b #-$5, D0
2EEDA | 6602 : bne $2eede
2EEDC | 5310 : subq.b #1, (A0) // decrease code -01
2EEDE | 0C00 00F7 : cmpi.b #-$9, D0
2EEE2 | 6602 : bne $2eee6
2EEE4 | 5210 : addq.b #1, (A0) // increase code +01
2EEE6 | 0C00 00FD : cmpi.b #-$3, D0
2EEEA | 6604 : bne $2eef0
2EEEC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
2EEF0 | 0C00 00FE : cmpi.b #-$2, D0
2EEF4 | 6604 : bne $2eefa
2EEF6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2EEFA | 0C00 00EF : cmpi.b #-$11, D0
2EEFE | 6604 : bne $2ef04
2EF00 | 1E10 : move.b (A0), D7 // play sound
2EF02 | 6008 : bra $2ef0c
2EF04 | 0C00 00DF : cmpi.b #-$21, D0
2EF08 | 6606 : bne $2ef10
2EF0A | 4207 : clr.b D7 // stop sound
2EF0C | 4EB8 2D2C : jsr $2d2c.w // send sound code
2EF10 | 60B8 : bra $2eeca
-->
</script>
<script state="run">
<output format="----- rastan saga 2 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@601000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@04020 = 0C7900000003FFFE</action>
<action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@0BDC = 4E75</action>
</script>
<script state="off">
<action>maincpu.mw@0BDC = 4280</action>
</script>
</cheat>
</mamecheat>
rastsag2.xml
Code: Select all
<!-- Rastan Saga 2 (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1094A = 60</action>
</script>
<script state="off">
<action>maincpu.mb@1094A = 6F</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mw@A85C = 0002</action> <!-- stand -->
<action>maincpu.mw@A412 = 0002</action> <!-- crouch -->
<action>maincpu.mw@A61A = 0002</action> <!-- upper attack -->
<action>maincpu.mw@A74C = 0002</action> <!-- lower attack in jumping -->
</script>
<script state="off">
<action>maincpu.mw@A85C = 0132</action>
<action>maincpu.mw@A412 = 011A</action>
<action>maincpu.mw@A61A = 012A</action>
<action>maincpu.mw@A74C = 0108</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.mq@0776A = 4EB90002EE604EBA</action> <!-- P1 jump -->
<action>maincpu.mq@079AE = 4EB90002EE604EBA</action> <!-- P1 fall -->
<action>maincpu.mq@082D6 = 4EB90002EE6E4EBA</action> <!-- P2 jump -->
<action>maincpu.mq@0851A = 4EB90002EE6E4EBA</action> <!-- P2 fall -->
<action>maincpu.mq@2EE60 = 41ED1C2A43ED7100</action>
<action>maincpu.mq@2EE68 = 102D04D4600C41ED</action>
<action>maincpu.mq@2EE70 = 1C3E43ED7102102D</action>
<action>maincpu.mq@2EE78 = 04D5080000056632</action>
<action>maincpu.mq@2EE80 = 4A51662C4EB90000</action>
<action>maincpu.mq@2EE88 = 9F2E08000002660C</action>
<action>maincpu.mq@2EE90 = 197C0001003008EC</action>
<action>maincpu.mq@2EE98 = 0006000608000003</action>
<action>maincpu.mq@2EEA0 = 660A426C003008AC</action>
<action>maincpu.mq@2EEA8 = 0006000612BC0001</action>
<action>maincpu.mq@2EEB0 = 4E7542514E75FFFF</action>
<!--
2EE60 | 41ED 1C2A : lea ($1c2a,A5), A0 // P1
2EE64 | 43ED 7100 : lea ($7100,A5), A1
2EE68 | 102D 04D4 : move.b ($4d4,A5), D0
2EE6C | 600C : bra $2ee7a
2EE6E | 41ED 1C3E : lea ($1c3e,A5), A0 // P2
2EE72 | 43ED 7102 : lea ($7102,A5), A1
2EE76 | 102D 04D5 : move.b ($4d5,A5), D0
2EE7A | 0800 0005 : btst #$5, D0 // check jump button
2EE7E | 6632 : bne $2eeb2
2EE80 | 4A51 : tst.w (A1) // check hold jump button flag
2EE82 | 662C : bne $2eeb0
2EE84 | 4EB9 0000 9F2E : jsr $9f2e.l // initialize jump
2EE8A | 0800 0002 : btst #$2, D0
2EE8E | 660C : bne $2ee9c
2EE90 | 197C 0001 0030 : move.b #$1, ($30,A4) // turn to left
2EE96 | 08EC 0006 0006 : bset #$6, ($6,A4)
2EE9C | 0800 0003 : btst #$3, D0
2EEA0 | 660A : bne $2eeac
2EEA2 | 426C 0030 : clr.w ($30,A4) // turn to right
2EEA6 | 08AC 0006 0006 : bclr #$6, ($6,A4)
2EEAC | 12BC 0001 : move.b #$1, (A1) // set hold jump button flag
2EEB0 | 4E75 : rts
2EEB2 | 4251 : clr.w (A1) // clear hold jump button flag
2EEB4 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0776A = 207C00601C2A4EBA</action>
<action>maincpu.mq@079AE = 207C00601C2A4EBA</action>
<action>maincpu.mq@082D6 = 207C00601C3E4EBA</action>
<action>maincpu.mq@0851A = 207C00601C3E4EBA</action>
<action>maincpu.mq@2EE60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EE98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEB0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@6BB1 = param</action>
<action>maincpu.mb@6C4F = param</action>
</script>
<script state="off">
<action>maincpu.mb@6BB1 = 3C</action>
<action>maincpu.mb@6C4F = 1C</action>
</script>
</cheat>
<cheat desc="unlock scene select mode">
<!-- start with 255 lives -->
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@0D44 = 4E71</action>
<action>maincpu.mw@5604 = 0002</action>
<action>maincpu.mw@5690 = 4E71</action>
<action>maincpu.mw@57B2 = 601C</action>
</script>
<script state="off">
<action>maincpu.mw@0D44 = 671A</action>
<action>maincpu.mw@5604 = 0086</action>
<action>maincpu.mw@5690 = 6708</action>
<action>maincpu.mw@57B2 = 661C</action>
</script>
</cheat>
<cheat desc="region">
<comment>reset the game (F3) to change region</comment>
<parameter>
<item value="0x00">rastan saga 2 (japan)</item>
<item value="0x01">nastar warrior (us) </item>
<item value="0x03">nastar (world) </item>
</parameter>
<script state="change">
<action>maincpu.mb@3FFFF = param</action>
</script>
<script state="off">
<action>maincpu.mb@3FFFF = 00</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@0402A = 4EB90002EEC04EBA</action>
<action>maincpu.mq@2EEC0 = 41ED100043F900A0</action>
<action>maincpu.mq@2EEC8 = 0000128012001029</action>
<action>maincpu.mq@2EED0 = 0004B20067F40C00</action>
<action>maincpu.mq@2EED8 = 00FB660253100C00</action>
<action>maincpu.mq@2EEE0 = 00F7660252100C00</action>
<action>maincpu.mq@2EEE8 = 00FD660404100010</action>
<action>maincpu.mq@2EEF0 = 0C0000FE66040610</action>
<action>maincpu.mq@2EEF8 = 00100C0000EF6604</action>
<action>maincpu.mq@2EF00 = 1E1060080C0000DF</action>
<action>maincpu.mq@2EF08 = 660642074EB82D2C</action>
<action>maincpu.mq@2EF10 = 60B8FFFFFFFFFFFF</action>
<!--
2EEC0 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($601000)
2EEC4 | 43F9 00A0 0000 : lea $a00000.l, A1 // input address
2EECA | 1280 : move.b D0, (A1) // watchdog
2EECC | 1200 : move.b D0, D1
2EECE | 1029 0004 : move.b ($4,A1), D0 // read input
2EED2 | B200 : cmp.b D0, D1
2EED4 | 67F4 : beq $2eeca
2EED6 | 0C00 00FB : cmpi.b #-$5, D0
2EEDA | 6602 : bne $2eede
2EEDC | 5310 : subq.b #1, (A0) // decrease code -01
2EEDE | 0C00 00F7 : cmpi.b #-$9, D0
2EEE2 | 6602 : bne $2eee6
2EEE4 | 5210 : addq.b #1, (A0) // increase code +01
2EEE6 | 0C00 00FD : cmpi.b #-$3, D0
2EEEA | 6604 : bne $2eef0
2EEEC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
2EEF0 | 0C00 00FE : cmpi.b #-$2, D0
2EEF4 | 6604 : bne $2eefa
2EEF6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2EEFA | 0C00 00EF : cmpi.b #-$11, D0
2EEFE | 6604 : bne $2ef04
2EF00 | 1E10 : move.b (A0), D7 // play sound
2EF02 | 6008 : bra $2ef0c
2EF04 | 0C00 00DF : cmpi.b #-$21, D0
2EF08 | 6606 : bne $2ef10
2EF0A | 4207 : clr.b D7 // stop sound
2EF0C | 4EB8 2D2C : jsr $2d2c.w // send sound code
2EF10 | 60B8 : bra $2eeca
-->
</script>
<script state="run">
<output format="----- rastan saga 2 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@601000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0402A = 3B7C01E01B2A4EBA</action>
<action>maincpu.mq@2EEC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EED0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EED8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EEF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2EF10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@0BDC = 4E75</action>
</script>
<script state="off">
<action>maincpu.mw@0BDC = 4280</action>
</script>
</cheat>
</mamecheat>
- "multiple jump" : Improved. Now correct direction of face in jumping when you input left or right key.
- "unlock scene select mode", "region" : Added new.