Page 1 of 1

[flytiger] Flying Tiger

Posted: Fri Jul 09, 2021 9:22 am
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@1986 = c9</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1986 = c0</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@3ae3 = c3</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3ae3 = c2</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x08" step="0x01" />
    <script state="change">
        <action>maincpu.mb@4f7a =  param</action> <!-- right -->
        <action>maincpu.mb@4f96 = -param</action> <!-- left -->
        <action>maincpu.mb@4fb6 =  param</action> <!-- up -->
        <action>maincpu.mb@4fd9 = -param</action> <!-- down -->
    </script>
    <script state="off">
        <action>maincpu.mb@4f7a = 03</action>
        <action>maincpu.mb@4f96 = fd</action>
        <action>maincpu.mb@4fb6 = 03</action>
        <action>maincpu.mb@4fd9 = fd</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x09">01 (slow)</item>
        <item value="0x12">02       </item>
        <item value="0x1b">03       </item>
        <item value="0x24">04       </item>
        <item value="0x2d">05 (fast)</item>
    </parameter>
    <script state="change">
        <!-- green -->
        <action>maincpu.mb@3e1e = param</action>
        <!-- red -->
        <action>maincpu.mb@3f06 = param</action>
        <action>maincpu.mb@3f08 = param</action>
        <action>maincpu.mb@3f0a = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3e1e = 12</action>
        <action>maincpu.mb@3f06 = 12</action>
        <action>maincpu.mb@3f08 = 12</action>
        <action>maincpu.mb@3f0a = 12</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mq@00a0 = 0a3ad00022600021</action>
        <action>maincpu.mq@00a8 = 2802fef6286fbdd0</action>
        <action>maincpu.mq@00b0 = 2810fe0d2801fe0e</action>
        <action>maincpu.mq@00b8 = 25e4180b2820fe0c</action>
        <action>maincpu.mq@00c0 = 01187cde1824e118</action>
        <action>maincpu.mq@00c8 = 0000d518e02032af</action>
        <!--
        00a0 | 21 00 60 : ld  hl,$6000   // initialize sound and input values
        00a3 | 22 00 d0 : ld  ($d000),hl
        00a6 | 3a 0a d0 : ld  a,($d00a)  // read input
        00a9 | bd       : cp  l
        00aa | 6f       : ld  l,a
        00ab | 28 f6    : jr  z,$a3
        00ad | fe 02    : cp  $02        // pressed left?
        00af | 28 0e    : jr  z,$bf
        00b1 | fe 01    : cp  $01        // pressed right?
        00b3 | 28 0d    : jr  z,$c2
        00b5 | fe 10    : cp  $10
        00b7 | 28 0c    : jr  z,$c5      // pressed button1?
        00b9 | fe 20    : cp  $20
        00bb | 28 0b    : jr  z,$c8      // pressed button2?
        00bd | 18 e4    : jr  $a3
        00bf | 25       : dec h          // decrease code
        00c0 | 18 e1    : jr  $a3
        00c2 | 24       : inc h          // increase code
        00c3 | 18 de    : jr  $a3
        00c5 | 7c       : ld  a,h        // play sound
        00c6 | 18 01    : jr  $c9
        00c8 | af       : xor a          // stop sound
        00c9 | 32 20 e0 : ld  ($e020),a  // send sound code
        00cc | 18 d5    : jr  $a3
        -->
    </script>
    <script state="run">
        <output format="----- flying tiger 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@d001</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@00a0 = 3ed23753ed030011</action>
        <action>maincpu.mq@00a8 = 3ed61632d2343201</action>
        <action>maincpu.mq@00b0 = 0032043ed6153200</action>
        <action>maincpu.mq@00b8 = 30ca47cbe0063ae0</action>
        <action>maincpu.mq@00c0 = f2c3e00032023eb7</action>
        <action>maincpu.mq@00c8 = 000000027f000833</action>
    </script>
</cheat>

[flytiger] Flying Tiger (update)

Posted: Sun Nov 27, 2022 1:29 pm
by jman

