[makaimur] Ghosts'n Goblins/Makai-Mura

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

[makaimur] Ghosts'n Goblins/Makai-Mura

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@8f74 = d6</action>
    </script>
    <script state="off">
        <action>maincpu.mb@8f74 = d4</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mb@8f70 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@8f70 = 0e</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x04">02       </item>
        <item value="0x08">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x10">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@9c6b =  param</action> <!-- lance, torch, axe, cross : right -->
        <action>maincpu.mb@9c6f = -param</action> <!-- lance, torch, axe, cross : left -->
        <action>maincpu.mb@9c77 =  param</action> <!-- knife : right -->
        <action>maincpu.mb@9c7b = -param</action> <!-- knife : left -->
    </script>
    <script state="off">
        <action>maincpu.mb@9c6b = 04</action>
        <action>maincpu.mb@9c6f = fb</action>
        <action>maincpu.mb@9c77 = 05</action>
        <action>maincpu.mb@9c7b = fa</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <!-- in jumping -->
        <action>maincpu.mw@8f22 =             fe70</action>
        <action>maincpu.mq@fe70 = d64c53d44bc52027</action>
        <action>maincpu.mq@fe78 = 126f14cc0440ed0b</action>
        <action>maincpu.mq@fe80 = cc0080ed07d64cc4</action>
        <action>maincpu.mq@fe88 = 03e71e7e93be1212</action>
        <!--
        fe70 | d6 4c    : ldb  $4c
        fe72 | 53       : comb
        fe73 | d4 4b    : andb $4b
        fe75 | c5 20    : bitb #$20
        fe77 | 27 12    : beq  $fe8b
        fe79 | 6f 14    : clr  -c,x
        fe7b | cc 04 40 : ldd  #$0440
        fe7e | ed 0b    : std  $b,x
        fe80 | cc 00 80 : ldd  #$0080
        fe83 | ed 07    : std  7,x
        fe85 | d6 4c    : ldb  $4c
        fe87 | c4 03    : andb #$3
        fe89 | e7 1e    : stb  -2,x
        fe8b | 7e 93 be : jmp  $93be
        -->
        <!-- in falling -->
        <action>maincpu.mw@8fd1 =             fe90</action>
        <action>maincpu.mq@fe90 = d64c53d44bc52027</action>
        <action>maincpu.mq@fe98 = 037e8fd37e9049ff</action>
        <!--
        fe90 | d6 4c    : ldb  $4c
        fe92 | 53       : comb
        fe93 | d4 4b    : andb $4b
        fe95 | c5 20    : bitb #$20
        fe97 | 27 03    : beq  $fe9c
        fe99 | 7e 8f d3 : jmp  $8fd3
        fe9c | 7e 90 49 : jmp  $9049
        -->
    </script>
    <script state="off">
        <action>maincpu.mw@8f22 =             93be</action>
        <action>maincpu.mq@fe70 = ffffffffffffffff</action>
        <action>maincpu.mq@fe78 = ffffffffffffffff</action>
        <action>maincpu.mq@fe80 = ffffffffffffffff</action>
        <action>maincpu.mq@fe88 = ffffffffffffffff</action>
        <action>maincpu.mw@8fd1 =             9049</action>
        <action>maincpu.mq@fe90 = ffffffffffffffff</action>
        <action>maincpu.mq@fe98 = ffffffffffffffff</action>
    </script>
</cheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1288
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[makaimur] update

Post by jman »

Random maintenance.

Code: Select all

<cheat desc="bullet speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0480">02       </item>
        <item value="0x0880">03       </item>
        <item value="0x0c80">04       </item>
        <item value="0x1080">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@9c6b =  param</action> <!-- lance, torch, axe, cross : right -->
        <action>maincpu.mw@9c6f = -param</action> <!-- lance, torch, axe, cross : left -->
        <action>maincpu.mw@9c77 =  param</action> <!-- knife : right -->
        <action>maincpu.mw@9c7b = -param</action> <!-- knife : left -->
    </script>
    <script state="off">
        <action>maincpu.mw@9c6b = 0430</action>
        <action>maincpu.mw@9c6f = fbd0</action>
        <action>maincpu.mw@9c77 = 05a0</action>
        <action>maincpu.mw@9c7b = fa60</action>
    </script>
</cheat>
"bullet speed" : adjust item value in parameter and change memory size from "byte" to "word".

Code: Select all

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.md@8f16 =         bdfe70ce</action>
        <action>maincpu.mq@fe70 = d64c53d44bc52027</action>
        <action>maincpu.mq@fe78 = 15cc0100ed13cc04</action>
        <action>maincpu.mq@fe80 = 40ed0bcc0080ed07</action>
        <action>maincpu.mq@fe88 = d64cc403e71eec13</action>
        <action>maincpu.mq@fe90 = 4839ffffffffffff</action>
        <!--
        fe70 | d6 4c    : LDB  $4C
        fe72 | 53       : COMB
        fe73 | d4 4b    : ANDB $4B
        fe75 | c5 20    : BITB #$20
        fe77 | 27 15    : BEQ  $FE8E
        fe79 | cc 01 00 : LDD  #$0100
        fe7c | ed 13    : STD  -$D,X
        fe7e | cc 04 40 : LDD  #$0440
        fe81 | ed 0b    : STD  $B,X
        fe83 | cc 00 80 : LDD  #$0080
        fe86 | ed 07    : STD  $7,X
        fe88 | d6 4c    : LDB  $4C
        fe8a | c4 03    : ANDB #$03
        fe8c | e7 1e    : STB  -$2,X
        fe8e | ec 13    : LDD  -$D,X
        fe90 | 48       : ASLA
        fe91 | 39       : RTS
        -->
    </script>
    <script state="off">
        <action>maincpu.md@8f16 =         ec1348ce</action>
        <action>maincpu.mq@fe70 = ffffffffffffffff</action>
        <action>maincpu.mq@fe78 = ffffffffffffffff</action>
        <action>maincpu.mq@fe80 = ffffffffffffffff</action>
        <action>maincpu.mq@fe88 = ffffffffffffffff</action>
        <action>maincpu.mq@fe90 = ffffffffffffffff</action>
    </script>
</cheat>
"multiple jump" : clean up. new code reduces size.

Code: Select all

<cheat desc="bullet range">
    <parameter>
        <item value="0x05">01 (short)</item>
        <item value="0x35">02        </item>
        <item value="0x65">03        </item>
        <item value="0x95">04        </item>
        <item value="0xc5">05 (long) </item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@9c45 = param</action> <!-- torch -->
        <action>maincpu.mb@9c46 = param</action> <!-- lance -->
        <action>maincpu.mb@9c47 = param</action> <!-- axe -->
        <action>maincpu.mb@9c48 = param</action> <!-- cross -->
        <action>maincpu.mb@9c49 = param</action> <!-- knife -->
    </script>
    <script state="off">
        <action>maincpu.mb@9c45 = 30</action>
        <action>maincpu.mb@9c46 = c0</action>
        <action>maincpu.mb@9c47 = 30</action>
        <action>maincpu.mb@9c48 = 30</action>
        <action>maincpu.mb@9c49 = c5</action>
    </script>
</cheat>

<cheat desc="short hit mark">
    <script state="on">
        <action>maincpu.mb@9bf7 = 01</action> <!-- object -->
        <action>maincpu.mb@9c11 = 01</action> <!-- enemy -->
        <action>maincpu.mb@9d05 = 01</action> <!-- knife/cross -->
    </script>
    <script state="off">
        <action>maincpu.mb@9bf7 = 0f</action>
        <action>maincpu.mb@9c11 = 08</action>
        <action>maincpu.mb@9d05 = 0f</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@6874 =             1212</action> <!-- disable next sequence at boot -->
        <action>maincpu.md@6150 =         7efea012</action>
        <action>maincpu.mq@fea0 = 1cef978196469181</action>
        <action>maincpu.mq@fea8 = 27f8d68081022601</action>
        <action>maincpu.mq@feb0 = 5a810126015c8104</action>
        <action>maincpu.mq@feb8 = 2602c01081082602</action>
        <action>maincpu.mq@fec0 = cb10d78081102602</action>
        <action>maincpu.mq@fec8 = 200681202605c63f</action>
        <action>maincpu.mq@fed0 = f73a0020cdffffff</action>
        <!--
        fea0 | 1c ef    : ANDCC #$EF  // enable interrupt
        fea2 | 97 81    : STA   $81
        fea4 | 96 46    : LDA   $46   // read input
        fea6 | 91 81    : CMPA  $81
        fea8 | 27 f8    : BEQ   $FEA2
        feaa | d6 80    : LDB   $80
        feac | 81 02    : CMPA  #$02
        feae | 26 01    : BNE   $FEB1
        feb0 | 5a       : DECB        // decrease code -01
        feb1 | 81 01    : CMPA  #$01
        feb3 | 26 01    : BNE   $FEB6
        feb5 | 5c       : INCB        // increase code +01
        feb6 | 81 04    : CMPA  #$04
        feb8 | 26 02    : BNE   $FEBC
        feba | c0 10    : SUBB  #$10  // decrease code -10
        febc | 81 08    : CMPA  #$08
        febe | 26 02    : BNE   $FEC2
        fec0 | cb 10    : ADDB  #$10  // increase code +10
        fec2 | d7 80    : STB   $80
        fec4 | 81 10    : CMPA  #$10
        fec6 | 26 02    : BNE   $FECA
        fec8 | 20 06    : BRA   $FED0 // play sound
        feca | 81 20    : CMPA  #$20
        fecc | 26 05    : BNE   $FED3
        fece | c6 3f    : LDB   #$3F  // stop sound
        fed0 | f7 3a 00 : STB   $3A00 // send sound code
        fed3 | 20 cd    : BRA   $FEA2
        -->
        <!-- stop sfx and music at the same time -->
        <action>audiocpu.mw@3c1c =             56d0</action>
        <action>audiocpu.mq@56d0 = bacd02c3cd02cccd</action>
        <action>audiocpu.mq@56d8 = c902b1cd01a0cd02</action>
        <!--
        56d0 | cd cc 02 : call $02CC
        56d3 | cd c3 02 : call $02C3
        56d6 | cd ba 02 : call $02BA
        56d9 | cd a0 01 : call $01A0
        56dc | cd b1 02 : call $02B1
        56df | c9       : ret
        -->
    </script>
    <script state="run">
        <output format="----- makaimura 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@0080</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.mw@6874 =             0c05</action>
        <action> maincpu.md@6150 =         1cef201f</action>
        <action> maincpu.mq@fea0 = ffffffffffffffff</action>
        <action> maincpu.mq@fea8 = ffffffffffffffff</action>
        <action> maincpu.mq@feb0 = ffffffffffffffff</action>
        <action> maincpu.mq@feb8 = ffffffffffffffff</action>
        <action> maincpu.mq@fec0 = ffffffffffffffff</action>
        <action> maincpu.mq@fec8 = ffffffffffffffff</action>
        <action> maincpu.mq@fed0 = ffffffffffffffff</action>
        <action>audiocpu.mw@3c1c =             02b1</action>
        <action>audiocpu.mq@56d0 = ffffffffffffffff</action>
        <action>audiocpu.mq@56d8 = ffffffffffffffff</action>
    </script>
</cheat>
"bullet range", "short hit mark", "sound test mode" : add new.

BTW "skip ram/rom checks" in official database based on 0.221 has problems.

Code: Select all

<cheat desc="Skip RAM/ROM Checks"> <comment>Also allows a quicker start-up, if enabled during the bootup sequence enable and then reset. It's better to use together with Pre-Enable</comment>
  <script state="on">
    <action>temp0 =maincpu.mw@6000</action>
  </script>
  <script state="run">
    <action>maincpu.mw@6000=207B</action>
  </script>
  <script state="off">
    <action>maincpu.mw@6000=temp0 </action>
  </script>
</cheat>
This code jumps to strange address with invalid opcode then crashes the game. And I don't find any ram/rom check routine at boot. Also comment is old because "pre-enable" no longer supports in current cheat engine.

Code: Select all

<cheat desc="quick boot">
    <script state="on">
        <action>maincpu.mb@688b = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@688b = b4</action>
    </script>
</cheat>
I don't know original code poster's intention. But the above code may have the same effect.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1288
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[gng]+ Ghosts'n Goblins/Makai-Mura

