Page 1 of 1

[makyosen] Gondomania/Makyou Senshi

Posted: Fri Dec 17, 2021 11:41 am
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@cd3c =         7efc1012</action>
        <action>maincpu.mq@fc10 = 8c010027058c0128</action>
        <action>maincpu.mq@fc18 = 260139a6848a407e</action>
        <action>maincpu.mq@fc20 = cd40000000000000</action>
        <!--
        fc10 | 8c 01 00 : CMPX #$0100 // P1
        fc13 | 27 05    : BEQ  $FC1A
        fc15 | 8c 01 28 : CMPX #$0128 // P2
        fc18 | 26 01    : BNE  $FC1B
        fc1a | 39       : RTS
        fc1b | a6 84    : LDA  ,X
        fc1d | 8a 40    : ORA  #$40
        fc1f | 7e cd 40 : JMP  $CD40
        -->
    </script>
    <script state="off">
        <action>maincpu.md@cd3c =         a6848a40</action>
        <action>maincpu.mq@fc10 = 0000000000000000</action>
        <action>maincpu.mq@fc18 = 0000000000000000</action>
        <action>maincpu.mq@fc20 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="auto fire - main shot">
    <script state="on">
        <action>maincpu.mb@a2ff = 33</action> <!-- P1 -->
        <action>maincpu.mb@a325 = 33</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@a2ff = 34</action>
        <action>maincpu.mb@a325 = 34</action>
    </script>
</cheat>
<cheat desc="auto fire - sub shot">
    <script state="on">
        <action>maincpu.mb@ab4f = 33</action> <!-- P1 -->
        <action>maincpu.mb@ab76 = 33</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@ab4f = 34</action>
        <action>maincpu.mb@ab76 = 34</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0200">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0600">04       </item>
        <item value="0x0800">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@9c1b = 108e0000</action>
    </script>
    <script state="change">
        <action>maincpu.mw@9c1d = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@9c1b = 4810aea6</action>
    </script>
</cheat>

<cheat desc="max coin rate">
    <script state="on">
        <action>maincpu.mw@22226 = c610</action> <!-- ($6226) -->
    </script>
    <script state="off">
        <action>maincpu.mw@22226 = e6c6</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@815f =             fc30</action>
        <action>maincpu.mq@fc30 = d711f6380fc1ff26</action>
        <action>maincpu.mq@fc38 = 03f6380bd11127f0</action>
        <action>maincpu.mq@fc40 = c50426020a10c508</action>
        <action>maincpu.mq@fc48 = 26020c10c5012604</action>
        <action>maincpu.mq@fc50 = 96102006c5022605</action>
        <action>maincpu.mq@fc58 = 8601b7381020d100</action>
        <!--
        fc30 | d7 11    : STB  $11
        fc32 | f6 38 0f : LDB  $380F // read button input
        fc35 | c1 ff    : CMPB #$FF
        fc37 | 26 03    : BNE  $FC3C
        fc39 | f6 38 0b : LDB  $380B // read joystick input
        fc3c | d1 11    : CMPB $11
        fc3e | 27 f0    : BEQ  $FC30
        fc40 | c5 04    : BITB #$04
        fc42 | 26 02    : BNE  $FC46
        fc44 | 0a 10    : DEC  $10   // decrease code
        fc46 | c5 08    : BITB #$08
        fc48 | 26 02    : BNE  $FC4C
        fc4a | 0c 10    : INC  $10   // increase code
        fc4c | c5 01    : BITB #$01
        fc4e | 26 04    : BNE  $FC54
        fc50 | 96 10    : LDA  $10   // play sound
        fc52 | 20 06    : BRA  $FC5A
        fc54 | c5 02    : BITB #$02
        fc56 | 26 05    : BNE  $FC5D
        fc58 | 86 01    : LDA  #$01  // stop sound
        fc5a | b7 38 10 : STA  $3810 // send sound code
        fc5d | 20 d1    : BRA  $FC30
        -->
    </script>
    <script state="run">
        <output format="----- makyou senshi sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                      line="11" align="center" />
        <output format="right : increase code"                     line="12" align="center" />
        <output format="button 1 : play sound"                     line="13" align="center" />
        <output format="button 2 : stop sound"                     line="14" align="center" />
        <output format="----------------------------"              line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"        line="17" align="center">
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@815f =             8453</action>
        <action>maincpu.mq@fc30 = 0000000000000000</action>
        <action>maincpu.mq@fc38 = 0000000000000000</action>
        <action>maincpu.mq@fc40 = 0000000000000000</action>
        <action>maincpu.mq@fc48 = 0000000000000000</action>
        <action>maincpu.mq@fc50 = 0000000000000000</action>
        <action>maincpu.mq@fc58 = 0000000000000000</action>
    </script>
</cheat>
"max coin rate" is unique. All enemies drops $100.

I bother with random freeze/reset problem in test play. But I don't know the cause of that is due to cheat or emulation.

Some cheat codes for makyosen in official package based on 0.221 doesn't work because of different address between gondo/makyosen and gondou. For example, P1 life is $14b3 (gondo/makyosen) against $14db (gondou).

[gondo] Gondomania

