Page 1 of 1

[cdiscon1] Disco No.1

Posted: Thu Jan 19, 2023 10:10 am
by jman

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.pw@09b5 = 1190</action> <!-- dancer -->
        <action>maincpu.pw@1e7e = 1090</action> <!-- blue enemy / lady -->
        <action>maincpu.pw@26de = 0690</action> <!-- red enemy -->
    </script>
    <script state="off">
        <action>maincpu.pw@09b5 = 09a9</action>
        <action>maincpu.pw@1e7e = 02f0</action>
        <action>maincpu.pw@26de = 03c9</action>
    </script>
</cheat>

<cheat desc="red enemy speed down">
    <script state="run">
        <action>maincpu.pd@2598 = a5fa01c9</action>
    </script>
    <script state="off">
        <action>maincpu.pd@2598 = a525bbd9</action>
    </script>
</cheat>

<cheat desc="lady speed down">
    <script state="on">
        <action>maincpu.pb@1d59 = 0f</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1d59 = 03</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0x80">02       </item>
        <item value="0x40">03       </item>
        <item value="0x20">04       </item>
        <item value="0x00">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.pb@120c = param</action>
        <action>maincpu.pb@1253 = param</action>
    </script>
    <script state="off">
        <action>maincpu.pb@120c = 3f</action>
        <action>maincpu.pb@1253 = 3f</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) then wait data load to enter sound test mode</comment>
    <script state="run">
        <!-- routine -->
        <action>maincpu.pw@0639 =             55e0</action>
        <action>maincpu.pq@55e0 = f011a5e600cd1185</action>
        <action>maincpu.pq@55e8 = 01b002a910c6c8f7</action>
        <action>maincpu.pq@55f0 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@55f8 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@5600 = 1069188a06b004a9</action>
        <action>maincpu.pq@5608 = 06f010a9108698ca</action>
        <action>maincpu.pq@5610 = 148e00c205b020a9</action>
        <action>maincpu.pq@5618 = 0000000055e02ce4</action>
        <!--
        55e0 | 85 11    : sta $11
        55e2 | ad 00 e6 : lda $e600 // read input
        55e5 | c5 11    : cmp $11
        55e7 | f0 f7    : beq $55e0
        55e9 | a8       : tay
        55ea | a6 10    : ldx $10
        55ec | c9 02    : cmp #$02
        55ee | d0 01    : bne $55f1
        55f0 | ca       : dex       // decrease code -01
        55f1 | c9 01    : cmp #$01
        55f3 | d0 01    : bne $55f6
        55f5 | e8       : inx       // increase code +01
        55f6 | c9 08    : cmp #$08
        55f8 | d0 06    : bne $5600
        55fa | 8a       : txa       // decrease code -10
        55fb | 38       : sec
        55fc | e9 10    : sbc #$10
        55fe | aa       : tax
        55ff | 98       : tya
        5600 | c9 04    : cmp #$04
        5602 | d0 06    : bne $560a
        5604 | 8a       : txa       // increase code +10
        5605 | 18       : clc
        5606 | 69 10    : adc #$10
        5608 | aa       : tax
        5609 | 98       : tya
        560a | 86 10    : stx $10
        560c | c9 10    : cmp #$10
        560e | f0 06    : beq $5616
        5610 | c9 40    : cmp #$20
        5612 | d0 05    : bne $5619
        5614 | a2 00    : ldx #$00  // stop sound
        5616 | 8e 14 e4 : stx $e414 // send sound code
        5619 | 4c e0 55 : jmp $55e0
        -->
        <!-- display -->
        <output format="----- disco no.1 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@0010</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.pw@0639 =             38e1</action>
        <action> maincpu.pq@55e0 = 0000000000000000</action>
        <action> maincpu.pq@55e8 = 0000000000000000</action>
        <action> maincpu.pq@55f0 = 0000000000000000</action>
        <action> maincpu.pq@55f8 = 0000000000000000</action>
        <action> maincpu.pq@5600 = 0000000000000000</action>
        <action> maincpu.pq@5608 = 0000000000000000</action>
        <action> maincpu.pq@5610 = 0000000000000000</action>
        <action> maincpu.pq@5618 = 0000000000000000</action>
    </script>
</cheat>