Post by jman »

gng.xml

Code: Select all

<!-- Ghosts'n Goblins (World? set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F13F = 20</action> <!-- enemy -->
            <action>maincpu.mb@F573 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F13F = 22</action>
            <action>maincpu.mb@F573 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@911D = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@911D = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@9119 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9119 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9E11 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9E15 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9E1D =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9E21 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9E11 = 0430</action>
            <action>maincpu.mw@9E15 = FBD0</action>
            <action>maincpu.mw@9E1D = 05A0</action>
            <action>maincpu.mw@9E21 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9DEB = param</action> <!-- torch -->
            <action>maincpu.mb@9DEC = param</action> <!-- lance -->
            <action>maincpu.mb@9DED = param</action> <!-- axe -->
            <action>maincpu.mb@9DEE = param</action> <!-- cross -->
            <action>maincpu.mb@9DEF = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DEB = 30</action>
            <action>maincpu.mb@9DEC = C0</action>
            <action>maincpu.mb@9DED = 30</action>
            <action>maincpu.mb@9DEE = 30</action>
            <action>maincpu.mb@9DEF = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@7973 = 58              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@90BF = BDFF20CE        </action>
            <action>maincpu.mq@FF20 = 964C43944B852027</action>
            <action>maincpu.mq@FF28 = 11CC0100ED13CE95</action>
            <action>maincpu.mq@FF30 = 5FBD91A1964C8403</action>
            <action>maincpu.mq@FF38 = A71EEC134839FFFF</action>
            <!--
            FF20 | 96 4C    : LDA    $4C    // jump button check
            FF22 | 43       : COMA
            FF23 | 94 4B    : ANDA   $4B
            FF25 | 85 20    : BITA   #$20
            FF27 | 27 11    : BEQ    $FF3A
            FF29 | CC 01 00 : LDD    #$0100 // initialize status
            FF2C | ED 13    : STD    -$D,X
            FF2E | CE 95 5F : LDU    #$955F // initialize parameter
            FF31 | BD 91 A1 : JSR    $91A1
            FF34 | 96 4C    : LDA    $4C
            FF36 | 84 03    : ANDA   #$03   // set direction
            FF38 | A7 1E    : STA    -$2,X
            FF3A | EC 13    : LDD    -$D,X
            FF3C | 48       : ASLA
            FF3D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@7973 = 15              </action>
            <action>maincpu.md@90BF = EC1348CE        </action>
            <action>maincpu.mq@FF20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9EAB = 01</action> <!-- object -->
            <action>maincpu.mb@9DB7 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9EAB = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9EAB = 0F</action>
            <action>maincpu.mb@9DB7 = 08</action>
            <action>maincpu.mb@9EAB = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@ED2D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@ED2D = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFF4012        </action>
            <action>maincpu.mq@FF40 = 1CEF978196469181</action>
            <action>maincpu.mq@FF48 = 27F8D68081022601</action>
            <action>maincpu.mq@FF50 = 5A810126015C8104</action>
            <action>maincpu.mq@FF58 = 2602C01081082602</action>
            <action>maincpu.mq@FF60 = CB10D78081102706</action>
            <action>maincpu.mq@FF68 = 81202605C63FF73A</action>
            <action>maincpu.mq@FF70 = 0020CFFFFFFFFFFF</action>
            <!--
            FF40 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FF42 | 97 81    : STA    $81
            FF44 | 96 46    : LDA    $46   // read input
            FF46 | 91 81    : CMPA   $81
            FF48 | 27 F8    : BEQ    $FF42
            FF4A | D6 80    : LDB    $80
            FF4C | 81 02    : CMPA   #$02
            FF4E | 26 01    : BNE    $FF51
            FF50 | 5A       : DECB         // decrease code -01
            FF51 | 81 01    : CMPA   #$01
            FF53 | 26 01    : BNE    $FF56
            FF55 | 5C       : INCB         // increase code +01
            FF56 | 81 04    : CMPA   #$04
            FF58 | 26 02    : BNE    $FF5C
            FF5A | C0 10    : SUBB   #$10  // decrease code -10
            FF5C | 81 08    : CMPA   #$08
            FF5E | 26 02    : BNE    $FF62
            FF60 | CB 10    : ADDB   #$10  // increase code +10
            FF62 | D7 80    : STB    $80
            FF64 | 81 10    : CMPA   #$10
            FF66 | 27 06    : BEQ    $FF6E // play sound
            FF68 | 81 20    : CMPA   #$20
            FF6A | 26 05    : BNE    $FF71
            FF6C | C6 3F    : LDB    #$3F  // stop sound
            FF6E | F7 3A 00 : STB    $3A00
            FF71 | 20 CF    : BRA    $FF42
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ghosts'n goblins 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FF40 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF48 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF50 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF58 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF60 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF68 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF70 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 54FF</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
gnga.xml

Code: Select all

<!-- Ghosts'n Goblins (World? set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F06C = 20</action> <!-- enemy -->
            <action>maincpu.mb@F4A0 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F06C = 22</action>
            <action>maincpu.mb@F4A0 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8F80 = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F80 = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8F7C = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F7C = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9C77 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9C7B = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9C83 =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9C87 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9C77 = 0430</action>
            <action>maincpu.mw@9C7B = FBD0</action>
            <action>maincpu.mw@9C83 = 05A0</action>
            <action>maincpu.mw@9C87 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9C51 = param</action> <!-- torch -->
            <action>maincpu.mb@9C52 = param</action> <!-- lance -->
            <action>maincpu.mb@9C53 = param</action> <!-- axe -->
            <action>maincpu.mb@9C54 = param</action> <!-- cross -->
            <action>maincpu.mb@9C55 = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C51 = 30</action>
            <action>maincpu.mb@9C52 = C0</action>
            <action>maincpu.mb@9C53 = 30</action>
            <action>maincpu.mb@9C54 = 45</action>
            <action>maincpu.mb@9C55 = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@77D6 = BB              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8F22 = BDFE50CE        </action>
            <action>maincpu.mq@FE50 = 964C43944B852027</action>
            <action>maincpu.mq@FE58 = 11CC0100ED13CE93</action>
            <action>maincpu.mq@FE60 = C2BD9004964C8403</action>
            <action>maincpu.mq@FE68 = A71EEC134839FFFF</action>
            <!--
            FE50 | 96 4C    : LDA    $4C    // jump button check
            FE52 | 43       : COMA
            FE53 | 94 4B    : ANDA   $4B
            FE55 | 85 20    : BITA   #$20
            FE57 | 27 11    : BEQ    $FE6A
            FE59 | CC 01 00 : LDD    #$0100 // initialize status
            FE5C | ED 13    : STD    -$D,X
            FE5E | CE 93 C2 : LDU    #$93C2 // initialize parameter
            FE61 | BD 90 04 : JSR    $9004
            FE64 | 96 4C    : LDA    $4C
            FE66 | 84 03    : ANDA   #$03   // set direction
            FE68 | A7 1E    : STA    -$2,X
            FE6A | EC 13    : LDD    -$D,X
            FE6C | 48       : ASLA
            FE6D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@77D6 = 6D              </action>
            <action>maincpu.md@8F22 = EC1348CE        </action>
            <action>maincpu.mq@FE50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE68 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9C03 = 01</action> <!-- object -->
            <action>maincpu.mb@9C1D = 01</action> <!-- enemy -->
            <action>maincpu.mb@9D11 = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C03 = 0F</action>
            <action>maincpu.mb@9C1D = 08</action>
            <action>maincpu.mb@9D11 = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EC56 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EC56 = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFE7012        </action>
            <action>maincpu.mq@FE70 = 1CEF978196469181</action>
            <action>maincpu.mq@FE78 = 27F8D68081022601</action>
            <action>maincpu.mq@FE80 = 5A810126015C8104</action>
            <action>maincpu.mq@FE88 = 2602C01081082602</action>
            <action>maincpu.mq@FE90 = CB10D78081102706</action>
            <action>maincpu.mq@FE98 = 81202605C63FF73A</action>
            <action>maincpu.mq@FEA0 = 0020CFFFFFFFFFFF</action>
            <!--
            FE70 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FE72 | 97 81    : STA    $81
            FE74 | 96 46    : LDA    $46   // read input
            FE76 | 91 81    : CMPA   $81
            FE78 | 27 F8    : BEQ    $FE72
            FE7A | D6 80    : LDB    $80
            FE7C | 81 02    : CMPA   #$02
            FE7E | 26 01    : BNE    $FE81
            FE80 | 5A       : DECB         // decrease code -01
            FE81 | 81 01    : CMPA   #$01
            FE83 | 26 01    : BNE    $FE86
            FE85 | 5C       : INCB         // increase code +01
            FE86 | 81 04    : CMPA   #$04
            FE88 | 26 02    : BNE    $FE8C
            FE8A | C0 10    : SUBB   #$10  // decrease code -10
            FE8C | 81 08    : CMPA   #$08
            FE8E | 26 02    : BNE    $FE92
            FE90 | CB 10    : ADDB   #$10  // increase code +10
            FE92 | D7 80    : STB    $80
            FE94 | 81 10    : CMPA   #$10
            FE96 | 27 06    : BEQ    $FE9E // play sound
            FE98 | 81 20    : CMPA   #$20
            FE9A | 26 05    : BNE    $FEA1
            FE9C | C6 3F    : LDB    #$3F  // stop sound
            FE9E | F7 3A 00 : STB    $3A00
            FEA1 | 20 CF    : BRA    $FE72
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- makaimura 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FE70 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE78 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE80 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE88 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 54FF</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
gngbl.xml

Code: Select all

<!-- Ghosts'n Goblins (bootleg with Cross) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F13F = 20</action> <!-- enemy -->
            <action>maincpu.mb@F573 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F13F = 22</action>
            <action>maincpu.mb@F573 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@911D = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@911D = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@9119 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9119 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9E11 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9E15 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9E1D =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9E21 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9E11 = 0430</action>
            <action>maincpu.mw@9E15 = FBD0</action>
            <action>maincpu.mw@9E1D = 05A0</action>
            <action>maincpu.mw@9E21 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9DEB = param</action> <!-- torch -->
            <action>maincpu.mb@9DEC = param</action> <!-- lance -->
            <action>maincpu.mb@9DED = param</action> <!-- axe -->
            <action>maincpu.mb@9DEE = param</action> <!-- cross -->
            <action>maincpu.mb@9DEF = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DEB = 30</action>
            <action>maincpu.mb@9DEC = C0</action>
            <action>maincpu.mb@9DED = 30</action>
            <action>maincpu.mb@9DEE = 30</action>
            <action>maincpu.mb@9DEF = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@7973 = 58              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@90BF = BDFF20CE        </action>
            <action>maincpu.mq@FF20 = 964C43944B852027</action>
            <action>maincpu.mq@FF28 = 11CC0100ED13CE95</action>
            <action>maincpu.mq@FF30 = 5FBD91A1964C8403</action>
            <action>maincpu.mq@FF38 = A71EEC134839FFFF</action>
            <!--
            FF20 | 96 4C    : LDA    $4C    // jump button check
            FF22 | 43       : COMA
            FF23 | 94 4B    : ANDA   $4B
            FF25 | 85 20    : BITA   #$20
            FF27 | 27 11    : BEQ    $FF3A
            FF29 | CC 01 00 : LDD    #$0100 // initialize status
            FF2C | ED 13    : STD    -$D,X
            FF2E | CE 95 5F : LDU    #$955F // initialize parameter
            FF31 | BD 91 A1 : JSR    $91A1
            FF34 | 96 4C    : LDA    $4C
            FF36 | 84 03    : ANDA   #$03   // set direction
            FF38 | A7 1E    : STA    -$2,X
            FF3A | EC 13    : LDD    -$D,X
            FF3C | 48       : ASLA
            FF3D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@7973 = 15              </action>
            <action>maincpu.md@90BF = EC1348CE        </action>
            <action>maincpu.mq@FF20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9EAB = 01</action> <!-- object -->
            <action>maincpu.mb@9DB7 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9EAB = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9EAB = 0F</action>
            <action>maincpu.mb@9DB7 = 08</action>
            <action>maincpu.mb@9EAB = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@ED2D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@ED2D = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFF4012        </action>
            <action>maincpu.mq@FF40 = 1CEF978196469181</action>
            <action>maincpu.mq@FF48 = 27F8D68081022601</action>
            <action>maincpu.mq@FF50 = 5A810126015C8104</action>
            <action>maincpu.mq@FF58 = 2602C01081082602</action>
            <action>maincpu.mq@FF60 = CB10D78081102706</action>
            <action>maincpu.mq@FF68 = 81202605C63FF73A</action>
            <action>maincpu.mq@FF70 = 0020CFFFFFFFFFFF</action>
            <!--
            FF40 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FF42 | 97 81    : STA    $81
            FF44 | 96 46    : LDA    $46   // read input
            FF46 | 91 81    : CMPA   $81
            FF48 | 27 F8    : BEQ    $FF42
            FF4A | D6 80    : LDB    $80
            FF4C | 81 02    : CMPA   #$02
            FF4E | 26 01    : BNE    $FF51
            FF50 | 5A       : DECB         // decrease code -01
            FF51 | 81 01    : CMPA   #$01
            FF53 | 26 01    : BNE    $FF56
            FF55 | 5C       : INCB         // increase code +01
            FF56 | 81 04    : CMPA   #$04
            FF58 | 26 02    : BNE    $FF5C
            FF5A | C0 10    : SUBB   #$10  // decrease code -10
            FF5C | 81 08    : CMPA   #$08
            FF5E | 26 02    : BNE    $FF62
            FF60 | CB 10    : ADDB   #$10  // increase code +10
            FF62 | D7 80    : STB    $80
            FF64 | 81 10    : CMPA   #$10
            FF66 | 27 06    : BEQ    $FF6E // play sound
            FF68 | 81 20    : CMPA   #$20
            FF6A | 26 05    : BNE    $FF71
            FF6C | C6 3F    : LDB    #$3F  // stop sound
            FF6E | F7 3A 00 : STB    $3A00
            FF71 | 20 CF    : BRA    $FF42
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 54D0            </action>
            <action>audiocpu.mq@54D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@54D8 = C902B1CD01A0CD02</action>
            <!--
            54D0 | CD CC 02 : call $02CC
            54D3 | CD C3 02 : call $02C3
            54D6 | CD BA 02 : call $02BA
            54D9 | CD A0 01 : call $01A0
            54DC | CD B1 02 : call $02B1
            54DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ghosts'n goblins 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FF40 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF48 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF50 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF58 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF60 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF68 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF70 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02CC            </action>
            <action>audiocpu.mq@54D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@54D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 54FF</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
