[nostj] Nostradamus

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

[nostj] Nostradamus

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@661d = 02</action> <!-- P1 -->
        <action>maincpu.mb@663c = 60</action> <!-- P2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@661d = 46</action>
        <action>maincpu.mb@663c = 64</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@89e5 = 2a</action> <!-- player -->
        <action>maincpu.mb@8ac1 = 2a</action> <!-- launch -->
    </script>
    <script state="off">
        <action>maincpu.mb@89e5 = 29</action>
        <action>maincpu.mb@8ac1 = 29</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0280">01 (slow)</item>
        <item value="0x0300">02       </item>
        <item value="0x0380">03       </item>
        <item value="0x0400">04       </item>
        <item value="0x0480">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@8890 =         4eb81300</action> <!-- y position -->
        <action>maincpu.md@8898 =         4eb8130a</action> <!-- x position -->
        <action>maincpu.mq@1300 = 36300000610e3203</action>
        <action>maincpu.mq@1308 = 4e75363000026104</action>
        <action>maincpu.mq@1310 = 34034e75383c0000</action>
        <action>maincpu.mq@1318 = 4a4367066a024444</action>
        <action>maincpu.mq@1320 = 36044e7500000000</action>
        <!--
        1300 | 3630 0000 : move.w (A0,D0.w),D3    // y position
        1304 | 610e      : bsr    $1314
        1306 | 3203      : move.w D3,D1
        1308 | 4e75      : rts
        130a | 3630 0002 : move.w ($2,A0,D0.w),D3 // x position
        130e | 6104      : bsr    $1314
        1310 | 3403      : move.w D3,D2
        1312 | 4e75      : rts
        1314 | 383c xxxx : move.w #$xx,D4
        1318 | 4a43      : tst.w  D3
        131a | 6706      : beq    $1322
        131c | 6a02      : bpl    $1320
        131e | 4444      : neg.w  D4
        1320 | 3604      : move.w D4,D3
        1322 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mw@1316 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@8890 =         32300000</action>
        <action>maincpu.md@8898 =         34300002</action>
        <action>maincpu.mq@1300 = 0000000000000000</action>
        <action>maincpu.mq@1308 = 0000000000000000</action>
        <action>maincpu.mq@1310 = 0000000000000000</action>
        <action>maincpu.mq@1318 = 0000000000000000</action>
        <action>maincpu.mq@1320 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="bullet speed - main shot">
    <parameter>
        <item value="0x0600">01 (slow)</item>
        <item value="0x0c00">02       </item>
        <item value="0x1200">03       </item>
        <item value="0x1800">04       </item>
        <item value="0x1e00">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@d990 = 4eb90000133041f9</action> <!-- P1 -->
        <action>maincpu.mq@e2be = 4eb90000133041f9</action> <!-- P2 -->
        <action>maincpu.mq@1330 = 343c1e0032300000</action>
        <action>maincpu.mq@1338 = 67066a0244423202</action>
        <action>maincpu.mq@1340 = 3b4100104e750000</action>
        <!--
        1330 | 343c xxxx : move.w #$xx,D2
        1334 | 3230 0000 : move.w (A0,D0.w),D1
        1338 | 6706      : beq    $1340
        133a | 6a02      : bpl    $133e
        133c | 4442      : neg.w  D2
        133e | 3202      : move.w D2,D1
        1340 | 3b41 0010 : move.w D1,($10,A5)
        1344 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mw@1332 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@d990 = 3b700000001041f9</action>
        <action>maincpu.mq@e2be = 3b700000001041f9</action>
        <action>maincpu.mq@1330 = 0000000000000000</action>
        <action>maincpu.mq@1338 = 0000000000000000</action>
        <action>maincpu.mq@1340 = 0000000000000000</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.md@216a =         4ef81350</action>
        <action>maincpu.mq@1350 = 41f90010100043f9</action>
        <action>maincpu.mq@1358 = 00c0000112001039</action>
        <action>maincpu.mq@1360 = 00800001b20067f4</action>
        <action>maincpu.mq@1368 = 0c0000fb66025310</action>
        <action>maincpu.mq@1370 = 0c0000f766025210</action>
        <action>maincpu.mq@1378 = 0c0000fd66040410</action>
        <action>maincpu.mq@1380 = 00100c0000fe6604</action>
        <action>maincpu.mq@1388 = 061000100c0000ef</action>
        <action>maincpu.mq@1390 = 6606129011500001</action>
        <action>maincpu.mq@1398 = 0c00007f66120c28</action>
        <action>maincpu.mq@13a0 = 00400001640612bc</action>
        <action>maincpu.mq@13a8 = 0010600412bc0040</action>
        <action>maincpu.mq@13b0 = 60aa000000000000</action>
        <!--
        1350 | 41f9 0010 1000 : lea    $101000.l,A0 // sound code address
        1356 | 43f9 00c0 0001 : lea    $c00001.l,A1 // sound latch address
        135c | 1200           : move.b D0,D1
        135e | 1039 0080 0001 : move.b $800001.l,D0 // read input
        1364 | b200           : cmp.b  D0,D1
        1366 | 67f4           : beq    $135c
        1368 | 0c00 00fb      : cmpi.b #-$5,D0
        136c | 6602           : bne    $1370
        136e | 5310           : subq.b #1,(A0)      // decrease code -01
        1370 | 0c00 00f7      : cmpi.b #-$9,D0
        1374 | 6602           : bne    $1378
        1376 | 5210           : addq.b #1,(A0)      // increase code +01
        1378 | 0c00 00fd      : cmpi.b #-$3,D0
        137c | 6604           : bne    $1382
        137e | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        1382 | 0c00 00fe      : cmpi.b #-$2,D0
        1386 | 6604           : bne    $138c
        1388 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        138c | 0c00 00ef      : cmpi.b #-$11,D0
        1390 | 6606           : bne    $1398
        1392 | 1290           : move.b (A0),(A1)    // play sound
        1394 | 1150 0001      : move.b (A0),($1,A0)
        1398 | 0c00 007f      : cmpi.b #$7f,D0
        139c | 6612           : bne    $13b0
        139e | 0c28 0040 0001 : cmpi.b #$40,($1,A0) // stop sound
        13a4 | 6406           : bcc    $13ac
        13a6 | 12bc 0010      : move.b #$10,(A1)    // music stop
        13aa | 6004           : bra    $13b0
        13ac | 12bc 0040      : move.b #$40,(A1)    // sfx stop
        13b0 | 60aa           : bra    $135c
        -->
    </script>
    <script state="run">
        <output format="----- nostradamus 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="up : increase code +10"                  line="13" align="center" />
        <output format="down : decrease code -10"                line="14" align="center" />
        <output format="button 1 : play sound"                   line="15" align="center" />
        <output format="start : stop sound"                      line="16" align="center" />
        <output format="----------------------------"            line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"      line="19" align="center">
            <argument>maincpu.pb@101000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@216a =         426e012c</action>
        <action>maincpu.mq@1350 = 0000000000000000</action>
        <action>maincpu.mq@1358 = 0000000000000000</action>
        <action>maincpu.mq@1360 = 0000000000000000</action>
        <action>maincpu.mq@1368 = 0000000000000000</action>
        <action>maincpu.mq@1370 = 0000000000000000</action>
        <action>maincpu.mq@1378 = 0000000000000000</action>
        <action>maincpu.mq@1380 = 0000000000000000</action>
        <action>maincpu.mq@1388 = 0000000000000000</action>
        <action>maincpu.mq@1390 = 0000000000000000</action>
        <action>maincpu.mq@1398 = 0000000000000000</action>
        <action>maincpu.mq@13a0 = 0000000000000000</action>
        <action>maincpu.mq@13a8 = 0000000000000000</action>
        <action>maincpu.mq@13b0 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@0122 = 0146</action> <!-- rom check skip -->
        <action>maincpu.mb@05e1 =   00</action> <!-- ram initialization -->
        <action>maincpu.mw@05f8 = 4ed2</action> <!-- ram check escape -->
    </script>
    <script state="off">
        <action>maincpu.mw@0122 = 000a</action>
        <action>maincpu.mb@05e1 =   80</action>
        <action>maincpu.mw@05f8 = 123c</action>
    </script>
