[lnc] Lock'n'Chase

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lnc] Lock'n'Chase

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@cb7b = 2a</action>
    </script>
    <script state="off">
        <action>maincpu.mb@cb7b = 0a</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mw@c149 =             f8a0</action>
        <action>maincpu.mq@f8a0 = ca68c23b402800c9</action>
        <action>maincpu.mq@f8a8 = ffffff60f6b08aaa</action>
        <!--
        f8a0 | a9 xx    : lda #$xx
        f8a2 | 48       : pha
        f8a3 | 20 5b a2 : jsr $c23b
        f8a6 | 68       : pla
        f8a7 | aa       : tax
        f8a8 | ca       : dex
        f8a9 | 8a       : txa
        f8aa | d0 f6    : bne $f8a2
        f8ac | 60       : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@f8a1 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@c149 =             c23b</action>
        <action>maincpu.mq@f8a0 = ffffffffffffffff</action>
        <action>maincpu.mq@f8a8 = ffffffffffffffff</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@f029 =             f8b0</action>
        <action>maincpu.mq@f8b0 = 41844086ffc001c2</action>
        <action>maincpu.mq@f8b8 = f4f041a5c89000cd</action>
        <action>maincpu.mq@f8c0 = b0fea9aa01b0fda9</action>
        <action>maincpu.mq@f8c8 = 2c8a04b0efa9e801</action>
        <action>maincpu.mq@f8d0 = 00c905b0fba9f8d8</action>
        <action>maincpu.mq@f8d8 = fffff8b42c90028d</action>
        <!--
        f8b0 | c2 01    : ldx #$01  // initialize sound value
        f8b2 | c0 ff    : ldy #$ff  // initialize input value
        f8b4 | 86 40    : stx $40
        f8b6 | 84 41    : sty $41
        f8b8 | cd 00 90 : lda $9000 // read input
        f8bb | c8       : tay
        f8bc | a5 41    : cmp $41
        f8be | f0 f4    : beq $f8b4
        f8c0 | a9 fd    : cmp #$fd
        f8c2 | b0 01    : bne $f8c5
        f8c4 | aa       : dex       // decrease code
        f8c5 | a9 fe    : cmp #$fe
        f8c7 | b0 01    : bne $f8ca
        f8c9 | e8       : inx       // increase code
        f8ca | a9 ef    : cmp #$ef
        f8cc | b0 04    : bne $f8d2
        f8ce | 8a       : txa       // play sound
        f8cf | 2c d8 f8 : jmp $f8d8
        f8d2 | a9 fb    : cmp #$fb
        f8d4 | b0 05    : bne $f8db
        f8d6 | c9 00    : lda #$00  // stop sound
        f8d8 | 8d 02 90 : sta $9002
        f8db | 2c b4 f8 : jmp $f8b4
        -->
    </script>
    <script state="run">
        <output format="----- lock'n'chase sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                     line="11" align="center" />
        <output format="right : increase code"                    line="12" align="center" />
        <output format="button 1 : play sound"                    line="13" align="center" />
        <output format="up : stop sound"                          line="14" align="center" />
        <output format="----------------------------"             line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="17" align="center">
            <argument>maincpu.pb@0040</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@f029 =             c003</action>
        <action>maincpu.mq@f8b0 = ffffffffffffffff</action>
        <action>maincpu.mq@f8b8 = ffffffffffffffff</action>
        <action>maincpu.mq@f8c0 = ffffffffffffffff</action>
        <action>maincpu.mq@f8c8 = ffffffffffffffff</action>
        <action>maincpu.mq@f8d0 = ffffffffffffffff</action>
        <action>maincpu.mq@f8d8 = ffffffffffffffff</action>
    </script>