Posted: Sat Jan 08, 2022 9:00 am
by jman
Converted codes from makyosen to gondo. But random freeze/reset problem happens in gondo too.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@b64c =         7efc1012</action>
        <action>maincpu.mq@fc10 = 8c010027058c0128</action>
        <action>maincpu.mq@fc18 = 260139a6848a407e</action>
        <action>maincpu.mq@fc20 = b650000000000000</action>
        <!--
        fc10 | 8c 01 00 : CMPX #$0100 // P1
        fc13 | 27 05    : BEQ  $FC1A
        fc15 | 8c 01 28 : CMPX #$0128 // P2
        fc18 | 26 01    : BNE  $FC1B
        fc1a | 39       : RTS
        fc1b | a6 84    : LDA  ,X
        fc1d | 8a 40    : ORA  #$40
        fc1f | 7e b6 50 : JMP  $B650
        -->
    </script>
    <script state="off">
        <action>maincpu.md@b64c =         a6848a40</action>
        <action>maincpu.mq@fc10 = ffffffffffffffff</action>
        <action>maincpu.mq@fc18 = ffffffffffffffff</action>
        <action>maincpu.mq@fc20 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire - main shot">
    <script state="on">
        <action>maincpu.mb@d4a7 = 33</action> <!-- P1 -->
        <action>maincpu.mb@d4cd = 33</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@d4a7 = 34</action>
        <action>maincpu.mb@d4cd = 34</action>
    </script>
</cheat>

<cheat desc="auto fire - sub shot">
    <script state="on">
        <action>maincpu.mb@cc86 = 33</action> <!-- P1 -->
        <action>maincpu.mb@ccad = 33</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@cc86 = 34</action>
        <action>maincpu.mb@ccad = 34</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0200">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0600">04       </item>
        <item value="0x0800">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@ddc9 = 108e0000</action>
    </script>
    <script state="change">
        <action>maincpu.mw@ddcb = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@ddc9 = 4810aea6</action>
    </script>
</cheat>

<cheat desc="max coin rate">
    <script state="on">
        <action>maincpu.mw@22226 = c610</action> <!-- ($6226) -->
    </script>
    <script state="off">
        <action>maincpu.mw@22226 = e6c6</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@8160 =             fc30</action>
        <action>maincpu.mq@fc30 = d711f6380fc1ff26</action>
        <action>maincpu.mq@fc38 = 03f6380bd11127f0</action>
        <action>maincpu.mq@fc40 = c50426020a10c508</action>
        <action>maincpu.mq@fc48 = 26020c10c5012604</action>
        <action>maincpu.mq@fc50 = 96102006c5022605</action>
        <action>maincpu.mq@fc58 = 8601b7381020d100</action>
        <!--
        fc30 | d7 11    : STB  $11
        fc32 | f6 38 0f : LDB  $380F // read button input
        fc35 | c1 ff    : CMPB #$FF
        fc37 | 26 03    : BNE  $FC3C
        fc39 | f6 38 0b : LDB  $380B // read joystick input
        fc3c | d1 11    : CMPB $11
        fc3e | 27 f0    : BEQ  $FC30
        fc40 | c5 04    : BITB #$04
        fc42 | 26 02    : BNE  $FC46
        fc44 | 0a 10    : DEC  $10   // decrease code
        fc46 | c5 08    : BITB #$08
        fc48 | 26 02    : BNE  $FC4C
        fc4a | 0c 10    : INC  $10   // increase code
        fc4c | c5 01    : BITB #$01
        fc4e | 26 04    : BNE  $FC54
        fc50 | 96 10    : LDA  $10   // play sound
        fc52 | 20 06    : BRA  $FC5A
        fc54 | c5 02    : BITB #$02
        fc56 | 26 05    : BNE  $FC5D
        fc58 | 86 01    : LDA  #$01  // stop sound
        fc5a | b7 38 10 : STA  $3810 // send sound code
        fc5d | 20 d1    : BRA  $FC30
        -->
    </script>
    <script state="run">
        <output format="----- gondomania sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                   line="11" align="center" />
        <output format="right : increase code"                  line="12" align="center" />
        <output format="button 1 : play sound"                  line="13" align="center" />
        <output format="button 2 : stop sound"                  line="14" align="center" />
        <output format="----------------------------"           line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"     line="17" align="center">
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@8160 =             8454</action>
        <action>maincpu.mq@fc30 = ffffffffffffffff</action>
        <action>maincpu.mq@fc38 = ffffffffffffffff</action>
        <action>maincpu.mq@fc40 = ffffffffffffffff</action>
        <action>maincpu.mq@fc48 = ffffffffffffffff</action>
        <action>maincpu.mq@fc50 = ffffffffffffffff</action>
        <action>maincpu.mq@fc58 = ffffffffffffffff</action>
    </script>
</cheat>
Current gondo.xml in official package based on 0.221 doesn't have any code. Only the following message is displayed.
This non-arcade system has been added during
the amalgamation of MESS into MAME. If there
is a softwarelist with games in, then cheats
may well appear when you load the game.

[gondou] Gondomania

