[yamato] Yamato

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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[yamato] Yamato

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.ob@2b8d = c9</action>
    </script>
    <script state="off">
        <action>maincpu.ob@2b8d = af</action>
    </script>
</cheat>

<cheat desc="auto fire - vulcan">
    <script state="on">
        <action>maincpu.ob@4b7f = 00</action>
    </script>
    <script state="off">
        <action>maincpu.ob@4b7f = c0</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mw@492d =             5f60</action>
        <action>maincpu.oq@5f60 = 10c1ffffcdc5ff06</action>
        <action>maincpu.mq@5f60 = ff7f2a38ff7f007f</action>
        <action>maincpu.oq@5f68 = ffffffffffffc9ff</action>
        <action>maincpu.mq@5f68 = ff7fff7fff7ffff9</action>
        <!--
        5f60 | 06 xx    : ld   b,$xx
        5f62 | c5       : push bc
        5f63 | cd 38 2a : call $2a38
        5f66 | c1       : pop  bc
        5f67 | 10 f9    : djnz $5f62
        5f69 | c9       : ret
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@5f61 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@492d =             2a38</action>
        <action>maincpu.oq@5f60 = ffffffffffffffff</action>
        <action>maincpu.mq@5f60 = ff7fff7fff7fff7f</action>
        <action>maincpu.oq@5f68 = ffffffffffffffff</action>
        <action>maincpu.mq@5f68 = ff7fff7fff7fff7f</action>
    </script>
</cheat>

<cheat desc="fast vulcan">
    <script state="on">
        <action>maincpu.ob@4b6a = c3</action>
    </script>
    <script state="off">
        <action>maincpu.ob@4b6a = ca</action>
    </script>
</cheat>

<cheat desc="no delay cannon">
    <script state="on">
        <action>maincpu.ob@17e1 = c3</action>
    </script>
    <script state="off">
        <action>maincpu.ob@17e1 = ca</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[yamato]+ Yamato

Post by jman »

