[galaga] Galaga

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: 1014
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[galaga] Galaga

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@1f17 = 6e</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1f17 = 66</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="change">
        <action>maincpu.mb@1fb0 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1fb0 = 01</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x0c">03       </item>
        <item value="0x12">04       </item>
        <item value="0x18">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>sub.mb@70d =      param</action> <!-- speed -->
        <action>sub.mb@78b = 06 + param</action> <!-- collision range -->
    </script>
    <script state="off">
        <action>sub.mb@70d = 06</action>
        <action>sub.mb@78b = 06</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <!-- ram -->
        <action>maincpu.md@337f = 063435c3</action>
        <action>maincpu.mb@3489 =       c9</action>
        <!-- roms -->
        <action>maincpu.mb@352b =       c9</action>
        <action>    sub.md@0583 = 0e183daf</action>
        <!--
        0583 | af    : xor a
        0584 | 3d    : dec a
        0585 | 18 0e : jr  $0595
        -->
        <action>   sub2.md@0091 = 0e183daf</action>
        <!--
        0096 | af    : xor a
        0097 | 3d    : dec a
        0098 | 18 0e : jr  $00a3
        -->
    </script>
    <script state="off">
        <action>maincpu.md@337f = 06683032</action>
        <action>maincpu.mb@3489 =       06</action>
        <action>maincpu.mb@352b =       e5</action>
        <action>    sub.md@0583 = 10016f67</action>
        <action>   sub2.md@0091 = 10016f67</action>
    </script>
</cheat>
jman

my wip cheat database back-up (2024/09/06 ver.)
https://u11.getuploader.com/uploader/download/1589
jman
Posts: 1014
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[galaga]+ Galaga

Post by jman »

galaga.xml

Code: Select all

<!-- Galaga (Namco rev. B) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F17 = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F17 = 66</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@1FB0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FB0 = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x19 -->
        <!-- explosion sound is played at boot -->
        <!-- you can't stop explosion sound (0x19) by sound stop button -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3723 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A46CDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 46 3A : call $3A46
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3723 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@337F = 063435C3</action>
            <action>maincpu.mb@348E = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@352B = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@0091 = 0E183DAF</action> <!-- xor a / dec a / jr $00A3 -->
        </script>
        <script state="off">
            <action>maincpu.md@337F = 06683032</action>
            <action>maincpu.mb@348E = C5      </action>
            <action>maincpu.mb@352B = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@0091 = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
galagao.xml

Code: Select all

<!-- Galaga (Namco) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F0D = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F0D = 66</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@1FA6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FA6 = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x19 -->
        <!-- explosion sound is played at boot -->
        <!-- you can't stop explosion sound (0x19) by sound stop button -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3719 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A3CCDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 3C 3A : call $3A3C
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3719 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@3375 = 06342BC3</action>
            <action>maincpu.mb@3484 = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@3521 = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@007F = 0E183DAF</action> <!-- xor a / dec a / jr $0091 -->
        </script>
        <script state="off">
            <action>maincpu.md@3375 = 06683032</action>
            <action>maincpu.mb@3484 = C5      </action>
            <action>maincpu.mb@3521 = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@007F = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
galagamw.xml

Code: Select all