</cheat>
Sometimes softreset causes noisy sound when you try to enter sound test mode. In this case, softreset again.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lnc] sound test mode update

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@f029 =             f8b0</action>
        <action>maincpu.mq@f8b0 = 41844086ffc001c2</action>
        <action>maincpu.mq@f8b8 = cd03f0c2a99002cd</action>
        <action>maincpu.mq@f8c0 = a9edf041a5c89000</action>
        <action>maincpu.mq@f8c8 = 01b0fea9aa01b0fd</action>
        <action>maincpu.mq@f8d0 = 588a2807b0f7a9e8</action>
        <action>maincpu.mq@f8d8 = 07b0fba968ca10e9</action>
        <action>maincpu.mq@f8e0 = a968ca1069188a28</action>
        <action>maincpu.mq@f8e8 = c2a990028e03b0ef</action>
        <action>maincpu.mq@f8f0 = 2c90028d00c905b0</action>
        <action>maincpu.mq@f8f8 = fffffffffffff8b4</action>
        <!--
        f8b0 | a2 01    : ldx #$01  // initialize sound code
        f8b2 | a0 ff    : ldy #$ff  // initialize input value
        f8b4 | 86 20    : stx $40
        f8b6 | 84 21    : sty $41
        f8b8 | ad 02 90 : lda $9002 // read start button
        f8bb | c9 a2    : cmp #$c2
        f8bd | f0 03    : beq $f8c2
        f8bf | ad 00 90 : lda $9000 // read other buttons
        f8c2 | a8       : tay
        f8c3 | c5 21    : cmp $41
        f8c5 | f0 ed    : beq $f8b4
        f8c7 | c9 fd    : cmp #$fd
        f8c9 | d0 01    : bne $f8cc
        f8cb | ca       : dex       // decrease code -01
        f8cc | c9 fe    : cmp #$fe
        f8ce | d0 01    : bne $f8d1
        f8d0 | e8       : inx       // increase code +01
        f8d1 | c9 f7    : cmp #$f7
        f8d3 | d0 07    : bne $f8dc
        f8d5 | 48       : pha       // decrease code -10
        f8d6 | 8a       : txa
        f8d7 | 38       : sec
        f8d8 | e9 10    : sbc #$10
        f8da | aa       : tax
        f8db | 68       : pla
        f8dc | c9 fb    : cmp #$fb
        f8de | d0 07    : bne $f8e7
        f8e0 | 48       : pha       // increase code +10
        f8e1 | 8a       : txa
        f8e2 | 18       : clc
        f8e3 | 69 10    : adc #$10
        f8e5 | aa       : tax
        f8e6 | 68       : pla
        f8e7 | c9 ef    : cmp #$ef
        f8e9 | d0 03    : bne $f8ee
        f8eb | 8e 02 90 : stx $9002 // play sound
        f8ee | c9 a2    : cmp #$c2
        f8f0 | d0 05    : bne $f8f7
        f8f2 | a9 00    : lda #$00  // stop sound
        f8f4 | 8d 02 90 : sta $9002
        f8f7 | 4c d4 f8 : jmp $f8b4
        -->
        <action>audiocpu.mb@e6b0 = 58</action> <!-- enable music (0x41-0x43) stop -->
    </script>
    <script state="run">
        <output format="----- lock'n'chase 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 : increase code -10"                 line="14" align="center" />
        <output format="button 1 : play sound"                    line="15" align="center" />
        <output format="start : stop sound"                       line="16" align="center" />
        <output format="----------------------------"             line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="19" align="center">
            <argument>maincpu.pb@0040</argument>
        </output>
    </script>
    <script state="off">
        <action> maincpu.mw@f029 =             c003</action>
        <action> maincpu.mq@f8b0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8b8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8c0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8c8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8d0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8d8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8e0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8e8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8f0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8f8 = ffffffffffffffff</action>
        <action>audiocpu.mb@e6b0 =               78</action>
    </script>
</cheat>
I update "sound test mode" with several modification.
  • Fixed music (code : 0x41 - 0x43) stop when you press "sound stop" button.
  • Improved code selection with up/down key (code±10) to select music code quickly.
  • Changed "sound stop" button from up key to start button.
Code : 0xf1 - 0xff perhaps are "sound check" music but sometimes play buggy sound and can't stop it by "sound stop" button. In this case, softreset again.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lnc] Lock'n'Chase (update)

Post by jman »

Code: Select all

<cheat desc="move manually">
    <script state="on">
        <action>maincpu.mw@c528 =             f900</action>
        <action>maincpu.mq@f900 = 4dc504d0d2a93fc5</action>
        <action>maincpu.mq@f908 = ffff60c5bb4003f0</action>
        <!--
        f900 | c5 3f    : lda $3f   // check auto moving flag
        f902 | a9 d2    : cmp #$d2
        f904 | d0 04    : bcs $f90a
        f906 | c5 4d    : lda $4d   // check input
        f908 | f0 03    : beq $f90d
        f90a | 40 bb c5 : jsr $c5bb
        f90d | 60       : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mw@c528 =             c5bb</action>
        <action>maincpu.mq@f900 = ffffffffffffffff</action>
        <action>maincpu.mq@f908 = ffffffffffffffff</action>
    </script>