gngprot.xml

Code: Select all

<!-- Ghosts'n Goblins (prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@EE7B = 20</action> <!-- enemy -->
            <action>maincpu.mb@F166 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@EE7B = 22</action>
            <action>maincpu.mb@F166 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8E9C = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8E9C = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8E98 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8E98 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9B78 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9B7C = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9B84 =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9B88 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9B78 = 0430</action>
            <action>maincpu.mw@9B7C = FBD0</action>
            <action>maincpu.mw@9B84 = 05A0</action>
            <action>maincpu.mw@9B88 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9B52 = param</action> <!-- torch -->
            <action>maincpu.mb@9B53 = param</action> <!-- lance -->
            <action>maincpu.mb@9B54 = param</action> <!-- axe -->
            <action>maincpu.mb@9B55 = param</action> <!-- cross -->
            <action>maincpu.mb@9B56 = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9B52 = 30</action>
            <action>maincpu.mb@9B53 = C0</action>
            <action>maincpu.mb@9B54 = 30</action>
            <action>maincpu.mb@9B55 = 30</action>
            <action>maincpu.mb@9B56 = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@7593 = 78              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8E40 = BDFB00CE        </action>
            <action>maincpu.mq@FB00 = 964C43944B852027</action>
            <action>maincpu.mq@FB08 = 11CC0200ED13CE92</action>
            <action>maincpu.mq@FB10 = D4BD8F18964C8403</action>
            <action>maincpu.mq@FB18 = A71EEC134839FFFF</action>
            <!--
            FB00 | 96 4C    : LDA    $4C    // jump button check
            FB02 | 43       : COMA
            FB03 | 94 4B    : ANDA   $4B
            FB05 | 85 20    : BITA   #$20
            FB07 | 27 11    : BEQ    $FB1A
            FB09 | CC 02 00 : LDD    #$0200 // initialize status
            FB0C | ED 13    : STD    -$D,X
            FB0E | CE 92 D4 : LDU    #$92D4 // initialize parameter
            FB11 | BD 8F 18 : JSR    $8F18
            FB14 | 96 4C    : LDA    $4C
            FB16 | 84 03    : ANDA   #$03   // set direction
            FB18 | A7 1E    : STA    -$2,X
            FB1A | EC 13    : LDD    -$D,X
            FB1C | 48       : ASLA
            FB1D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@7593 = 35              </action>
            <action>maincpu.md@8E40 = EC1348CE        </action>
            <action>maincpu.mq@FB00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB18 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9B04 = 01</action> <!-- object -->
            <action>maincpu.mb@9B1E = 01</action> <!-- enemy -->
            <action>maincpu.mb@9C12 = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9B04 = 0F</action>
            <action>maincpu.mb@9b1E = 08</action>
            <action>maincpu.mb@9C12 = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EA95 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EA95 = 3F</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@6865 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@6150 = 7EFB2012        </action>
            <action>maincpu.mq@FB20 = 1CEF978196469181</action>
            <action>maincpu.mq@FB28 = 27F8D68081022601</action>
            <action>maincpu.mq@FB30 = 5A810126015C8104</action>
            <action>maincpu.mq@FB38 = 2602C01081082602</action>
            <action>maincpu.mq@FB40 = CB10D78081102706</action>
            <action>maincpu.mq@FB48 = 81202605C63FF73A</action>
            <action>maincpu.mq@FB50 = 0020CFFFFFFFFFFF</action>
            <!--
            FB20 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FB22 | 97 81    : STA    $81
            FB24 | 96 46    : LDA    $46   // read input
            FB26 | 91 81    : CMPA   $81
            FB28 | 27 F8    : BEQ    $FB22
            FB2A | D6 80    : LDB    $80
            FB2C | 81 02    : CMPA   #$02
            FB2E | 26 01    : BNE    $FB31
            FB30 | 5A       : DECB         // decrease code -01
            FB31 | 81 01    : CMPA   #$01
            FB33 | 26 01    : BNE    $FB36
            FB35 | 5C       : INCB         // increase code +01
            FB36 | 81 04    : CMPA   #$04
            FB38 | 26 02    : BNE    $FB3C
            FB3A | C0 10    : SUBB   #$10  // decrease code -10
            FB3C | 81 08    : CMPA   #$08
            FB3E | 26 02    : BNE    $FB42
            FB40 | CB 10    : ADDB   #$10  // increase code +10
            FB42 | D7 80    : STB    $80
            FB44 | 81 10    : CMPA   #$10
            FB46 | 27 06    : BEQ    $FB4E // play sound
            FB48 | 81 20    : CMPA   #$20
            FB4A | 26 05    : BNE    $FB51
            FB4C | C6 3F    : LDB    #$3F  // stop sound
            FB4E | F7 3A 00 : STB    $3A00
            FB51 | 20 CF    : BRA    $FB22
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 54D0            </action>
            <action>audiocpu.mq@54D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@54D8 = C902B1CD01A0CD02</action>
            <!--
            54D0 | CD CC 02 : call $02CC
            54D3 | CD C3 02 : call $02C3
            54D6 | CD BA 02 : call $02BA
            54D9 | CD A0 01 : call $01A0
            54DC | CD B1 02 : call $02B1
            54DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ghosts'n goblins 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6865 = 0C              </action>
            <action> maincpu.md@6150 = 1CEF201F        </action>
            <action> maincpu.mq@FB20 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FB28 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FB30 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FB38 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FB40 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FB48 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FB50 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02CC            </action>
            <action>audiocpu.mq@54D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@54D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="quick boot">
        <script state="on">
            <action>maincpu.mb@687C = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@687C = B4</action>
        </script>
    </cheat>

</mamecheat>
gngblita.xml

Code: Select all

<!-- Ghosts'n Goblins (Italian bootleg, harder) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F14C = 20</action> <!-- enemy -->
            <action>maincpu.mb@F580 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F14C = 22</action>
            <action>maincpu.mb@F580 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@912A = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@912A = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@9126 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9126 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9E1E =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9E22 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9E2A =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9E2E = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9E1E = 0430</action>
            <action>maincpu.mw@9E22 = FBD0</action>
            <action>maincpu.mw@9E2A = 05A0</action>
            <action>maincpu.mw@9E2E = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9DF8 = param</action> <!-- torch -->
            <action>maincpu.mb@9DF9 = param</action> <!-- lance -->
            <action>maincpu.mb@9DFA = param</action> <!-- axe -->
            <action>maincpu.mb@9DFB = param</action> <!-- cross -->
            <action>maincpu.mb@9DFC = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DF8 = 30</action>
            <action>maincpu.mb@9DF9 = C0</action>
            <action>maincpu.mb@9DFA = 30</action>
            <action>maincpu.mb@9DFB = 30</action>
            <action>maincpu.mb@9DFC = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@7980 = 5D              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@90CC = BDFF40CE        </action>
            <action>maincpu.mq@FF40 = 964C43944B852027</action>
            <action>maincpu.mq@FF48 = 11CC0100ED13CE95</action>
            <action>maincpu.mq@FF50 = 6CBD91AE964C8403</action>
            <action>maincpu.mq@FF58 = A71EEC134839FFFF</action>
            <!--
            FF40 | 96 4C    : LDA    $4C    // jump button check
            FF42 | 43       : COMA
            FF43 | 94 4B    : ANDA   $4B
            FF45 | 85 20    : BITA   #$20
            FF47 | 27 11    : BEQ    $FE8A
            FF49 | CC 01 00 : LDD    #$0100 // initialize status
            FF4C | ED 13    : STD    -$D,X
            FF4E | CE 95 6C : LDU    #$956C // initialize parameter
            FF51 | BD 91 AE : JSR    $91AE
            FF54 | 96 4C    : LDA    $4C
            FF56 | 84 03    : ANDA   #$03   // set direction
            FF58 | A7 1E    : STA    -$2,X
            FF5A | EC 13    : LDD    -$D,X
            FF5C | 48       : ASLA
            FF5D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@7980 = 17              </action>
            <action>maincpu.md@90CC = EC1348CE        </action>
            <action>maincpu.mq@FF40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF58 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9DAA = 01</action> <!-- object -->
            <action>maincpu.mb@9DC4 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9EB8 = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DAA = 0F</action>
            <action>maincpu.mb@9DC4 = 08</action>
            <action>maincpu.mb@9EB8 = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@ED3A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@ED3A = 3F</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@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFF6012        </action>
            <action>maincpu.mq@FF60 = 1CEF978196469181</action>
            <action>maincpu.mq@FF68 = 27F8D68081022601</action>
            <action>maincpu.mq@FF70 = 5A810126015C8104</action>
            <action>maincpu.mq@FF78 = 2602C01081082602</action>
            <action>maincpu.mq@FF80 = CB10D78081102706</action>
            <action>maincpu.mq@FF88 = 81202605C63FF73A</action>
            <action>maincpu.mq@FF90 = 0020CFFFFFFFFFFF</action>
            <!--
            FF60 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FF62 | 97 81    : STA    $81
            FF64 | 96 46    : LDA    $46   // read input
            FF66 | 91 81    : CMPA   $81
            FF68 | 27 F8    : BEQ    $FF62
            FF6A | D6 80    : LDB    $80
            FF6C | 81 02    : CMPA   #$02
            FF6E | 26 01    : BNE    $FF71
            FF70 | 5A       : DECB         // decrease code -01
            FF71 | 81 01    : CMPA   #$01
            FF73 | 26 01    : BNE    $FF76
            FF75 | 5C       : INCB         // increase code +01
            FF76 | 81 04    : CMPA   #$04
            FF78 | 26 02    : BNE    $FF7C
            FF7A | C0 10    : SUBB   #$10  // decrease code -10
            FF7C | 81 08    : CMPA   #$08
            FF7E | 26 02    : BNE    $FF82
            FF80 | CB 10    : ADDB   #$10  // increase code +10
            FF82 | D7 80    : STB    $80
            FF84 | 81 10    : CMPA   #$10
            FF86 | 27 06    : BEQ    $FF8E // play sound
            FF88 | 81 20    : CMPA   #$20
            FF8A | 26 05    : BNE    $FF91
            FF8C | C6 3F    : LDB    #$3F  // stop sound
            FF8E | F7 3A 00 : STB    $3A00
            FF91 | 20 CF    : BRA    $FF62
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ghosts'n goblins 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FF60 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF68 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF70 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF78 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="quick boot">
        <script state="on">
            <action>maincpu.mb@6897 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6897 = B4</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1288
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[gng]+ Ghosts'n Goblins/Makai-Mura

