fstarfrc.xml
Code: Select all
<!-- Final Star Force (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@6384 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6384 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E093 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E093 = 3C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0014">01 (slow)</item>
<item value="0x0028">02 </item>
<item value="0x003c">03 </item>
<item value="0x0050">04 </item>
<item value="0x0064">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@103B8 = 4EB86670 </action>
<action>maincpu.mq@06670 = 0200000F323C0000</action>
<action>maincpu.mq@06678 = 4A006606323C0028</action>
<action>maincpu.mq@06680 = 4A004E75FFFFFFFF</action>
<!--
6670 | 0200 000F : andi.b #$f, D0
6674 | 323C xxxx : move.w #$xx, D1
6678 | 4A00 : tst.b D0
667A | 6606 : bne $6682
667C | 323C 0028 : move.w #$28, D1
6680 | 4A00 : tst.b D0
6682 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@6676 = param</action>
</script>
<script state="off">
<action>maincpu.md@103B8 = 0200000F </action>
<action>maincpu.mq@06670 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06678 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06680 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0020">01 (slow)</item>
<item value="0x0040">02 </item>
<item value="0x0060">03 </item>
<item value="0x0080">04 </item>
<item value="0x00a0">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@11B52 = 4EB86690 </action>
<action>maincpu.mq@06690 = 3829000A67066A04</action>
<action>maincpu.mq@06698 = 383C00004E75FFFF</action>
<!--
6690 | 3829 000A : move.w ($a,A1), D4
6694 | 6706 : beq $669c
6696 | 6A04 : bpl $669c
6698 | 383C xxxx : move.w #$xx, D4
669C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@669A = -param</action>
</script>
<script state="off">
<action>maincpu.md@11B52 = 3829000A </action>
<action>maincpu.mq@06690 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06698 = 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@007CA = 4EF9000396A00C10</action>
<action>maincpu.mq@396A0 = 41F90010100043F9</action>
<action>maincpu.mq@396A8 = 0015001112001029</action>
<action>maincpu.mq@396B0 = 0040B20067F60C00</action>
<action>maincpu.mq@396B8 = 00FD660253100C00</action>
<action>maincpu.mq@396C0 = 00FE660252100C00</action>
<action>maincpu.mq@396C8 = 00FB660404100010</action>
<action>maincpu.mq@396D0 = 0C0000F766040610</action>
<action>maincpu.mq@396D8 = 00100C0000EF6602</action>
<action>maincpu.mq@396E0 = 12900C0000DF6604</action>
<action>maincpu.mq@396E8 = 12BC00FF60BEFFFF</action>
<!--
396A0 | 41F9 0010 1000 : lea $101000.l, A0 // sound code address
396A6 | 43F9 0015 0011 : lea $150011.l, A1 // sound latch address
396AC | 1200 : move.b D0, D1
396AE | 1029 0040 : move.b ($40,A1), D0 // read input ($150051)
396B2 | B200 : cmp.b D0, D1
396B4 | 67F6 : beq $396ac
396B6 | 0C00 00FD : cmpi.b #-$3, D0
396BA | 6602 : bne $396be
396BC | 5310 : subq.b #1, (A0) // decrease code -01
396BE | 0C00 00FE : cmpi.b #-$2, D0
396C2 | 6602 : bne $396c6
396C4 | 5210 : addq.b #1, (A0) // increase code +01
396C6 | 0C00 00FB : cmpi.b #-$5, D0
396CA | 6604 : bne $396d0
396CC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
396D0 | 0C00 00F7 : cmpi.b #-$9, D0
396D4 | 6604 : bne $396da
396D6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
396DA | 0C00 00EF : cmpi.b #-$11, D0
396DE | 6602 : bne $396e2
396E0 | 1290 : move.b (A0), (A1) // play sound
396E2 | 0C00 00DF : cmpi.b #-$21, D0
396E6 | 6604 : bne $396ec
396E8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
396EC | 60BE : bra $396ac
-->
</script>
<script state="run">
<output format="----- final star force 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@101000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@007CA = 41F9001000000C10</action>
<action>maincpu.mq@396A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@1AD56 = 0056</action> <!-- rom check -->
<!-- <action>maincpu.mw@1A102 = 0001</action> <!== result screen ==> -->
</script>
<script state="off">
<action>maincpu.mw@1AD56 = 000A</action>
<!-- <action>maincpu.mw@1A102 = 012C</action> -->
</script>
</cheat>
</mamecheat>
fstarfrcj.xml
Code: Select all
<!-- Final Star Force (Japan, set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@6384 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6384 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E093 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E093 = 3C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0014">01 (slow)</item>
<item value="0x0028">02 </item>
<item value="0x003c">03 </item>
<item value="0x0050">04 </item>
<item value="0x0064">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@103B8 = 4EB86670 </action>
<action>maincpu.mq@06670 = 0200000F323C0000</action>
<action>maincpu.mq@06678 = 4A006606323C0028</action>
<action>maincpu.mq@06680 = 4A004E75FFFFFFFF</action>
<!--
6670 | 0200 000F : andi.b #$f, D0
6674 | 323C xxxx : move.w #$xx, D1
6678 | 4A00 : tst.b D0
667A | 6606 : bne $6682
667C | 323C 0028 : move.w #$28, D1
6680 | 4A00 : tst.b D0
6682 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@6676 = param</action>
</script>
<script state="off">
<action>maincpu.md@103B8 = 0200000F </action>
<action>maincpu.mq@06670 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06678 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06680 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0020">01 (slow)</item>
<item value="0x0040">02 </item>
<item value="0x0060">03 </item>
<item value="0x0080">04 </item>
<item value="0x00a0">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@11B52 = 4EB86690 </action>
<action>maincpu.mq@06690 = 3829000A67066A04</action>
<action>maincpu.mq@06698 = 383C00004E75FFFF</action>
<!--
6690 | 3829 000A : move.w ($a,A1), D4
6694 | 6706 : beq $669c
6696 | 6A04 : bpl $669c
6698 | 383C xxxx : move.w #$xx, D4
669C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@669A = -param</action>
</script>
<script state="off">
<action>maincpu.md@11B52 = 3829000A </action>
<action>maincpu.mq@06690 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06698 = 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@007CA = 4EF9000396A00C10</action>
<action>maincpu.mq@396A0 = 41F90010100043F9</action>
<action>maincpu.mq@396A8 = 0015001112001029</action>
<action>maincpu.mq@396B0 = 0040B20067F60C00</action>
<action>maincpu.mq@396B8 = 00FD660253100C00</action>
<action>maincpu.mq@396C0 = 00FE660252100C00</action>
<action>maincpu.mq@396C8 = 00FB660404100010</action>
<action>maincpu.mq@396D0 = 0C0000F766040610</action>
<action>maincpu.mq@396D8 = 00100C0000EF6602</action>
<action>maincpu.mq@396E0 = 12900C0000DF6604</action>
<action>maincpu.mq@396E8 = 12BC00FF60BEFFFF</action>
<!--
396A0 | 41F9 0010 1000 : lea $101000.l, A0 // sound code address
396A6 | 43F9 0015 0011 : lea $150011.l, A1 // sound latch address
396AC | 1200 : move.b D0, D1
396AE | 1029 0040 : move.b ($40,A1), D0 // read input ($150051)
396B2 | B200 : cmp.b D0, D1
396B4 | 67F6 : beq $396ac
396B6 | 0C00 00FD : cmpi.b #-$3, D0
396BA | 6602 : bne $396be
396BC | 5310 : subq.b #1, (A0) // decrease code -01
396BE | 0C00 00FE : cmpi.b #-$2, D0
396C2 | 6602 : bne $396c6
396C4 | 5210 : addq.b #1, (A0) // increase code +01
396C6 | 0C00 00FB : cmpi.b #-$5, D0
396CA | 6604 : bne $396d0
396CC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
396D0 | 0C00 00F7 : cmpi.b #-$9, D0
396D4 | 6604 : bne $396da
396D6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
396DA | 0C00 00EF : cmpi.b #-$11, D0
396DE | 6602 : bne $396e2
396E0 | 1290 : move.b (A0), (A1) // play sound
396E2 | 0C00 00DF : cmpi.b #-$21, D0
396E6 | 6604 : bne $396ec
396E8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
396EC | 60BE : bra $396ac
-->
</script>
<script state="run">
<output format="----- final star force 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@101000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@007CA = 41F9001000000C10</action>
<action>maincpu.mq@396A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@1AD56 = 0056</action> <!-- rom check -->
<!-- <action>maincpu.mw@1A102 = 0001</action> <!== result screen ==> -->
</script>
<script state="off">
<action>maincpu.mw@1AD56 = 000A</action>
<!-- <action>maincpu.mw@1A102 = 012C</action> -->
</script>
</cheat>
</mamecheat>
fstarfrcja.xml
Code: Select all
<!-- Final Star Force (Japan, set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@6384 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6384 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E093 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E093 = 3C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0014">01 (slow)</item>
<item value="0x0028">02 </item>
<item value="0x003c">03 </item>
<item value="0x0050">04 </item>
<item value="0x0064">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@103B8 = 4EB86670 </action>
<action>maincpu.mq@06670 = 0200000F323C0000</action>
<action>maincpu.mq@06678 = 4A006606323C0028</action>
<action>maincpu.mq@06680 = 4A004E75FFFFFFFF</action>
<!--
6670 | 0200 000F : andi.b #$f, D0
6674 | 323C xxxx : move.w #$xx, D1
6678 | 4A00 : tst.b D0
667A | 6606 : bne $6682
667C | 323C 0028 : move.w #$28, D1
6680 | 4A00 : tst.b D0
6682 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@6676 = param</action>
</script>
<script state="off">
<action>maincpu.md@103B8 = 0200000F </action>
<action>maincpu.mq@06670 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06678 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06680 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0020">01 (slow)</item>
<item value="0x0040">02 </item>
<item value="0x0060">03 </item>
<item value="0x0080">04 </item>
<item value="0x00a0">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@11B52 = 4EB86690 </action>
<action>maincpu.mq@06690 = 3829000A67066A04</action>
<action>maincpu.mq@06698 = 383C00004E75FFFF</action>
<!--
6690 | 3829 000A : move.w ($a,A1), D4
6694 | 6706 : beq $669c
6696 | 6A04 : bpl $669c
6698 | 383C xxxx : move.w #$xx, D4
669C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@669A = -param</action>
</script>
<script state="off">
<action>maincpu.md@11B52 = 3829000A </action>
<action>maincpu.mq@06690 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06698 = 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@007CA = 4EF9000396A00C10</action>
<action>maincpu.mq@396A0 = 41F90010100043F9</action>
<action>maincpu.mq@396A8 = 0015001112001029</action>
<action>maincpu.mq@396B0 = 0040B20067F60C00</action>
<action>maincpu.mq@396B8 = 00FD660253100C00</action>
<action>maincpu.mq@396C0 = 00FE660252100C00</action>
<action>maincpu.mq@396C8 = 00FB660404100010</action>
<action>maincpu.mq@396D0 = 0C0000F766040610</action>
<action>maincpu.mq@396D8 = 00100C0000EF6602</action>
<action>maincpu.mq@396E0 = 12900C0000DF6604</action>
<action>maincpu.mq@396E8 = 12BC00FF60BEFFFF</action>
<!--
396A0 | 41F9 0010 1000 : lea $101000.l, A0 // sound code address
396A6 | 43F9 0015 0011 : lea $150011.l, A1 // sound latch address
396AC | 1200 : move.b D0, D1
396AE | 1029 0040 : move.b ($40,A1), D0 // read input ($150051)
396B2 | B200 : cmp.b D0, D1
396B4 | 67F6 : beq $396ac
396B6 | 0C00 00FD : cmpi.b #-$3, D0
396BA | 6602 : bne $396be
396BC | 5310 : subq.b #1, (A0) // decrease code -01
396BE | 0C00 00FE : cmpi.b #-$2, D0
396C2 | 6602 : bne $396c6
396C4 | 5210 : addq.b #1, (A0) // increase code +01
396C6 | 0C00 00FB : cmpi.b #-$5, D0
396CA | 6604 : bne $396d0
396CC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
396D0 | 0C00 00F7 : cmpi.b #-$9, D0
396D4 | 6604 : bne $396da
396D6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
396DA | 0C00 00EF : cmpi.b #-$11, D0
396DE | 6602 : bne $396e2
396E0 | 1290 : move.b (A0), (A1) // play sound
396E2 | 0C00 00DF : cmpi.b #-$21, D0
396E6 | 6604 : bne $396ec
396E8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
396EC | 60BE : bra $396ac
-->
</script>
<script state="run">
<output format="----- final star force 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@101000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@007CA = 41F9001000000C10</action>
<action>maincpu.mq@396A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@1AD56 = 0056</action> <!-- rom check -->
<!-- <action>maincpu.mw@1A102 = 0001</action> <!== result screen ==> -->
</script>
<script state="off">
<action>maincpu.mw@1AD56 = 000A</action>
<!-- <action>maincpu.mw@1A102 = 012C</action> -->
</script>
</cheat>
</mamecheat>
fstarfrcw.xml
Code: Select all
<!-- Final Star Force (World?) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@6384 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@6384 = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@E093 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@E093 = 3C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0014">01 (slow)</item>
<item value="0x0028">02 </item>
<item value="0x003c">03 </item>
<item value="0x0050">04 </item>
<item value="0x0064">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@103B8 = 4EB86670 </action>
<action>maincpu.mq@06670 = 0200000F323C0000</action>
<action>maincpu.mq@06678 = 4A006606323C0028</action>
<action>maincpu.mq@06680 = 4A004E75FFFFFFFF</action>
<!--
6670 | 0200 000F : andi.b #$f, D0
6674 | 323C xxxx : move.w #$xx, D1
6678 | 4A00 : tst.b D0
667A | 6606 : bne $6682
667C | 323C 0028 : move.w #$28, D1
6680 | 4A00 : tst.b D0
6682 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@6676 = param</action>
</script>
<script state="off">
<action>maincpu.md@103B8 = 0200000F </action>
<action>maincpu.mq@06670 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06678 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06680 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0020">01 (slow)</item>
<item value="0x0040">02 </item>
<item value="0x0060">03 </item>
<item value="0x0080">04 </item>
<item value="0x00a0">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@11B52 = 4EB86690 </action>
<action>maincpu.mq@06690 = 3829000A67066A04</action>
<action>maincpu.mq@06698 = 383C00004E75FFFF</action>
<!--
6690 | 3829 000A : move.w ($a,A1), D4
6694 | 6706 : beq $669c
6696 | 6A04 : bpl $669c
6698 | 383C xxxx : move.w #$xx, D4
669C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@669A = -param</action>
</script>
<script state="off">
<action>maincpu.md@11B52 = 3829000A </action>
<action>maincpu.mq@06690 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@06698 = 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@00734 = 4EF9000396A00C10</action>
<action>maincpu.mq@396A0 = 41F90010100043F9</action>
<action>maincpu.mq@396A8 = 0015001112001029</action>
<action>maincpu.mq@396B0 = 0040B20067F60C00</action>
<action>maincpu.mq@396B8 = 00FD660253100C00</action>
<action>maincpu.mq@396C0 = 00FE660252100C00</action>
<action>maincpu.mq@396C8 = 00FB660404100010</action>
<action>maincpu.mq@396D0 = 0C0000F766040610</action>
<action>maincpu.mq@396D8 = 00100C0000EF6602</action>
<action>maincpu.mq@396E0 = 12900C0000DF6604</action>
<action>maincpu.mq@396E8 = 12BC00FF60BEFFFF</action>
<!--
396A0 | 41F9 0010 1000 : lea $101000.l, A0 // sound code address
396A6 | 43F9 0015 0011 : lea $150011.l, A1 // sound latch address
396AC | 1200 : move.b D0, D1
396AE | 1029 0040 : move.b ($40,A1), D0 // read input ($150051)
396B2 | B200 : cmp.b D0, D1
396B4 | 67F6 : beq $396ac
396B6 | 0C00 00FD : cmpi.b #-$3, D0
396BA | 6602 : bne $396be
396BC | 5310 : subq.b #1, (A0) // decrease code -01
396BE | 0C00 00FE : cmpi.b #-$2, D0
396C2 | 6602 : bne $396c6
396C4 | 5210 : addq.b #1, (A0) // increase code +01
396C6 | 0C00 00FB : cmpi.b #-$5, D0
396CA | 6604 : bne $396d0
396CC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
396D0 | 0C00 00F7 : cmpi.b #-$9, D0
396D4 | 6604 : bne $396da
396D6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
396DA | 0C00 00EF : cmpi.b #-$11, D0
396DE | 6602 : bne $396e2
396E0 | 1290 : move.b (A0), (A1) // play sound
396E2 | 0C00 00DF : cmpi.b #-$21, D0
396E6 | 6604 : bne $396ec
396E8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
396EC | 60BE : bra $396ac
-->
</script>
<script state="run">
<output format="----- final star force 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@101000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@00734 = 41F9001000000C10</action>
<action>maincpu.mq@396A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@396E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@1AD56 = 0056</action> <!-- rom check -->
<!-- <action>maincpu.mw@1A102 = 0001</action> <!== result screen ==> -->
</script>
<script state="off">
<action>maincpu.mw@1AD56 = 000A</action>
<!-- <action>maincpu.mw@1A102 = 012C</action> -->
</script>
</cheat>
</mamecheat>
"skip rom check" : Disabled result screen skip due to no title music.