</cheat>
"move manually" : add new.

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@f029 =             f8b0</action>
        <action>maincpu.mq@f8b0 = 49ff299002cd1185</action>
        <action>maincpu.mq@f8b8 = 12850a0a0a0a0a01</action>
        <action>maincpu.mq@f8c0 = 051f49ff299000cd</action>
        <action>maincpu.mq@f8c8 = 10c6c8e3f011a512</action>
        <action>maincpu.mq@f8d0 = b001a9aa01b002a9</action>
        <action>maincpu.mq@f8d8 = 588a06b008a9e801</action>
        <action>maincpu.mq@f8e0 = 06b004a998ca10eb</action>
        <action>maincpu.mq@f8e8 = 108698ca1069188a</action>
        <action>maincpu.mq@f8f0 = 05b020a906f010a9</action>
        <action>maincpu.mq@f8f8 = f8b02c90028e00c2</action>
        <!--
        f8b0 | 85 11    : sta $11
        f8b2 | cd 02 90 : lda $9002 // read start button
        f8b5 | 29 ff    : eor #$ff
        f8b7 | 49 01    : and #$01
        f8b9 | 0a       : asl a
        f8ba | 0a       : asl a
        f8bb | 0a       : asl a
        f8bc | 0a       : asl a
        f8bd | 0a       : asl a
        f8be | 85 12    : sta $12
        f8c0 | cd 00 90 : lda $9000 // read other inputs
        f8c3 | 29 ff    : eor #$ff
        f8c5 | 49 1f    : and #$1f
        f8c7 | 05 12    : ora $12
        f8c9 | a5 11    : cmp $11
        f8cb | f0 e3    : beq $f8b0
        f8cd | c8       : tay
        f8ce | c6 10    : ldx $10
        f8d0 | a9 02    : cmp #$02
        f8d2 | b0 01    : bne $f8d5
        f8d4 | aa       : dex       // decrease code -01
        f8d5 | a9 01    : cmp #$01
        f8d7 | b0 01    : bne $f8da
        f8d9 | e8       : inx       // increase code +01
        f8da | a9 08    : cmp #$08
        f8dc | b0 06    : bne $f8e4
        f8de | 8a       : txa       // decrease code -10
        f8df | 58       : sec
        f8e0 | eb 10    : sbc #$10
        f8e2 | ca       : tax
        f8e3 | 98       : tya
        f8e4 | a9 04    : cmp #$04
        f8e6 | b0 06    : bne $f8ee
        f8e8 | 8a       : txa       // increase code +10
        f8e9 | 18       : clc
        f8ea | 69 10    : adc #$10
        f8ec | ca       : tax
        f8ed | 98       : tya
        f8ee | 86 10    : stx $10
        f8f0 | a9 10    : cmp #$10
        f8f2 | f0 06    : beq $f8fa
        f8f4 | a9 20    : cmp #$20
        f8f6 | b0 05    : bne $f8fd
        f8f8 | c2 00    : ldx #$00  // stop sound
        f8fa | 8e 02 90 : stx $9002 // send sound code
        f8fd | 2c b0 f8 : jmp $f8b0
        -->
        <action>audiocpu.mb@e6b0 = 58</action> <!-- enable interrput in playing music (0x41-0x43) to stop sound -->
    </script>
    <script state="run">
        <output format="----- lock'n'chase 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 : 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.mw@f029 =             c003</action>
        <action> maincpu.mq@f8b0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8b8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8c0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8c8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8d0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8d8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8e0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8e8 = ffffffffffffffff</action>
        <action> maincpu.mq@f8f0 = ffffffffffffffff</action>
        <action> maincpu.mq@f8f8 = ffffffffffffffff</action>
        <action>audiocpu.mb@e6b0 =               78</action>
    </script>
</cheat>
"sound test mode" : rewrite routine.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[clocknch]+ Lock'n'Chase

Post by jman »

I add DECO cassette version.