Posted: Sat Jan 08, 2022 9:16 am
by jman
Converted codes from makyosen to gondou. But random reset/freeze problem happens in gondou too.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@cf6a =         7efe9012</action>
        <action>maincpu.mq@fe90 = 8c010027058c0128</action>
        <action>maincpu.mq@fe98 = 260139a6848a407e</action>
        <action>maincpu.mq@fea0 = cf6e000000000000</action>
        <!--
        fe90 | 8c 01 00 : CMPX #$0100 // P1
        fe93 | 27 05    : BEQ  $FE9A
        fe95 | 8c 01 28 : CMPX #$0128 // P2
        fe98 | 26 01    : BNE  $FE9B
        fe9a | 39       : RTS
        fe9b | a6 84    : LDA  ,X
        fe9d | 8a 40    : ORA  #$40
        fe9f | 7e cf 6e : JMP  $CF6E
        -->
    </script>
    <script state="off">
        <action>maincpu.md@cf6a =         a6848a40</action>
        <action>maincpu.mq@fe90 = ffffffffffffffff</action>
        <action>maincpu.mq@fe98 = ffffffffffffffff</action>
        <action>maincpu.mq@fea0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire - main shot">
    <script state="on">
        <action>maincpu.mb@a539 = 33</action> <!-- P1 -->
        <action>maincpu.mb@a55f = 33</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@a539 = 34</action>
        <action>maincpu.mb@a55f = 34</action>
    </script>
</cheat>

<cheat desc="auto fire - sub shot">
    <script state="on">
        <action>maincpu.mb@ad89 = 33</action> <!-- P1 -->
        <action>maincpu.mb@adb0 = 33</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@ad89 = 34</action>
        <action>maincpu.mb@adb0 = 34</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0200">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0600">04       </item>
        <item value="0x0800">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@9d7d = 108e0000</action>
    </script>
    <script state="change">
        <action>maincpu.mw@9d7f = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@9d7d = 4810aea6</action>
    </script>
</cheat>

<cheat desc="max coin rate">
    <script state="on">
        <action>maincpu.mw@22203 = c610</action> <!-- ($6203) -->
    </script>
    <script state="off">
        <action>maincpu.mw@22203 = e6c6</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@8172 =             feb0</action>
        <action>maincpu.mq@feb0 = d711f6380fc1ff26</action>
        <action>maincpu.mq@feb8 = 03f6380bd11127f0</action>
        <action>maincpu.mq@fec0 = c50426020a10c508</action>
        <action>maincpu.mq@fec8 = 26020c10c5012604</action>
        <action>maincpu.mq@fed0 = 96102006c5022605</action>
        <action>maincpu.mq@fed8 = 8601b7381020d1ff</action>
        <!--
        feb0 | d7 11    : STB  $11
        feb2 | f6 38 0f : LDB  $380F // read button input
        feb5 | c1 ff    : CMPB #$FF
        feb7 | 26 03    : BNE  $FEBC
        feb9 | f6 38 0b : LDB  $380B // read joystick input
        febc | d1 11    : CMPB $11
        febe | 27 f0    : BEQ  $FEB0
        fec0 | c5 04    : BITB #$04
        fec2 | 26 02    : BNE  $FEC6
        fec4 | 0a 10    : DEC  $10   // decrease code
        fec6 | c5 08    : BITB #$08
        fec8 | 26 02    : BNE  $FECC
        feca | 0c 10    : INC  $10   // increase code
        fecc | c5 01    : BITB #$01
        fece | 26 04    : BNE  $FED4
        fed0 | 96 10    : LDA  $10   // play sound
        fed2 | 20 06    : BRA  $FEDA
        fed4 | c5 02    : BITB #$02
        fed6 | 26 05    : BNE  $FEDD
        fed8 | 86 01    : LDA  #$01  // stop sound
        feda | b7 38 10 : STA  $3810 // send sound code
        fedd | 20 d1    : BRA  $FEB0
        -->
    </script>
    <script state="run">
        <output format="----- gondomania sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                   line="11" align="center" />
        <output format="right : increase code"                  line="12" align="center" />
        <output format="button 1 : play sound"                  line="13" align="center" />
        <output format="button 2 : stop sound"                  line="14" align="center" />
        <output format="----------------------------"           line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"     line="17" align="center">
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@8172 =             8485</action>
        <action>maincpu.mq@feb0 = ffffffffffffffff</action>
        <action>maincpu.mq@feb8 = ffffffffffffffff</action>
        <action>maincpu.mq@fec0 = ffffffffffffffff</action>
        <action>maincpu.mq@fec8 = ffffffffffffffff</action>
        <action>maincpu.mq@fed0 = ffffffffffffffff</action>
        <action>maincpu.mq@fed8 = ffffffffffffffff</action>
    </script>
</cheat>
gondou has different address from gondo/makyosen.

Code: Select all

          gondo/makyosen gondou
P1 life    $14b3          $14db
P2 life    $14b8          $14e0
P1 gold    $14af          $14d7  (3-bytes)
P2 gold    $14b4          $14dc  (3-bytes)
Also addresses for main/sub-weapon and ammo ($14xx). But invincibility/armour/jet ($01xx) is the same.

[gondo]+ Gondomania/Makyou Senshi (update)

Posted: Wed Dec 28, 2022 11:38 pm
by jman
"sound test mode" : rewrite routine. add up/down key (code ±10).