yamato.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@2B8D = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@2B8D = AF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ob@1834 = 00</action> <!-- cannon -->
            <action>maincpu.ob@4B7F = 00</action> <!-- vulcan -->
        </script>
        <script state="off">
            <action>maincpu.ob@1834 = C0</action>
            <action>maincpu.ob@4B7F = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@492D = 7A90            </action>
            <action>maincpu.oq@7A90 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@7A90 = FFFF2A38FFFF007F</action>
            <action>maincpu.oq@7A98 = FFFFFFFFFFFFC9FF</action>
            <action>maincpu.mq@7A98 = FFFFFFFFFFFFFFF9</action>
            <!--
            7A90 | 06 xx    : ld   b,$xx
            7A92 | C5       : push bc
            7A93 | CD 38 2A : call $2A38
            7A96 | C1       : pop  bc
            7A97 | 10 F9    : djnz $7A92
            7A99 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7A91 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@492D = 2A38            </action>
            <action>maincpu.oq@7A90 = 08A808A808A80801</action>
            <action>maincpu.mq@7A90 = 0000000000000000</action>
            <action>maincpu.oq@7A98 = 08A808A808A808A8</action>
            <action>maincpu.mq@7A98 = 0000000000000000</action>

        </script>
    </cheat>

    <cheat desc="fast vulcan">
        <script state="on">
            <action>maincpu.ob@4B6A = C3</action>
        </script>
        <script state="off">
            <action>maincpu.ob@4B6A = CA</action>
        </script>
    </cheat>

    <cheat desc="no delay cannon">
        <script state="on">
            <action>maincpu.ob@17E1 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.ob@17E1 = CA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode (test)">
        <!-- you can't stop 0x01 - 0x08 sounds by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.ob@00B1 = C9              </action> <!-- disable credit display -->
            <action>maincpu.mw@0A5B = 7AA0            </action>
            <action>maincpu.oq@7AA0 = 47B8FFFF3AFFFF21</action>
            <action>maincpu.mq@7AA0 = FFFFA000FF6000FF</action>
            <action>maincpu.oq@7AA8 = FE35FF20FFFEFF28</action>
            <action>maincpu.mq@7AA8 = FFFF01FF40FFF6FF</action>
            <action>maincpu.oq@7AB0 = FF20FFFE34FF20FF</action>
            <action>maincpu.mq@7AB0 = 04FF20FFFF01FF80</action>
            <action>maincpu.oq@7AB8 = FF20FFFEFF18FF3E</action>
            <action>maincpu.mq@7AB8 = 05FF10FF06FFF0FF</action>
            <action>maincpu.oq@7AC0 = 20FFFE787786FF3E</action>
            <action>maincpu.mq@7AC0 = FF04FFFFFFFF10FF</action>
            <action>maincpu.oq@7AC8 = FF20FFFEFF187EFF</action>
            <action>maincpu.mq@7AC8 = 04FF08FF05FFFF03</action>
            <action>maincpu.oq@7AD0 = 2187FF18FFFFCDAF</action>
            <action>maincpu.mq@7AD0 = FFFFCAFF7AD6FFFF</action>
            <action>maincpu.oq@7AD8 = 7E6F24FF3085FFFF</action>
            <action>maincpu.mq@7AD8 = FFFFFF01FFFF7AE7</action>
            <action>maincpu.oq@7AE0 = FFC9FFD37E23FFD3</action>
            <action>maincpu.mq@7AE0 = 00FF01FFFFFF00FF</action>
            <action>maincpu.oq@7AE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7AE8 = 0800040002000100</action>
            <action>maincpu.oq@7AF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7AF0 = 8000400020001000</action>
            <action>maincpu.oq@7AF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7AF8 = 0004000200010000</action>
            <action>maincpu.oq@7B00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B00 = 0040002000100008</action>
            <action>maincpu.oq@7B08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B08 = 0000000000000080</action>
            <!--
            7AA0 | 21 00 60 : ld   hl,$6000  // sound code address
            7AA3 | 3A 00 A0 : ld   a,($A000) // read input
            7AA6 | B8       : cp   b
            7AA7 | 47       : ld   b,a
            7AA8 | 28 F6    : jr   z,$7AA0
            7AAA | FE 40    : cp   $40
            7AAC | 20 01    : jr   nz,$7AAF
            7AAE | 35       : dec  (hl)      // decrease code -01
            7AAF | FE 80    : cp   $80
            7AB1 | 20 01    : jr   nz,$7AB4
            7AB3 | 34       : inc  (hl)      // increase code +01
            7AB4 | FE 20    : cp   $20
            7AB6 | 20 04    : jr   nz,$7ABC
            7AB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7ABA | 18 06    : jr   $7AC2
            7ABC | FE 10    : cp   $10
            7ABE | 20 05    : jr   nz,$7AC5
            7AC0 | 3E 10    : ld   a,$10     // increase code +10
            7AC2 | 86       : add  a,(hl)
            7AC3 | 77       : ld   (hl),a
            7AC4 | 78       : ld   a,b
            7AC5 | FE 04    : cp   $04
            7AC7 | 20 03    : jr   nz,$7ACC
            7AC9 | 7E       : ld   a,(hl)    // play sound
            7ACA | 18 05    : jr   $7AD1
            7ACC | FE 08    : cp   $08
            7ACE | 20 04    : jr   nz,$7AD4
            7AD0 | AF       : xor  a         // stop sound
            7AD1 | CD D6 7A : call $7AD6     // call sound code conversion routine
            7AD4 | 18 CA    : jr   $7AA0
            7AD6 | 87       : add  a,a       // sound code conversion routine
            7AD7 | 21 E7 7A : ld   hl,$7AE7
            7ADA | 85       : add  a,l
            7ADB | 30 01    : jr   nc,$7ADE
            7ADD | 24       : inc  h
            7ADE | 6F       : ld   l,a
            7ADF | 7E       : ld   a,(hl)
            7AE0 | D3 00    : out  ($00),a
            7AE2 | 23       : inc  hl
            7AE3 | 7E       : ld   a,(hl)
            7AE4 | D3 01    : out  ($01),a
            7AE6 | C9       : ret
            7AE7 - 7B08     : sound code conversion table
             code  $00  $01
              00    00   00   stop $01 sounds (not $00)
              01    01   00   sfx
              02    02   00   (none?)
              03    04   00   sfx
              04    08   00   sfx
              05    10   00   (none?)
              06    20   00   sfx
              07    40   00   (none?)
              08    80   00   (none?)
              09    00   01   main theme
              0a    00   02   (none?)
              0b    00   04   sfx
              0c    00   08   sfx
              0d    00   10   (none?)
              0e    00   20   (none?)
              0f    00   40   (none?)
              10    00   80   (none?)
            -->
        </script>
        <script state="run">
            <output format="----- yamato 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@6000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ob@00B1 = C8              </action>
            <action>maincpu.oq@7AA0 = 8008800880088008</action>
            <action>maincpu.mq@7AA0 = 0000000000000000</action>
            <action>maincpu.oq@7AA8 = 8008800880088008</action>
            <action>maincpu.mq@7AA8 = 0000000000000000</action>
            <action>maincpu.oq@7AB0 = 08A808A808A808A8</action>
            <action>maincpu.mq@7AB0 = 0000000000000000</action>
            <action>maincpu.oq@7AB8 = 08A808A808A808A8</action>
            <action>maincpu.mq@7AB8 = 0000000000000000</action>
            <action>maincpu.oq@7AC0 = 8008800880088008</action>
            <action>maincpu.mq@7AC0 = 0000000000000000</action>
            <action>maincpu.oq@7AC8 = 8008800880088008</action>
            <action>maincpu.mq@7AC8 = 0000000000000000</action>
            <action>maincpu.oq@7AD0 = 08A808A808A808A8</action>
            <action>maincpu.mq@7AD0 = 0000000000000000</action>
            <action>maincpu.oq@7AD8 = 08A808A808A808A8</action>
            <action>maincpu.mq@7AD8 = 0000000000000000</action>
            <action>maincpu.oq@7AE0 = 8008800880088008</action>
            <action>maincpu.mq@7AE0 = 0000000000000000</action>
            <action>maincpu.oq@7AE8 = 8008800880088008</action>
            <action>maincpu.mq@7AE8 = 0000000000000000</action>
            <action>maincpu.oq@7AF0 = 08A808A808A808A8</action>
            <action>maincpu.mq@7AF0 = 0000000000000000</action>
            <action>maincpu.oq@7AF8 = 08A808A808A808A8</action>
            <action>maincpu.mq@7AF8 = 0000000000000000</action>
            <action>maincpu.oq@7B00 = 0008000800080008</action>
            <action>maincpu.mq@7B00 = 0000000000000000</action>
            <action>maincpu.oq@7B08 = 0008000800080008</action>
            <action>maincpu.mq@7B08 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