<!-- Galaga (Midway set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F13 = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F13 = 66</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@1FAC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FAC = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x19 -->
        <!-- explosion sound is played at boot -->
        <!-- you can't stop explosion sound (0x19) by sound stop button -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3719 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A3CCDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 3C 3A : call $3A3C
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3719 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@3375 = 063435C3</action>
            <action>maincpu.mb@3484 = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@3521 = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@0087 = 0E183DAF</action> <!-- xor a / dec a / jr $0099 -->
        </script>
        <script state="off">
            <action>maincpu.md@3375 = 06683032</action>
            <action>maincpu.mb@3484 = C5      </action>
            <action>maincpu.mb@3521 = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@0087 = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
galagamk.xml

Code: Select all

<!-- Galaga (Midway set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F17 = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F17 = 66</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@1FB0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FB0 = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x19 -->
        <!-- explosion sound is played at boot -->
        <!-- you can't stop explosion sound (0x19) by sound stop button -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3719 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A3CCDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 3C 3A : call $3A3C
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3719 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@3375 = 063435C3</action>
            <action>maincpu.mb@3484 = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@3521 = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@0091 = 0E183DAF</action> <!-- xor a / dec a / jr $00A3 -->
        </script>
        <script state="off">
            <action>maincpu.md@3375 = 06683032</action>
            <action>maincpu.mb@3484 = C5      </action>
            <action>maincpu.mb@3521 = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@0091 = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
galagamf.xml

Code: Select all

<!-- Galaga (Midway set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F13 = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F13 = 66</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@1FAC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FAC = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 0D</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x19 -->
        <!-- explosion sound is played at boot -->
        <!-- you can't stop explosion sound (0x19) by sound stop button -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3719 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A3CCDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 3C 3A : call $3A3C
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3719 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@3375 = 063435C3</action>
            <action>maincpu.mb@3484 = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@3521 = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@0087 = 0E183DAF</action> <!-- xor a / dec a / jr $0099 -->
        </script>
        <script state="off">
            <action>maincpu.md@3375 = 06683032</action>
            <action>maincpu.mb@3484 = C5      </action>
            <action>maincpu.mb@3521 = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@0087 = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (2024/09/06 ver.)
https://u11.getuploader.com/uploader/download/1589
jman
Posts: 1014
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[galaga]+ Galaga

Post by jman »

gallag.xml

Code: Select all

<!-- Gallag -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F0D = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F0D = 66</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@1FA6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FA6 = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x16 -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3719 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A3CCDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 3C 3A : call $3A3C
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3719 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@3375 = 063435C3</action>
            <action>maincpu.mb@3484 = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@3521 = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@007F = 0E183DAF</action> <!-- xor a / dec a / jr $0091 -->
        </script>
        <script state="off">
            <action>maincpu.md@3375 = 06683032</action>
            <action>maincpu.mb@3484 = C5      </action>
            <action>maincpu.mb@3521 = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@007F = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
gatsbee.xml

Code: Select all

<!-- Gatsbee -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1933 = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1933 = 66</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@19CC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@19CC = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x19 -->
        <!-- explosion sound is played at boot -->
        <!-- you can't stop explosion sound (0x19) by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@2B98 = 3418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363040CD        </action>
            <action>maincpu.mq@3040 = E62F99B53A910021</action>
            <action>maincpu.mq@3048 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3050 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3058 = FE34012002FE3501</action>
            <action>maincpu.mq@3060 = FE0618F03E042080</action>
            <action>maincpu.mq@3068 = 787786103E052020</action>
            <action>maincpu.mq@3070 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3078 = 2004FE7801366F85</action>
            <action>maincpu.mq@3080 = B818C12D66CDC505</action>
            <!--
            3040 | 21 00 91 : ld   hl,$9100  // sound code address
            3043 | 3A B5 99 : ld   a,($99B5) // read buttons
            3046 | 2F       : cpl
            3047 | E6 05    : and  $05
            3049 | 4F       : ld   c,a
            304A | 3A B6 99 : ld   a,($99B6) // read joysticks
            304D | 2F       : cpl
            304E | E6 AA    : and  $AA
            3050 | B1       : or   c
            3051 | B8       : cp   b
            3052 | 47       : ld   b,a
            3053 | 28 EE    : jr   z,$3043
            3055 | FE 08    : cp   $08
            3057 | 20 01    : jr   nz,$305A
            3059 | 35       : dec  (hl)      // decrease code -01
            305A | FE 02    : cp   $02
            305C | 20 01    : jr   nz,$305F
            305E | 34       : inc  (hl)      // increase code +01
            305F | FE 80    : cp   $80
            3061 | 20 04    : jr   nz,$3067
            3063 | 3E F0    : ld   a,$F0     // decrease code -10
            3065 | 18 06    : jr   $306D
            3067 | FE 20    : cp   $20
            3069 | 20 05    : jr   nz,$3070
            306B | 3E 10    : ld   a,$10     // increase code +10
            306D | 86       : add  a,(hl)
            306E | 77       : ld   (hl),a
            306F | 78       : ld   a,b
            3070 | FE 01    : cp   $01
            3072 | 20 09    : jr   nz,$307D
            3074 | 7E       : ld   a,(hl)    // play sound
            3075 | 21 A0 9A : ld   hl,$9AA0
            3078 | 85       : add  a,l
            3079 | 6F       : ld   l,a
            307A | 36 01    : ld   (hl),$01
            307C | 78       : ld   a,b
            307D | FE 04    : cp   $04
            307F | 20 05    : jr   nz,$3086
            3081 | C5       : push bc        // stop sound
            3082 | CD 66 2D : call $2D66
            3085 | C1       : pop  bc
            3086 | 18 B8    : jr   $3040
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@2B98 = FA20            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3040 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3048 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3050 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3058 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3060 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3068 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3070 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3078 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3080 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

</mamecheat>
nebulbee.xml

Code: Select all

<!-- Nebulous Bee -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mb@06E4 = 18</action>
        </script>
        <script state="off">
            <action>sub.mb@06E4 = 30</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1F0D = 6E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F0D = 66</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@1FA6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FA6 = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>sub.mb@070D = param</action> <!-- speed -->
            <action>sub.mb@078B = param</action> <!-- collision range -->
        </script>
        <script state="off">
            <action>sub.mb@070D = 06</action>
            <action>sub.mb@078B = 06</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- valid sound code seems to be from 0x01 to 0x16 -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@3719 = 4418            </action> <!-- disble device check -->
            <action>maincpu.md@0338 = 363BA0CD        </action>
            <action>maincpu.mq@3BA0 = E62F99B53A910021</action>
            <action>maincpu.mq@3BA8 = AAE62F99B63A4F05</action>
            <action>maincpu.mq@3BB0 = 2008FEEE2847B8B1</action>
            <action>maincpu.mq@3BB8 = FE34012002FE3501</action>
            <action>maincpu.mq@3BC0 = FE0618F03E042080</action>
            <action>maincpu.mq@3BC8 = 787786103E052020</action>
            <action>maincpu.mq@3BD0 = 9AA0217E092001FE</action>
            <action>maincpu.mq@3BD8 = 2004FE7801366F85</action>
            <action>maincpu.mq@3BE0 = B818C13A3CCDC505</action>
            <!--
            3BA0 | 21 00 91 : ld   hl,$9100  // sound code address
            3BA3 | 3A B5 99 : ld   a,($99B5) // read buttons
            3BA6 | 2F       : cpl
            3BA7 | E6 05    : and  $05
            3BA9 | 4F       : ld   c,a
            3BAA | 3A B6 99 : ld   a,($99B6) // read joysticks
            3BAD | 2F       : cpl
            3BAE | E6 AA    : and  $AA
            3BB0 | B1       : or   c
            3BB1 | B8       : cp   b
            3BB2 | 47       : ld   b,a
            3BB3 | 28 EE    : jr   z,$3BA3
            3BB5 | FE 08    : cp   $08
            3BB7 | 20 01    : jr   nz,$3BBA
            3BB9 | 35       : dec  (hl)      // decrease code -01
            3BBA | FE 02    : cp   $02
            3BBC | 20 01    : jr   nz,$3BBF
            3BBE | 34       : inc  (hl)      // increase code +01
            3BBF | FE 80    : cp   $80
            3BC1 | 20 04    : jr   nz,$3BC7
            3BC3 | 3E F0    : ld   a,$F0     // decrease code -10
            3BC5 | 18 06    : jr   $3BCD
            3BC7 | FE 20    : cp   $20
            3BC9 | 20 05    : jr   nz,$3BD0
            3BCB | 3E 10    : ld   a,$10     // increase code +10
            3BCD | 86       : add  a,(hl)
            3BCE | 77       : ld   (hl),a
            3BCF | 78       : ld   a,b
            3BD0 | FE 01    : cp   $01
            3BD2 | 20 09    : jr   nz,$3BDD
            3BD4 | 7E       : ld   a,(hl)    // play sound
            3BD5 | 21 A0 9A : ld   hl,$9AA0
            3BD8 | 85       : add  a,l
            3BD9 | 6F       : ld   l,a
            3BDA | 36 01    : ld   (hl),$01
            3BDC | 78       : ld   a,b
            3BDD | FE 04    : cp   $04
            3BDF | 20 05    : jr   nz,$3BE6
            3BE1 | C5       : push bc        // stop sound
            3BE2 | CD 3C 3A : call $3A3C
            3BE5 | C1       : pop  bc
            3BE6 | 18 B8    : jr   $3BA0
            -->
            <action>51xx:mcu.mb@00A3 = A4</action> <!-- enable input check -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="1P left : decrease code -01"       line="11" align="center" />
            <output format="1P right : increase code +01"      line="12" align="center" />
            <output format="2P left : decrease code -10"       line="13" align="center" />
            <output format="2P right : increase code +10"      line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="start : 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@9100</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mw@3719 = FA30            </action>
            <action> maincpu.md@0338 = 36A00521        </action>
            <action> maincpu.mq@3BA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BC8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BD8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@3BE0 = FFFFFFFFFFFFFFFF</action>
            <action>51xx:mcu.mb@00A3 = BE              </action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <!-- ram -->
            <action>maincpu.md@3375 = 063435C3</action>
            <action>maincpu.mb@3484 = C9      </action>
            <!-- roms -->
            <action>maincpu.mb@3521 = C9      </action>
            <action>    sub.md@0583 = 0E183DAF</action> <!-- xor a / dec a / jr $0595 -->
            <action>   sub2.md@007F = 0E183DAF</action> <!-- xor a / dec a / jr $0091 -->
        </script>
        <script state="off">
            <action>maincpu.md@3375 = 06683032</action>
            <action>maincpu.mb@3484 = C5      </action>
            <action>maincpu.mb@3521 = E5      </action>
            <action>    sub.md@0583 = 10016F67</action>
            <action>   sub2.md@007F = 10016F67</action>
        </script>
    </cheat>

</mamecheat>
  • "player speed" : Converted parameter from value to item.
  • "sound test mode" : Added new. gallag and nebulbee doesn't emulate explosion sound (sound code 0x19).
  • "skip ram/rom check" : Removed from gatsbee. This set doesn't seem to check ram/rom.
jman

my wip cheat database back-up (2024/09/06 ver.)
https://u11.getuploader.com/uploader/download/1589
Post Reply