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: 862 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Tue Jul 27, 2021 9:47 am
Code: Select all
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@756c = 129502a91095e7a9</action>
<action>maincpu.mq@7574 = a26002e1d002839d</action>
<!--
756c | a9 e7 : lda #$e7
756e | 95 10 : sta $10,x
7570 | a9 02 : lda #$02
7572 | 95 12 : sta $12,x
7574 | 9d 83 02 : sta $0283,x
7577 | d0 e1 : bne $755a
-->
</script>
<script state="off">
<action>maincpu.mq@756c = 10009d02009d00a9</action>
<action>maincpu.mq@7574 = a26002839d02039d</action>
</script>
</cheat>
<cheat desc="no hit - flipper">
<script state="on">
<action>maincpu.mb@8e74 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@8e74 = a9</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@b57e = 6eff404c</action>
<action>maincpu.mq@bf40 = 8184808600a001a2</action>
<action>maincpu.mq@bf48 = f4f081c5a81804ad</action>
<action>maincpu.mq@bf50 = d001c9ca01d002c9</action>
<action>maincpu.mq@bf58 = 4c8a04d020c9e801</action>
<action>maincpu.mq@bf60 = 00a905d010c9ff68</action>
<action>maincpu.mq@bf68 = bbbbff444c18008d</action>
<!--
ff40 | a2 01 : ldx #$01 // initialize sound value
ff42 | a0 00 : ldy #$00 // initialize input value
ff44 | 86 80 : stx $80
ff46 | 84 81 : sty $81
ff48 | ad 04 18 : lda $1804 // read input
ff4b | a8 : tay
ff4c | c5 81 : cmp $81
ff4e | f0 f4 : beq $ff44
ff50 | c9 02 : cmp #$02
ff52 | d0 01 : bne $ff55
ff54 | ca : dex // decrease code
ff55 | c9 01 : cmp #$01
ff57 | d0 01 : bne $ff5a
ff59 | e8 : inx // increase code
ff5a | c9 20 : cmp #$20
ff5c | d0 04 : bne $ff62
ff5e | 8a : txa // play sound
ff5f | 4c 68 ff : jmp $ff68
ff62 | c9 10 : cmp #$10
ff64 | d0 05 : bne $ff6b
ff66 | a9 00 : lda #$00 // stop sound
ff68 | 8d 00 18 : sta $1800 // send sound code
ff6b | 4c 44 ff : jmp $ff44
-->
</script>
<script state="run">
<output format="----- pinbo 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="button 2 : 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.md@b57e = 6e20ea58</action>
<action>maincpu.mq@bf40 = bbbbbbbbbbbbbbbb</action>
<action>maincpu.mq@bf48 = bbbbbbbbbbbbbbbb</action>
<action>maincpu.mq@bf50 = bbbbbbbbbbbbbbbb</action>
<action>maincpu.mq@bf58 = bbbbbbbbbbbbbbbb</action>
<action>maincpu.mq@bf60 = bbbbbbbbbbbbbbbb</action>
<action>maincpu.mq@bf68 = bbbbbbbbbbbbbbbb</action>
</script>
</cheat>
"no hit - flipper" means "flipper doesn't be eaten by monster" but it requires more test.
jman
Posts: 862 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Thu May 02, 2024 2:53 pm
pinbo.xml
Code: Select all
<!-- Pinbo (set 1) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@756C = 129502A91095E7A9</action>
<action>maincpu.mq@7574 = A260EAE1D002839D</action>
<!--
756C | A9 E7 : lda #$e7
756E | 95 10 : sta $10, x
7570 | A9 02 : lda #$02
7572 | 95 12 : sta $12, x
7574 | 9D 83 02 : sta $0283, x
7577 | D0 E1 : bne $755a
-->
</script>
<script state="off">
<action>maincpu.mq@756C = 10009D02009D00A9</action>
<action>maincpu.mq@7574 = A26002839D02039D</action>
</script>
</cheat>
<cheat desc="no hit - flipper">
<script state="on">
<action>maincpu.mb@8E74 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@8E74 = A9</action>
</script>
</cheat>
<cheat desc="ball rises by button 1 + 2">
<script state="on">
<action>maincpu.mw@77B5 = 3F20 </action>
<action>maincpu.mq@3F20 = A5169054E077F520</action>
<action>maincpu.mq@3F28 = A50ED030C9302939</action>
<action>maincpu.mq@3F30 = A906F030C930293A</action>
<action>maincpu.mq@3F38 = FFFF6012951095F0</action>
<!--
3F20 | 20 F5 77 : jsr $77f5
3F23 | E0 54 : cpx #$54 // ball or others?
3F25 | 90 16 : bcc $3f3d
3F27 | A5 39 : lda $39 // button check
3F29 | 29 30 : and #$30
3F2B | C9 30 : cmp #$30
3F2D | D0 0E : bne $3f3d
3F2F | A5 3A : lda $3a // button check
3F31 | 29 30 : and #$30
3F33 | C9 30 : cmp #$30
3F35 | F0 06 : beq $3f3d
3F37 | A9 F0 : lda #$f0
3F39 | 95 10 : sta $10, x
3F3B | 95 12 : sta $12, x
3F3D | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.mw@77B5 = 77F5 </action>
<action>maincpu.mq@3F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F38 = 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@B568 = 3F40 </action>
<action>maincpu.mq@3F40 = F081C51804AD8185</action>
<action>maincpu.mq@3F48 = 01D002C980A6A8F7</action>
<action>maincpu.mq@3F50 = 08C9E801D001C9CA</action>
<action>maincpu.mq@3F58 = 98AA10E9388A06D0</action>
<action>maincpu.mq@3F60 = 1069188A06D004C9</action>
<action>maincpu.mq@3F68 = 06F020C9808698AA</action>
<action>maincpu.mq@3F70 = 008E00A205D010C9</action>
<action>maincpu.mq@3F78 = FFFFFFFF3F404C18</action>
<!--
3F40 | 85 81 : sta $81
3F42 | AD 04 18 : lda $1804 // read input
3F45 | C5 81 : cmp $81
3F47 | F0 F7 : beq $3f40
3F49 | A8 : tay
3F4A | A6 80 : ldx $80
3F4C | C9 02 : cmp #$02
3F4E | D0 01 : bne $3f51
3F50 | CA : dex // decrease code -01
3F51 | C9 01 : cmp #$01
3F53 | D0 01 : bne $3f56
3F55 | E8 : inx // increase code +01
3F56 | C9 08 : cmp #$08
3F58 | D0 06 : bne $3f60
3F5A | 8A : txa // decrease code -10
3F5B | 38 : sec
3F5C | E9 10 : sbc #$10
3F5E | AA : tax
3F5F | 98 : tya
3F60 | C9 04 : cmp #$04
3F62 | D0 06 : bne $3f6a
3F64 | 8A : txa // increase code +10
3F65 | 18 : clc
3F66 | 69 10 : adc #$10
3F68 | AA : tax
3F69 | 98 : tya
3F6A | 86 80 : stx $80
3F6C | C9 20 : cmp #$20
3F6E | F0 06 : beq $3f76 // play sound
3F70 | C9 10 : cmp #$10
3F72 | D0 05 : bne $3f79
3F74 | A2 00 : ldx #$00 // stop sound
3F76 | 8E 00 18 : stx $1800 // send sound code
3F79 | 4C 40 3F : jmp $3f40
-->
</script>
<script state="run">
<output format="----- pinbo 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@B568 = 6181 </action>
<action>maincpu.mq@3F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
pinboa.xml
Code: Select all
<!-- Pinbo (set 2) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@75B7 = 129502A91095E7A9</action>
<action>maincpu.mq@75BF = A260EAE1D002839D</action>
<!--
756C | A9 E7 : lda #$e7
756E | 95 10 : sta $10, x
7570 | A9 02 : lda #$02
7572 | 95 12 : sta $12, x
7574 | 9D 83 02 : sta $0283, x
7577 | D0 E1 : bne $75a5
-->
</script>
<script state="off">
<action>maincpu.mq@75B7 = 10009D02009D00A9</action>
<action>maincpu.mq@75BF = A26002839D02039D</action>
</script>
</cheat>
<cheat desc="no hit - flipper">
<script state="on">
<action>maincpu.mb@8EAB = 60</action>
</script>
<script state="off">
<action>maincpu.mb@8EAB = A9</action>
</script>
</cheat>
<cheat desc="ball rises by button 1 + 2">
<script state="on">
<action>maincpu.mw@7800 = 3F20 </action>
<action>maincpu.mq@3F20 = A5169054E0784020</action>
<action>maincpu.mq@3F28 = A50ED030C9302939</action>
<action>maincpu.mq@3F30 = A906F030C930293A</action>
<action>maincpu.mq@3F38 = FFFF6012951095F0</action>
<!--
3F20 | 20 40 78 : jsr $7840
3F23 | E0 54 : cpx #$54 // ball or others?
3F25 | 90 16 : bcc $3f3d
3F27 | A5 39 : lda $39 // button check
3F29 | 29 30 : and #$30
3F2B | C9 30 : cmp #$30
3F2D | D0 0E : bne $3f3d
3F2F | A5 3A : lda $3a // button check
3F31 | 29 30 : and #$30
3F33 | C9 30 : cmp #$30
3F35 | F0 06 : beq $3f3d
3F37 | A9 F0 : lda #$f0
3F39 | 95 10 : sta $10, x
3F3B | 95 12 : sta $12, x
3F3D | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.mw@7800 = 7840 </action>
<action>maincpu.mq@3F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F38 = 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@B555 = 3F40 </action>
<action>maincpu.mq@3F40 = F081C51804AD8185</action>
<action>maincpu.mq@3F48 = 01D002C980A6A8F7</action>
<action>maincpu.mq@3F50 = 08C9E801D001C9CA</action>
<action>maincpu.mq@3F58 = 98AA10E9388A06D0</action>
<action>maincpu.mq@3F60 = 1069188A06D004C9</action>
<action>maincpu.mq@3F68 = 06F020C9808698AA</action>
<action>maincpu.mq@3F70 = 008E00A205D010C9</action>
<action>maincpu.mq@3F78 = FFFFFFFF3F404C18</action>
<!--
3F40 | 85 81 : sta $81
3F42 | AD 04 18 : lda $1804 // read input
3F45 | C5 81 : cmp $81
3F47 | F0 F7 : beq $3f40
3F49 | A8 : tay
3F4A | A6 80 : ldx $80
3F4C | C9 02 : cmp #$02
3F4E | D0 01 : bne $3f51
3F50 | CA : dex // decrease code -01
3F51 | C9 01 : cmp #$01
3F53 | D0 01 : bne $3f56
3F55 | E8 : inx // increase code +01
3F56 | C9 08 : cmp #$08
3F58 | D0 06 : bne $3f60
3F5A | 8A : txa // decrease code -10
3F5B | 38 : sec
3F5C | E9 10 : sbc #$10
3F5E | AA : tax
3F5F | 98 : tya
3F60 | C9 04 : cmp #$04
3F62 | D0 06 : bne $3f6a
3F64 | 8A : txa // increase code +10
3F65 | 18 : clc
3F66 | 69 10 : adc #$10
3F68 | AA : tax
3F69 | 98 : tya
3F6A | 86 80 : stx $80
3F6C | C9 20 : cmp #$20
3F6E | F0 06 : beq $3f76 // play sound
3F70 | C9 10 : cmp #$10
3F72 | D0 05 : bne $3f79
3F74 | A2 00 : ldx #$00 // stop sound
3F76 | 8E 00 18 : stx $1800 // send sound code
3F79 | 4C 40 3F : jmp $3f40
-->
</script>
<script state="run">
<output format="----- pinbo 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@B555 = 6181 </action>
<action>maincpu.mq@3F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
pinbos.xml
Code: Select all
<!-- Pinbo (bootleg) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@75B7 = 129502A91095E7A9</action>
<action>maincpu.mq@75BF = A260EAE1D002839D</action>
<!--
756C | A9 E7 : lda #$e7
756E | 95 10 : sta $10, x
7570 | A9 02 : lda #$02
7572 | 95 12 : sta $12, x
7574 | 9D 83 02 : sta $0283, x
7577 | D0 E1 : bne $75a5
-->
</script>
<script state="off">
<action>maincpu.mq@75B7 = 10009D02009D00A9</action>
<action>maincpu.mq@75BF = A26002839D02039D</action>
</script>
</cheat>
<cheat desc="no hit - flipper">
<script state="on">
<action>maincpu.mb@8EAB = 60</action>
</script>
<script state="off">
<action>maincpu.mb@8EAB = A9</action>
</script>
</cheat>
<cheat desc="ball rises by button 1 + 2">
<script state="on">
<action>maincpu.mw@7800 = 3F20 </action>
<action>maincpu.mq@3F20 = A5169054E0784020</action>
<action>maincpu.mq@3F28 = A50ED030C9302939</action>
<action>maincpu.mq@3F30 = A906F030C930293A</action>
<action>maincpu.mq@3F38 = FFFF6012951095F0</action>
<!--
3F20 | 20 40 78 : jsr $7840
3F23 | E0 54 : cpx #$54 // ball or others?
3F25 | 90 16 : bcc $3f3d
3F27 | A5 39 : lda $39 // button check
3F29 | 29 30 : and #$30
3F2B | C9 30 : cmp #$30
3F2D | D0 0E : bne $3f3d
3F2F | A5 3A : lda $3a // button check
3F31 | 29 30 : and #$30
3F33 | C9 30 : cmp #$30
3F35 | F0 06 : beq $3f3d
3F37 | A9 F0 : lda #$f0
3F39 | 95 10 : sta $10, x
3F3B | 95 12 : sta $12, x
3F3D | 60 : rts
-->
</script>
<script state="off">
<action>maincpu.mw@7800 = 7840 </action>
<action>maincpu.mq@3F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F38 = 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@B555 = 3F40 </action>
<action>maincpu.mq@3F40 = F081C51804AD8185</action>
<action>maincpu.mq@3F48 = 01D002C980A6A8F7</action>
<action>maincpu.mq@3F50 = 08C9E801D001C9CA</action>
<action>maincpu.mq@3F58 = 98AA10E9388A06D0</action>
<action>maincpu.mq@3F60 = 1069188A06D004C9</action>
<action>maincpu.mq@3F68 = 06F020C9808698AA</action>
<action>maincpu.mq@3F70 = 008E00A205D010C9</action>
<action>maincpu.mq@3F78 = FFFFFFFF3F404C18</action>
<!--
3F40 | 85 81 : sta $81
3F42 | AD 04 18 : lda $1804 // read input
3F45 | C5 81 : cmp $81
3F47 | F0 F7 : beq $3f40
3F49 | A8 : tay
3F4A | A6 80 : ldx $80
3F4C | C9 02 : cmp #$02
3F4E | D0 01 : bne $3f51
3F50 | CA : dex // decrease code -01
3F51 | C9 01 : cmp #$01
3F53 | D0 01 : bne $3f56
3F55 | E8 : inx // increase code +01
3F56 | C9 08 : cmp #$08
3F58 | D0 06 : bne $3f60
3F5A | 8A : txa // decrease code -10
3F5B | 38 : sec
3F5C | E9 10 : sbc #$10
3F5E | AA : tax
3F5F | 98 : tya
3F60 | C9 04 : cmp #$04
3F62 | D0 06 : bne $3f6a
3F64 | 8A : txa // increase code +10
3F65 | 18 : clc
3F66 | 69 10 : adc #$10
3F68 | AA : tax
3F69 | 98 : tya
3F6A | 86 80 : stx $80
3F6C | C9 20 : cmp #$20
3F6E | F0 06 : beq $3f76 // play sound
3F70 | C9 10 : cmp #$10
3F72 | D0 05 : bne $3f79
3F74 | A2 00 : ldx #$00 // stop sound
3F76 | 8E 00 18 : stx $1800 // send sound code
3F79 | 4C 40 3F : jmp $3f40
-->
</script>
<script state="run">
<output format="----- pinbo 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@B555 = 6181 </action>
<action>maincpu.mq@3F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
"ball rises by button 1 + 2" : Added new.
"sound test mode" : Added up/down key to increase/decrease code ±10.