Post by jman »

gngc.xml

Code: Select all

<!-- Ghosts'n Goblins (World? set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F14C = 20</action> <!-- enemy -->
            <action>maincpu.mb@F580 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F14C = 22</action>
            <action>maincpu.mb@F580 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@912A = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@912A = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@9126 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9126 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9E1E =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9E22 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9E2A =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9E2E = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9E1E = 0430</action>
            <action>maincpu.mw@9E22 = FBD0</action>
            <action>maincpu.mw@9E2A = 05A0</action>
            <action>maincpu.mw@9E2E = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9DF8 = param</action> <!-- torch -->
            <action>maincpu.mb@9DF9 = param</action> <!-- lance -->
            <action>maincpu.mb@9DFA = param</action> <!-- axe -->
            <action>maincpu.mb@9DFB = param</action> <!-- cross -->
            <action>maincpu.mb@9DFC = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DF8 = 30</action>
            <action>maincpu.mb@9DF9 = C0</action>
            <action>maincpu.mb@9DFA = 30</action>
            <action>maincpu.mb@9DFB = 30</action>
            <action>maincpu.mb@9DFC = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@7980 = 5D              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@90CC = BDFF20CE        </action>
            <action>maincpu.mq@FF20 = 964C43944B852027</action>
            <action>maincpu.mq@FF28 = 11CC0100ED13CE95</action>
            <action>maincpu.mq@FF30 = 6CBD91AE964C8403</action>
            <action>maincpu.mq@FF38 = A71EEC134839FFFF</action>
            <!--
            FF20 | 96 4C    : LDA    $4C    // jump button check
            FF22 | 43       : COMA
            FF23 | 94 4B    : ANDA   $4B
            FF25 | 85 20    : BITA   #$20
            FF27 | 27 11    : BEQ    $FF3A
            FF29 | CC 01 00 : LDD    #$0100 // initialize status
            FF2C | ED 13    : STD    -$D,X
            FF2E | CE 95 6C : LDU    #$956C // initialize parameter
            FF31 | BD 91 AE : JSR    $91AE
            FF34 | 96 4C    : LDA    $4C
            FF36 | 84 03    : ANDA   #$03   // set direction
            FF38 | A7 1E    : STA    -$2,X
            FF3A | EC 13    : LDD    -$D,X
            FF3C | 48       : ASLA
            FF3D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@7980 = 17              </action>
            <action>maincpu.md@90CC = EC1348CE        </action>
            <action>maincpu.mq@FF20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9DAA = 01</action> <!-- object -->
            <action>maincpu.mb@9DC4 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9EB8 = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DAA = 0F</action>
            <action>maincpu.mb@9DC4 = 08</action>
            <action>maincpu.mb@9EB8 = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@ED3A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@ED3A = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFF4012        </action>
            <action>maincpu.mq@FF40 = 1CEF978196469181</action>
            <action>maincpu.mq@FF48 = 27F8D68081022601</action>
            <action>maincpu.mq@FF50 = 5A810126015C8104</action>
            <action>maincpu.mq@FF58 = 2602C01081082602</action>
            <action>maincpu.mq@FF60 = CB10D78081102706</action>
            <action>maincpu.mq@FF68 = 81202605C63FF73A</action>
            <action>maincpu.mq@FF70 = 0020CFFFFFFFFFFF</action>
            <!--
            FF40 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FF42 | 97 81    : STA    $81
            FF44 | 96 46    : LDA    $46   // read input
            FF46 | 91 81    : CMPA   $81
            FF48 | 27 F8    : BEQ    $FF42
            FF4A | D6 80    : LDB    $80
            FF4C | 81 02    : CMPA   #$02
            FF4E | 26 01    : BNE    $FF51
            FF50 | 5A       : DECB         // decrease code -01
            FF51 | 81 01    : CMPA   #$01
            FF53 | 26 01    : BNE    $FF56
            FF55 | 5C       : INCB         // increase code +01
            FF56 | 81 04    : CMPA   #$04
            FF58 | 26 02    : BNE    $FF5C
            FF5A | C0 10    : SUBB   #$10  // decrease code -10
            FF5C | 81 08    : CMPA   #$08
            FF5E | 26 02    : BNE    $FF62
            FF60 | CB 10    : ADDB   #$10  // increase code +10
            FF62 | D7 80    : STB    $80
            FF64 | 81 10    : CMPA   #$10
            FF66 | 27 06    : BEQ    $FF6E // play sound
            FF68 | 81 20    : CMPA   #$20
            FF6A | 26 05    : BNE    $FF71
            FF6C | C6 3F    : LDB    #$3F  // stop sound
            FF6E | F7 3A 00 : STB    $3A00
            FF71 | 20 CF    : BRA    $FF42
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ghosts'n goblins 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FF40 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF48 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF50 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF58 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF60 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF68 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF70 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 54FF</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
gngt.xml

Code: Select all

<!-- Ghosts'n Goblins (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F15F = 20</action> <!-- enemy -->
            <action>maincpu.mb@F593 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F15F = 22</action>
            <action>maincpu.mb@F593 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@912D = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@912D = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@9129 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9129 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9E21 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9E25 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9E2D =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9E31 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9E21 = 0430</action>
            <action>maincpu.mw@9E25 = FBD0</action>
            <action>maincpu.mw@9E2D = 05A0</action>
            <action>maincpu.mw@9E31 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9DFB = param</action> <!-- torch -->
            <action>maincpu.mb@9DFC = param</action> <!-- lance -->
            <action>maincpu.mb@9DFD = param</action> <!-- axe -->
            <action>maincpu.mb@9DFE = param</action> <!-- cross -->
            <action>maincpu.mb@9DFF = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DFB = 30</action>
            <action>maincpu.mb@9DFC = C0</action>
            <action>maincpu.mb@9DFD = 30</action>
            <action>maincpu.mb@9DFE = 30</action>
            <action>maincpu.mb@9DFF = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@7983 = 68              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@90CF = BDFF40CE        </action>
            <action>maincpu.mq@FF40 = 964C43944B852027</action>
            <action>maincpu.mq@FF48 = 11CC0100ED13CE95</action>
            <action>maincpu.mq@FF50 = 6FBD91B1964C8403</action>
            <action>maincpu.mq@FF58 = A71EEC134839FFFF</action>
            <!--
            FF40 | 96 4C    : LDA    $4C    // jump button check
            FF42 | 43       : COMA
            FF43 | 94 4B    : ANDA   $4B
            FF45 | 85 20    : BITA   #$20
            FF47 | 27 11    : BEQ    $FF5A
            FF49 | CC 01 00 : LDD    #$0100 // initialize status
            FF4C | ED 13    : STD    -$D,X
            FF4E | CE 95 6F : LDU    #$956F // initialize parameter
            FF51 | BD 91 B1 : JSR    $91B1
            FF54 | 96 4C    : LDA    $4C
            FF56 | 84 03    : ANDA   #$03   // set direction
            FF58 | A7 1E    : STA    -$2,X
            FF5A | EC 13    : LDD    -$D,X
            FF5C | 48       : ASLA
            FF5D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@7983 = 1A              </action>
            <action>maincpu.md@90CF = EC1348CE        </action>
            <action>maincpu.mq@FF40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF58 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9DAD = 01</action> <!-- object -->
            <action>maincpu.mb@9DC7 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9EBB = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9DAD = 0F</action>
            <action>maincpu.mb@9DC7 = 08</action>
            <action>maincpu.mb@9EBB = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@ED3D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@ED3D = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFF6012        </action>
            <action>maincpu.mq@FF60 = 1CEF978196469181</action>
            <action>maincpu.mq@FF68 = 27F8D68081022601</action>
            <action>maincpu.mq@FF70 = 5A810126015C8104</action>
            <action>maincpu.mq@FF78 = 2602C01081082602</action>
            <action>maincpu.mq@FF80 = CB10D78081102706</action>
            <action>maincpu.mq@FF88 = 81202605C63FF73A</action>
            <action>maincpu.mq@FF90 = 0020CFFFFFFFFFFF</action>
            <!--
            FF60 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FF62 | 97 81    : STA    $81
            FF64 | 96 46    : LDA    $46   // read input
            FF66 | 91 81    : CMPA   $81
            FF68 | 27 F8    : BEQ    $FF62
            FF6A | D6 80    : LDB    $80
            FF6C | 81 02    : CMPA   #$02
            FF6E | 26 01    : BNE    $FF71
            FF70 | 5A       : DECB         // decrease code -01
            FF71 | 81 01    : CMPA   #$01
            FF73 | 26 01    : BNE    $FF76
            FF75 | 5C       : INCB         // increase code +01
            FF76 | 81 04    : CMPA   #$04
            FF78 | 26 02    : BNE    $FF7C
            FF7A | C0 10    : SUBB   #$10  // decrease code -10
            FF7C | 81 08    : CMPA   #$08
            FF7E | 26 02    : BNE    $FF82
            FF80 | CB 10    : ADDB   #$10  // increase code +10
            FF82 | D7 80    : STB    $80
            FF84 | 81 10    : CMPA   #$10
            FF86 | 27 06    : BEQ    $FF8E // play sound
            FF88 | 81 20    : CMPA   #$20
            FF8A | 26 05    : BNE    $FF91
            FF8C | C6 3F    : LDB    #$3F  // stop sound
            FF8E | F7 3A 00 : STB    $3A00
            FF91 | 20 CF    : BRA    $FF62
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ghosts'n goblins 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FF60 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF68 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF70 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF78 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 5515</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
makaimur.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F095 = 20</action> <!-- enemy -->
            <action>maincpu.mb@F4CF = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F095 = 22</action>
            <action>maincpu.mb@F4CF = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8F74 = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F74 = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8F70 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F70 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9C6B =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9C6F = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9C77 =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9C7B = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9C6B = 0430</action>
            <action>maincpu.mw@9C6F = FBD0</action>
            <action>maincpu.mw@9C77 = 05A0</action>
            <action>maincpu.mw@9C7B = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9C45 = param</action> <!-- torch -->
            <action>maincpu.mb@9C46 = param</action> <!-- lance -->
            <action>maincpu.mb@9C47 = param</action> <!-- axe -->
            <action>maincpu.mb@9C48 = param</action> <!-- cross -->
            <action>maincpu.mb@9C49 = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C45 = 30</action>
            <action>maincpu.mb@9C46 = C0</action>
            <action>maincpu.mb@9C47 = 30</action>
            <action>maincpu.mb@9C48 = 30</action>
            <action>maincpu.mb@9C49 = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@77CA = AF              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8F16 = BDFE70CE        </action>
            <action>maincpu.mq@FE70 = 964C43944B852027</action>
            <action>maincpu.mq@FE78 = 11CC0100ED13CE93</action>
            <action>maincpu.mq@FE80 = B6BD8FF8964C8403</action>
            <action>maincpu.mq@FE88 = A71EEC134839FFFF</action>
            <!--
            FE70 | 96 4C    : LDA    $4C    // jump button check
            FE72 | 43       : COMA
            FE73 | 94 4B    : ANDA   $4B
            FE75 | 85 20    : BITA   #$20
            FE77 | 27 11    : BEQ    $FE8A
            FE79 | CC 01 00 : LDD    #$0100 // initialize status
            FE7C | ED 13    : STD    -$D,X
            FE7E | CE 93 B6 : LDU    #$93B6 // initialize parameter
            FE81 | BD 8F F8 : JSR    $8FF8
            FE84 | 96 4C    : LDA    $4C
            FE86 | 84 03    : ANDA   #$03   // set direction
            FE88 | A7 1E    : STA    -$2,X
            FE8A | EC 13    : LDD    -$D,X
            FE8C | 48       : ASLA
            FE8D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@77CA = 61              </action>
            <action>maincpu.md@8F16 = EC1348CE        </action>
            <action>maincpu.mq@FE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9BF7 = 01</action> <!-- object -->
            <action>maincpu.mb@9C11 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9D05 = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9BF7 = 0F</action>
            <action>maincpu.mb@9C11 = 08</action>
            <action>maincpu.mb@9D05 = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EC69 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EC69 = 3F</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@6874 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@6150 = 7EFE9012        </action>
            <action>maincpu.mq@FE90 = 1CEF978196469181</action>
            <action>maincpu.mq@FE98 = 27F8D68081022601</action>
            <action>maincpu.mq@FEA0 = 5A810126015C8104</action>
            <action>maincpu.mq@FEA8 = 2602C01081082602</action>
            <action>maincpu.mq@FEB0 = CB10D78081102706</action>
            <action>maincpu.mq@FEB8 = 81202605C63FF73A</action>
            <action>maincpu.mq@FEC0 = 0020CFFFFFFFFFFF</action>
            <!--
            FE90 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FE92 | 97 81    : STA    $81
            FE94 | 96 46    : LDA    $46   // read input
            FE96 | 91 81    : CMPA   $81
            FE98 | 27 F8    : BEQ    $FE92
            FE9A | D6 80    : LDB    $80
            FE9C | 81 02    : CMPA   #$02
            FE9E | 26 01    : BNE    $FEA1
            FEA0 | 5A       : DECB         // decrease code -01
            FEA1 | 81 01    : CMPA   #$01
            FEA3 | 26 01    : BNE    $FEA6
            FEA5 | 5C       : INCB         // increase code +01
            FEA6 | 81 04    : CMPA   #$04
            FEA8 | 26 02    : BNE    $FEAC
            FEAA | C0 10    : SUBB   #$10  // decrease code -10
            FEAC | 81 08    : CMPA   #$08
            FEAE | 26 02    : BNE    $FEB2
            FEB0 | CB 10    : ADDB   #$10  // increase code +10
            FEB2 | D7 80    : STB    $80
            FEB4 | 81 10    : CMPA   #$10
            FEB6 | 27 06    : BEQ    $FEBE // play sound
            FEB8 | 81 20    : CMPA   #$20
            FEBA | 26 05    : BNE    $FEC1
            FEBC | C6 3F    : LDB    #$3F  // stop sound
            FEBE | F7 3A 00 : STB    $3A00
            FEC1 | 20 CF    : BRA    $FE92
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- makaimura 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6874 = 0C              </action>
            <action> maincpu.md@6150 = 1CEF201F        </action>
            <action> maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="quick boot">
        <script state="on">
            <action>maincpu.mb@688B = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@688B = B4</action>
        </script>
    </cheat>