Code: Select all

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x02">02       </item>
        <item value="0x04">03       </item>
        <item value="0x06">04       </item>
        <item value="0x08">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@4f7a =  param</action> <!-- right -->
        <action>maincpu.mb@4f96 = -param</action> <!-- left -->
        <action>maincpu.mb@4fb6 =  param</action> <!-- up -->
        <action>maincpu.mb@4fd9 = -param</action> <!-- down -->
    </script>
    <script state="off">
        <action>maincpu.mb@4f7a = 03</action>
        <action>maincpu.mb@4f96 = fd</action>
        <action>maincpu.mb@4fb6 = 03</action>
        <action>maincpu.mb@4fd9 = fd</action>
    </script>
</cheat>
"player speed" : change parameter from values to items.

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mq@00a0 = 47b8e0003ad10021</action>
        <action>maincpu.mq@00a8 = fe350120fdfef928</action>
        <action>maincpu.mq@00b0 = 0420fbfe340120fe</action>
        <action>maincpu.mq@00b8 = 0520f7fe0618f03e</action>
        <action>maincpu.mq@00c0 = 20effe787786103e</action>
        <action>maincpu.mq@00c8 = 0420dffe05187e03</action>
        <action>maincpu.mq@00d0 = 0000cd18e02032af</action>
        <!--
        00a0 | 21 00 d1 : ld  hl,$D100  // sound code address
        00a3 | 3a 00 e0 : ld  a,($E000) // read input
        00a6 | b8       : cp  b
        00a7 | 47       : ld  b,a
        00a8 | 28 f9    : jr  z,$00A3
        00aa | fe fd    : cp  $FD
        00ac | 20 01    : jr  nz,$00AF
        00ae | 35       : dec (hl)      // decrease code -01
        00af | fe fe    : cp  $FE
        00b1 | 20 01    : jr  nz,$00B4
        00b3 | 34       : inc (hl)      // increase code +01
        00b4 | fe fb    : cp  $FB
        00b6 | 20 04    : jr  nz,$00BC
        00b8 | 3e f0    : ld  a,$F0     // decrease code -10
        00ba | 18 06    : jr  $00C2
        00bc | fe f7    : cp  $F7
        00be | 20 05    : jr  nz,$00C5
        00c0 | 3e 10    : ld  a,$10     // increase code +10
        00c2 | 86       : add a,(hl)
        00c3 | 77       : ld  (hl),a
        00c4 | 78       : ld  a,b
        00c5 | fe ef    : cp  $EF
        00c7 | 20 03    : jr  nz,$00CC
        00c9 | 7e       : ld  a,(hl)    // play sound
        00ca | 18 05    : jr  $00D1
        00cc | fe df    : cp  $DF
        00ce | 20 04    : jr  nz,$00D4
        00d0 | af       : xor a         // stop sound
        00d1 | 32 20 e0 : ld  ($E020),a // send sound code
        00d4 | 18 cd    : jr  $00A3
        -->
        <action>audiocpu.mb@03bd = cd</action> <!-- stop sfx and music at the same time -->
    </script>
    <script state="run">
        <output format="----- flying tiger 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@d100</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.mq@00a0 = 3ed23753ed030011</action>
        <action> maincpu.mq@00a8 = 3ed61632d2343201</action>
        <action> maincpu.mq@00b0 = 0032043ed6153200</action>
        <action> maincpu.mq@00b8 = 30ca47cbe0063ae0</action>
        <action> maincpu.mq@00c0 = f2c3e00032023eb7</action>
        <action> maincpu.mq@00c8 = 000000027f000833</action>
        <action> maincpu.mq@00d0 = 0000004e08000800</action>
        <action>audiocpu.mb@03bd =               c3</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10). fix sfx and music stop problem.

[flytiger]+ Flying Tiger

Posted: Sat Feb 17, 2024 11:48 pm
by jman
flytiger.xml

Code: Select all