clocknch.xml

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.pb@10d5 = 84</action>
    </script>
    <script state="off">
        <action>maincpu.pb@10d5 = 64</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="run">
        <action>maincpu.pw@06b7 =             59b0</action>
        <action>maincpu.pq@59b0 = ca6807a9402800c9</action>
        <action>maincpu.pq@59b8 = ffffff60f6b08aaa</action>
        <!--
        59b0 | a9 xx    : lda #$xx
        59b2 | 48       : pha
        59b3 | 20 a9 07 : jsr $07a9
        59b6 | 68       : pla
        59b7 | aa       : tax
        59b8 | ca       : dex
        59b9 | 8a       : txa
        59ba | d0 f6    : bne $59b2
        59bc | 60       : rts
        -->
        <action>maincpu.pb@59b1 = param</action>
    </script>
    <script state="off">
        <action>maincpu.pw@06b7 =             07a9</action>
        <action>maincpu.pq@59b0 = 0000000000000000</action>
        <action>maincpu.pq@59b8 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="move manually">
    <script state="run">
        <action>maincpu.pw@0a91 =             5a00</action>
        <action>maincpu.pq@5a00 = 4fc504d0d2a941c5</action>
        <action>maincpu.pq@5a08 = ffff600b244003f0</action>
        <!--
        5a00 | c5 41    : lda $41   // check auto moving flag
        5a02 | a9 d2    : cmp #$d2
        5a04 | d0 04    : bcs $5a0a
        5a06 | c5 4f    : lda $4f   // check input
        5a08 | f0 03    : beq $5a0d
        5a0a | 40 24 0b : jsr $0b24
        5a0d | 60       : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.pw@0a91 =             0b24</action>
        <action>maincpu.pq@5a00 = 0000000000000000</action>
        <action>maincpu.pq@5a08 = 0000000000000000</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@0532 =             59c0</action>
        <action>maincpu.pq@59c0 = f011a5e600cd1185</action>
        <action>maincpu.pq@59c8 = 01b002a910c6c8f7</action>
        <action>maincpu.pq@59d0 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@59d8 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@59e0 = 1069188a06b004a9</action>
        <action>maincpu.pq@59e8 = 06f010a9108698ca</action>
        <action>maincpu.pq@59f0 = 148e00c205b020a9</action>
        <action>maincpu.pq@59f8 = 0000000059c02ce4</action>
        <!--
        59c0 | 85 11    : sta $11
        59c2 | ad 00 e6 : lda $e600 // read input
        59c5 | c5 11    : cmp $11
        59c7 | f0 f7    : beq $59c0
        59c9 | a8       : tay
        59ca | a6 10    : ldx $10
        59cc | c9 02    : cmp #$02
        59ce | d0 01    : bne $59d1
        59d0 | ca       : dex       // decrease code -01
        59d1 | c9 01    : cmp #$01
        59d3 | d0 01    : bne $59d6
        59d5 | e8       : inx       // increase code +01
        59d6 | c9 08    : cmp #$08
        59d8 | d0 06    : bne $59e0
        59da | 8a       : txa       // decrease code -10
        59db | 38       : sec
        59dc | e9 10    : sbc #$10
        59de | aa       : tax
        59df | 98       : tya
        59e0 | c9 04    : cmp #$04
        59e2 | d0 06    : bne $59ea
        59e4 | 8a       : txa       // increase code +10
        59e5 | 18       : clc
        59e6 | 69 10    : adc #$10
        59e8 | aa       : tax
        59e9 | 98       : tya
        59ea | 86 10    : stx $10
        59ec | c9 10    : cmp #$10
        59ee | f0 06    : beq $59f6
        59f0 | c9 20    : cmp #$20
        59f2 | d0 05    : bne $59f9
        59f4 | a2 00    : ldx #$00  // stop sound
        59f6 | 8e 14 e4 : stx $e414 // send sound code
        59f9 | 4c 50 58 : jmp $59c0
        -->
        <action>audiocpu.pb@08f0 = 58</action> <!-- enable interrput in playing music (0x41-0x43) to stop music -->
        <!-- display -->
        <output format="----- lock'n'chase 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@0532 =             18a0</action>
        <action> maincpu.pq@59c0 = 0000000000000000</action>
        <action> maincpu.pq@59c8 = 0000000000000000</action>
        <action> maincpu.pq@59d0 = 0000000000000000</action>
        <action> maincpu.pq@59d8 = 0000000000000000</action>
        <action> maincpu.pq@59e0 = 0000000000000000</action>
        <action> maincpu.pq@59e8 = 0000000000000000</action>
        <action> maincpu.pq@59f0 = 0000000000000000</action>
        <action> maincpu.pq@59f8 = 0000000000000000</action>
        <action>audiocpu.pb@08f0 =               78</action>
    </script>