</mamecheat>
makaimurb.xml

Code: Select all

<!-- Makaimura (Japan Revision B) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F077 = 20</action> <!-- enemy -->
            <action>maincpu.mb@F4AB = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F077 = 22</action>
            <action>maincpu.mb@F4AB = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8F70 = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F70 = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8F6C = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F6C = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9C64 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9C68 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9C70 =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9C74 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9C64 = 0430</action>
            <action>maincpu.mw@9C68 = FBD0</action>
            <action>maincpu.mw@9C70 = 05A0</action>
            <action>maincpu.mw@9C74 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9C3E = param</action> <!-- torch -->
            <action>maincpu.mb@9C3F = param</action> <!-- lance -->
            <action>maincpu.mb@9C40 = param</action> <!-- axe -->
            <action>maincpu.mb@9C41 = param</action> <!-- cross -->
            <action>maincpu.mb@9C42 = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C3E = 30</action>
            <action>maincpu.mb@9C3F = C0</action>
            <action>maincpu.mb@9C40 = 30</action>
            <action>maincpu.mb@9C41 = 30</action>
            <action>maincpu.mb@9C42 = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@77C6 = AB              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8F12 = BDFE50CE        </action>
            <action>maincpu.mq@FE50 = 964C43944B852027</action>
            <action>maincpu.mq@FE58 = 11CC0100ED13CE93</action>
            <action>maincpu.mq@FE60 = B2BD8FF4964C8403</action>
            <action>maincpu.mq@FE68 = A71EEC134839FFFF</action>
            <!--
            FE50 | 96 4C    : LDA    $4C    // jump button check
            FE52 | 43       : COMA
            FE53 | 94 4B    : ANDA   $4B
            FE55 | 85 20    : BITA   #$20
            FE57 | 27 11    : BEQ    $FE6A
            FE59 | CC 01 00 : LDD    #$0100 // initialize status
            FE5C | ED 13    : STD    -$D,X
            FE5E | CE 93 B2 : LDU    #$93B2 // initialize parameter
            FE61 | BD 8F F4 : JSR    $8FF4
            FE64 | 96 4C    : LDA    $4C
            FE66 | 84 03    : ANDA   #$03   // set direction
            FE68 | A7 1E    : STA    -$2,X
            FE6A | EC 13    : LDD    -$D,X
            FE6C | 48       : ASLA
            FE6D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@77C6 = 68              </action>
            <action>maincpu.md@8F12 = EC1348CE        </action>
            <action>maincpu.mq@FE50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE68 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9BF0 = 01</action> <!-- object -->
            <action>maincpu.mb@9C0A = 01</action> <!-- enemy -->
            <action>maincpu.mb@9CFE = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9BF0 = 0F</action>
            <action>maincpu.mb@9C0A = 08</action>
            <action>maincpu.mb@9CFE = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EC55 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EC55 = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFE7012        </action>
            <action>maincpu.mq@FE70 = 1CEF978196469181</action>
            <action>maincpu.mq@FE78 = 27F8D68081022601</action>
            <action>maincpu.mq@FE80 = 5A810126015C8104</action>
            <action>maincpu.mq@FE88 = 2602C01081082602</action>
            <action>maincpu.mq@FE90 = CB10D78081102706</action>
            <action>maincpu.mq@FE98 = 81202605C63FF73A</action>
            <action>maincpu.mq@FEA0 = 0020CFFFFFFFFFFF</action>
            <!--
            FE70 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FE72 | 97 81    : STA    $81
            FE74 | 96 46    : LDA    $46   // read input
            FE76 | 91 81    : CMPA   $81
            FE78 | 27 F8    : BEQ    $FE72
            FE7A | D6 80    : LDB    $80
            FE7C | 81 02    : CMPA   #$02
            FE7E | 26 01    : BNE    $FE81
            FE80 | 5A       : DECB         // decrease code -01
            FE81 | 81 01    : CMPA   #$01
            FE83 | 26 01    : BNE    $FE86
            FE85 | 5C       : INCB         // increase code +01
            FE86 | 81 04    : CMPA   #$04
            FE88 | 26 02    : BNE    $FE8C
            FE8A | C0 10    : SUBB   #$10  // decrease code -10
            FE8C | 81 08    : CMPA   #$08
            FE8E | 26 02    : BNE    $FE92
            FE90 | CB 10    : ADDB   #$10  // increase code +10
            FE92 | D7 80    : STB    $80
            FE94 | 81 10    : CMPA   #$10
            FE96 | 27 06    : BEQ    $FE9E // play sound
            FE98 | 81 20    : CMPA   #$20
            FE9A | 26 05    : BNE    $FEA1
            FE9C | C6 3F    : LDB    #$3F  // stop sound
            FE9E | F7 3A 00 : STB    $3A00
            FEA1 | 20 CF    : BRA    $FE72
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- makaimura 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FE70 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE78 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE80 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE88 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 553A</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
makaimurc.xml

Code: Select all

<!-- Makaimura (Japan Revision C) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F084 = 20</action> <!-- enemy -->
            <action>maincpu.mb@F4B8 = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F084 = 22</action>
            <action>maincpu.mb@F4B8 = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8F7D = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F7D = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8F79 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F79 = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9C71 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9C75 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9C7D =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9C81 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9C71 = 0430</action>
            <action>maincpu.mw@9C75 = FBD0</action>
            <action>maincpu.mw@9C7D = 05A0</action>
            <action>maincpu.mw@9C81 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9C4B = param</action> <!-- torch -->
            <action>maincpu.mb@9C4C = param</action> <!-- lance -->
            <action>maincpu.mb@9C4D = param</action> <!-- axe -->
            <action>maincpu.mb@9C4E = param</action> <!-- cross -->
            <action>maincpu.mb@9C4F = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C4B = 30</action>
            <action>maincpu.mb@9C4C = C0</action>
            <action>maincpu.mb@9C4D = 30</action>
            <action>maincpu.mb@9C4E = 30</action>
            <action>maincpu.mb@9C4F = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@77D3 = 72              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8F1F = BDFE60CE        </action>
            <action>maincpu.mq@FE60 = 964C43944B852027</action>
            <action>maincpu.mq@FE68 = 11CC0100ED13CE93</action>
            <action>maincpu.mq@FE70 = BFBD9001964C8403</action>
            <action>maincpu.mq@FE78 = A71EEC134839FFFF</action>
            <!--
            FE60 | 96 4C    : LDA    $4C    // jump button check
            FE62 | 43       : COMA
            FE63 | 94 4B    : ANDA   $4B
            FE65 | 85 20    : BITA   #$20
            FE67 | 27 11    : BEQ    $FE7A
            FE69 | CC 01 00 : LDD    #$0100 // initialize status
            FE6C | ED 13    : STD    -$D,X
            FE6E | CE 93 BF : LDU    #$93BF // initialize parameter
            FE71 | BD 90 01 : JSR    $9001
            FE74 | 96 4C    : LDA    $4C
            FE76 | 84 03    : ANDA   #$03   // set direction
            FE78 | A7 1E    : STA    -$2,X
            FE7A | EC 13    : LDD    -$D,X
            FE7C | 48       : ASLA
            FE7D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@77D3 = 6A              </action>
            <action>maincpu.md@8F1F = EC1348CE        </action>
            <action>maincpu.mq@FE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9BFD = 01</action> <!-- object -->
            <action>maincpu.mb@9C17 = 01</action> <!-- enemy -->
            <action>maincpu.mb@9D0B = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9BFD = 0F</action>
            <action>maincpu.mb@9C17 = 08</action>
            <action>maincpu.mb@9D0B = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EC62 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EC62 = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFE8012        </action>
            <action>maincpu.mq@FE80 = 1CEF978196469181</action>
            <action>maincpu.mq@FE88 = 27F8D68081022601</action>
            <action>maincpu.mq@FE90 = 5A810126015C8104</action>
            <action>maincpu.mq@FE98 = 2602C01081082602</action>
            <action>maincpu.mq@FEA0 = CB10D78081102706</action>
            <action>maincpu.mq@FEA8 = 81202605C63FF73A</action>
            <action>maincpu.mq@FEB0 = 0020CFFFFFFFFFFF</action>
            <!--
            FE80 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FE82 | 97 81    : STA    $81
            FE84 | 96 46    : LDA    $46   // read input
            FE86 | 91 81    : CMPA   $81
            FE88 | 27 F8    : BEQ    $FE82
            FE8A | D6 80    : LDB    $80
            FE8C | 81 02    : CMPA   #$02
            FE8E | 26 01    : BNE    $FE91
            FE90 | 5A       : DECB         // decrease code -01
            FE91 | 81 01    : CMPA   #$01
            FE93 | 26 01    : BNE    $FE96
            FE95 | 5C       : INCB         // increase code +01
            FE96 | 81 04    : CMPA   #$04
            FE98 | 26 02    : BNE    $FE9C
            FE9A | C0 10    : SUBB   #$10  // decrease code -10
            FE9C | 81 08    : CMPA   #$08
            FE9E | 26 02    : BNE    $FEA2
            FEA0 | CB 10    : ADDB   #$10  // increase code +10
            FEA2 | D7 80    : STB    $80
            FEA4 | 81 10    : CMPA   #$10
            FEA6 | 27 06    : BEQ    $FEAE // play sound
            FEA8 | 81 20    : CMPA   #$20
            FEAA | 26 05    : BNE    $FEB1
            FEAC | C6 3F    : LDB    #$3F  // stop sound
            FEAE | F7 3A 00 : STB    $3A00
            FEB1 | 20 CF    : BRA    $FE82
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- makaimura 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FE80 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE88 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 553A</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1288
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[gng]+ Ghosts'n Goblins/Makai-Mura