</cheat>
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[nost]+ Nostradamus

Post by jman »

nost.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@661D = 02</action> <!-- P1 -->
            <action>maincpu.mb@663C = 60</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@661D = 46</action>
            <action>maincpu.mb@663C = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@89E5 = 2A</action> <!-- player -->
            <action>maincpu.mb@8AC1 = 2A</action> <!-- launch -->
        </script>
        <script state="off">
            <action>maincpu.mb@89E5 = 29</action>
            <action>maincpu.mb@8AC1 = 29</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0500">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@8890 = 4EB81300        </action> <!-- y position -->
            <action>maincpu.md@8898 = 4EB8130A        </action> <!-- x position -->
            <action>maincpu.mq@1300 = 36300000610E3203</action>
            <action>maincpu.mq@1308 = 4E75363000026104</action>
            <action>maincpu.mq@1310 = 34034E75383C0000</action>
            <action>maincpu.mq@1318 = 4A4367066A024444</action>
            <action>maincpu.mq@1320 = 36044E7500000000</action>
            <!--
            1300 | 3630 0000 : move.w  (A0,D0.w), D3    // y position
            1304 | 610E      : bsr     $1314
            1306 | 3203      : move.w  D3, D1
            1308 | 4E75      : rts
            130A | 3630 0002 : move.w  ($2,A0,D0.w), D3 // x position
            130E | 6104      : bsr     $1314
            1310 | 3403      : move.w  D3, D2
            1312 | 4E75      : rts
            1314 | 383C xxxx : move.w  #$xx, D4        // main routine
            1318 | 4A43      : tst.w   D3
            131A | 6706      : beq     $1322
            131C | 6A02      : bpl     $1320
            131E | 4444      : neg.w   D4
            1320 | 3604      : move.w  D4, D3
            1322 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1316 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@8890 = 32300000        </action>
            <action>maincpu.md@8898 = 34300002        </action>
            <action>maincpu.mq@1300 = 0000000000000000</action>
            <action>maincpu.mq@1308 = 0000000000000000</action>
            <action>maincpu.mq@1310 = 0000000000000000</action>
            <action>maincpu.mq@1318 = 0000000000000000</action>
            <action>maincpu.mq@1320 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@D990 = 4EB90000133041F9</action> <!-- P1 -->
            <action>maincpu.mq@E2BE = 4EB90000133041F9</action> <!-- P2 -->
            <action>maincpu.mq@1330 = 343C1E0032300000</action>
            <action>maincpu.mq@1338 = 67066A0244423202</action>
            <action>maincpu.mq@1340 = 3B4100104E750000</action>
            <!--
            1330 | 343C xxxx : move.w  #$xx, D2
            1334 | 3230 0000 : move.w  (A0,D0.w), D1
            1338 | 6706      : beq     $1340
            133A | 6A02      : bpl     $133e
            133C | 4442      : neg.w   D2
            133E | 3202      : move.w  D2, D1
            1340 | 3B41 0010 : move.w  D1, ($10,A5)
            1344 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1332 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@D990 = 3B700000001041F9</action>
            <action>maincpu.mq@E2BE = 3B700000001041F9</action>
            <action>maincpu.mq@1330 = 0000000000000000</action>
            <action>maincpu.mq@1338 = 0000000000000000</action>
            <action>maincpu.mq@1340 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="hidden items finder">
        <script state="on">
            <action>maincpu.mb@6481C = 60</action> <!-- extra ship -->
            <action>maincpu.mb@64890 = 60</action> <!-- power up -->
            <action>maincpu.mb@648E2 = 60</action> <!-- full power up -->
            <action>maincpu.mb@64936 = 60</action> <!-- bonus -->
        </script>
        <script state="off">
            <action>maincpu.mb@6481C = 66</action>
            <action>maincpu.mb@64890 = 66</action>
            <action>maincpu.mb@648E2 = 66</action>
            <action>maincpu.mb@64936 = 66</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.md@216A = 4EF81350        </action>
            <action>maincpu.mq@1350 = 41F90010100043F9</action>
            <action>maincpu.mq@1358 = 00C0000112001039</action>
            <action>maincpu.mq@1360 = 00800001B20067F4</action>
            <action>maincpu.mq@1368 = 0C0000FB66025310</action>
            <action>maincpu.mq@1370 = 0C0000F766025210</action>
            <action>maincpu.mq@1378 = 0C0000FD66040410</action>
            <action>maincpu.mq@1380 = 00100C0000FE6604</action>
            <action>maincpu.mq@1388 = 061000100C0000EF</action>
            <action>maincpu.mq@1390 = 660212900C00007F</action>
            <action>maincpu.mq@1398 = 6602421160BE0000</action>
            <!--
            1350 | 41F9 0010 1000 : lea     $101000.l, A0 // sound code address
            1356 | 43F9 00C0 0001 : lea     $c00001.l, A1 // sound latch address
            135C | 1200           : move.b  D0, D1
            135E | 1039 0080 0001 : move.b  $800001.l, D0 // read input
            1364 | B200           : cmp.b   D0, D1
            1366 | 67F4           : beq     $135c
            1368 | 0C00 00FB      : cmpi.b  #-$5, D0
            136C | 6602           : bne     $1370
            136E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1370 | 0C00 00F7      : cmpi.b  #-$9, D0
            1374 | 6602           : bne     $1378
            1376 | 5210           : addq.b  #1, (A0)      // increase code +01
            1378 | 0C00 00FD      : cmpi.b  #-$3, D0
            137C | 6604           : bne     $1382
            137E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1382 | 0C00 00FE      : cmpi.b  #-$2, D0
            1386 | 6604           : bne     $138c
            1388 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            138C | 0C00 00EF      : cmpi.b  #-$11, D0
            1390 | 6602           : bne     $1394
            1392 | 1290           : move.b  (A0), (A1)    // play sound
            1394 | 0C00 007F      : cmpi.b  #$7f, D0
            1398 | 6602           : bne     $139c
            139A | 4211           : clr.b   (A1)          // stop sound
            139C | 60BE           : bra     $135c
            -->
            <action>soundcpu.md@0069 = D30010CD        </action>
            <action>soundcpu.mq@0010 = 020BCD403E0D20A7</action>
            <action>soundcpu.mq@0018 = 0000C301C8CD103E</action>
            <action>soundcpu.mq@0020 = FFFFFFFFC9C00F32</action>
            <!--
            0010 | A7       : and  a
            0011 | 20 0D    : jr   nz,$0020
            0013 | 3E 40    : ld   a,$40     // stop sfx
            0015 | CD 0B 02 : call $020B
            0018 | 3E 10    : ld   a,$10     // stop music
            001A | CD C8 01 : call $01C8
            001D | C3 00 00 : jp   $0000     // reset soundcpu
            0020 | 32 0F C0 : ld   ($C00F),a
            0023 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- nostradamus 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="start 1 : 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@101000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@216A = 426E012C        </action>
            <action> maincpu.mq@1350 = 0000000000000000</action>
            <action> maincpu.mq@1358 = 0000000000000000</action>
            <action> maincpu.mq@1360 = 0000000000000000</action>
            <action> maincpu.mq@1368 = 0000000000000000</action>
            <action> maincpu.mq@1370 = 0000000000000000</action>
            <action> maincpu.mq@1378 = 0000000000000000</action>
            <action> maincpu.mq@1380 = 0000000000000000</action>
            <action> maincpu.mq@1388 = 0000000000000000</action>
            <action> maincpu.mq@1390 = 0000000000000000</action>
            <action> maincpu.mq@1398 = 0000000000000000</action>
            <action>soundcpu.md@0069 = D3C00F32        </action>
            <action>soundcpu.mq@0010 = FFFFFFFFFFFFFFFF</action>
            <action>soundcpu.mq@0018 = FFFFFFFFFFFFFFFF</action>
            <action>soundcpu.mq@0020 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@0112 = 6000</action> <!-- skip wait -->
            <action>maincpu.mw@0122 = 0146</action> <!-- skip rom check -->
            <action>maincpu.mw@05E0 = 0000</action> <!-- initalize ram -->
            <action>maincpu.mw@05F8 = 4ED2</action> <!-- escape ram check -->
        </script>
        <script state="off">
            <action>maincpu.mw@0112 = 6700</action>
            <action>maincpu.mw@0122 = 000A</action>
            <action>maincpu.mw@05E0 = 0080</action>
            <action>maincpu.mw@05F8 = 123C</action>
        </script>
    </cheat>

