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.
jman
Posts: 843 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Fri Jul 16, 2021 9:22 am
Code: Select all
<cheat desc="player speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@d269 = 10b03020</action>
<action>maincpu.mq@b030 = a19500a904d007e0</action>
<action>maincpu.mq@b038 = 00000000006068b5</action>
<!--
b030 | e0 07 : cpx #$07
b032 | d0 04 : bne $b038
b034 | a9 xx : lda #$xx
b036 | 95 a1 : sta $a1,x
b038 | b5 68 : lda $68,x
b03a | 60 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@b035 = param</action>
</script>
<script state="off">
<action>maincpu.md@d269 = 1068b5ea</action>
<action>maincpu.mq@b030 = 0000000000000000</action>
<action>maincpu.mq@b038 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="enemy speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@d27b = eab04020</action>
<action>maincpu.mq@b040 = a19510a904f007e0</action>
<action>maincpu.mq@b048 = 000000609995a1b5</action>
<!--
b040 | e0 07 : cpx #$07
b042 | f0 04 : beq $b048
b044 | a9 xx : lda #$xx
b046 | 95 a1 : sta $a1,x
b048 | b5 a1 : lda $a1,x
b04a | 95 99 : sta $99,x
b04c | 60 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@b045 = param</action>
</script>
<script state="off">
<action>maincpu.md@d27b = 9995a1b5</action>
<action>maincpu.mq@b040 = 0000000000000000</action>
<action>maincpu.mq@b048 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="walk free">
<script state="on">
<action>maincpu.mb@d215 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@d215 = 1c</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@c04b = b000</action>
<action>maincpu.mq@b000 = 8184808600a001a2</action>
<action>maincpu.mq@b008 = f4f081c5a84000ad</action>
<action>maincpu.mq@b010 = d0fec9ca01d0fdc9</action>
<action>maincpu.mq@b018 = 4c8a04d0efc9e801</action>
<action>maincpu.mq@b020 = 00a905d0fbc9b028</action>
<action>maincpu.mq@b028 = 0000b0044c40038d</action>
<!--
b000 | a2 01 : ldx #$01 // initialize sound value
b002 | a0 00 : ldy #$00 // initialize input value
b004 | 86 80 : stx $80
b006 | 84 81 : sty $81
b008 | ad 00 40 : lda $4000 // read input
b00b | a8 : tay
b00c | c5 81 : cmp $81
b00e | f0 f4 : beq $b004
b010 | c9 fd : cmp #$fd
b012 | d0 01 : bne $b015
b014 | ca : dex // decrease code
b015 | c9 fe : cmp #$fe
b017 | d0 01 : bne $b01a
b019 | e8 : inx // increase code
b01a | c9 ef : cmp #$ef
b01c | d0 04 : bne $b022
b01e | 8a : txa // play sound
b01f | 4c 28 b0 : jmp $b028
b022 | c9 fb : cmp #$fb
b024 | d0 05 : bne $b02b
b026 | a9 00 : lda #$00 // stop sound
b028 | 8d 03 40 : sta $4003 // send sound code
b02b | 4c 04 b0 : jmp $b004
-->
<action>audiocpu.mw@ecb3 = 12f0</action> <!-- disable boot finish sound in audio cpu -->
</script>
<script state="run">
<output format="----- burger time 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="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action> maincpu.mw@c04b = c416</action>
<action> maincpu.mq@b000 = 0000000000000000</action>
<action> maincpu.mq@b008 = 0000000000000000</action>
<action> maincpu.mq@b010 = 0000000000000000</action>
<action> maincpu.mq@b018 = 0000000000000000</action>
<action> maincpu.mq@b020 = 0000000000000000</action>
<action> maincpu.mq@b028 = 0000000000000000</action>
<action>audiocpu.mw@ecb3 = 00a2</action>
</script>
</cheat>
jman
Posts: 843 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Jan 07, 2023 2:58 pm
Code: Select all
<cheat desc="player speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@d269 = 10b00020</action>
<action>maincpu.mq@b000 = a19500a904d007e0</action>
<action>maincpu.mq@b008 = 00000000006068b5</action>
<!--
b000 | e0 07 : cpx #$07
b002 | d0 04 : bne $b008
b004 | a9 xx : lda #$xx
b006 | 95 a1 : sta $a1,x
b008 | b5 68 : lda $68,x
b00a | 60 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@b005 = param</action>
</script>
<script state="off">
<action>maincpu.md@d269 = 1068b5ea</action>
<action>maincpu.mq@b000 = 0000000000000000</action>
<action>maincpu.mq@b008 = 0000000000000000</action>
</script>
</cheat>
"player speed" : reallocate address.
Code: Select all
<cheat desc="enemy speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@d27b = eab01020</action>
<action>maincpu.mq@b040 = a19510a904f007e0</action>
<action>maincpu.mq@b048 = 000000609995a1b5</action>
<!--
b010 | e0 07 : cpx #$07
b012 | f0 04 : beq $b018
b014 | a9 xx : lda #$xx
b016 | 95 a1 : sta $a1,x
b018 | b5 a1 : lda $a1,x
b01a | 95 99 : sta $99,x
b01c | 60 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@b015 = param</action>
</script>
<script state="off">
<action>maincpu.md@d27b = 9995a1b5</action>
<action>maincpu.mq@b010 = 0000000000000000</action>
<action>maincpu.mq@b018 = 0000000000000000</action>
</script>
</cheat>
"enemy speed" : reallocate address.
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@c04b = b020</action>
<action>maincpu.mq@b020 = 29ff494002ad1185</action>
<action>maincpu.mq@b028 = 12850a0a0a0a0a01</action>
<action>maincpu.mq@b030 = 051f29ff494000ad</action>
<action>maincpu.mq@b038 = 10a6a8e3f011c512</action>
<action>maincpu.mq@b040 = d001c9ca01d002c9</action>
<action>maincpu.mq@b048 = 388a06d008c9e801</action>
<action>maincpu.mq@b050 = 06d004c998aa10eb</action>
<action>maincpu.mq@b058 = 108698aa1069188a</action>
<action>maincpu.mq@b060 = 05d020c906f010c9</action>
<action>maincpu.mq@b068 = b0204c40038e00a2</action>
<!--
b020 | 85 11 : sta $11
b022 | ad 02 40 : lda $4002 // read start button
b025 | 49 ff : eor #$ff
b027 | 29 01 : and #$01
b029 | 0a : asl a
b02a | 0a : asl a
b02b | 0a : asl a
b02c | 0a : asl a
b02d | 0a : asl a
b02e | 85 12 : sta $12
b030 | ad 00 40 : lda $4000 // read other inputs
b033 | 49 ff : eor #$ff
b035 | 29 1f : and #$1f
b037 | 05 12 : ora $12
b039 | c5 11 : cmp $11
b03b | f0 e3 : beq $b020
b03d | a8 : tay
b03e | a6 10 : ldx $10
b040 | c9 02 : cmp #$02
b042 | d0 01 : bne $b045
b044 | ca : dex // decrease code -01
b045 | c9 01 : cmp #$01
b047 | d0 01 : bne $b04a
b049 | e8 : inx // increase code +01
b04a | c9 08 : cmp #$08
b04c | d0 06 : bne $b054
b04e | 8a : txa // decrease code -10
b04f | 38 : sec
b050 | eb 10 : sbc #$10
b052 | aa : tax
b053 | 98 : tya
b054 | c9 04 : cmp #$04
b056 | d0 06 : bne $b05e
b058 | 8a : txa // increase code +10
b059 | 18 : clc
b05a | 69 10 : adc #$10
b05c | aa : tax
b05d | 98 : tya
b05e | 86 10 : stx $10
b060 | c9 10 : cmp #$10
b062 | f0 06 : beq $b06a
b064 | c9 20 : cmp #$20
b066 | d0 05 : bne $b06d
b068 | a2 00 : ldx #$00 // stop sound
b06a | 8e 03 40 : stx $4003 // send sound code
b06d | 4c 20 b0 : jmp $b020
-->
<action>audiocpu.mw@ecb3 = 12f0</action> <!-- disable boot finish sound -->
</script>
<script state="run">
<output format="----- burger time 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="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@0010</argument>
</output>
</script>
<script state="off">
<action> maincpu.mw@c04b = c416</action>
<action> maincpu.mq@b020 = 0000000000000000</action>
<action> maincpu.mq@b028 = 0000000000000000</action>
<action> maincpu.mq@b030 = 0000000000000000</action>
<action> maincpu.mq@b038 = 0000000000000000</action>
<action> maincpu.mq@b040 = 0000000000000000</action>
<action> maincpu.mq@b048 = 0000000000000000</action>
<action> maincpu.mq@b050 = 0000000000000000</action>
<action> maincpu.mq@b058 = 0000000000000000</action>
<action> maincpu.mq@b060 = 0000000000000000</action>
<action> maincpu.mq@b068 = 0000000000000000</action>
<action>audiocpu.mw@ecb3 = 00a2</action>
</script>
</cheat>
"sound test mode" : rewrite routine. reallocate address. add up/down key (code ±10). change "sound stop" button from up to start.
jman
Posts: 843 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Jan 07, 2023 3:02 pm
I add the codes for DECO cassette version.
cbtime.xml
Code: Select all
<cheat desc="player speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.pd@1509 = 3a5d8040</action>
<action>maincpu.pq@5d80 = a19500c904b007e0</action>
<action>maincpu.pq@5d88 = 00000060915513c5</action>
<action>maincpu.pb@5d85 = param</action>
<!--
5d80 | e0 07 : cpx #$07
5d82 | d0 04 : bne $5d88
5d84 | a9 xx : lda #$xx
5d86 | 95 a1 : sta $a1,x
5d88 | a5 13 : lda $13
5d8a | 35 91 : and $91,x
5d8c | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.pd@1509 = 915513c5</action>
<action>maincpu.pq@5d80 = 0000000000000000</action>
<action>maincpu.pq@5d88 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="enemy speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.pd@1515 = 3a5d9040</action>
<action>maincpu.pq@5d90 = a19500c904f007e0</action>
<action>maincpu.pq@5d98 = 000000609995a1d5</action>
<action>maincpu.pb@5d95 = param</action>
<!--
5d90 | e0 07 : cpx #$07
5d92 | f0 04 : beq $5d98
5d94 | a9 xx : lda #$xx
5d96 | 95 a1 : sta $a1,x
5d98 | b5 a1 : lda $a1,x
5d9a | 95 99 : sta $99,x
5d9c | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.pd@1515 = 9995a1d5</action>
<action>maincpu.pq@5d90 = 0000000000000000</action>
<action>maincpu.pq@5d98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="walk free">
<script state="run">
<action>maincpu.pb@14be = 00</action>
</script>
<script state="off">
<action>maincpu.pb@14be = 16</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@053c = 5da0</action>
<action>maincpu.pq@5da0 = f011a5e600cd1185</action>
<action>maincpu.pq@5da8 = 01b002a910c6c8f7</action>
<action>maincpu.pq@5db0 = 08a9e801b001a9aa</action>
<action>maincpu.pq@5db8 = 98ca10e9588a06b0</action>
<action>maincpu.pq@5dc0 = 1069188a06b004a9</action>
<action>maincpu.pq@5dc8 = 06f010a9108698ca</action>
<action>maincpu.pq@5dd0 = 148e00c205b020a9</action>
<action>maincpu.pq@5dd8 = 000000005da02ce4</action>
<!--
5da0 | 85 11 : sta $11
5da2 | ad 00 e6 : lda $e600 // read input
5da5 | c5 11 : cmp $11
5da7 | f0 f7 : beq $5da0
5da9 | a8 : tay
5daa | a6 10 : ldx $10
5dac | c9 02 : cmp #$02
5dae | d0 01 : bne $5db1
5db0 | ca : dex // decrease code -01
5db1 | c9 01 : cmp #$01
5db3 | d0 01 : bne $5db6
5db5 | e8 : inx // increase code +01
5db6 | c9 08 : cmp #$08
5db8 | d0 06 : bne $5dc0
5dba | 8a : txa // decrease code -10
5dbb | 38 : sec
5dbc | e9 10 : sbc #$10
5dbe | aa : tax
5dbf | 98 : tya
5dc0 | c9 04 : cmp #$04
5dc2 | d0 06 : bne $5dca
5dc4 | 8a : txa // increase code +10
5dc5 | 18 : clc
5dc6 | 69 10 : adc #$10
5dc8 | aa : tax
5dc9 | 98 : tya
5dca | 86 10 : stx $10
5dcc | c9 10 : cmp #$10
5dce | f0 06 : beq $5dd6
5dd0 | c9 20 : cmp #$20
5dd2 | d0 05 : bne $5dd9
5dd4 | a2 00 : ldx #$00 // stop sound
5dd6 | 8e 14 e4 : stx $e414 // send sound code
5dd9 | 4c a0 5d : jmp $5da0
-->
<!-- display -->
<output format="----- burger time 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="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@0010</argument>
</output>
</script>
<script state="off">
<action>maincpu.pw@053c = 08e9</action>
<action>maincpu.pq@5da0 = 0000000000000000</action>
<action>maincpu.pq@5da8 = 0000000000000000</action>
<action>maincpu.pq@5db0 = 0000000000000000</action>
<action>maincpu.pq@5db8 = 0000000000000000</action>
<action>maincpu.pq@5dc0 = 0000000000000000</action>
<action>maincpu.pq@5dc8 = 0000000000000000</action>
<action>maincpu.pq@5dd0 = 0000000000000000</action>
<action>maincpu.pq@5dd8 = 0000000000000000</action>
</script>
</cheat>
chamburger.xml
Code: Select all
<cheat desc="player speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.pd@13a4 = 3a5d8040</action>
<action>maincpu.pq@5d80 = 9d9500c904b007e0</action>
<action>maincpu.pq@5d88 = 000000608d5513c5</action>
<action>maincpu.pb@5d85 = param</action>
<!--
5d80 | e0 07 : cpx #$07
5d82 | d0 04 : bne $5d88
5d84 | a9 xx : lda #$xx
5d86 | 95 9d : sta $9d,x
5d88 | a5 13 : lda $13
5d8a | 35 8d : and $8d,x
5d8c | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.pd@13a4 = 8d5513c5</action>
<action>maincpu.pq@5d80 = 0000000000000000</action>
<action>maincpu.pq@5d88 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="enemy speed">
<parameter>
<item value="0x05">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x03">03 </item>
<item value="0x02">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="run">
<action>maincpu.pd@13b0 = 3a5d9040</action>
<action>maincpu.pq@5d90 = 9d9500c904f007e0</action>
<action>maincpu.pq@5d98 = 0000006095959dd5</action>
<action>maincpu.pb@5d95 = param</action>
<!--
5d90 | e0 07 : cpx #$07
5d92 | f0 04 : beq $5d98
5d94 | a9 xx : lda #$xx
5d96 | 95 9d : sta $9d,x
5d98 | b5 9d : lda $9d,x
5d9a | 95 95 : sta $95,x
5d9c | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.pd@13b0 = 95959dd5</action>
<action>maincpu.pq@5d90 = 0000000000000000</action>
<action>maincpu.pq@5d98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="walk free">
<script state="run">
<action>maincpu.pb@135d = 00</action>
</script>
<script state="off">
<action>maincpu.pb@135d = 16</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@0539 = 5da0</action>
<action>maincpu.pq@5da0 = f011a5e600cd1185</action>
<action>maincpu.pq@5da8 = 01b002a910c6c8f7</action>
<action>maincpu.pq@5db0 = 08a9e801b001a9aa</action>
<action>maincpu.pq@5db8 = 98ca10e9588a06b0</action>
<action>maincpu.pq@5dc0 = 1069188a06b004a9</action>
<action>maincpu.pq@5dc8 = 06f010a9108698ca</action>
<action>maincpu.pq@5dd0 = 148e00c205b020a9</action>
<action>maincpu.pq@5dd8 = 000000005da02ce4</action>
<!--
5da0 | 85 11 : sta $11
5da2 | ad 00 e6 : lda $e600 // read input
5da5 | c5 11 : cmp $11
5da7 | f0 f7 : beq $5da0
5da9 | a8 : tay
5daa | a6 10 : ldx $10
5dac | c9 02 : cmp #$02
5dae | d0 01 : bne $5db1
5db0 | ca : dex // decrease code -01
5db1 | c9 01 : cmp #$01
5db3 | d0 01 : bne $5db6
5db5 | e8 : inx // increase code +01
5db6 | c9 08 : cmp #$08
5db8 | d0 06 : bne $5dc0
5dba | 8a : txa // decrease code -10
5dbb | 38 : sec
5dbc | e9 10 : sbc #$10
5dbe | aa : tax
5dbf | 98 : tya
5dc0 | c9 04 : cmp #$04
5dc2 | d0 06 : bne $5dca
5dc4 | 8a : txa // increase code +10
5dc5 | 18 : clc
5dc6 | 69 10 : adc #$10
5dc8 | aa : tax
5dc9 | 98 : tya
5dca | 86 10 : stx $10
5dcc | c9 10 : cmp #$10
5dce | f0 06 : beq $5dd6
5dd0 | c9 20 : cmp #$20
5dd2 | d0 05 : bne $5dd9
5dd4 | a2 00 : ldx #$00 // stop sound
5dd6 | 8e 14 e4 : stx $e414 // send sound code
5dd9 | 4c a0 5d : jmp $5da0
-->
<!-- display -->
<output format="----- hamburger 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="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@0010</argument>
</output>
</script>
<script state="off">
<action>maincpu.pw@0539 = 0878</action>
<action>maincpu.pq@5da0 = 0000000000000000</action>
<action>maincpu.pq@5da8 = 0000000000000000</action>
<action>maincpu.pq@5db0 = 0000000000000000</action>
<action>maincpu.pq@5db8 = 0000000000000000</action>
<action>maincpu.pq@5dc0 = 0000000000000000</action>
<action>maincpu.pq@5dc8 = 0000000000000000</action>
<action>maincpu.pq@5dd0 = 0000000000000000</action>
<action>maincpu.pq@5dd8 = 0000000000000000</action>
</script>
</cheat>