Post by jman »

makaimurg.xml

Code: Select all

<!-- Makaimura (Japan Revision G) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F09B = 20</action> <!-- enemy -->
            <action>maincpu.mb@F4CF = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F09B = 22</action>
            <action>maincpu.mb@F4CF = 22</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8F80 = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F80 = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8F7C = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F7C = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9C77 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9C7B = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9C83 =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9C87 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9C77 = 0430</action>
            <action>maincpu.mw@9C7B = FBD0</action>
            <action>maincpu.mw@9C83 = 05A0</action>
            <action>maincpu.mw@9C87 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9C51 = param</action> <!-- torch -->
            <action>maincpu.mb@9C52 = param</action> <!-- lance -->
            <action>maincpu.mb@9C53 = param</action> <!-- axe -->
            <action>maincpu.mb@9C54 = param</action> <!-- cross -->
            <action>maincpu.mb@9C55 = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C51 = 30</action>
            <action>maincpu.mb@9C52 = C0</action>
            <action>maincpu.mb@9C53 = 30</action>
            <action>maincpu.mb@9C54 = 30</action>
            <action>maincpu.mb@9C55 = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@77D6 = B3              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8F22 = BDFE70CE        </action>
            <action>maincpu.mq@FE70 = 964C43944B852027</action>
            <action>maincpu.mq@FE78 = 11CC0100ED13CE93</action>
            <action>maincpu.mq@FE80 = C2BD9004964C8403</action>
            <action>maincpu.mq@FE88 = A71EEC134839FFFF</action>
            <!--
            FE70 | 96 4C    : LDA    $4C    // jump button check
            FE72 | 43       : COMA
            FE73 | 94 4B    : ANDA   $4B
            FE75 | 85 20    : BITA   #$20
            FE77 | 27 11    : BEQ    $FE8A
            FE79 | CC 01 00 : LDD    #$0100 // initialize status
            FE7C | ED 13    : STD    -$D,X
            FE7E | CE 93 C2 : LDU    #$93C2 // initialize parameter
            FE81 | BD 90 04 : JSR    $9004
            FE84 | 96 4C    : LDA    $4C
            FE86 | 84 03    : ANDA   #$03   // set direction
            FE88 | A7 1E    : STA    -$2,X
            FE8A | EC 13    : LDD    -$D,X
            FE8C | 48       : ASLA
            FE8D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@77D6 = 6D              </action>
            <action>maincpu.md@8F22 = EC1348CE        </action>
            <action>maincpu.mq@FE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9C03 = 01</action> <!-- object -->
            <action>maincpu.mb@9C1D = 01</action> <!-- enemy -->
            <action>maincpu.mb@9D11 = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C03 = 0F</action>
            <action>maincpu.mb@9C1D = 08</action>
            <action>maincpu.mb@9D11 = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EC75 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EC75 = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFE9012        </action>
            <action>maincpu.mq@FE90 = 1CEF978196469181</action>
            <action>maincpu.mq@FE98 = 27F8D68081022601</action>
            <action>maincpu.mq@FEA0 = 5A810126015C8104</action>
            <action>maincpu.mq@FEA8 = 2602C01081082602</action>
            <action>maincpu.mq@FEB0 = CB10D78081102706</action>
            <action>maincpu.mq@FEB8 = 81202605C63FF73A</action>
            <action>maincpu.mq@FEC0 = 0020CFFFFFFFFFFF</action>
            <!--
            FE90 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FE92 | 97 81    : STA    $81
            FE94 | 96 46    : LDA    $46   // read input
            FE96 | 91 81    : CMPA   $81
            FE98 | 27 F8    : BEQ    $FE92
            FE9A | D6 80    : LDB    $80
            FE9C | 81 02    : CMPA   #$02
            FE9E | 26 01    : BNE    $FEA1
            FEA0 | 5A       : DECB         // decrease code -01
            FEA1 | 81 01    : CMPA   #$01
            FEA3 | 26 01    : BNE    $FEA6
            FEA5 | 5C       : INCB         // increase code +01
            FEA6 | 81 04    : CMPA   #$04
            FEA8 | 26 02    : BNE    $FEAC
            FEAA | C0 10    : SUBB   #$10  // decrease code -10
            FEAC | 81 08    : CMPA   #$08
            FEAE | 26 02    : BNE    $FEB2
            FEB0 | CB 10    : ADDB   #$10  // increase code +10
            FEB2 | D7 80    : STB    $80
            FEB4 | 81 10    : CMPA   #$10
            FEB6 | 27 06    : BEQ    $FEBE // play sound
            FEB8 | 81 20    : CMPA   #$20
            FEBA | 26 05    : BNE    $FEC1
            FEBC | C6 3F    : LDB    #$3F  // stop sound
            FEBE | F7 3A 00 : STB    $3A00
            FEC1 | 20 CF    : BRA    $FE92
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- makaimura 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 553A</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
"multiple jump" : Fixed jump sound in multiple jump.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1288
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[gng]+ Ghosts'n Goblins/Makai-Mura

Post by jman »

In 0.272, makaimurba was added. It seems to be based on makaimurb so that conversion will be easy.

makaimurba.xml

Code: Select all

<!-- Makaimura (Japan Revision B, alt GFX) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@F077 = 20</action> <!-- enemy -->
            <action>maincpu.mb@F4AB = 20</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@F077 = 22</action>
            <action>maincpu.mb@F4AB = 22</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@8F70 = D6</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F70 = D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@8F6C = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8F6C = 0E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0480">02       </item>
            <item value="0x0880">03       </item>
            <item value="0x0c80">04       </item>
            <item value="0x1080">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@9C64 =  param</action> <!-- lance, torch, axe, cross : right -->
            <action>maincpu.mw@9C68 = -param</action> <!-- lance, torch, axe, cross : left -->
            <action>maincpu.mw@9C70 =  param</action> <!-- knife : right -->
            <action>maincpu.mw@9C74 = -param</action> <!-- knife : left -->
        </script>
        <script state="off">
            <action>maincpu.mw@9C64 = 0430</action>
            <action>maincpu.mw@9C68 = FBD0</action>
            <action>maincpu.mw@9C70 = 05A0</action>
            <action>maincpu.mw@9C74 = FA60</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x05">01 (short)</item>
            <item value="0x35">02        </item>
            <item value="0x65">03        </item>
            <item value="0x95">04        </item>
            <item value="0xc5">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@9C3E = param</action> <!-- torch -->
            <action>maincpu.mb@9C3F = param</action> <!-- lance -->
            <action>maincpu.mb@9C40 = param</action> <!-- axe -->
            <action>maincpu.mb@9C41 = param</action> <!-- cross -->
            <action>maincpu.mb@9C42 = param</action> <!-- knife -->
        </script>
        <script state="off">
            <action>maincpu.mb@9C3E = 30</action>
            <action>maincpu.mb@9C3F = C0</action>
            <action>maincpu.mb@9C40 = 30</action>
            <action>maincpu.mb@9C41 = 30</action>
            <action>maincpu.mb@9C42 = C5</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mb@77C6 = AB              </action> <!-- enable jump sound in multiple jump -->
            <action>maincpu.md@8F12 = BDFE50CE        </action>
            <action>maincpu.mq@FE50 = 964C43944B852027</action>
            <action>maincpu.mq@FE58 = 11CC0100ED13CE93</action>
            <action>maincpu.mq@FE60 = B2BD8FF4964C8403</action>
            <action>maincpu.mq@FE68 = A71EEC134839FFFF</action>
            <!--
            FE50 | 96 4C    : LDA    $4C    // jump button check
            FE52 | 43       : COMA
            FE53 | 94 4B    : ANDA   $4B
            FE55 | 85 20    : BITA   #$20
            FE57 | 27 11    : BEQ    $FE6A
            FE59 | CC 01 00 : LDD    #$0100 // initialize state
            FE5C | ED 13    : STD    -$D,X
            FE5E | CE 93 B2 : LDU    #$93B2 // initialize parameters
            FE61 | BD 8F F4 : JSR    $8FF4
            FE64 | 96 4C    : LDA    $4C
            FE66 | 84 03    : ANDA   #$03   // set direction
            FE68 | A7 1E    : STA    -$2,X
            FE6A | EC 13    : LDD    -$D,X
            FE6C | 48       : ASLA
            FE6D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@77C6 = 68              </action>
            <action>maincpu.md@8F12 = EC1348CE        </action>
            <action>maincpu.mq@FE50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FE68 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@9BF0 = 01</action> <!-- object -->
            <action>maincpu.mb@9C0A = 01</action> <!-- enemy -->
            <action>maincpu.mb@9CFE = 01</action> <!-- knife/cross -->
        </script>
        <script state="off">
            <action>maincpu.mb@9BF0 = 0F</action>
            <action>maincpu.mb@9C0A = 08</action>
            <action>maincpu.mb@9CFE = 0F</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@EC55 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@EC55 = 3F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6880 = 96              </action> <!-- disable next sequence at boot -->
            <action>maincpu.md@615C = 7EFE7012        </action>
            <action>maincpu.mq@FE70 = 1CEF978196469181</action>
            <action>maincpu.mq@FE78 = 27F8D68081022601</action>
            <action>maincpu.mq@FE80 = 5A810126015C8104</action>
            <action>maincpu.mq@FE88 = 2602C01081082602</action>
            <action>maincpu.mq@FE90 = CB10D78081102706</action>
            <action>maincpu.mq@FE98 = 81202605C63FF73A</action>
            <action>maincpu.mq@FEA0 = 0020CFFFFFFFFFFF</action>
            <!--
            FE70 | 1C EF    : ANDCC  #$EF  // enable interrupt
            FE72 | 97 81    : STA    $81
            FE74 | 96 46    : LDA    $46   // read input
            FE76 | 91 81    : CMPA   $81
            FE78 | 27 F8    : BEQ    $FE72
            FE7A | D6 80    : LDB    $80
            FE7C | 81 02    : CMPA   #$02
            FE7E | 26 01    : BNE    $FE81
            FE80 | 5A       : DECB         // decrease code -01
            FE81 | 81 01    : CMPA   #$01
            FE83 | 26 01    : BNE    $FE86
            FE85 | 5C       : INCB         // increase code +01
            FE86 | 81 04    : CMPA   #$04
            FE88 | 26 02    : BNE    $FE8C
            FE8A | C0 10    : SUBB   #$10  // decrease code -10
            FE8C | 81 08    : CMPA   #$08
            FE8E | 26 02    : BNE    $FE92
            FE90 | CB 10    : ADDB   #$10  // increase code +10
            FE92 | D7 80    : STB    $80
            FE94 | 81 10    : CMPA   #$10
            FE96 | 27 06    : BEQ    $FE9E // play sound
            FE98 | 81 20    : CMPA   #$20
            FE9A | 26 05    : BNE    $FEA1
            FE9C | C6 3F    : LDB    #$3F  // stop sound
            FE9E | F7 3A 00 : STB    $3A00
            FEA1 | 20 CF    : BRA    $FE72
            -->
            <!-- stop sfx and music at the same time -->
            <action>audiocpu.mw@3C1C = 56D0            </action>
            <action>audiocpu.mq@56D0 = BACD02C3CD02CCCD</action>
            <action>audiocpu.mq@56D8 = C902B1CD01A0CD02</action>
            <!--
            56D0 | CD CC 02 : call $02CC
            56D3 | CD C3 02 : call $02C3
            56D6 | CD BA 02 : call $02BA
            56D9 | CD A0 01 : call $01A0
            56DC | CD B1 02 : call $02B1
            56DF | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- 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@0080</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.mb@6880 = 0C              </action>
            <action> maincpu.md@615C = 1CEF201F        </action>
            <action> maincpu.mq@FE70 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE78 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE80 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE88 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE90 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FE98 = FFFFFFFFFFFFFFFF</action>
            <action> maincpu.mq@FEA0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mw@3C1C = 02B1            </action>
            <action>audiocpu.mq@56D0 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@56D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@607B = 607D</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@6896 = 0001</action> <!-- skip wait -->
        </script>
        <script state="off">
            <action>maincpu.mw@607B = 553A</action>
            <action>maincpu.mw@6896 = 00B4</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1288
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[gng]+ Ghosts'n Goblins/Makai-Mura

Post by jman »