</mamecheat>
nostj.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@661D = 02</action> <!-- P1 -->
            <action>maincpu.mb@663C = 60</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@661D = 46</action>
            <action>maincpu.mb@663C = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@89E5 = 2A</action> <!-- player -->
            <action>maincpu.mb@8AC1 = 2A</action> <!-- launch -->
        </script>
        <script state="off">
            <action>maincpu.mb@89E5 = 29</action>
            <action>maincpu.mb@8AC1 = 29</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0500">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@8890 = 4EB81300        </action> <!-- y position -->
            <action>maincpu.md@8898 = 4EB8130A        </action> <!-- x position -->
            <action>maincpu.mq@1300 = 36300000610E3203</action>
            <action>maincpu.mq@1308 = 4E75363000026104</action>
            <action>maincpu.mq@1310 = 34034E75383C0000</action>
            <action>maincpu.mq@1318 = 4A4367066A024444</action>
            <action>maincpu.mq@1320 = 36044E7500000000</action>
            <!--
            1300 | 3630 0000 : move.w  (A0,D0.w), D3    // y position
            1304 | 610E      : bsr     $1314
            1306 | 3203      : move.w  D3, D1
            1308 | 4E75      : rts
            130A | 3630 0002 : move.w  ($2,A0,D0.w), D3 // x position
            130E | 6104      : bsr     $1314
            1310 | 3403      : move.w  D3, D2
            1312 | 4E75      : rts
            1314 | 383C xxxx : move.w  #$xx, D4        // main routine
            1318 | 4A43      : tst.w   D3
            131A | 6706      : beq     $1322
            131C | 6A02      : bpl     $1320
            131E | 4444      : neg.w   D4
            1320 | 3604      : move.w  D4, D3
            1322 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1316 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@8890 = 32300000        </action>
            <action>maincpu.md@8898 = 34300002        </action>
            <action>maincpu.mq@1300 = 0000000000000000</action>
            <action>maincpu.mq@1308 = 0000000000000000</action>
            <action>maincpu.mq@1310 = 0000000000000000</action>
            <action>maincpu.mq@1318 = 0000000000000000</action>
            <action>maincpu.mq@1320 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@D990 = 4EB90000133041F9</action> <!-- P1 -->
            <action>maincpu.mq@E2BE = 4EB90000133041F9</action> <!-- P2 -->
            <action>maincpu.mq@1330 = 343C1E0032300000</action>
            <action>maincpu.mq@1338 = 67066A0244423202</action>
            <action>maincpu.mq@1340 = 3B4100104E750000</action>
            <!--
            1330 | 343C xxxx : move.w  #$xx, D2
            1334 | 3230 0000 : move.w  (A0,D0.w), D1
            1338 | 6706      : beq     $1340
            133A | 6A02      : bpl     $133e
            133C | 4442      : neg.w   D2
            133E | 3202      : move.w  D2, D1
            1340 | 3B41 0010 : move.w  D1, ($10,A5)
            1344 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1332 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@D990 = 3B700000001041F9</action>
            <action>maincpu.mq@E2BE = 3B700000001041F9</action>
            <action>maincpu.mq@1330 = 0000000000000000</action>
            <action>maincpu.mq@1338 = 0000000000000000</action>
            <action>maincpu.mq@1340 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="hidden items finder">
        <script state="on">
            <action>maincpu.mb@6481C = 60</action> <!-- extra ship -->
            <action>maincpu.mb@64890 = 60</action> <!-- power up -->
            <action>maincpu.mb@648E2 = 60</action> <!-- full power up -->
            <action>maincpu.mb@64936 = 60</action> <!-- bonus -->
        </script>
        <script state="off">
            <action>maincpu.mb@6481C = 66</action>
            <action>maincpu.mb@64890 = 66</action>
            <action>maincpu.mb@648E2 = 66</action>
            <action>maincpu.mb@64936 = 66</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.md@216A = 4EF81350        </action>
            <action>maincpu.mq@1350 = 41F90010100043F9</action>
            <action>maincpu.mq@1358 = 00C0000112001039</action>
            <action>maincpu.mq@1360 = 00800001B20067F4</action>
            <action>maincpu.mq@1368 = 0C0000FB66025310</action>
            <action>maincpu.mq@1370 = 0C0000F766025210</action>
            <action>maincpu.mq@1378 = 0C0000FD66040410</action>
            <action>maincpu.mq@1380 = 00100C0000FE6604</action>
            <action>maincpu.mq@1388 = 061000100C0000EF</action>
            <action>maincpu.mq@1390 = 660212900C00007F</action>
            <action>maincpu.mq@1398 = 6602421160BE0000</action>
            <!--
            1350 | 41F9 0010 1000 : lea     $101000.l, A0 // sound code address
            1356 | 43F9 00C0 0001 : lea     $c00001.l, A1 // sound latch address
            135C | 1200           : move.b  D0, D1
            135E | 1039 0080 0001 : move.b  $800001.l, D0 // read input
            1364 | B200           : cmp.b   D0, D1
            1366 | 67F4           : beq     $135c
            1368 | 0C00 00FB      : cmpi.b  #-$5, D0
            136C | 6602           : bne     $1370
            136E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1370 | 0C00 00F7      : cmpi.b  #-$9, D0
            1374 | 6602           : bne     $1378
            1376 | 5210           : addq.b  #1, (A0)      // increase code +01
            1378 | 0C00 00FD      : cmpi.b  #-$3, D0
            137C | 6604           : bne     $1382
            137E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1382 | 0C00 00FE      : cmpi.b  #-$2, D0
            1386 | 6604           : bne     $138c
            1388 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            138C | 0C00 00EF      : cmpi.b  #-$11, D0
            1390 | 6602           : bne     $1394
            1392 | 1290           : move.b  (A0), (A1)    // play sound
            1394 | 0C00 007F      : cmpi.b  #$7f, D0
            1398 | 6602           : bne     $139c
            139A | 4211           : clr.b   (A1)          // stop sound
            139C | 60BE           : bra     $135c
            -->
            <action>soundcpu.md@0069 = D30010CD        </action>
            <action>soundcpu.mq@0010 = 020BCD403E0D20A7</action>
            <action>soundcpu.mq@0018 = 0000C301C8CD103E</action>
            <action>soundcpu.mq@0020 = FFFFFFFFC9C00F32</action>
            <!--
            0010 | A7       : and  a
            0011 | 20 0D    : jr   nz,$0020
            0013 | 3E 40    : ld   a,$40     // stop sfx
            0015 | CD 0B 02 : call $020B
            0018 | 3E 10    : ld   a,$10     // stop music
            001A | CD C8 01 : call $01C8
            001D | C3 00 00 : jp   $0000     // reset soundcpu
            0020 | 32 0F C0 : ld   ($C00F),a
            0023 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- nostradamus 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="start 1 : 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@101000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@216A = 426E012C        </action>
            <action> maincpu.mq@1350 = 0000000000000000</action>
            <action> maincpu.mq@1358 = 0000000000000000</action>
            <action> maincpu.mq@1360 = 0000000000000000</action>
            <action> maincpu.mq@1368 = 0000000000000000</action>
            <action> maincpu.mq@1370 = 0000000000000000</action>
            <action> maincpu.mq@1378 = 0000000000000000</action>
            <action> maincpu.mq@1380 = 0000000000000000</action>
            <action> maincpu.mq@1388 = 0000000000000000</action>
            <action> maincpu.mq@1390 = 0000000000000000</action>
            <action> maincpu.mq@1398 = 0000000000000000</action>
            <action>soundcpu.md@0069 = D3C00F32        </action>
            <action>soundcpu.mq@0010 = FFFFFFFFFFFFFFFF</action>
            <action>soundcpu.mq@0018 = FFFFFFFFFFFFFFFF</action>
            <action>soundcpu.mq@0020 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@0112 = 6000</action> <!-- skip wait -->
            <action>maincpu.mw@0122 = 0146</action> <!-- skip rom check -->
            <action>maincpu.mw@05E0 = 0000</action> <!-- initalize ram -->
            <action>maincpu.mw@05F8 = 4ED2</action> <!-- escape ram check -->
        </script>
        <script state="off">
            <action>maincpu.mw@0112 = 6700</action>
            <action>maincpu.mw@0122 = 000A</action>
            <action>maincpu.mw@05E0 = 0080</action>
            <action>maincpu.mw@05F8 = 123C</action>
        </script>
    </cheat>

