[makyosen] Gondomania/Makyou Senshi

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[makyosen] Gondomania/Makyou Senshi

Post 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).
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[gondo] Gondomania

Post 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.
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[gondou] Gondomania

Post 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.
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[gondo]+ Gondomania/Makyou Senshi (update)

Post 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>
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[gondo]+ Gondomania/Makyou Senshi

Post 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>
Post Reply