"easy level finish" : Added new. You can finish current level when you press start button (player 1 : 1P start button, player 2 : 2P start button).

gng.xml

Code: Select all

<!-- Ghosts'n Goblins (World? set 1) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@724F = FF80            </action>
            <action>maincpu.mq@FF80 = 9627260696428401</action>
            <action>maincpu.mq@FF88 = 2004964284022717</action>
            <action>maincpu.mq@FF90 = 860297088601B705</action>
            <action>maincpu.mq@FF98 = 2096728105270B81</action>
            <action>maincpu.mq@FFA0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FFA8 = 72A19673810327F3</action>
            <action>maincpu.mq@FFB0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FF80 | 96 27    : LDA    $27   // check player
            FF82 | 26 06    : BNE    $FF8A
            FF84 | 96 42    : LDA    $42
            FF86 | 84 01    : ANDA   #$01  // check 1P start button
            FF88 | 20 04    : BRA    $FF8E
            FF8A | 96 42    : LDA    $42
            FF8C | 84 02    : ANDA   #$02  // check 2P start button
            FF8E | 27 17    : BEQ    $FFA7
            FF90 | 86 02    : LDA    #$02
            FF92 | 97 08    : STA    $08
            FF94 | 86 01    : LDA    #$01
            FF96 | B7 05 20 : STA    $0520
            FF99 | 96 72    : LDA    $72
            FF9B | 81 05    : CMPA   #$05
            FF9D | 27 0B    : BEQ    $FFAA
            FF9F | 81 06    : CMPA   #$06
            FFA1 | 27 0D    : BEQ    $FFB0
            FFA3 | 86 06    : LDA    #$06
            FFA5 | 97 0B    : STA    $0B
            FFA7 | 7E 72 A1 : JMP    $72A1
            FFAA | 96 73    : LDA    $73   // level 6
            FFAC | 81 03    : CMPA   #$03  // check cross(shield)
            FFAE | 27 F3    : BEQ    $FFA3
            FFB0 | 4F       : CLRA         // level 7
            FFB1 | 20 F2    : BRA    $FFA5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@704F = 72A1            </action>
            <action>maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gnga.xml

Code: Select all

<!-- Ghosts'n Goblins (World? set 2) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@70A1 = FEB0            </action>
            <action>maincpu.mq@FEB0 = 9627260696428401</action>
            <action>maincpu.mq@FEB8 = 2004964284022717</action>
            <action>maincpu.mq@FEC0 = 860297088601B705</action>
            <action>maincpu.mq@FEC8 = 2096728105270B81</action>
            <action>maincpu.mq@FED0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FED8 = 70F39673810327F3</action>
            <action>maincpu.mq@FEE0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FEB0 | 96 27    : LDA    $27   // check player
            FEB2 | 26 06    : BNE    $FEBA
            FEB4 | 96 42    : LDA    $42
            FEB6 | 84 01    : ANDA   #$01  // check 1P start button
            FEB8 | 20 04    : BRA    $FEBE
            FEBA | 96 42    : LDA    $42
            FEBC | 84 02    : ANDA   #$02  // check 2P start button
            FEBE | 27 17    : BEQ    $FED7
            FEC0 | 86 02    : LDA    #$02
            FEC2 | 97 08    : STA    $08
            FEC4 | 86 01    : LDA    #$01
            FEC6 | B7 05 20 : STA    $0520
            FEC9 | 96 72    : LDA    $72
            FECB | 81 05    : CMPA   #$05
            FECD | 27 0B    : BEQ    $FEDA
            FECF | 81 06    : CMPA   #$06
            FED1 | 27 0D    : BEQ    $FEE0
            FED3 | 86 06    : LDA    #$06
            FED5 | 97 0B    : STA    $0B
            FED7 | 7E 70 F3 : JMP    $70F3
            FEDA | 96 73    : LDA    $73   // level 6
            FEDC | 81 03    : CMPA   #$03  // check cross(shield)
            FEDE | 27 F3    : BEQ    $FED3
            FEE0 | 4F       : CLRA         // level 7
            FEE1 | 20 F2    : BRA    $FED5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@70A1 = 70F3            </action>
            <action>maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gngbl.xml

Code: Select all

<!-- Ghosts'n Goblins (bootleg with Cross) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@724F = FF80            </action>
            <action>maincpu.mq@FF80 = 9627260696428401</action>
            <action>maincpu.mq@FF88 = 2004964284022717</action>
            <action>maincpu.mq@FF90 = 860297088601B705</action>
            <action>maincpu.mq@FF98 = 2096728105270B81</action>
            <action>maincpu.mq@FFA0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FFA8 = 72A19673810327F3</action>
            <action>maincpu.mq@FFB0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FF80 | 96 27    : LDA    $27   // check player
            FF82 | 26 06    : BNE    $FF8A
            FF84 | 96 42    : LDA    $42
            FF86 | 84 01    : ANDA   #$01  // check 1P start button
            FF88 | 20 04    : BRA    $FF8E
            FF8A | 96 42    : LDA    $42
            FF8C | 84 02    : ANDA   #$02  // check 2P start button
            FF8E | 27 17    : BEQ    $FFA7
            FF90 | 86 02    : LDA    #$02
            FF92 | 97 08    : STA    $08
            FF94 | 86 01    : LDA    #$01
            FF96 | B7 05 20 : STA    $0520
            FF99 | 96 72    : LDA    $72
            FF9B | 81 05    : CMPA   #$05
            FF9D | 27 0B    : BEQ    $FFAA
            FF9F | 81 06    : CMPA   #$06
            FFA1 | 27 0D    : BEQ    $FFB0
            FFA3 | 86 06    : LDA    #$06
            FFA5 | 97 0B    : STA    $0B
            FFA7 | 7E 72 A1 : JMP    $72A1
            FFAA | 96 73    : LDA    $73   // level 6
            FFAC | 81 03    : CMPA   #$03  // check cross(shield)
            FFAE | 27 F3    : BEQ    $FFA3
            FFB0 | 4F       : CLRA         // level 7
            FFB1 | 20 F2    : BRA    $FFA5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@724F = 72A1            </action>
            <action>maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gngprot.xml

Code: Select all

<!-- Ghosts'n Goblins (prototype) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@6FEA = FB60            </action>
            <action>maincpu.mq@FB60 = 9627260696428401</action>
            <action>maincpu.mq@FB68 = 2004964284022717</action>
            <action>maincpu.mq@FB70 = 860297088601B705</action>
            <action>maincpu.mq@FB78 = 2096728105270B81</action>
            <action>maincpu.mq@FB80 = 06270D8606970B7E</action>
            <action>maincpu.mq@FB88 = 70389673810327F3</action>
            <action>maincpu.mq@FB90 = 4F20F2FFFFFFFFFF</action>
            <!--
            FB60 | 96 27    : LDA    $27   // check player
            FB62 | 26 06    : BNE    $FB6A
            FB64 | 96 42    : LDA    $42
            FB66 | 84 01    : ANDA   #$01  // check 1P start button
            FB68 | 20 04    : BRA    $FB6E
            FB6A | 96 42    : LDA    $42
            FB6C | 84 02    : ANDA   #$02  // check 2P start button
            FB6E | 27 17    : BEQ    $FB87
            FB70 | 86 02    : LDA    #$02
            FB72 | 97 08    : STA    $08
            FB74 | 86 01    : LDA    #$01
            FB76 | B7 05 20 : STA    $0520
            FB79 | 96 72    : LDA    $72
            FB7B | 81 05    : CMPA   #$05
            FB7D | 27 0B    : BEQ    $FB8A
            FB7F | 81 06    : CMPA   #$06
            FB81 | 27 0D    : BEQ    $FB90
            FB83 | 86 06    : LDA    #$06
            FB85 | 97 0B    : STA    $0B
            FB87 | 7E 70 38 : JMP    $7038
            FB8A | 96 73    : LDA    $73   // level 6
            FB8C | 81 03    : CMPA   #$03  // check cross(shield)
            FB8E | 27 F3    : BEQ    $FB83
            FB90 | 4F       : CLRA         // level 7
            FB91 | 20 F2    : BRA    $FB85
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@6FEA = 7038            </action>
            <action>maincpu.mq@FB60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FB90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gngblita.xml

Code: Select all

<!-- Ghosts'n Goblins (Italian bootleg, harder) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@7251 = FFA0            </action>
            <action>maincpu.mq@FFA0 = 9627260696428401</action>
            <action>maincpu.mq@FFA8 = 2004964284022717</action>
            <action>maincpu.mq@FFB0 = 860297088601B705</action>
            <action>maincpu.mq@FFB8 = 2096728105270B81</action>
            <action>maincpu.mq@FFC0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FFC8 = 72A39673810327F3</action>
            <action>maincpu.mq@FFD0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FFA0 | 96 27    : LDA    $27   // check player
            FFA2 | 26 06    : BNE    $FFAA
            FFA4 | 96 42    : LDA    $42
            FFA6 | 84 01    : ANDA   #$01  // check 1P start button
            FFA8 | 20 04    : BRA    $FFAE
            FFAA | 96 42    : LDA    $42
            FFAC | 84 02    : ANDA   #$02  // check 2P start button
            FFAE | 27 17    : BEQ    $FFC7
            FF90 | 86 02    : LDA    #$02
            FFB2 | 97 08    : STA    $08
            FFB4 | 86 01    : LDA    #$01
            FFB6 | B7 05 20 : STA    $0520
            FFB9 | 96 72    : LDA    $72
            FFBB | 81 05    : CMPA   #$05
            FFBD | 27 0B    : BEQ    $FFCA
            FFBF | 81 06    : CMPA   #$06
            FFC1 | 27 0D    : BEQ    $FFD0
            FFC3 | 86 06    : LDA    #$06
            FFC5 | 97 0B    : STA    $0B
            FFC7 | 7E 72 A3 : JMP    $72A3
            FFCA | 96 73    : LDA    $73   // level 6
            FFCC | 81 03    : CMPA   #$03  // check cross(shield)
            FFCE | 27 F3    : BEQ    $FFC3
            FFD0 | 4F       : CLRA         // level 7
            FFD1 | 20 F2    : BRA    $FFC5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7251 = 72A3            </action>
            <action>maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gngc.xml

Code: Select all

<!-- Ghosts'n Goblins (World? set 3) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@7251 = FF80            </action>
            <action>maincpu.mq@FF80 = 9627260696428401</action>
            <action>maincpu.mq@FF88 = 2004964284022717</action>
            <action>maincpu.mq@FF90 = 860297088601B705</action>
            <action>maincpu.mq@FF98 = 2096728105270B81</action>
            <action>maincpu.mq@FFA0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FFA8 = 72A39673810327F3</action>
            <action>maincpu.mq@FFB0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FF80 | 96 27    : LDA    $27   // check player
            FF82 | 26 06    : BNE    $FF8A
            FF84 | 96 42    : LDA    $42
            FF86 | 84 01    : ANDA   #$01  // check 1P start button
            FF88 | 20 04    : BRA    $FF8E
            FF8A | 96 42    : LDA    $42
            FF8C | 84 02    : ANDA   #$02  // check 2P start button
            FF8E | 27 17    : BEQ    $FFA7
            FF90 | 86 02    : LDA    #$02
            FF92 | 97 08    : STA    $08
            FF94 | 86 01    : LDA    #$01
            FF96 | B7 05 20 : STA    $0520
            FF99 | 96 72    : LDA    $72
            FF9B | 81 05    : CMPA   #$05
            FF9D | 27 0B    : BEQ    $FFAA
            FF9F | 81 06    : CMPA   #$06
            FFA1 | 27 0D    : BEQ    $FFB0
            FFA3 | 86 06    : LDA    #$06
            FFA5 | 97 0B    : STA    $0B
            FFA7 | 7E 72 A3 : JMP    $72A3
            FFAA | 96 73    : LDA    $73   // level 6
            FFAC | 81 03    : CMPA   #$03  // check cross(shield)
            FFAE | 27 F3    : BEQ    $FFA3
            FFB0 | 4F       : CLRA         // level 7
            FFB1 | 20 F2    : BRA    $FFA5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7251 = 72A3            </action>
            <action>maincpu.mq@FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gngt.xml

Code: Select all