gondo.xml

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@8160 =             fc30</action>
        <action>maincpu.mq@fc30 = 9711b6380f438403</action>
        <action>maincpu.mq@fc38 = 484848489712b638</action>
        <action>maincpu.mq@fc40 = 0b43840f9a129111</action>
        <action>maincpu.mq@fc48 = 27e6d61081042601</action>
        <action>maincpu.mq@fc50 = 5a810826015c8102</action>
        <action>maincpu.mq@fc58 = 2602c01081012602</action>
        <action>maincpu.mq@fc60 = cb10d71081102706</action>
        <action>maincpu.mq@fc68 = 81202605c601f738</action>
        <action>maincpu.mq@fc70 = 1020bd0000000000</action>
        <!--
        fc30 | 97 11    : STA  $11
        fc32 | b6 38 0f : LDA  $380F // read button inputs
        fc35 | 43       : COMA
        fc36 | 84 03    : ANDA #$03
        fc38 | 48       : ASLA
        fc39 | 48       : ASLA
        fc3a | 48       : ASLA
        fc3b | 48       : ASLA
        fc3c | 97 12    : STA  $12
        fc3e | b6 38 0b : LDA  $380B // read joystick inputs
        fc41 | 43       : COMA
        fc42 | 84 0f    : ANDA #$0F
        fc44 | 9a 12    : ORA  $12
        fc46 | 91 11    : CMPA $11
        fc48 | 27 e6    : BEQ  $FC30
        fc4a | d6 10    : LDB  $10
        fc4c | 81 04    : CMPA #$04
        fc4e | 26 01    : BNE  $FC51
        fc50 | 5a       : DECB       // decrease code -01
        fc51 | 81 08    : CMPA #$08
        fc53 | 26 01    : BNE  $FC56
        fc55 | 5c       : INCB       // increase code +01
        fc56 | 81 02    : CMPA #$02
        fc58 | 26 02    : BNE  $FC5C
        fc5a | c0 10    : SUBB #$10  // decrease code -10
        fc5c | 81 01    : CMPA #$01
        fc5e | 26 02    : BNE  $FC62
        fc60 | cb 10    : ADDB #$10  // increase code +10
        fc62 | d7 10    : STB  $10
        fc64 | 81 10    : CMPA #$10
        fc66 | 27 06    : BEQ  $FC6E
        fc68 | 81 20    : CMPA #$20
        fc6a | 26 05    : BNE  $FC71
        fc6c | c6 01    : LDB  #$01  // stop sound
        fc6e | f7 38 10 : STB  $3810 // send sound code
        fc71 | 20 bd    : BRA  $FC30
        -->
    </script>
    <script state="run">
        <output format="----- gondomania 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="&lt;&lt; sound code %2.2X &gt;&gt;"     line="19" align="center"  >
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@815f =             8453</action>
        <action>maincpu.mq@fc30 = 0000000000000000</action>
        <action>maincpu.mq@fc38 = 0000000000000000</action>
        <action>maincpu.mq@fc40 = 0000000000000000</action>
        <action>maincpu.mq@fc48 = 0000000000000000</action>
        <action>maincpu.mq@fc50 = 0000000000000000</action>
        <action>maincpu.mq@fc58 = 0000000000000000</action>
        <action>maincpu.mq@fc60 = 0000000000000000</action>
        <action>maincpu.mq@fc68 = 0000000000000000</action>
        <action>maincpu.mq@fc70 = 0000000000000000</action>
    </script>
</cheat>
gondou.xml

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@8172 =             feb0</action>
        <action>maincpu.mq@feb0 = 9711b6380f438403</action>
        <action>maincpu.mq@feb8 = 484848489712b638</action>
        <action>maincpu.mq@fec0 = 0b43840f9a129111</action>
        <action>maincpu.mq@fec8 = 27e6d61081042601</action>
        <action>maincpu.mq@fed0 = 5a810826015c8102</action>
        <action>maincpu.mq@fed8 = 2602c01081012602</action>
        <action>maincpu.mq@fee0 = cb10d71081102706</action>
        <action>maincpu.mq@fee8 = 81202605c601f738</action>
        <action>maincpu.mq@fef0 = 1020bdffffffffff</action>
        <!--
        feb0 | 97 11    : STA  $11
        feb2 | b6 38 0f : LDA  $380F // read button inputs
        feb5 | 43       : COMA
        feb6 | 84 03    : ANDA #$03
        feb8 | 48       : ASLA
        feb9 | 48       : ASLA
        feba | 48       : ASLA
        febb | 48       : ASLA
        febc | 97 12    : STA  $12
        febe | b6 38 0b : LDA  $380B // read joystick inputs
        fec1 | 43       : COMA
        fec2 | 84 0f    : ANDA #$0F
        fec4 | 9a 12    : ORA  $12
        fec6 | 91 11    : CMPA $11
        fec8 | 27 e6    : BEQ  $FEB0
        feca | d6 10    : LDB  $10
        fecc | 81 04    : CMPA #$04
        fece | 26 01    : BNE  $FED1
        fed0 | 5a       : DECB       // decrease code -01
        fed1 | 81 08    : CMPA #$08
        fed3 | 26 01    : BNE  $FED6
        fed5 | 5c       : INCB       // increase code +01
        fed6 | 81 02    : CMPA #$02
        fed8 | 26 02    : BNE  $FEDC
        feda | c0 10    : SUBB #$10  // decrease code -10
        fedc | 81 01    : CMPA #$01
        fede | 26 02    : BNE  $FEE2
        fee0 | cb 10    : ADDB #$10  // increase code +10
        fee2 | d7 10    : STB  $10
        fee4 | 81 10    : CMPA #$10
        fee6 | 27 06    : BEQ  $FEEE
        fee8 | 81 20    : CMPA #$20
        feea | 26 05    : BNE  $FC71
        feec | c6 01    : LDB  #$01  // stop sound
        feee | f7 38 10 : STB  $3810 // send sound code
        fef1 | 20 bd    : BRA  $FEB0
        -->
    </script>
    <script state="run">
        <output format="----- gondomania 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="&lt;&lt; sound code %2.2X &gt;&gt;"     line="19" align="center"  >
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@8172 =             8485</action>
        <action>maincpu.mq@feb0 = ffffffffffffffff</action>
        <action>maincpu.mq@feb8 = ffffffffffffffff</action>
        <action>maincpu.mq@fec0 = ffffffffffffffff</action>
        <action>maincpu.mq@fec8 = ffffffffffffffff</action>
        <action>maincpu.mq@fed0 = ffffffffffffffff</action>
        <action>maincpu.mq@fed8 = ffffffffffffffff</action>
        <action>maincpu.mq@fee0 = ffffffffffffffff</action>
        <action>maincpu.mq@fee8 = ffffffffffffffff</action>
        <action>maincpu.mq@fef0 = ffffffffffffffff</action>
    </script>