</mamecheat>
nostk.xml

Code: Select all

<!-- Nostradamus (Korea) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@65FA = 02</action> <!-- P1 -->
            <action>maincpu.mb@661C = 60</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@65FA = 46</action>
            <action>maincpu.mb@661C = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@89B3 = 2A</action> <!-- player -->
            <action>maincpu.mb@8A8F = 2A</action> <!-- launch -->
        </script>
        <script state="off">
            <action>maincpu.mb@89B3 = 29</action>
            <action>maincpu.mb@8A8F = 29</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0300">02       </item>
            <item value="0x0400">03       </item>
            <item value="0x0500">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@885E = 4EB812F0        </action> <!-- y position -->
            <action>maincpu.md@8866 = 4EB812FA        </action> <!-- x position -->
            <action>maincpu.mq@12F0 = 36300000610E3203</action>
            <action>maincpu.mq@12F8 = 4E75363000026104</action>
            <action>maincpu.mq@1300 = 34034E75383C0000</action>
            <action>maincpu.mq@1308 = 4A4367066A024444</action>
            <action>maincpu.mq@1310 = 36044E7500000000</action>
            <!--
            12F0 | 3630 0000 : move.w  (A0,D0.w), D3    // y position
            12F4 | 610E      : bsr     $1304
            12F6 | 3203      : move.w  D3, D1
            12F8 | 4E75      : rts
            12FA | 3630 0002 : move.w  ($2,A0,D0.w), D3 // x position
            12FE | 6104      : bsr     $1304
            1300 | 3403      : move.w  D3, D2
            1302 | 4E75      : rts
            1304 | 383C xxxx : move.w  #$xx, D4        // main routine
            1308 | 4A43      : tst.w   D3
            130A | 6706      : beq     $1312
            130C | 6A02      : bpl     $1310
            130E | 4444      : neg.w   D4
            1310 | 3604      : move.w  D4, D3
            1312 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1306 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@885E = 32300000        </action>
            <action>maincpu.md@8866 = 34300002        </action>
            <action>maincpu.mq@12F0 = 0000000000000000</action>
            <action>maincpu.mq@12F8 = 0000000000000000</action>
            <action>maincpu.mq@1300 = 0000000000000000</action>
            <action>maincpu.mq@1308 = 0000000000000000</action>
            <action>maincpu.mq@1310 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x0600">01 (slow)</item>
            <item value="0x0c00">02       </item>
            <item value="0x1200">03       </item>
            <item value="0x1800">04       </item>
            <item value="0x1e00">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@D950 = 4EB90000132041F9</action> <!-- P1 -->
            <action>maincpu.mq@E27E = 4EB90000132041F9</action> <!-- P2 -->
            <action>maincpu.mq@1320 = 343C1E0032300000</action>
            <action>maincpu.mq@1328 = 67066A0244423202</action>
            <action>maincpu.mq@1330 = 3B4100104E750000</action>
            <!--
            1320 | 343C xxxx : move.w  #$xx, D2
            1324 | 3230 0000 : move.w  (A0,D0.w), D1
            1328 | 6706      : beq     $1330
            132A | 6A02      : bpl     $132e
            132C | 4442      : neg.w   D2
            132E | 3202      : move.w  D2, D1
            1330 | 3B41 0010 : move.w  D1, ($10,A5)
            1334 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@1322 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@D950 = 3B700000001041F9</action>
            <action>maincpu.mq@E27E = 3B700000001041F9</action>
            <action>maincpu.mq@1320 = 0000000000000000</action>
            <action>maincpu.mq@1328 = 0000000000000000</action>
            <action>maincpu.mq@1330 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="hidden items finder">
        <script state="on">
            <action>maincpu.mb@6481C = 60</action> <!-- extra ship -->
            <action>maincpu.mb@64890 = 60</action> <!-- power up -->
            <action>maincpu.mb@648E2 = 60</action> <!-- full power up -->
            <action>maincpu.mb@64936 = 60</action> <!-- bonus -->
        </script>
        <script state="off">
            <action>maincpu.mb@6481C = 66</action>
            <action>maincpu.mb@64890 = 66</action>
            <action>maincpu.mb@648E2 = 66</action>
            <action>maincpu.mb@64936 = 66</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.md@216A = 4EF81340        </action>
            <action>maincpu.mq@1340 = 41F90010100043F9</action>
            <action>maincpu.mq@1348 = 00C0000112001039</action>
            <action>maincpu.mq@1350 = 00800001B20067F4</action>
            <action>maincpu.mq@1358 = 0C0000FB66025310</action>
            <action>maincpu.mq@1360 = 0C0000F766025210</action>
            <action>maincpu.mq@1368 = 0C0000FD66040410</action>
            <action>maincpu.mq@1370 = 00100C0000FE6604</action>
            <action>maincpu.mq@1378 = 061000100C0000EF</action>
            <action>maincpu.mq@1380 = 660212900C00007F</action>
            <action>maincpu.mq@1388 = 6602421160BE0000</action>
            <!--
            1340 | 41F9 0010 1000 : lea     $101000.l, A0 // sound code address
            1346 | 43F9 00C0 0001 : lea     $c00001.l, A1 // sound latch address
            134C | 1200           : move.b  D0, D1
            134E | 1039 0080 0001 : move.b  $800001.l, D0 // read input
            1354 | B200           : cmp.b   D0, D1
            1356 | 67F4           : beq     $134c
            1358 | 0C00 00FB      : cmpi.b  #-$5, D0
            135C | 6602           : bne     $1360
            135E | 5310           : subq.b  #1, (A0)      // decrease code -01
            1360 | 0C00 00F7      : cmpi.b  #-$9, D0
            1364 | 6602           : bne     $1368
            1366 | 5210           : addq.b  #1, (A0)      // increase code +01
            1368 | 0C00 00FD      : cmpi.b  #-$3, D0
            136C | 6604           : bne     $1372
            136E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1372 | 0C00 00FE      : cmpi.b  #-$2, D0
            1376 | 6604           : bne     $137c
            1378 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            137C | 0C00 00EF      : cmpi.b  #-$11, D0
            1380 | 6602           : bne     $1384
            1382 | 1290           : move.b  (A0), (A1)    // play sound
            1384 | 0C00 007F      : cmpi.b  #$7f, D0
            1388 | 6602           : bne     $138c
            138A | 4211           : clr.b   (A1)          // stop sound
            138C | 60BE           : bra     $134c
            -->
            <action>soundcpu.md@0069 = D30010CD        </action>
            <action>soundcpu.mq@0010 = 020BCD403E0D20A7</action>
            <action>soundcpu.mq@0018 = 0000C301C8CD103E</action>
            <action>soundcpu.mq@0020 = FFFFFFFFC9C00F32</action>
            <!--
            0010 | A7       : and  a
            0011 | 20 0D    : jr   nz,$0020
            0013 | 3E 40    : ld   a,$40     // stop sfx
            0015 | CD 0B 02 : call $020B
            0018 | 3E 10    : ld   a,$10     // stop music
            001A | CD C8 01 : call $01C8
            001D | C3 00 00 : jp   $0000     // reset soundcpu
            0020 | 32 0F C0 : ld   ($C00F),a
            0023 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- nostradamus 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="start 1 : 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@101000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@216A = 426E012C        </action>
            <action> maincpu.mq@1340 = 0000000000000000</action>
            <action> maincpu.mq@1348 = 0000000000000000</action>
            <action> maincpu.mq@1350 = 0000000000000000</action>
            <action> maincpu.mq@1358 = 0000000000000000</action>
            <action> maincpu.mq@1360 = 0000000000000000</action>
            <action> maincpu.mq@1368 = 0000000000000000</action>
            <action> maincpu.mq@1370 = 0000000000000000</action>
            <action> maincpu.mq@1378 = 0000000000000000</action>
            <action> maincpu.mq@1380 = 0000000000000000</action>
            <action> maincpu.mq@1388 = 0000000000000000</action>
            <action>soundcpu.md@0069 = D3C00F32        </action>
            <action>soundcpu.mq@0010 = FFFFFFFFFFFFFFFF</action>
            <action>soundcpu.mq@0018 = FFFFFFFFFFFFFFFF</action>
            <action>soundcpu.mq@0020 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@0112 = 6000</action> <!-- skip wait -->
            <action>maincpu.mw@0122 = 0146</action> <!-- skip rom check -->
            <action>maincpu.mw@05E0 = 0000</action> <!-- initalize ram -->
            <action>maincpu.mw@05F8 = 4ED2</action> <!-- escape ram check -->
        </script>
        <script state="off">
            <action>maincpu.mw@0112 = 6700</action>
            <action>maincpu.mw@0122 = 000A</action>
            <action>maincpu.mw@05E0 = 0080</action>
            <action>maincpu.mw@05F8 = 123C</action>
        </script>
    </cheat>

</mamecheat>
  • "hidden items finder" : Added new.
  • "sound test mode" : Fixed some sounds don't stop by sound stop button.
  • "skip ram/rom check" : Improved. Faster boot than previous code.
Post Reply