<!-- Ghosts'n Goblins (US) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@7258 = FFA0            </action>
            <action>maincpu.mq@FFA0 = 9627260696428401</action>
            <action>maincpu.mq@FFA8 = 2004964284022717</action>
            <action>maincpu.mq@FFB0 = 860297088601B705</action>
            <action>maincpu.mq@FFB8 = 2096728105270B81</action>
            <action>maincpu.mq@FFC0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FFC8 = 72AA9673810327F3</action>
            <action>maincpu.mq@FFD0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FFA0 | 96 27    : LDA    $27   // check player
            FFA2 | 26 06    : BNE    $FFAA
            FFA4 | 96 42    : LDA    $42
            FFA6 | 84 01    : ANDA   #$01  // check 1P start button
            FFA8 | 20 04    : BRA    $FFAE
            FFAA | 96 42    : LDA    $42
            FFAC | 84 02    : ANDA   #$02  // check 2P start button
            FFAE | 27 17    : BEQ    $FFC7
            FFB0 | 86 02    : LDA    #$02
            FFB2 | 97 08    : STA    $08
            FFB4 | 86 01    : LDA    #$01
            FFB6 | B7 05 20 : STA    $0520
            FFB9 | 96 72    : LDA    $72
            FFBB | 81 05    : CMPA   #$05
            FFBD | 27 0B    : BEQ    $FFCA
            FFBF | 81 06    : CMPA   #$06
            FFC1 | 27 0D    : BEQ    $FFD0
            FFC3 | 86 06    : LDA    #$06
            FFC5 | 97 0B    : STA    $0B
            FFC7 | 7E 72 AA : JMP    $72AA
            FFCA | 96 73    : LDA    $73   // level 6
            FFCC | 81 03    : CMPA   #$03  // check cross(shield)
            FFCE | 27 F3    : BEQ    $FFC3
            FFD0 | 4F       : CLRA         // level 7
            FFD1 | 20 F2    : BRA    $FFC5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7258 = 72AA            </action>
            <action>maincpu.mq@FFA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
makaimur.xml

Code: Select all

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

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@7095 = FED0            </action>
            <action>maincpu.mq@FED0 = 9627260696428401</action>
            <action>maincpu.mq@FED8 = 2004964284022717</action>
            <action>maincpu.mq@FEE0 = 860297088601B705</action>
            <action>maincpu.mq@FEE8 = 2096728105270B81</action>
            <action>maincpu.mq@FEF0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FEF8 = 70E79673810327F3</action>
            <action>maincpu.mq@FF00 = 4F20F2FFFFFFFFFF</action>
            <!--
            FED0 | 96 27    : LDA    $27   // check player
            FED2 | 26 06    : BNE    $FEDA
            FED4 | 96 42    : LDA    $42
            FED6 | 84 01    : ANDA   #$01  // check 1P start button
            FED8 | 20 04    : BRA    $FEDE
            FEDA | 96 42    : LDA    $42
            FEDC | 84 02    : ANDA   #$02  // check 2P start button
            FEDE | 27 17    : BEQ    $FEF7
            FEE0 | 86 02    : LDA    #$02
            FEE2 | 97 08    : STA    $08
            FEE4 | 86 01    : LDA    #$01
            FEE6 | B7 05 20 : STA    $0520
            FEE9 | 96 72    : LDA    $72
            FEEB | 81 05    : CMPA   #$05
            FEED | 27 0B    : BEQ    $FEFA
            FEEF | 81 06    : CMPA   #$06
            FEF1 | 27 0D    : BEQ    $FF00
            FEF3 | 86 06    : LDA    #$06
            FEF5 | 97 0B    : STA    $0B
            FEF7 | 7E 70 E7 : JMP    $70E7
            FEFA | 96 73    : LDA    $73   // level 6
            FEFC | 81 03    : CMPA   #$03  // check cross(shield)
            FEFE | 27 F3    : BEQ    $FEF3
            FF00 | 4F       : CLRA         // level 7
            FF01 | 20 F2    : BRA    $FEF5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@7095 = 70E7            </action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF00 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
makaimurb.xml

Code: Select all

<!-- Makaimura (Japan Revision B) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@709C = FEB0            </action>
            <action>maincpu.mq@FEB0 = 9627260696428401</action>
            <action>maincpu.mq@FEB8 = 2004964284022717</action>
            <action>maincpu.mq@FEC0 = 860297088601B705</action>
            <action>maincpu.mq@FEC8 = 2096728105270B81</action>
            <action>maincpu.mq@FED0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FED8 = 70EE9673810327F3</action>
            <action>maincpu.mq@FEE0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FEB0 | 96 27    : LDA    $27   // check player
            FEB2 | 26 06    : BNE    $FEBA
            FEB4 | 96 42    : LDA    $42
            FEB6 | 84 01    : ANDA   #$01  // check 1P start button
            FEB8 | 20 04    : BRA    $FEBE
            FEBA | 96 42    : LDA    $42
            FEBC | 84 02    : ANDA   #$02  // check 2P start button
            FEBE | 27 17    : BEQ    $FED7
            FEC0 | 86 02    : LDA    #$02
            FEC2 | 97 08    : STA    $08
            FEC4 | 86 01    : LDA    #$01
            FEC6 | B7 05 20 : STA    $0520
            FEC9 | 96 72    : LDA    $72
            FECB | 81 05    : CMPA   #$05
            FECD | 27 0B    : BEQ    $FEDA
            FECF | 81 06    : CMPA   #$06
            FED1 | 27 0D    : BEQ    $FEE0
            FED3 | 86 06    : LDA    #$06
            FED5 | 97 0B    : STA    $0B
            FED7 | 7E 70 EE : JMP    $70EE
            FEDA | 96 73    : LDA    $73   // level 6
            FEDC | 81 03    : CMPA   #$03  // check cross(shield)
            FEDE | 27 F3    : BEQ    $FED3
            FEE0 | 4F       : CLRA         // level 7
            FEE1 | 20 F2    : BRA    $FED5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@709C = 70EE            </action>
            <action>maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
makaimurba.xml

Code: Select all

<!-- Makaimura (Japan Revision B, alt GFX) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@709C = FEB0            </action>
            <action>maincpu.mq@FEB0 = 9627260696428401</action>
            <action>maincpu.mq@FEB8 = 2004964284022717</action>
            <action>maincpu.mq@FEC0 = 860297088601B705</action>
            <action>maincpu.mq@FEC8 = 2096728105270B81</action>
            <action>maincpu.mq@FED0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FED8 = 70EE9673810327F3</action>
            <action>maincpu.mq@FEE0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FEB0 | 96 27    : LDA    $27   // check player
            FEB2 | 26 06    : BNE    $FEBA
            FEB4 | 96 42    : LDA    $42
            FEB6 | 84 01    : ANDA   #$01  // check 1P start button
            FEB8 | 20 04    : BRA    $FEBE
            FEBA | 96 42    : LDA    $42
            FEBC | 84 02    : ANDA   #$02  // check 2P start button
            FEBE | 27 17    : BEQ    $FED7
            FEC0 | 86 02    : LDA    #$02
            FEC2 | 97 08    : STA    $08
            FEC4 | 86 01    : LDA    #$01
            FEC6 | B7 05 20 : STA    $0520
            FEC9 | 96 72    : LDA    $72
            FECB | 81 05    : CMPA   #$05
            FECD | 27 0B    : BEQ    $FEDA
            FECF | 81 06    : CMPA   #$06
            FED1 | 27 0D    : BEQ    $FEE0
            FED3 | 86 06    : LDA    #$06
            FED5 | 97 0B    : STA    $0B
            FED7 | 7E 70 EE : JMP    $70EE
            FEDA | 96 73    : LDA    $73   // level 6
            FEDC | 81 03    : CMPA   #$03  // check cross(shield)
            FEDE | 27 F3    : BEQ    $FED3
            FEE0 | 4F       : CLRA         // level 7
            FEE1 | 20 F2    : BRA    $FED5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@709C = 70EE            </action>
            <action>maincpu.mq@FEB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
makaimurc.xml

Code: Select all

<!-- Makaimura (Japan Revision C) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@709E = FEC0            </action>
            <action>maincpu.mq@FEC0 = 9627260696428401</action>
            <action>maincpu.mq@FEC8 = 2004964284022717</action>
            <action>maincpu.mq@FED0 = 860297088601B705</action>
            <action>maincpu.mq@FED8 = 2096728105270B81</action>
            <action>maincpu.mq@FEE0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FEE8 = 70F09673810327F3</action>
            <action>maincpu.mq@FEF0 = 4F20F2FFFFFFFFFF</action>
            <!--
            FEC0 | 96 27    : LDA    $27   // check player
            FEC2 | 26 06    : BNE    $FECA
            FEC4 | 96 42    : LDA    $42
            FEC6 | 84 01    : ANDA   #$01  // check 1P start button
            FEC8 | 20 04    : BRA    $FECE
            FECA | 96 42    : LDA    $42
            FECC | 84 02    : ANDA   #$02  // check 2P start button
            FECE | 27 17    : BEQ    $FEE7
            FED0 | 86 02    : LDA    #$02
            FED2 | 97 08    : STA    $08
            FED4 | 86 01    : LDA    #$01
            FED6 | B7 05 20 : STA    $0520
            FED9 | 96 72    : LDA    $72
            FEDB | 81 05    : CMPA   #$05
            FEDD | 27 0B    : BEQ    $FEEA
            FEDF | 81 06    : CMPA   #$06
            FEE1 | 27 0D    : BEQ    $FEF0
            FEE3 | 86 06    : LDA    #$06
            FEE5 | 97 0B    : STA    $0B
            FEE7 | 7E 70 F0 : JMP    $70F0
            FEEA | 96 73    : LDA    $73   // level 6
            FEEC | 81 03    : CMPA   #$03  // check cross(shield)
            FEEE | 27 F3    : BEQ    $FEE3
            FEF0 | 4F       : CLRA         // level 7
            FEF1 | 20 F2    : BRA    $FEE5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@709E = 70F0            </action>
            <action>maincpu.mq@FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
makaimurg.xml

Code: Select all

<!-- Makaimura (Japan Revision G) -->
<mamecheat version="1">

    <cheat desc="easy level finish">
        <comment>press start button to finish current level</comment>
        <script state="on">
            <action>maincpu.mw@70A1 = FED0            </action>
            <action>maincpu.mq@FED0 = 9627260696428401</action>
            <action>maincpu.mq@FED8 = 2004964284022717</action>
            <action>maincpu.mq@FEE0 = 860297088601B705</action>
            <action>maincpu.mq@FEE8 = 2096728105270B81</action>
            <action>maincpu.mq@FEF0 = 06270D8606970B7E</action>
            <action>maincpu.mq@FEF8 = 70F39673810327F3</action>
            <action>maincpu.mq@FF00 = 4F20F2FFFFFFFFFF</action>
            <!--
            FED0 | 96 27    : LDA    $27   // check player
            FED2 | 26 06    : BNE    $FEDA
            FED4 | 96 42    : LDA    $42
            FED6 | 84 01    : ANDA   #$01  // check 1P start button
            FED8 | 20 04    : BRA    $FEDE
            FEDA | 96 42    : LDA    $42
            FEDC | 84 02    : ANDA   #$02  // check 2P start button
            FEDE | 27 17    : BEQ    $FEF7
            FEE0 | 86 02    : LDA    #$02
            FEE2 | 97 08    : STA    $08
            FEE4 | 86 01    : LDA    #$01
            FEE6 | B7 05 20 : STA    $0520
            FEE9 | 96 72    : LDA    $72
            FEEB | 81 05    : CMPA   #$05
            FEED | 27 0B    : BEQ    $FEFA
            FEEF | 81 06    : CMPA   #$06
            FEF1 | 27 0D    : BEQ    $FF00
            FEF3 | 86 06    : LDA    #$06
            FEF5 | 97 0B    : STA    $0B
            FEF7 | 7E 70 F3 : JMP    $70F3
            FEFA | 96 73    : LDA    $73   // level 6
            FEFC | 81 03    : CMPA   #$03  // check cross(shield)
            FEFE | 27 F3    : BEQ    $FEF3
            FF00 | 4F       : CLRA         // level 7
            FF01 | 20 F2    : BRA    $FEF5
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@70A1 = 70F3            </action>
            <action>maincpu.mq@FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FEF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FF00 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply