bagnardio.xml
Code: Select all
<!-- Le Bagnard (Itisa, Spain, older) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1274 = 18</action> <!-- enemy -->
<action>maincpu.mb@129F = 18</action> <!-- enemy -->
<action>maincpu.mb@162E = 18</action> <!-- elevator -->
<action>maincpu.mb@1DE5 = 18</action> <!-- trolley -->
<action>maincpu.mb@1E47 = 00</action> <!-- fall down -->
<action>maincpu.mb@1E63 = 00</action> <!-- fall down in elevator -->
</script>
<script state="off">
<action>maincpu.mb@1274 = 20</action>
<action>maincpu.mb@129F = 20</action>
<action>maincpu.mb@162E = 20</action>
<action>maincpu.mb@1DE5 = 30</action>
<action>maincpu.mb@1E47 = 01</action>
<action>maincpu.mb@1E63 = 0C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@3806 = 3E5E80CD </action> <!-- title -->
<action>maincpu.md@382C = CD5E80CD </action> <!-- title -->
<action>maincpu.md@3849 = 3E5E80CD </action> <!-- title -->
<action>maincpu.md@3879 = 3E5E80CD </action> <!-- title -->
<action>maincpu.md@3B39 = AF5E80CD </action> <!-- level finish -->
<action>maincpu.md@01F2 = 3A5E9ACC </action>
<action>maincpu.md@0218 = 3A5EA5CD </action>
<action>maincpu.mq@5E80 = 670032013E602632</action>
<action>maincpu.mq@5E88 = 0032AFF567003AC9</action>
<action>maincpu.mq@5E90 = 0602200106A7F167</action>
<action>maincpu.mq@5E98 = C7CDC55E89CDC900</action>
<action>maincpu.mq@5EA0 = 5E89CDC9F910C10D</action>
<action>maincpu.mq@5EA8 = C9F910C10B6DCDC5</action>
<!--
5E80 | 32 26 60 : ld ($6026),a // flag set routine
5E83 | 3E 01 : ld a,$01
5E85 | 32 00 67 : ld ($6700),a
5E88 | C9 : ret
5E89 | 3A 00 67 : ld a,($6700) // flag check routine
5E8C | F5 : push af
5E8D | AF : xor a
5E8E | 32 00 67 : ld ($6700),a
5E91 | F1 : pop af
5E92 | A7 : and a
5E93 | 06 01 : ld b,$01
5E95 | 20 02 : jr nz,$5E99
5E97 | 06 xx : ld b,$xx
5E99 | C9 : ret
5E9A | CD 89 5E : call $5E89
5E9D | C5 : push bc
5EAE | CD C7 0D : call $0DC7
5EA1 | C1 : pop bc
5EA2 | 10 F9 : djnz $5E9D
5EA4 | C9 : ret
5EA5 | CD 89 5E : call $5E89
5EA8 | C5 : push bc
5EA9 | CD 6D 0B : call $0B6D
5EAC | C1 : pop bc
5EAD | 10 F9 : djnz $5EA8
5EAF | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@5E98 = param</action>
</script>
<script state="off">
<action>maincpu.md@3806 = 3E602632 </action>
<action>maincpu.md@382C = CD602632 </action>
<action>maincpu.md@3849 = 3E602632 </action>
<action>maincpu.md@3879 = 3E602632 </action>
<action>maincpu.md@3B39 = AF602632 </action>
<action>maincpu.md@01F2 = 3A0DC7CC </action>
<action>maincpu.md@0218 = 3A0B6DCD </action>
<action>maincpu.mq@5E80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5E88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5E90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5E98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EA8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="invisible ladder">
<script state="on">
<action>maincpu.mb@0DE4 = 00 </action> <!-- up -->
<action>maincpu.mb@0DF0 = 00 </action> <!-- down -->
<action>maincpu.md@0B37 = C05EBECD </action> <!-- up -->
<action>maincpu.md@2617 = 065EC5CD </action> <!-- down -->
<action>maincpu.mq@5EB0 = 60263AC080FE7DDD</action>
<action>maincpu.mq@5EB8 = B0CDC9F1F1C860E6</action>
<action>maincpu.mq@5EC0 = 5EB0CDC900FE795E</action>
<action>maincpu.mq@5EC8 = FFFFFFFFC925F411</action>
<!--
5EB0 | DD 7D : ld a,ixl // common check routine
5EB2 | FE 80 : cp $80
5EB4 | C0 : ret nz
5EB5 | 3A 26 60 : ld a,($6026) // read input
5EB8 | E6 60 : and $60
5EBA | C8 : ret z
5EBB | F1 : pop af
5EBC | F1 : pop af
5EBD | C9 : ret
5EBE | CD B0 5E : call $5EB0 // up
5EF1 | 79 : ld a,c
5EF2 | FE 00 : cp $00
5EF4 | C9 : ret
5EF5 | CD B0 5E : call $5EB0 // down
5EF8 | 11 F4 25 : ld de,$25F4
5EFB | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@0DE4 = C0 </action>
<action>maincpu.mb@0DF0 = C0 </action>
<action>maincpu.md@0B37 = C000FE79 </action>
<action>maincpu.md@2617 = 0625F411 </action>
<action>maincpu.mq@5EB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EC8 = 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@24A2 = 5ED0 </action>
<action>maincpu.mq@5ED0 = 0021FBA00032013E</action>
<action>maincpu.mq@5ED8 = 47B860263A2F1861</action>
<action>maincpu.mq@5EE0 = FE35012008FEF928</action>
<action>maincpu.mq@5EE8 = 042040FE34012010</action>
<action>maincpu.mq@5EF0 = 052020FE0618F03E</action>
<action>maincpu.mq@5EF8 = 2080FE787786103E</action>
<action>maincpu.mq@5F00 = 04FE785F15CD7E05</action>
<action>maincpu.mq@5F08 = 083E5F15CDAF0920</action>
<action>maincpu.mq@5F10 = 3E21D9C6185F15CD</action>
<action>maincpu.mq@5F18 = 56235E6F8587F55F</action>
<action>maincpu.mq@5F20 = 4022093008FEF1EB</action>
<action>maincpu.mq@5F28 = 110D18614232AF61</action>
<action>maincpu.mq@5F30 = 3EB0ED000601A800</action>
<action>maincpu.mq@5F38 = 513CC9D9A8033201</action>
<action>maincpu.mq@5F40 = 5B3850005BA85B78</action>
<action>maincpu.mq@5F48 = 3F3F5B945B685200</action>
<action>maincpu.mq@5F50 = 3F033EFD3F393F15</action>
<action>maincpu.mq@5F58 = 3F333F2D3F333F45</action>
<action>maincpu.mq@5F60 = 3F093EF73F1B3F27</action>
<action>maincpu.mq@5F68 = FFFFFFFF3F4B3F1B</action>
<!--
5ED0 | 3E 01 : ld a,$01 // enable interrupt
5ED2 | 32 00 A0 : ld ($A000),a
5ED5 | FB : ei
5ED6 | 21 00 61 : ld hl,$6100 // sound code address
5ED9 | 18 2F : jr $5F0A
5EDB | 3A 26 60 : ld a,($6026) // read input
5EDE | B8 : cp b
5EDF | 47 : ld b,a
5EE0 | 28 F9 : jr z,$5EDB
5EE2 | FE 08 : cp $08
5EE4 | 20 01 : jr nz,$5EE7
5EE6 | 35 : dec (hl) // decrease code -01
5EE7 | FE 10 : cp $10
5EE9 | 20 01 : jr nz,$5EEC
5EEB | 34 : inc (hl) // increase code +01
5EEC | FE 40 : cp $40
5EEE | 20 04 : jr nz,$5EF4
5EF0 | 3E F0 : ld a,$F0 // decrease code +10
5EF2 | 18 06 : jr $5FFA
5EF4 | FE 20 : cp $20
5EF6 | 20 05 : jr nz,$5EFD
5EF8 | 3E 10 : ld a,$10 // increase code -10
5EFA | 86 : add a,(hl)
5EFB | 77 : ld (hl),a
5EFC | 78 : ld a,b
5EFD | FE 80 : cp $80
5EFF | 20 05 : jr nz,$5F06
5F01 | 7E : ld a,(hl) // play sound
5F02 | CD 15 5F : call $5F15
5F05 | 78 : ld a,b
5F06 | FE 04 : cp $04
5F08 | 20 09 : jr nz,$5F13
5F0A | AF : xor a // stop sound
5F0B | CD 15 5F : call $5F15
5F0E | 3E 08 : ld a,$08
5F10 | CD A5 5F : call $5F15
5F13 | 18 C6 : jr $5EDB
5F15 | D9 : exx // sound code conversion routine
5F16 | 21 3E 5F : ld hl,$5F3E
5F19 | F5 : push af
5F1A | 87 : add a,a
5F1B | 85 : add a,l
5F1C | 6F : ld l,a
5F1D | 5E : ld e,(hl)
5F1E | 23 : inc hl
5F1F | 56 : ld d,(hl)
5F20 | EB : ex de,hl
5F21 | F1 : pop af
5F22 | FE 08 : cp $08
5F24 | 30 09 : jr nc,$5F2F
5F26 | 22 40 61 : ld ($6140),hl
5F29 | AF : xor a
5F2A | 32 42 61 : ld ($6142),a
5F2D | 18 0D : jr $5F3C
5F2F | 11 00 A8 : ld de,$A800
5F32 | 01 06 00 : ld bc,$0006
5F35 | ED B0 : ldir
5F37 | 3E 01 : ld a,$01
5F39 | 32 03 A8 : ld ($A803),a
5F3C | D9 : exx
5F3D | C9 : ret
5F3E - 5F6B : sound code/address conversion table
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@6100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@24A2 = 121C </action>
<action>maincpu.mq@5ED0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5ED8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5EF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F68 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
bagmans.xml
Code: Select all
<!-- Bagman (Stern Electronics, revision A5) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@127C = 18</action> <!-- enemy -->
<action>maincpu.mb@12A7 = 18</action> <!-- enemy -->
<action>maincpu.mb@1635 = 18</action> <!-- elevator -->
<action>maincpu.mb@1DE5 = 18</action> <!-- trolley -->
<action>maincpu.mb@1E47 = 00</action> <!-- fall down -->
<action>maincpu.mb@1E63 = 00</action> <!-- fall down in elevator -->
</script>
<script state="off">
<action>maincpu.mb@127C = 20</action>
<action>maincpu.mb@12A7 = 20</action>
<action>maincpu.mb@1635 = 20</action>
<action>maincpu.mb@1DE5 = 30</action>
<action>maincpu.mb@1E47 = 01</action>
<action>maincpu.mb@1E63 = 0C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@382A = 3E5F10CD </action> <!-- title -->
<action>maincpu.md@3850 = CD5F10CD </action> <!-- title -->
<action>maincpu.md@386D = 3E5F10CD </action> <!-- title -->
<action>maincpu.md@389D = 3E5F10CD </action> <!-- title -->
<action>maincpu.md@3B39 = AF5F10CD </action> <!-- level finish -->
<action>maincpu.md@01F2 = 3A5F2ACC </action>
<action>maincpu.md@0218 = 3A5F35CD </action>
<action>maincpu.mq@5F10 = 670032013E602632</action>
<action>maincpu.mq@5F18 = 0032AFF567003AC9</action>
<action>maincpu.mq@5F20 = 0602200106A7F167</action>
<action>maincpu.mq@5F28 = C7CDC55F19CDC900</action>
<action>maincpu.mq@5F30 = 5F19CDC9F910C10D</action>
<action>maincpu.mq@5F38 = C9F910C10B6DCDC5</action>
<!--
5F10 | 32 26 60 : ld ($6026),a // flag set routine
5F13 | 3E 01 : ld a,$01
5F15 | 32 00 67 : ld ($6700),a
5F18 | C9 : ret
5F19 | 3A 00 67 : ld a,($6700) // flag check routine
5F1C | F5 : push af
5F1D | AF : xor a
5F1E | 32 00 67 : ld ($6700),a
5F21 | F1 : pop af
5F22 | A7 : and a
5F23 | 06 01 : ld b,$01
5F25 | 20 02 : jr nz,$5F29
5F27 | 06 xx : ld b,$xx
5F29 | C9 : ret
5F2A | CD 19 5F : call $5F19
5F2D | C5 : push bc
5F2E | CD C7 0D : call $0DC7
5F31 | C1 : pop bc
5F32 | 10 F9 : djnz $5F2D
5F34 | C9 : ret
5F35 | CD 19 5F : call $5F19
5F38 | C5 : push bc
5F39 | CD 6D 0B : call $0B6D
5F3C | C1 : pop bc
5F3D | 10 F9 : djnz $5F38
5F3F | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@5F28 = param</action>
</script>
<script state="off">
<action>maincpu.md@382A = 3E602632 </action>
<action>maincpu.md@3850 = CD602632 </action>
<action>maincpu.md@386D = 3E602632 </action>
<action>maincpu.md@389D = 3E602632 </action>
<action>maincpu.md@3B39 = AF602632 </action>
<action>maincpu.md@01F2 = 3A0DC7CC </action>
<action>maincpu.md@0218 = 3A0B6DCD </action>
<action>maincpu.mq@5F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F38 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="invisible ladder">
<script state="on">
<action>maincpu.mb@0DE4 = 00 </action> <!-- up -->
<action>maincpu.mb@0DF0 = 00 </action> <!-- down -->
<action>maincpu.md@0B37 = C05F4ECD </action> <!-- up -->
<action>maincpu.md@2617 = 065F55CD </action> <!-- down -->
<action>maincpu.mq@5F40 = 60263AC080FE7DDD</action>
<action>maincpu.mq@5F48 = 40CDC9F1F1C860E6</action>
<action>maincpu.mq@5F50 = 5F40CDC900FE795F</action>
<action>maincpu.mq@5F58 = FFFFFFFFC925F411</action>
<!--
5F40 | DD 7D : ld a,ixl // common check routine
5F42 | FE 80 : cp $80
5F44 | C0 : ret nz
5F45 | 3A 26 60 : ld a,($6026) // read input
5F48 | E6 60 : and $60
5F4A | C8 : ret z
5F4B | F1 : pop af
5F4C | F1 : pop af
5F4D | C9 : ret
5F4E | CD 30 5F : call $5F40 // up
5F51 | 79 : ld a,c
5F52 | FE 00 : cp $00
5F54 | C9 : ret
5F55 | CD 30 5F : call $5F40 // down
5F58 | 11 F4 25 : ld de,$25F4
5F5B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@0DE4 = C0 </action>
<action>maincpu.mb@0DF0 = C0 </action>
<action>maincpu.md@0B37 = C000FE79 </action>
<action>maincpu.md@2617 = 0625F411 </action>
<action>maincpu.mq@5F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F58 = 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@24A2 = 5F60 </action>
<action>maincpu.mq@5F60 = 0021FBA00032013E</action>
<action>maincpu.mq@5F68 = 47B860263A2F1861</action>
<action>maincpu.mq@5F70 = FE35012008FEF928</action>
<action>maincpu.mq@5F78 = 042040FE34012010</action>
<action>maincpu.mq@5F80 = 052020FE0618F03E</action>
<action>maincpu.mq@5F88 = 2080FE787786103E</action>
<action>maincpu.mq@5F90 = 04FE785FA5CD7E05</action>
<action>maincpu.mq@5F98 = 083E5FA5CDAF0920</action>
<action>maincpu.mq@5FA0 = CE21D9C6185FA5CD</action>
<action>maincpu.mq@5FA8 = 56235E6F8587F55F</action>
<action>maincpu.mq@5FB0 = 4022093008FEF1EB</action>
<action>maincpu.mq@5FB8 = 110D18614232AF61</action>
<action>maincpu.mq@5FC0 = 3EB0ED000601A800</action>
<action>maincpu.mq@5FC8 = 513CC9D9A8033201</action>
<action>maincpu.mq@5FD0 = 5B3850005BA85B78</action>
<action>maincpu.mq@5FD8 = 3F3F5B945B685200</action>
<action>maincpu.mq@5FE0 = 3F033EFD3F393F15</action>
<action>maincpu.mq@5FE8 = 3F333F2D3F333F45</action>
<action>maincpu.mq@5FF0 = 3F093EF73F1B3F27</action>
<action>maincpu.mq@5FF8 = FFFFFFFF3F4B3F1B</action>
<!--
5F60 | 3E 01 : ld a,$01 // enable interrupt
5F62 | 32 00 A0 : ld ($A000),a
5F65 | FB : ei
5F66 | 21 00 61 : ld hl,$6100 // sound code address
5F69 | 18 2F : jr $5F9A
5F6B | 3A 26 60 : ld a,($6026) // read input
5F6E | B8 : cp b
5F6F | 47 : ld b,a
5F70 | 28 F9 : jr z,$5F6B
5F72 | FE 08 : cp $08
5F74 | 20 01 : jr nz,$5F77
5F76 | 35 : dec (hl) // decrease code -01
5F77 | FE 10 : cp $10
5F79 | 20 01 : jr nz,$5F7C
5F7B | 34 : inc (hl) // increase code +01
5F7C | FE 40 : cp $40
5F7E | 20 04 : jr nz,$5F84
5F80 | 3E F0 : ld a,$F0 // decrease code +10
5F82 | 18 06 : jr $5F8A
5F84 | FE 20 : cp $20
5F86 | 20 05 : jr nz,$5F8D
5F88 | 3E 10 : ld a,$10 // increase code -10
5F8A | 86 : add a,(hl)
5F8B | 77 : ld (hl),a
5F8C | 78 : ld a,b
5F8D | FE 80 : cp $80
5F8F | 20 05 : jr nz,$5F96
5F91 | 7E : ld a,(hl) // play sound
5F92 | CD A5 5F : call $5FA5
5F95 | 78 : ld a,b
5F96 | FE 04 : cp $04
5F98 | 20 09 : jr nz,$5FA3
5F9A | AF : xor a // stop sound
5F9B | CD A5 5F : call $5FA5
5F9E | 3E 08 : ld a,$08
5FA0 | CD A5 5F : call $5FA5
5FA3 | 18 C6 : jr $5F6B
5FA5 | D9 : exx // sound code conversion routine
5FA6 | 21 CE 5F : ld hl,$5FCE
5FA9 | F5 : push af
5FAA | 87 : add a,a
5FAB | 85 : add a,l
5FAC | 6F : ld l,a
5FAD | 5E : ld e,(hl)
5FAE | 23 : inc hl
5FAF | 56 : ld d,(hl)
5FB0 | EB : ex de,hl
5FB1 | F1 : pop af
5FB2 | FE 08 : cp $08
5FB4 | 30 09 : jr nc,$5FBF
5FB6 | 22 40 61 : ld ($6140),hl
5FB9 | AF : xor a
5FBA | 32 42 61 : ld ($6142),a
5FBD | 18 0D : jr $5FCC
5FBF | 11 00 A8 : ld de,$A800
5FC2 | 01 06 00 : ld bc,$0006
5FC5 | ED B0 : ldir
5FC7 | 3E 01 : ld a,$01
5FC9 | 32 03 A8 : ld ($A803),a
5FCC | D9 : exx
5FCD | C9 : ret
5FCE - 5FFB : sound code/address conversion table
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@6100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@24A2 = 121C </action>
<action>maincpu.mq@5F60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FD0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FD8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FF8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
bagmans4.xml
Code: Select all
<!-- Bagman (Stern Electronics, revision A4) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@127C = 18</action> <!-- enemy -->
<action>maincpu.mb@12A7 = 18</action> <!-- enemy -->
<action>maincpu.mb@1635 = 18</action> <!-- elevator -->
<action>maincpu.mb@1DE5 = 18</action> <!-- trolley -->
<action>maincpu.mb@1E47 = 00</action> <!-- fall down -->
<action>maincpu.mb@1E63 = 00</action> <!-- fall down in elevator -->
</script>
<script state="off">
<action>maincpu.mb@127C = 20</action>
<action>maincpu.mb@12A7 = 20</action>
<action>maincpu.mb@1635 = 20</action>
<action>maincpu.mb@1DE5 = 30</action>
<action>maincpu.mb@1E47 = 01</action>
<action>maincpu.mb@1E63 = 0C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@382A = 3E5F10CD </action> <!-- title -->
<action>maincpu.md@3850 = CD5F10CD </action> <!-- title -->
<action>maincpu.md@386D = 3E5F10CD </action> <!-- title -->
<action>maincpu.md@389D = 3E5F10CD </action> <!-- title -->
<action>maincpu.md@3B39 = AF5F10CD </action> <!-- level finish -->
<action>maincpu.md@01F2 = 3A5F2ACC </action>
<action>maincpu.md@0218 = 3A5F35CD </action>
<action>maincpu.mq@5F10 = 670032013E602632</action>
<action>maincpu.mq@5F18 = 0032AFF567003AC9</action>
<action>maincpu.mq@5F20 = 0602200106A7F167</action>
<action>maincpu.mq@5F28 = C7CDC55F19CDC900</action>
<action>maincpu.mq@5F30 = 5F19CDC9F910C10D</action>
<action>maincpu.mq@5F38 = C9F910C10B6DCDC5</action>
<!--
5F10 | 32 26 60 : ld ($6026),a // flag set routine
5F13 | 3E 01 : ld a,$01
5F15 | 32 00 67 : ld ($6700),a
5F18 | C9 : ret
5F19 | 3A 00 67 : ld a,($6700) // flag check routine
5F1C | F5 : push af
5F1D | AF : xor a
5F1E | 32 00 67 : ld ($6700),a
5F21 | F1 : pop af
5F22 | A7 : and a
5F23 | 06 01 : ld b,$01
5F25 | 20 02 : jr nz,$5F29
5F27 | 06 xx : ld b,$xx
5F29 | C9 : ret
5F2A | CD 19 5F : call $5F19
5F2D | C5 : push bc
5F2E | CD C7 0D : call $0DC7
5F31 | C1 : pop bc
5F32 | 10 F9 : djnz $5F2D
5F34 | C9 : ret
5F35 | CD 19 5F : call $5F19
5F38 | C5 : push bc
5F39 | CD 6D 0B : call $0B6D
5F3C | C1 : pop bc
5F3D | 10 F9 : djnz $5F38
5F3F | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@5F28 = param</action>
</script>
<script state="off">
<action>maincpu.md@382A = 3E602632 </action>
<action>maincpu.md@3850 = CD602632 </action>
<action>maincpu.md@386D = 3E602632 </action>
<action>maincpu.md@389D = 3E602632 </action>
<action>maincpu.md@3B39 = AF602632 </action>
<action>maincpu.md@01F2 = 3A0DC7CC </action>
<action>maincpu.md@0218 = 3A0B6DCD </action>
<action>maincpu.mq@5F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F38 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="invisible ladder">
<script state="on">
<action>maincpu.mb@0DE4 = 00 </action> <!-- up -->
<action>maincpu.mb@0DF0 = 00 </action> <!-- down -->
<action>maincpu.md@0B37 = C05F4ECD </action> <!-- up -->
<action>maincpu.md@2617 = 065F55CD </action> <!-- down -->
<action>maincpu.mq@5F40 = 60263AC080FE7DDD</action>
<action>maincpu.mq@5F48 = 40CDC9F1F1C860E6</action>
<action>maincpu.mq@5F50 = 5F40CDC900FE795F</action>
<action>maincpu.mq@5F58 = FFFFFFFFC925F411</action>
<!--
5F40 | DD 7D : ld a,ixl // common check routine
5F42 | FE 80 : cp $80
5F44 | C0 : ret nz
5F45 | 3A 26 60 : ld a,($6026) // read input
5F48 | E6 60 : and $60
5F4A | C8 : ret z
5F4B | F1 : pop af
5F4C | F1 : pop af
5F4D | C9 : ret
5F4E | CD 30 5F : call $5F40 // up
5F51 | 79 : ld a,c
5F52 | FE 00 : cp $00
5F54 | C9 : ret
5F55 | CD 30 5F : call $5F40 // down
5F58 | 11 F4 25 : ld de,$25F4
5F5B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@0DE4 = C0 </action>
<action>maincpu.mb@0DF0 = C0 </action>
<action>maincpu.md@0B37 = C000FE79 </action>
<action>maincpu.md@2617 = 0625F411 </action>
<action>maincpu.mq@5F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F58 = 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@24A2 = 5F60 </action>
<action>maincpu.mq@5F60 = 0021FBA00032013E</action>
<action>maincpu.mq@5F68 = 47B860263A2F1861</action>
<action>maincpu.mq@5F70 = FE35012008FEF928</action>
<action>maincpu.mq@5F78 = 042040FE34012010</action>
<action>maincpu.mq@5F80 = 052020FE0618F03E</action>
<action>maincpu.mq@5F88 = 2080FE787786103E</action>
<action>maincpu.mq@5F90 = 04FE785FA5CD7E05</action>
<action>maincpu.mq@5F98 = 083E5FA5CDAF0920</action>
<action>maincpu.mq@5FA0 = CE21D9C6185FA5CD</action>
<action>maincpu.mq@5FA8 = 56235E6F8587F55F</action>
<action>maincpu.mq@5FB0 = 4022093008FEF1EB</action>
<action>maincpu.mq@5FB8 = 110D18614232AF61</action>
<action>maincpu.mq@5FC0 = 3EB0ED000601A800</action>
<action>maincpu.mq@5FC8 = 513CC9D9A8033201</action>
<action>maincpu.mq@5FD0 = 5B3850005BA85B78</action>
<action>maincpu.mq@5FD8 = 3F3F5B945B685200</action>
<action>maincpu.mq@5FE0 = 3F033EFD3F393F15</action>
<action>maincpu.mq@5FE8 = 3F333F2D3F333F45</action>
<action>maincpu.mq@5FF0 = 3F093EF73F1B3F27</action>
<action>maincpu.mq@5FF8 = FFFFFFFF3F4B3F1B</action>
<!--
5F60 | 3E 01 : ld a,$01 // enable interrupt
5F62 | 32 00 A0 : ld ($A000),a
5F65 | FB : ei
5F66 | 21 00 61 : ld hl,$6100 // sound code address
5F69 | 18 2F : jr $5F9A
5F6B | 3A 26 60 : ld a,($6026) // read input
5F6E | B8 : cp b
5F6F | 47 : ld b,a
5F70 | 28 F9 : jr z,$5F6B
5F72 | FE 08 : cp $08
5F74 | 20 01 : jr nz,$5F77
5F76 | 35 : dec (hl) // decrease code -01
5F77 | FE 10 : cp $10
5F79 | 20 01 : jr nz,$5F7C
5F7B | 34 : inc (hl) // increase code +01
5F7C | FE 40 : cp $40
5F7E | 20 04 : jr nz,$5F84
5F80 | 3E F0 : ld a,$F0 // decrease code +10
5F82 | 18 06 : jr $5F8A
5F84 | FE 20 : cp $20
5F86 | 20 05 : jr nz,$5F8D
5F88 | 3E 10 : ld a,$10 // increase code -10
5F8A | 86 : add a,(hl)
5F8B | 77 : ld (hl),a
5F8C | 78 : ld a,b
5F8D | FE 80 : cp $80
5F8F | 20 05 : jr nz,$5F96
5F91 | 7E : ld a,(hl) // play sound
5F92 | CD A5 5F : call $5FA5
5F95 | 78 : ld a,b
5F96 | FE 04 : cp $04
5F98 | 20 09 : jr nz,$5FA3
5F9A | AF : xor a // stop sound
5F9B | CD A5 5F : call $5FA5
5F9E | 3E 08 : ld a,$08
5FA0 | CD A5 5F : call $5FA5
5FA3 | 18 C6 : jr $5F6B
5FA5 | D9 : exx // sound code conversion routine
5FA6 | 21 CE 5F : ld hl,$5FCE
5FA9 | F5 : push af
5FAA | 87 : add a,a
5FAB | 85 : add a,l
5FAC | 6F : ld l,a
5FAD | 5E : ld e,(hl)
5FAE | 23 : inc hl
5FAF | 56 : ld d,(hl)
5FB0 | EB : ex de,hl
5FB1 | F1 : pop af
5FB2 | FE 08 : cp $08
5FB4 | 30 09 : jr nc,$5FBF
5FB6 | 22 40 61 : ld ($6140),hl
5FB9 | AF : xor a
5FBA | 32 42 61 : ld ($6142),a
5FBD | 18 0D : jr $5FCC
5FBF | 11 00 A8 : ld de,$A800
5FC2 | 01 06 00 : ld bc,$0006
5FC5 | ED B0 : ldir
5FC7 | 3E 01 : ld a,$01
5FC9 | 32 03 A8 : ld ($A803),a
5FCC | D9 : exx
5FCD | C9 : ret
5FCE - 5FFB : sound code/address conversion table
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@6100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@24A2 = 121C </action>
<action>maincpu.mq@5F60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5F98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FD0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FD8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@5FF8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
bagmans3.xml
Code: Select all
<!-- Bagman (Stern Electronics, revision A3) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1279 = 18</action> <!-- enemy -->
<action>maincpu.mb@12A4 = 18</action> <!-- enemy -->
<action>maincpu.mb@162B = 18</action> <!-- elevator -->
<action>maincpu.mb@1DCF = 18</action> <!-- trolley -->
<action>maincpu.mb@1E31 = 00</action> <!-- fall down -->
<action>maincpu.mb@1E4D = 00</action> <!-- fall down in elevator -->
</script>
<script state="off">
<action>maincpu.mb@1279 = 20</action>
<action>maincpu.mb@12A4 = 20</action>
<action>maincpu.mb@162B = 20</action>
<action>maincpu.mb@1DCF = 30</action>
<action>maincpu.mb@1E31 = 01</action>
<action>maincpu.mb@1E4D = 0C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@382A = 3E4DA0CD </action> <!-- title -->
<action>maincpu.md@3850 = CD4DA0CD </action> <!-- title -->
<action>maincpu.md@386D = 3E4DA0CD </action> <!-- title -->
<action>maincpu.md@389D = 3E4DA0CD </action> <!-- title -->
<action>maincpu.md@3B39 = AF4DA0CD </action> <!-- level finish -->
<action>maincpu.md@01F2 = 3A4DBACC </action>
<action>maincpu.md@0218 = 3A4DC5CD </action>
<action>maincpu.mq@4DA0 = 670032013E602632</action>
<action>maincpu.mq@4DA8 = 0032AFF567003AC9</action>
<action>maincpu.mq@4DB0 = 0602200106A7F167</action>
<action>maincpu.mq@4DB8 = 17CDC54DA9CDC900</action>
<action>maincpu.mq@4DC0 = 4DA9CDC9F910C10E</action>
<action>maincpu.mq@4DC8 = C9F910C10BBDCDC5</action>
<!--
4DA0 | 32 26 60 : ld ($6026),a // flag set routine
4DA3 | 3E 01 : ld a,$01
4DA5 | 32 00 67 : ld ($6700),a
4DA8 | C9 : ret
4DA9 | 3A 00 67 : ld a,($6700) // flag check routine
4DAC | F5 : push af
4DAD | AF : xor a
4DAE | 32 00 67 : ld ($6700),a
4DB1 | F1 : pop af
4DB2 | A7 : and a
4DB3 | 06 01 : ld b,$01
4DB5 | 20 02 : jr nz,$4DB9
4DB7 | 06 xx : ld b,$xx
4DB9 | C9 : ret
4DBA | CD A9 4D : call $4DA9
4DBD | C5 : push bc
4DBE | CD 17 0E : call $0E17
4DC1 | C1 : pop bc
4DC2 | 10 F9 : djnz $4DBD
4DC4 | C9 : ret
4DC5 | CD A9 4D : call $4DA9
4DC8 | C5 : push bc
4DC9 | CD BD 0B : call $0BBD
4DCC | C1 : pop bc
4DCD | 10 F9 : djnz $4DC8
4DCF | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@4DB8 = param</action>
</script>
<script state="off">
<action>maincpu.md@382A = 3E602632 </action>
<action>maincpu.md@3850 = CD602632 </action>
<action>maincpu.md@386D = 3E602632 </action>
<action>maincpu.md@389D = 3E602632 </action>
<action>maincpu.md@3B39 = AF602632 </action>
<action>maincpu.md@01F2 = 3A0E17CC </action>
<action>maincpu.md@0218 = 3A0BBDCD </action>
<action>maincpu.mq@4DA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DC8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="invisible ladder">
<script state="on">
<action>maincpu.mb@0E34 = 00 </action> <!-- up -->
<action>maincpu.mb@0E40 = 00 </action> <!-- down -->
<action>maincpu.md@0B87 = C04DDECD </action> <!-- up -->
<action>maincpu.md@268E = 064DE5CD </action> <!-- down -->
<action>maincpu.mq@4DD0 = 60263AC080FE7DDD</action>
<action>maincpu.mq@4DD8 = D0CDC9F1F1C860E6</action>
<action>maincpu.mq@4DE0 = 4DD0CDC900FE794D</action>
<action>maincpu.mq@4DE8 = FFFFFFFFC9266B11</action>
<!--
4DD0 | DD 7D : ld a,ixl // common check routine
4DD2 | FE 80 : cp $80
4DD4 | C0 : ret nz
4DD5 | 3A 26 60 : ld a,($6026) // read input
4DD8 | E6 60 : and $60
4DDA | C8 : ret z
4DDB | F1 : pop af
4DDC | F1 : pop af
4DDD | C9 : ret
4DDE | CD D0 4D : call $4DD0 // up
4DE1 | 79 : ld a,c
4DE2 | FE 00 : cp $00
4DE4 | C9 : ret
4DE5 | CD D0 4D : call $4DD0 // down
4DE8 | 11 F4 25 : ld de,$266B
4DEB | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@0E34 = C0 </action>
<action>maincpu.mb@0E40 = C0 </action>
<action>maincpu.md@0B87 = C000FE79 </action>
<action>maincpu.md@268E = 06266B11 </action>
<action>maincpu.mq@4DD0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DD8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DE8 = 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@2522 = 4DF0 </action>
<action>maincpu.mq@4DF0 = 0021FBA00032013E</action>
<action>maincpu.mq@4DF8 = 47B860263A2F1861</action>
<action>maincpu.mq@4E00 = FE35012008FEF928</action>
<action>maincpu.mq@4E08 = 042040FE34012010</action>
<action>maincpu.mq@4E10 = 052020FE0618F03E</action>
<action>maincpu.mq@4E18 = 2080FE787786103E</action>
<action>maincpu.mq@4E20 = 04FE784E35CD7E05</action>
<action>maincpu.mq@4E28 = 083E4E35CDAF0920</action>
<action>maincpu.mq@4E30 = 5E21D9C6184E35CD</action>
<action>maincpu.mq@4E38 = 56235E6F8587F54E</action>
<action>maincpu.mq@4E40 = 4022093008FEF1EB</action>
<action>maincpu.mq@4E48 = 110D18614232AF61</action>
<action>maincpu.mq@4E50 = 3EB0ED000601A800</action>
<action>maincpu.mq@4E58 = 513CC9D9A8033201</action>
<action>maincpu.mq@4E60 = 5B3850005BA85B78</action>
<action>maincpu.mq@4E68 = 3F3F5B945B685200</action>
<action>maincpu.mq@4E70 = 3F033EFD3F393F15</action>
<action>maincpu.mq@4E78 = 3F333F2D3F333F45</action>
<action>maincpu.mq@4E80 = 3F093EF73F1B3F27</action>
<action>maincpu.mq@4E88 = FFFFFFFF3F4B3F1B</action>
<!--
4DF0 | 3E 01 : ld a,$01 // enable interrupt
4DF2 | 32 00 A0 : ld ($A000),a
4DF5 | FB : ei
4DF6 | 21 00 61 : ld hl,$6100 // sound code address
4DF9 | 18 2F : jr $4E2A
4DFB | 3A 26 60 : ld a,($6026) // read input
4DFE | B8 : cp b
4DFF | 47 : ld b,a
4E00 | 28 F9 : jr z,$4DFB
4E02 | FE 08 : cp $08
4E04 | 20 01 : jr nz,$4E07
4E06 | 35 : dec (hl) // decrease code -01
4E07 | FE 10 : cp $10
4E09 | 20 01 : jr nz,$4E0C
4E0B | 34 : inc (hl) // increase code +01
4E0C | FE 40 : cp $40
4E0E | 20 04 : jr nz,$4E14
4E10 | 3E F0 : ld a,$F0 // decrease code +10
4E12 | 18 06 : jr $4E1A
4E14 | FE 20 : cp $20
4E16 | 20 05 : jr nz,$4E1D
4E18 | 3E 10 : ld a,$10 // increase code -10
4E1A | 86 : add a,(hl)
4E1B | 77 : ld (hl),a
4E1C | 78 : ld a,b
4E1D | FE 80 : cp $80
4E1F | 20 05 : jr nz,$4E26
4E21 | 7E : ld a,(hl) // play sound
4E22 | CD 35 4E : call $4E35
4E25 | 78 : ld a,b
4E26 | FE 04 : cp $04
4E28 | 20 09 : jr nz,$4E33
4E2A | AF : xor a // stop sound
4E2B | CD 35 4E : call $4E35
4E2E | 3E 08 : ld a,$08
4E30 | CD 35 4E : call $4E35
4E33 | 18 C6 : jr $4DFB
4E35 | D9 : exx // sound code conversion routine
4E36 | 21 5E 4E : ld hl,$4E5E
4E39 | F5 : push af
4E3A | 87 : add a,a
4E3B | 85 : add a,l
4E3C | 6F : ld l,a
4E3D | 5E : ld e,(hl)
4E3E | 23 : inc hl
4E3F | 56 : ld d,(hl)
4E40 | EB : ex de,hl
4E41 | F1 : pop af
4E42 | FE 08 : cp $08
4E44 | 30 09 : jr nc,$4E4F
4E46 | 22 40 61 : ld ($6140),hl
4E49 | AF : xor a
4E4A | 32 42 61 : ld ($6142),a
4E4D | 18 0D : jr $4E5C
4E4F | 11 00 A8 : ld de,$A800
4E52 | 01 06 00 : ld bc,$0006
4E55 | ED B0 : ldir
4E57 | 3E 01 : ld a,$01
4E59 | 32 03 A8 : ld ($A803),a
4E5C | D9 : exx
4E5D | C9 : ret
4E5E - 4E8B : sound code/address conversion table
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@6100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@2522 = 121C </action>
<action>maincpu.mq@4DF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4DF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4E88 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>