yamato2.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@2A36 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@2A36 = AF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ob@16E7 = 00</action> <!-- cannon -->
            <action>maincpu.ob@4A1D = 00</action> <!-- vulcan -->
        </script>
        <script state="off">
            <action>maincpu.ob@16E7 = C0</action>
            <action>maincpu.ob@4A1D = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@47CB = 7A90            </action>
            <action>maincpu.oq@7A90 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@7A90 = FFFF28E1FFFF007F</action>
            <action>maincpu.oq@7A98 = FFFFFFFFFFFFC9FF</action>
            <action>maincpu.mq@7A98 = FFFFFFFFFFFFFFF9</action>
            <!--
            7A90 | 06 xx    : ld   b,$xx
            7A92 | C5       : push bc
            7A93 | CD E1 28 : call $28E1
            7A96 | C1       : pop  bc
            7A97 | 10 F9    : djnz $7A92
            7A99 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7A91 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@47CB = 28E1            </action>
            <action>maincpu.oq@7A90 = 28A028A028A028A0</action>
            <action>maincpu.mq@7A90 = 2020202020202020</action>
            <action>maincpu.oq@7A98 = 28A028A028A028A0</action>
            <action>maincpu.mq@7A98 = 2020202020202020</action>
        </script>
    </cheat>

    <cheat desc="fast vulcan">
        <script state="on">
            <action>maincpu.ob@4A08 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.ob@4A08 = CA</action>
        </script>
    </cheat>

    <cheat desc="no delay cannon">
        <script state="on">
            <action>maincpu.ob@1694 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.ob@1694 = CA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode (test)">
        <!-- you can't stop 0x01 - 0x08 sounds by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.ob@00B1 = C9              </action> <!-- disable credit display -->
            <action>maincpu.mw@090E = 7AA0            </action>
            <action>maincpu.oq@7AA0 = 47B8FFFF3AFFFF21</action>
            <action>maincpu.mq@7AA0 = FFFFA000FF6000FF</action>
            <action>maincpu.oq@7AA8 = FE35FF20FFFEFF28</action>
            <action>maincpu.mq@7AA8 = FFFF01FF40FFF6FF</action>
            <action>maincpu.oq@7AB0 = FF20FFFE34FF20FF</action>
            <action>maincpu.mq@7AB0 = 04FF20FFFF01FF80</action>
            <action>maincpu.oq@7AB8 = FF20FFFEFF18FF3E</action>
            <action>maincpu.mq@7AB8 = 05FF10FF06FFF0FF</action>
            <action>maincpu.oq@7AC0 = 20FFFE787786FF3E</action>
            <action>maincpu.mq@7AC0 = FF04FFFFFFFF10FF</action>
            <action>maincpu.oq@7AC8 = FF20FFFEFF187EFF</action>
            <action>maincpu.mq@7AC8 = 04FF08FF05FFFF03</action>
            <action>maincpu.oq@7AD0 = 2187FF18FFFFCDAF</action>
            <action>maincpu.mq@7AD0 = FFFFCAFF7AD6FFFF</action>
            <action>maincpu.oq@7AD8 = 7E6F24FF3085FFFF</action>
            <action>maincpu.mq@7AD8 = FFFFFF01FFFF7AE7</action>
            <action>maincpu.oq@7AE0 = FFC9FFD37E23FFD3</action>
            <action>maincpu.mq@7AE0 = 00FF01FFFFFF00FF</action>
            <action>maincpu.oq@7AE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7AE8 = 0800040002000100</action>
            <action>maincpu.oq@7AF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7AF0 = 8000400020001000</action>
            <action>maincpu.oq@7AF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7AF8 = 0004000200010000</action>
            <action>maincpu.oq@7B00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B00 = 0040002000100008</action>
            <action>maincpu.oq@7B08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B08 = 0000000000000080</action>
            <!--
            7AA0 | 21 00 60 : ld   hl,$6000  // sound code address
            7AA3 | 3A 00 A0 : ld   a,($A000) // read input
            7AA6 | B8       : cp   b
            7AA7 | 47       : ld   b,a
            7AA8 | 28 F6    : jr   z,$7AA0
            7AAA | FE 40    : cp   $40
            7AAC | 20 01    : jr   nz,$7AAF
            7AAE | 35       : dec  (hl)      // decrease code -01
            7AAF | FE 80    : cp   $80
            7AB1 | 20 01    : jr   nz,$7AB4
            7AB3 | 34       : inc  (hl)      // increase code +01
            7AB4 | FE 20    : cp   $20
            7AB6 | 20 04    : jr   nz,$7ABC
            7AB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7ABA | 18 06    : jr   $7AC2
            7ABC | FE 10    : cp   $10
            7ABE | 20 05    : jr   nz,$7AC5
            7AC0 | 3E 10    : ld   a,$10     // increase code +10
            7AC2 | 86       : add  a,(hl)
            7AC3 | 77       : ld   (hl),a
            7AC4 | 78       : ld   a,b
            7AC5 | FE 04    : cp   $04
            7AC7 | 20 03    : jr   nz,$7ACC
            7AC9 | 7E       : ld   a,(hl)    // play sound
            7ACA | 18 05    : jr   $7AD1
            7ACC | FE 08    : cp   $08
            7ACE | 20 04    : jr   nz,$7AD4
            7AD0 | AF       : xor  a         // stop sound
            7AD1 | CD D6 7A : call $7AD6     // call sound code conversion routine
            7AD4 | 18 CA    : jr   $7AA0
            7AD6 | 87       : add  a,a       // sound code conversion routine
            7AD7 | 21 E7 7A : ld   hl,$7AE7
            7ADA | 85       : add  a,l
            7ADB | 30 01    : jr   nc,$7ADE
            7ADD | 24       : inc  h
            7ADE | 6F       : ld   l,a
            7ADF | 7E       : ld   a,(hl)
            7AE0 | D3 00    : out  ($00),a
            7AE2 | 23       : inc  hl
            7AE3 | 7E       : ld   a,(hl)
            7AE4 | D3 01    : out  ($01),a
            7AE6 | C9       : ret
            7AE7 - 7B08     : sound code conversion table
             code  $00  $01
              00    00   00   stop $01 sounds (not $00)
              01    01   00   sfx
              02    02   00   (none?)
              03    04   00   sfx
              04    08   00   sfx
              05    10   00   (none?)
              06    20   00   sfx
              07    40   00   (none?)
              08    80   00   (none?)
              09    00   01   main theme
              0a    00   02   (none?)
              0b    00   04   sfx
              0c    00   08   sfx
              0d    00   10   (none?)
              0e    00   20   (none?)
              0f    00   40   (none?)
              10    00   80   (none?)
            -->
        </script>
        <script state="run">
            <output format="----- yamato 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@6000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.ob@00B1 = C8              </action>
            <action>maincpu.mw@090E = 2CAE            </action>
            <action>maincpu.oq@7AA0 = 2020202020202020</action>
            <action>maincpu.mq@7AA0 = 2888288828882888</action>
            <action>maincpu.oq@7AA8 = 2020202020202020</action>
            <action>maincpu.mq@7AA8 = 2888288828882888</action>
            <action>maincpu.oq@7AB0 = 28A028A028A028A0</action>
            <action>maincpu.mq@7AB0 = 2020202020202020</action>
            <action>maincpu.oq@7AB8 = 28A028A028A028A0</action>
            <action>maincpu.mq@7AB8 = 2020202020202020</action>
            <action>maincpu.oq@7AC0 = 2020202020202020</action>
            <action>maincpu.mq@7AC0 = 2888288828882888</action>
            <action>maincpu.oq@7AC8 = 2020202020202020</action>
            <action>maincpu.mq@7AC8 = 2888288828882888</action>
            <action>maincpu.oq@7AD0 = 28A028A028A028A0</action>
            <action>maincpu.mq@7AD0 = 2020202020202020</action>
            <action>maincpu.oq@7AD8 = 28A028A028A028A0</action>
            <action>maincpu.mq@7AD8 = 2020202020202020</action>
            <action>maincpu.oq@7AE0 = 2020202020202020</action>
            <action>maincpu.mq@7AE0 = 2888288828882888</action>
            <action>maincpu.oq@7AE8 = 2020202020202020</action>
            <action>maincpu.mq@7AE8 = 2888288828882888</action>
            <action>maincpu.oq@7AF0 = 28A028A028A028A0</action>
            <action>maincpu.mq@7AF0 = 2020202020202020</action>
            <action>maincpu.oq@7AF8 = 28A028A028A028A0</action>
            <action>maincpu.mq@7AF8 = 2020202020202020</action>
            <action>maincpu.oq@7B00 = 8820882088208820</action>
            <action>maincpu.mq@7B00 = 8888888888888888</action>
            <action>maincpu.oq@7B08 = 8820882088208820</action>
            <action>maincpu.mq@7B08 = 8888888888888888</action>
        </script>
    </cheat>

</mamecheat>
  • "auto fire" : Added code for cannon.
  • "sound test mode" : Added new as test code. You can't stop sound code 0x01 - 0x08 by sound stop button.
Post Reply