Page 1 of 1
[pinbo] Pinbo
Posted: Tue Jul 27, 2021 9:47 am
by jman
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.
[pinbo]+ Pinbo
Posted: Thu May 02, 2024 2:53 pm
by jman
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.