</cheat>
makyosen.xml

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@815f =             fc30</action>
        <action>maincpu.mq@fc30 = 9711b6380f438403</action>
        <action>maincpu.mq@fc38 = 484848489712b638</action>
        <action>maincpu.mq@fc40 = 0b43840f9a129111</action>
        <action>maincpu.mq@fc48 = 27e6d61081042601</action>
        <action>maincpu.mq@fc50 = 5a810826015c8102</action>
        <action>maincpu.mq@fc58 = 2602c01081012602</action>
        <action>maincpu.mq@fc60 = cb10d71081102706</action>
        <action>maincpu.mq@fc68 = 81202605c601f738</action>
        <action>maincpu.mq@fc70 = 1020bd0000000000</action>
        <!--
        fc30 | 97 11    : STA  $11
        fc32 | b6 38 0f : LDA  $380F // read button inputs
        fc35 | 43       : COMA
        fc36 | 84 03    : ANDA #$03
        fc38 | 48       : ASLA
        fc39 | 48       : ASLA
        fc3a | 48       : ASLA
        fc3b | 48       : ASLA
        fc3c | 97 12    : STA  $12
        fc3e | b6 38 0b : LDA  $380B // read joystick inputs
        fc41 | 43       : COMA
        fc42 | 84 0f    : ANDA #$0F
        fc44 | 9a 12    : ORA  $12
        fc46 | 91 11    : CMPA $11
        fc48 | 27 e6    : BEQ  $FC30
        fc4a | d6 10    : LDB  $10
        fc4c | 81 04    : CMPA #$04
        fc4e | 26 01    : BNE  $FC51
        fc50 | 5a       : DECB       // decrease code -01
        fc51 | 81 08    : CMPA #$08
        fc53 | 26 01    : BNE  $FC56
        fc55 | 5c       : INCB       // increase code +01
        fc56 | 81 02    : CMPA #$02
        fc58 | 26 02    : BNE  $FC5C
        fc5a | c0 10    : SUBB #$10  // decrease code -10
        fc5c | 81 01    : CMPA #$01
        fc5e | 26 02    : BNE  $FC62
        fc60 | cb 10    : ADDB #$10  // increase code +10
        fc62 | d7 10    : STB  $10
        fc64 | 81 10    : CMPA #$10
        fc66 | 27 06    : BEQ  $FC6E
        fc68 | 81 20    : CMPA #$20
        fc6a | 26 05    : BNE  $FC71
        fc6c | c6 01    : LDB  #$01  // stop sound
        fc6e | f7 38 10 : STB  $3810 // send sound code
        fc71 | 20 bd    : BRA  $FC30
        -->
    </script>
    <script state="run">
        <output format="----- makyou senshi 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="&lt;&lt; sound code %2.2X &gt;&gt;"        line="19" align="center"  >
            <argument>maincpu.pb@0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@815f =             8453</action>
        <action>maincpu.mq@fc30 = 0000000000000000</action>
        <action>maincpu.mq@fc38 = 0000000000000000</action>
        <action>maincpu.mq@fc40 = 0000000000000000</action>
        <action>maincpu.mq@fc48 = 0000000000000000</action>
        <action>maincpu.mq@fc50 = 0000000000000000</action>
        <action>maincpu.mq@fc58 = 0000000000000000</action>
        <action>maincpu.mq@fc60 = 0000000000000000</action>
        <action>maincpu.mq@fc68 = 0000000000000000</action>
        <action>maincpu.mq@fc70 = 0000000000000000</action>
    </script>
</cheat>

[gondo]+ Gondomania/Makyou Senshi

Posted: Wed Mar 06, 2024 12:42 am
by jman
gondo.xml

Code: Select all