<!-- Flying Tiger (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1986 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1986 = C0</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@3AE3 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3AE3 = C2</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4F7A =  param</action> <!-- right -->
            <action>maincpu.mb@4F96 = -param</action> <!-- left -->
            <action>maincpu.mb@4FB6 =  param</action> <!-- up -->
            <action>maincpu.mb@4FD9 = -param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mb@4F7A = 03</action>
            <action>maincpu.mb@4F96 = FD</action>
            <action>maincpu.mb@4FB6 = 03</action>
            <action>maincpu.mb@4FD9 = FD</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x09">01 (slow)</item>
            <item value="0x12">02       </item>
            <item value="0x1b">03       </item>
            <item value="0x24">04       </item>
            <item value="0x2d">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- green -->
            <action>maincpu.mb@3E1E = param</action>
            <!-- red -->
            <action>maincpu.mb@3F06 = param</action>
            <action>maincpu.mb@3F08 = param</action>
            <action>maincpu.mb@3F0A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3E1E = 12</action>
            <action>maincpu.mb@3F06 = 12</action>
            <action>maincpu.mb@3F08 = 12</action>
            <action>maincpu.mb@3F0A = 12</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@2221 = 03              </action> <!-- fix bank -->
            <action>maincpu.mq@00A0 = 86F0C3E00032033E</action>
            <action>maincpu.mq@C6F0 = 47B8E0003AD10021</action>
            <action>maincpu.mq@C6F8 = FE350120FDFEF928</action>
            <action>maincpu.mq@C700 = 0420FBFE340120FE</action>
            <action>maincpu.mq@C708 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@C710 = 20EFFE787786103E</action>
            <action>maincpu.mq@C718 = 0420DFFE05187E03</action>
            <action>maincpu.mq@C720 = FFFFCD18E02032AF</action>
            <!--
            00A0 | 3E 03    : ld   a,$03     // set bank
            00A2 | 32 00 E0 : ld   ($E000),a
            00A5 | C3 F0 86 : jp   $86F0
            ================================
            86F0 | 21 00 D1 : ld   hl,$D100  // sound code address
            86F3 | 3A 00 E0 : ld   a,($E000) // read input
            86F6 | B8       : cp   b
            86F7 | 47       : ld   b,a
            86F8 | 28 F9    : jr   z,$86F3
            86FA | FE FD    : cp   $FD
            86FC | 20 01    : jr   nz,$86FF
            86FE | 35       : dec  (hl)      // decrease code -01
            86FF | FE FE    : cp   $FE
            8701 | 20 01    : jr   nz,$8704
            8703 | 34       : inc  (hl)      // increase code +01
            8704 | FE FB    : cp   $FB
            8706 | 20 04    : jr   nz,$870C
            8708 | 3E F0    : ld   a,$F0     // decrease code -10
            870A | 18 06    : jr   $8712
            870C | FE F7    : cp   $F7
            870E | 20 05    : jr   nz,$8715
            8710 | 3E 10    : ld   a,$10     // increase code +10
            8712 | 86       : add  a,(hl)
            8713 | 77       : ld   (hl),a
            8714 | 78       : ld   a,b
            8715 | FE EF    : cp   $EF
            8717 | 20 03    : jr   nz,$871C
            8719 | 7E       : ld   a,(hl)    // play sound
            871A | 18 05    : jr   $8721
            871C | FE DF    : cp   $DF
            871E | 20 04    : jr   nz,$8724
            8720 | AF       : xor  a         // stop sound
            8721 | 32 20 E0 : ld   ($E020),a // send sound code
            8724 | 18 CD    : jr   $86F3
            -->
            <action>audiocpu.mb@03BD = CD</action> <!-- stop sfx and music at the same time -->
        </script>
        <script state="run">
            <output format="----- flying tiger 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@D100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@2221 = 02              </action>
            <action> maincpu.mq@00A0 = 3ED23753ED030011</action>
            <action> maincpu.mq@C6F0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C6F8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C700 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C708 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C710 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C718 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C720 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mb@03BD = C3              </action>
        </script>
    </cheat>

</mamecheat>
flytigera.xml

Code: Select all

<!-- Flying Tiger (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1971 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1971 = C0</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@3AB0 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3AB0 = C2</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4F47 =  param</action> <!-- right -->
            <action>maincpu.mb@4F63 = -param</action> <!-- left -->
            <action>maincpu.mb@4F83 =  param</action> <!-- up -->
            <action>maincpu.mb@4FA6 = -param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mb@4F47 = 03</action>
            <action>maincpu.mb@4F63 = FD</action>
            <action>maincpu.mb@4F83 = 03</action>
            <action>maincpu.mb@4FA6 = FD</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x09">01 (slow)</item>
            <item value="0x12">02       </item>
            <item value="0x1b">03       </item>
            <item value="0x24">04       </item>
            <item value="0x2d">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- green -->
            <action>maincpu.mb@3DEB = param</action>
            <!-- red -->
            <action>maincpu.mb@3ED3 = param</action>
            <action>maincpu.mb@3ED5 = param</action>
            <action>maincpu.mb@3ED7 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3DEB = 12</action>
            <action>maincpu.mb@3ED3 = 12</action>
            <action>maincpu.mb@3ED5 = 12</action>
            <action>maincpu.mb@3ED7 = 12</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mb@21F1 = 03              </action> <!-- fix bank -->
            <action>maincpu.mq@00A0 = 86F0C3E00032033E</action>
            <action>maincpu.mq@C6F0 = 47B8E0003AD10021</action>
            <action>maincpu.mq@C6F8 = FE350120FDFEF928</action>
            <action>maincpu.mq@C700 = 0420FBFE340120FE</action>
            <action>maincpu.mq@C708 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@C710 = 20EFFE787786103E</action>
            <action>maincpu.mq@C718 = 0420DFFE05187E03</action>
            <action>maincpu.mq@C720 = FFFFCD18E02032AF</action>
            <!--
            00A0 | 3E 03    : ld   a,$03     // set bank
            00A2 | 32 00 E0 : ld   ($E000),a
            00A5 | C3 F0 86 : jp   $86F0
            ================================
            86F0 | 21 00 D1 : ld   hl,$D100  // sound code address
            86F3 | 3A 00 E0 : ld   a,($E000) // read input
            86F6 | B8       : cp   b
            86F7 | 47       : ld   b,a
            86F8 | 28 F9    : jr   z,$86F3
            86FA | FE FD    : cp   $FD
            86FC | 20 01    : jr   nz,$86FF
            86FE | 35       : dec  (hl)      // decrease code -01
            86FF | FE FE    : cp   $FE
            8701 | 20 01    : jr   nz,$8704
            8703 | 34       : inc  (hl)      // increase code +01
            8704 | FE FB    : cp   $FB
            8706 | 20 04    : jr   nz,$870C
            8708 | 3E F0    : ld   a,$F0     // decrease code -10
            870A | 18 06    : jr   $8712
            870C | FE F7    : cp   $F7
            870E | 20 05    : jr   nz,$8715
            8710 | 3E 10    : ld   a,$10     // increase code +10
            8712 | 86       : add  a,(hl)
            8713 | 77       : ld   (hl),a
            8714 | 78       : ld   a,b
            8715 | FE EF    : cp   $EF
            8717 | 20 03    : jr   nz,$871C
            8719 | 7E       : ld   a,(hl)    // play sound
            871A | 18 05    : jr   $8721
            871C | FE DF    : cp   $DF
            871E | 20 04    : jr   nz,$8724
            8720 | AF       : xor  a         // stop sound
            8721 | 32 20 E0 : ld   ($E020),a // send sound code
            8724 | 18 CD    : jr   $86F3
            -->
            <action>audiocpu.mb@03BD = CD</action> <!-- stop sfx and music at the same time -->
        </script>
        <script state="run">
            <output format="----- flying tiger 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@D100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@21F1 = 02              </action>
            <action> maincpu.mq@00A0 = 3ED23753ED030011</action>
            <action> maincpu.mq@C6F0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C6F8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C700 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C708 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C710 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C718 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@C720 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mb@03BD = C3              </action>
        </script>
    </cheat>

</mamecheat>