</cheat>
clocknchj.xml

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.pb@1059 = b1</action>
    </script>
    <script state="off">
        <action>maincpu.pb@1059 = 91</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="run">
        <action>maincpu.pw@06a0 =             5840</action>
        <action>maincpu.pq@5840 = ca680788402800c9</action>
        <action>maincpu.pq@5848 = ffffff60f6b08aaa</action>
        <!--
        5840 | a9 xx    : lda #$xx
        5842 | 48       : pha
        5843 | 20 88 07 : jsr $0788
        5846 | 68       : pla
        5847 | aa       : tax
        5848 | ca       : dex
        5849 | 8a       : txa
        584a | d0 f6    : bne $5842
        584c | 60       : rts
        -->
        <action>maincpu.pb@5841 = param</action>
    </script>
    <script state="off">
        <action>maincpu.pw@06a0 =             0788</action>
        <action>maincpu.pq@5840 = 0000000000000000</action>
        <action>maincpu.pq@5848 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="move manually">
    <script state="run">
        <action>maincpu.pw@0a37 =             5890</action>
        <action>maincpu.pq@5890 = 4bc504d0d2a93dc5</action>
        <action>maincpu.pq@5898 = ffff600ac04003f0</action>
        <!--
        5890 | c5 3d    : lda $3d   // check auto moving flag
        5892 | a9 d2    : cmp #$d2
        5894 | d0 04    : bcs $589a
        5896 | c5 4b    : lda $4b   // check input
        5898 | f0 03    : beq $589d
        589a | 40 c0 0a : jsr $0ac0
        589d | 60       : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.pw@0a37 =             0ac0</action>
        <action>maincpu.pq@5890 = 0000000000000000</action>
        <action>maincpu.pq@5898 = 0000000000000000</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@052c =             5850</action>
        <action>maincpu.pq@5850 = f011a5e600cd1185</action>
        <action>maincpu.pq@5858 = 01b002a910c6c8f7</action>
        <action>maincpu.pq@5860 = 08a9e801b001a9aa</action>
        <action>maincpu.pq@5868 = 98ca10e9588a06b0</action>
        <action>maincpu.pq@5870 = 1069188a06b004a9</action>
        <action>maincpu.pq@5878 = 06f010a9108698ca</action>
        <action>maincpu.pq@5880 = 148e00c205b020a9</action>
        <action>maincpu.pq@5888 = 0000000058502ce4</action>
        <!--
        5850 | 85 11    : sta $11
        5852 | ad 00 e6 : lda $e600 // read input
        5855 | c5 11    : cmp $11
        5857 | f0 f7    : beq $5850
        5859 | a8       : tay
        585a | a6 10    : ldx $10
        585c | c9 02    : cmp #$02
        585e | d0 01    : bne $5861
        5860 | ca       : dex       // decrease code -01
        5861 | c9 01    : cmp #$01
        5863 | d0 01    : bne $5866
        5865 | e8       : inx       // increase code +01
        5866 | c9 08    : cmp #$08
        5868 | d0 06    : bne $5870
        586a | 8a       : txa       // decrease code -10
        586b | 38       : sec
        586c | e9 10    : sbc #$10
        586e | aa       : tax
        586f | 98       : tya
        5870 | c9 04    : cmp #$04
        5872 | d0 06    : bne $587a
        5874 | 8a       : txa       // increase code +10
        5875 | 18       : clc
        5876 | 69 10    : adc #$10
        5878 | aa       : tax
        5879 | 98       : tya
        587a | 86 10    : stx $10
        587c | c9 10    : cmp #$10
        587e | f0 06    : beq $5886
        5880 | c9 20    : cmp #$20
        5882 | d0 05    : bne $5889
        5884 | a2 00    : ldx #$00  // stop sound
        5886 | 8e 14 e4 : stx $e414 // send sound code
        5889 | 4c 50 58 : jmp $5850
        -->
        <action>audiocpu.pb@09d5 = 58</action> <!-- enable interrput in playing music (0x41-0x43) to stop music -->
        <!-- display -->
        <output format="----- lock'n'chase 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@0522 =             1cc6</action>
        <action> maincpu.pq@5850 = 0000000000000000</action>
        <action> maincpu.pq@5858 = 0000000000000000</action>
        <action> maincpu.pq@5860 = 0000000000000000</action>
        <action> maincpu.pq@5868 = 0000000000000000</action>
        <action> maincpu.pq@5870 = 0000000000000000</action>
        <action> maincpu.pq@5878 = 0000000000000000</action>
        <action> maincpu.pq@5880 = 0000000000000000</action>
        <action> maincpu.pq@5888 = 0000000000000000</action>
        <action>audiocpu.pb@09d5 =               78</action>
    </script>
</cheat>
Post Reply