<!-- Gondomania (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.md@B64C = 7EFC1012        </action>
            <action>maincpu.mq@FC10 = 8C010027058C0128</action>
            <action>maincpu.mq@FC18 = 260139A6848A407E</action>
            <action>maincpu.mq@FC20 = B65FFFFFFFFFFFFF</action>
            <!--
            FC10 | 8C 01 00 : CMPX   #$0100 // P1
            FC13 | 27 05    : BEQ    $FC1A
            FC15 | 8C 01 28 : CMPX   #$0128 // P2
            FC18 | 26 01    : BNE    $FC1B
            FC1A | 39       : RTS
            FC1B | A6 84    : LDA    ,X
            FC1D | 8A 40    : ORA    #$40
            FC1F | 7E B6 50 : JMP    $B650
            -->
        </script>
        <script state="off">
            <action>maincpu.md@B64C = A6848A40        </action>
            <action>maincpu.mq@FC10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC20 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire - main shot">
        <script state="on">
            <action>maincpu.mb@D4A7 = 33</action> <!-- P1 -->
            <action>maincpu.mb@D4CD = 33</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@D4A7 = 34</action>
            <action>maincpu.mb@D4CD = 34</action>
        </script>
    </cheat>

    <cheat desc="auto fire - sub shot">
        <script state="on">
            <action>maincpu.mb@CC86 = 33</action> <!-- P1 -->
            <action>maincpu.mb@CCAD = 33</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@CC86 = 34</action>
            <action>maincpu.mb@CCAD = 34</action>
        </script>
    </cheat>

    <cheat desc="fire speed up (test)">
        <comment>knife, axe and syuriken only</comment>
        <script state="on">
            <action>maincpu.mb@DB78 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@DB78 = 10</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0200">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0600">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@DDC9 = 108E</action>
        </script>
        <script state="change">
            <action>maincpu.mw@DDCB = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@DDC9 = 4810AEA6</action>
        </script>
    </cheat>

    <cheat desc="drop max coin (test)">
        <comment>some bosses don't drop max coin</comment>
        <script state="on">
            <action>maincpu.mw@22226 = C610</action> <!-- ($6226) -->
        </script>
        <script state="off">
            <action>maincpu.mw@22226 = E6C6</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@8160 = FC30            </action>
            <action>maincpu.mq@FC30 = 9701B6380F438403</action>
            <action>maincpu.mq@FC38 = 484848489702B638</action>
            <action>maincpu.mq@FC40 = 0B43840F9A029101</action>
            <action>maincpu.mq@FC48 = 27E6D60081042601</action>
            <action>maincpu.mq@FC50 = 5A810826015C8102</action>
            <action>maincpu.mq@FC58 = 2602C01081012602</action>
            <action>maincpu.mq@FC60 = CB10D70081102706</action>
            <action>maincpu.mq@FC68 = 81202605C601F738</action>
            <action>maincpu.mq@FC70 = 1020BDFFFFFFFFFF</action>
            <!--
            FC30 | 97 01    : STA    $01
            FC32 | B6 38 0F : LDA    $380F // read buttons
            FC35 | 43       : COMA
            FC36 | 84 03    : ANDA   #$03
            FC38 | 48       : ASLA
            FC39 | 48       : ASLA
            FC3A | 48       : ASLA
            FC3B | 48       : ASLA
            FC3C | 97 02    : STA    $02
            FC3E | B6 38 0B : LDA    $380B // read other inputs
            FC41 | 43       : COMA
            FC42 | 84 0F    : ANDA   #$0F
            FC44 | 9A 02    : ORA    $02
            FC46 | 91 01    : CMPA   $01
            FC48 | 27 E6    : BEQ    $FC30
            FC4A | D6 00    : LDB    $00
            FC4C | 81 04    : CMPA   #$04
            FC4E | 26 01    : BNE    $FC51
            FC50 | 5A       : DECB         // decrease code -01
            FC51 | 81 08    : CMPA   #$08
            FC53 | 26 01    : BNE    $FC56
            FC55 | 5C       : INCB         // increase code +01
            FC56 | 81 02    : CMPA   #$02
            FC58 | 26 02    : BNE    $FC5C
            FC5A | C0 10    : SUBB   #$10  // decrease code -10
            FC5C | 81 01    : CMPA   #$01
            FC5E | 26 02    : BNE    $FC62
            FC60 | CB 10    : ADDB   #$10  // increase code +10
            FC62 | D7 00    : STB    $00
            FC64 | 81 10    : CMPA   #$10
            FC66 | 27 06    : BEQ    $FC6E // play sound
            FC68 | 81 20    : CMPA   #$20
            FC6A | 26 05    : BNE    $FC71
            FC6C | C6 01    : LDB    #$01  // stop sound
            FC6E | F7 38 10 : STB    $3810 // send sound code
            FC71 | 20 BD    : BRA    $FC30
            -->
        </script>
        <script state="run">
            <output format="----- gondomania 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="&lt;&lt; sound code %02X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@815F = 8453            </action>
            <action>maincpu.mq@FC30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FC70 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gondou.xml

Code: Select all

<!-- Gondomania (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.md@CF6A = 7EFE9012        </action>
            <action>maincpu.mq@FE90 = 8C010027058C0128</action>
            <action>maincpu.mq@FE98 = 260139A6848A407E</action>
            <action>maincpu.mq@FEA0 = CF6EFFFFFFFFFFFF</action>
            <!--
            FE90 | 8C 01 00 : CMPX   #$0100 // P1
            FE93 | 27 05    : BEQ    $FE9A
            FE95 | 8C 01 28 : CMPX   #$0128 // P2
            FE98 | 26 01    : BNE    $FE9B
            FE9A | 39       : RTS
            FE9B | A6 84    : LDA    ,X
            FE9D | 8A 40    : ORA    #$40
            FE9F | 7E CF 6E : JMP    $CF6E
            -->
        </script>
        <script state="off">
            <action>maincpu.md@CF6A = A6848A40        </action>
            <action>maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire - main shot">
        <script state="on">
            <action>maincpu.mb@A539 = 33</action> <!-- P1 -->
            <action>maincpu.mb@A55F = 33</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@A539 = 34</action>
            <action>maincpu.mb@A55F = 34</action>
        </script>
    </cheat>

    <cheat desc="auto fire - sub shot">
        <script state="on">
            <action>maincpu.mb@AD89 = 33</action> <!-- P1 -->
            <action>maincpu.mb@ADB0 = 33</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@AD89 = 34</action>
            <action>maincpu.mb@ADB0 = 34</action>
        </script>
    </cheat>

    <cheat desc="fire speed up (test)">
        <comment>knife, axe and syuriken only</comment>
        <script state="on">
            <action>maincpu.mb@AC0A = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@AC0A = 10</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0200">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0600">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@9D7D = 108E</action>
        </script>
        <script state="change">
            <action>maincpu.mw@9D7F = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@9D7D = 4810AEA6</action>
        </script>
    </cheat>

    <cheat desc="drop max coin (test)">
        <comment>some bosses don't drop max coin</comment>
        <script state="on">
            <action>maincpu.mw@22203 = C610</action> <!-- ($6203) -->
        </script>
        <script state="off">
            <action>maincpu.mw@22203 = E6C6</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@8172 = FEB0            </action>
            <action>maincpu.mq@FEB0 = 9701B6380F438403</action>
            <action>maincpu.mq@FEB8 = 484848489702B638</action>
            <action>maincpu.mq@FEC0 = 0B43840F9A029101</action>
            <action>maincpu.mq@FEC8 = 27E6D60081042601</action>
            <action>maincpu.mq@FED0 = 5A810826015C8102</action>
            <action>maincpu.mq@FED8 = 2602C01081012602</action>
            <action>maincpu.mq@FEE0 = CB10D70081102706</action>
            <action>maincpu.mq@FEE8 = 81202605C601F738</action>
            <action>maincpu.mq@FEF0 = 1020BDFFFFFFFFFF</action>
            <!--
            FEB0 | 97 01    : STA    $01
            FEB2 | B6 38 0F : LDA    $380F // read buttons
            FEB5 | 43       : COMA
            FEB6 | 84 03    : ANDA   #$03
            FEB8 | 48       : ASLA
            FEB9 | 48       : ASLA
            FEBA | 48       : ASLA
            FEBB | 48       : ASLA
            FEBC | 97 02    : STA    $02
            FEBE | B6 38 0B : LDA    $380B // read other inputs
            FEC1 | 43       : COMA
            FEC2 | 84 0F    : ANDA   #$0F
            FEC4 | 9A 02    : ORA    $02
            FEC6 | 91 01    : CMPA   $01
            FEC8 | 27 E6    : BEQ    $FEB0
            FECA | D6 00    : LDB    $00
            FECC | 81 04    : CMPA   #$04
            FECE | 26 01    : BNE    $FED1
            FED0 | 5A       : DECB         // decrease code -01
            FED1 | 81 08    : CMPA   #$08
            FED3 | 26 01    : BNE    $FED6
            FED5 | 5C       : INCB         // increase code +01
            FED6 | 81 02    : CMPA   #$02
            FED8 | 26 02    : BNE    $FEDC
            FEDA | C0 10    : SUBB   #$10  // decrease code -10
            FEDC | 81 01    : CMPA   #$01
            FEDE | 26 02    : BNE    $FEE2
            FEE0 | CB 10    : ADDB   #$10  // increase code +10
            FEE2 | D7 00    : STB    $00
            FEE4 | 81 10    : CMPA   #$10
            FEE6 | 27 06    : BEQ    $FEEE // play sound
            FEE8 | 81 20    : CMPA   #$20
            FEEA | 26 05    : BNE    $FEF1
            FEEC | C6 01    : LDB    #$01  // stop sound
            FEEE | F7 38 10 : STB    $3810 // send sound code
            FEF1 | 20 BD    : BRA    $FEB0
            -->
        </script>
        <script state="run">
            <output format="----- gondomania 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="&lt;&lt; sound code %02X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@8172 = 8485            </action>
            <action>maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
makyosen.xml

Code: Select all

<!-- Makyou Senshi (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.md@CD3C = 7EFC1012        </action>
            <action>maincpu.mq@FC10 = 8C010027058C0128</action>
            <action>maincpu.mq@FC18 = 260139A6848A407E</action>
            <action>maincpu.mq@FC20 = CD40000000000000</action>
            <!--
            FC10 | 8C 01 00 : CMPX   #$0100 // P1
            FC13 | 27 05    : BEQ    $FC1A
            FC15 | 8C 01 28 : CMPX   #$0128 // P2
            FC18 | 26 01    : BNE    $FC1B
            FC1A | 39       : RTS
            FC1B | A6 84    : LDA    ,X
            FC1D | 8A 40    : ORA    #$40
            FC1F | 7E CD 40 : JMP    $CD40

            -->
        </script>
        <script state="off">
            <action>maincpu.md@CD3C = A6848A40        </action>
            <action>maincpu.mq@FC10 = 0000000000000000</action>
            <action>maincpu.mq@FC18 = 0000000000000000</action>
            <action>maincpu.mq@FC20 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire - main shot">
        <script state="on">
            <action>maincpu.mb@A2FF = 33</action> <!-- P1 -->
            <action>maincpu.mb@A325 = 33</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@A2FF = 34</action>
            <action>maincpu.mb@A325 = 34</action>
        </script>
    </cheat>

    <cheat desc="auto fire - sub shot">
        <script state="on">
            <action>maincpu.mb@AB4F = 33</action> <!-- P1 -->
            <action>maincpu.mb@AB76 = 33</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@AB4F = 34</action>
            <action>maincpu.mb@AB76 = 34</action>
        </script>
    </cheat>

    <cheat desc="fire speed up (test)">
        <comment>knife, axe and syuriken only</comment>
        <script state="on">
            <action>maincpu.mb@A9D0 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@A9D0 = 10</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0200">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0600">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@9C1B = 108E</action>
        </script>
        <script state="change">
            <action>maincpu.mw@9C1D = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@9C1B = 4810AEA6</action>
        </script>
    </cheat>

    <cheat desc="drop max coin (test)">
        <comment>some bosses don't drop max coin</comment>
        <script state="on">
            <action>maincpu.mw@22226 = C610</action> <!-- ($6226) -->
        </script>
        <script state="off">
            <action>maincpu.mw@22226 = E6C6</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@815F = FC30            </action>
            <action>maincpu.mq@FC30 = 9701B6380F438403</action>
            <action>maincpu.mq@FC38 = 484848489702B638</action>
            <action>maincpu.mq@FC40 = 0B43840F9A029101</action>
            <action>maincpu.mq@FC48 = 27E6D60081042601</action>
            <action>maincpu.mq@FC50 = 5A810826015C8102</action>
            <action>maincpu.mq@FC58 = 2602C01081012602</action>
            <action>maincpu.mq@FC60 = CB10D70081102706</action>
            <action>maincpu.mq@FC68 = 81202605C601F738</action>
            <action>maincpu.mq@FC70 = 1020BD0000000000</action>
            <!--
            FC30 | 97 01    : STA    $01
            FC32 | B6 38 0F : LDA    $380F // read buttons
            FC35 | 43       : COMA
            FC36 | 84 03    : ANDA   #$03
            FC38 | 48       : ASLA
            FC39 | 48       : ASLA
            FC3A | 48       : ASLA
            FC3B | 48       : ASLA
            FC3C | 97 02    : STA    $02
            FC3E | B6 38 0B : LDA    $380B // read other inputs
            FC41 | 43       : COMA
            FC42 | 84 0F    : ANDA   #$0F
            FC44 | 9A 02    : ORA    $02
            FC46 | 91 01    : CMPA   $01
            FC48 | 27 E6    : BEQ    $FC30
            FC4A | D6 00    : LDB    $00
            FC4C | 81 04    : CMPA   #$04
            FC4E | 26 01    : BNE    $FC51
            FC50 | 5A       : DECB         // decrease code -01
            FC51 | 81 08    : CMPA   #$08
            FC53 | 26 01    : BNE    $FC56
            FC55 | 5C       : INCB         // increase code +01
            FC56 | 81 02    : CMPA   #$02
            FC58 | 26 02    : BNE    $FC5C
            FC5A | C0 10    : SUBB   #$10  // decrease code -10
            FC5C | 81 01    : CMPA   #$01
            FC5E | 26 02    : BNE    $FC62
            FC60 | CB 10    : ADDB   #$10  // increase code +10
            FC62 | D7 00    : STB    $00
            FC64 | 81 10    : CMPA   #$10
            FC66 | 27 06    : BEQ    $FC6E // play sound
            FC68 | 81 20    : CMPA   #$20
            FC6A | 26 05    : BNE    $FC71
            FC6C | C6 01    : LDB    #$01  // stop sound
            FC6E | F7 38 10 : STB    $3810 // send sound code
            FC71 | 20 BD    : BRA    $FC30
            -->
        </script>
        <script state="run">
            <output format="----- makyou senshi 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="&lt;&lt; sound code %02X &gt;&gt;"         line="19" align="center"  >
                <argument>maincpu.pb@0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@815F = 8453            </action>
            <action>maincpu.mq@FC30 = 0000000000000000</action>
            <action>maincpu.mq@FC38 = 0000000000000000</action>
            <action>maincpu.mq@FC40 = 0000000000000000</action>
            <action>maincpu.mq@FC48 = 0000000000000000</action>
            <action>maincpu.mq@FC50 = 0000000000000000</action>
            <action>maincpu.mq@FC58 = 0000000000000000</action>
            <action>maincpu.mq@FC60 = 0000000000000000</action>
            <action>maincpu.mq@FC68 = 0000000000000000</action>
            <action>maincpu.mq@FC70 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>