changes.xml
Code: Select all
<!-- Changes -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2AFD = 00</action> <!-- enemy -->
<action>maincpu.mb@2B1C = 00</action> <!-- bird -->
</script>
<script state="off">
<action>maincpu.mb@2AFD = 40</action>
<action>maincpu.mb@2B1C = 40</action>
</script>
</cheat>
<cheat desc="move manually">
<script state="on">
<action>maincpu.mw@350D = 49A0 </action>
<action>maincpu.mq@49A0 = 2AC478A780B13A47</action>
<action>maincpu.mq@49A8 = FFFFFFFFFFFFC936</action>
<!--
49A0 | 47 : ld b,a
49A1 | 3A B1 80 : ld a,($80B1)
49A4 | A7 : and a
49A5 | 78 : ld a,b
49A6 | C4 2A 36 : call nz,$362A
49A9 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@350D = 362A </action>
<action>maincpu.mq@49A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49A8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@0102 = 04 </action> <!-- enable vblank sequence -->
<action>maincpu.mb@019F = 00 </action> <!-- enable sound -->
<action>maincpu.mw@063C = 49B0 </action>
<action>maincpu.mq@49B0 = 01210215CD07D4CD</action>
<action>maincpu.mq@49B8 = 3A470CE6B8003A81</action>
<action>maincpu.mq@49C0 = F52BC877BEB0A800</action>
<action>maincpu.mq@49C8 = 2080FE35012040FE</action>
<action>maincpu.mq@49D0 = F03E042002FE3401</action>
<action>maincpu.mq@49D8 = 103E042001FE0618</action>
<action>maincpu.mq@49E0 = 7E032004FEF17786</action>
<action>maincpu.mq@49E8 = CDF23EC008FE0518</action>
<action>maincpu.mq@49F0 = FFFFFFFFFFC90056</action>
<!--
49B0 | CD D4 07 : call $07D4
49B3 | CD 15 02 : call $0215
49B6 | 21 01 81 : ld hl,$8101 // temporary input address
49B9 | 3A 00 B8 : ld a,($B800) // read start button
49BC | E6 0C : and $0C
49BE | 47 : ld b,a
49BF | 3A 00 A8 : ld a,($A800) // read other inputs
49C2 | B0 : or b
49C3 | BE : cp (hl)
49C4 | 77 : ld (hl),a
49C5 | C8 : ret z
49C6 | 2B : dec hl // sound code address ($8100)
49C7 | F5 : push af
49C8 | FE 40 : cp $40
49CA | 20 01 : jr nz,$49CD
49CC | 35 : dec (hl) // decrease code -01
49CD | FE 80 : cp $80
49CF | 20 01 : jr nz,$49D2
49D1 | 34 : inc (hl) // increase code +01
49D2 | FE 02 : cp $02
49D4 | 20 04 : jr nz,$49DA
49D6 | 3E F0 : ld a,$F0 // decrease code -10
49D8 | 18 06 : jr $49E0
49DA | FE 01 : cp $01
49DC | 20 04 : jr nz,$49E2
49DE | 3E 10 : ld a,$10 // increase code +10
49E0 | 86 : add a,(hl)
49E1 | 77 : ld (hl),a
49E2 | F1 : pop af
49E3 | FE 04 : cp $04
49E5 | 20 03 : jr nz,$49EA
49E7 | 7E : ld a,(hl) // play sound
49E8 | 18 05 : jr $49EF
49EA | FE 08 : cp $08
49EC | C0 : ret nz
49ED | 3E F2 : ld a,$F2 // stop sound
49EF | CD 56 00 : call $0056 // send sound code
49F2 | C9 : ret
-->
</script>
<script state="run">
<output format="----- changes 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="1P start : play sound" line="15" align="center" />
<output format="2P 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@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@0102 = 85 </action>
<action>maincpu.mb@019F = 18 </action>
<action>maincpu.mw@063C = 063E </action>
<action>maincpu.mq@49B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49F0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0005 = 0529</action>
</script>
<script state="off">
<action>maincpu.mw@0005 = 47CE</action>
</script>
</cheat>
</mamecheat>
changesa.xml
Code: Select all
<!-- Changes (EME license) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2AFD = 00</action> <!-- enemy -->
<action>maincpu.mb@2B1C = 00</action> <!-- bird -->
</script>
<script state="off">
<action>maincpu.mb@2AFD = 40</action>
<action>maincpu.mb@2B1C = 40</action>
</script>
</cheat>
<cheat desc="move manually">
<script state="on">
<action>maincpu.mw@350D = 49D0 </action>
<action>maincpu.mq@49D0 = 2AC478A780B13A47</action>
<action>maincpu.mq@49D8 = FFFFFFFFFFFFC936</action>
<!--
49D0 | 47 : ld b,a
49D1 | 3A B1 80 : ld a,($80B1)
49D4 | A7 : and a
49D5 | 78 : ld a,b
49D6 | C4 2A 36 : call nz,$362A
49D9 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@350D = 362A </action>
<action>maincpu.mq@49D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@0102 = 04 </action> <!-- enable vblank sequence -->
<action>maincpu.mb@019F = 00 </action> <!-- enable sound -->
<action>maincpu.mw@063C = 49E0 </action>
<action>maincpu.mq@49E0 = 01210215CD07D4CD</action>
<action>maincpu.mq@49E8 = 3A470CE6B8003A81</action>
<action>maincpu.mq@49F0 = F52BC877BEB0A800</action>
<action>maincpu.mq@49F8 = 2080FE35012040FE</action>
<action>maincpu.mq@4A00 = F03E042002FE3401</action>
<action>maincpu.mq@4A08 = 103E042001FE0618</action>
<action>maincpu.mq@4A10 = 7E032004FEF17786</action>
<action>maincpu.mq@4A18 = CDF23EC008FE0518</action>
<action>maincpu.mq@4A20 = FFFFFFFFFFC90056</action>
<!--
49E0 | CD D4 07 : call $07D4
49E3 | CD 15 02 : call $0215
49E6 | 21 01 81 : ld hl,$8101 // temporary input address
49E9 | 3A 00 B8 : ld a,($B800) // read start button
49EC | E6 0C : and $0C
49EE | 47 : ld b,a
49EF | 3A 00 A8 : ld a,($A800) // read other inputs
49F2 | B0 : or b
49F3 | BE : cp (hl)
49F4 | 77 : ld (hl),a
49F5 | C8 : ret z
49F6 | 2B : dec hl // sound code address ($8100)
49F7 | F5 : push af
49F8 | FE 40 : cp $40
49FA | 20 01 : jr nz,$49FD
49FC | 35 : dec (hl) // decrease code -01
49FD | FE 80 : cp $80
49FF | 20 01 : jr nz,$4A02
4A01 | 34 : inc (hl) // increase code +01
4A02 | FE 02 : cp $02
4A04 | 20 04 : jr nz,$4A0A
4A06 | 3E F0 : ld a,$F0 // decrease code -10
4A08 | 18 06 : jr $4A10
4A0A | FE 01 : cp $01
4A0C | 20 04 : jr nz,$4A12
4A0E | 3E 10 : ld a,$10 // increase code +10
4A10 | 86 : add a,(hl)
4A11 | 77 : ld (hl),a
4A12 | F1 : pop af
4A13 | FE 04 : cp $04
4A15 | 20 03 : jr nz,$4A1A
4A17 | 7E : ld a,(hl) // play sound
4A18 | 18 05 : jr $4A1F
4A1A | FE 08 : cp $08
4A1C | C0 : ret nz
4A1D | 3E F2 : ld a,$F2 // stop sound
4A1F | CD 56 00 : call $0056 // send sound code
4A22 | C9 : ret
-->
</script>
<script state="run">
<output format="----- changes 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="1P start : play sound" line="15" align="center" />
<output format="2P 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@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@0102 = 85 </action>
<action>maincpu.mb@019F = 18 </action>
<action>maincpu.mw@063C = 063E </action>
<action>maincpu.mq@49E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4A00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4A08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4A10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4A18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@4A20 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0005 = 0529</action>
</script>
<script state="off">
<action>maincpu.mw@0005 = 47CE</action>
</script>
</cheat>
</mamecheat>
looper.xml
Code: Select all
<!-- Looper -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2AFD = 00</action> <!-- enemy -->
<action>maincpu.mb@2B1C = 00</action> <!-- bird -->
</script>
<script state="off">
<action>maincpu.mb@2AFD = 40</action>
<action>maincpu.mb@2B1C = 40</action>
</script>
</cheat>
<cheat desc="move manually">
<script state="on">
<action>maincpu.mw@350D = 49A0 </action>
<action>maincpu.mq@49A0 = 2AC478A780B13A47</action>
<action>maincpu.mq@49A8 = FFFFFFFFFFFFC936</action>
<!--
49A0 | 47 : ld b,a
49A1 | 3A B1 80 : ld a,($80B1)
49A4 | A7 : and a
49A5 | 78 : ld a,b
49A6 | C4 2A 36 : call nz,$362A
49A9 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@350D = 362A </action>
<action>maincpu.mq@49A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49A8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@0102 = 04 </action> <!-- enable vblank sequence -->
<action>maincpu.mb@019F = 00 </action> <!-- enable sound -->
<action>maincpu.mw@063C = 49B0 </action>
<action>maincpu.mq@49B0 = 01210215CD07D4CD</action>
<action>maincpu.mq@49B8 = 3A470CE6B8003A81</action>
<action>maincpu.mq@49C0 = F52BC877BEB0A800</action>
<action>maincpu.mq@49C8 = 2080FE35012040FE</action>
<action>maincpu.mq@49D0 = F03E042002FE3401</action>
<action>maincpu.mq@49D8 = 103E042001FE0618</action>
<action>maincpu.mq@49E0 = 7E032004FEF17786</action>
<action>maincpu.mq@49E8 = CDF23EC008FE0518</action>
<action>maincpu.mq@49F0 = FFFFFFFFFFC90056</action>
<!--
49B0 | CD D4 07 : call $07D4
49B3 | CD 15 02 : call $0215
49B6 | 21 01 81 : ld hl,$8101 // temporary input address
49B9 | 3A 00 B8 : ld a,($B800) // read start button
49BC | E6 0C : and $0C
49BE | 47 : ld b,a
49BF | 3A 00 A8 : ld a,($A800) // read other inputs
49C2 | B0 : or b
49C3 | BE : cp (hl)
49C4 | 77 : ld (hl),a
49C5 | C8 : ret z
49C6 | 2B : dec hl // sound code address ($8100)
49C7 | F5 : push af
49C8 | FE 40 : cp $40
49CA | 20 01 : jr nz,$49CD
49CC | 35 : dec (hl) // decrease code -01
49CD | FE 80 : cp $80
49CF | 20 01 : jr nz,$49D2
49D1 | 34 : inc (hl) // increase code +01
49D2 | FE 02 : cp $02
49D4 | 20 04 : jr nz,$49DA
49D6 | 3E F0 : ld a,$F0 // decrease code -10
49D8 | 18 06 : jr $49E0
49DA | FE 01 : cp $01
49DC | 20 04 : jr nz,$49E2
49DE | 3E 10 : ld a,$10 // increase code +10
49E0 | 86 : add a,(hl)
49E1 | 77 : ld (hl),a
49E2 | F1 : pop af
49E3 | FE 04 : cp $04
49E5 | 20 03 : jr nz,$49EA
49E7 | 7E : ld a,(hl) // play sound
49E8 | 18 05 : jr $49EF
49EA | FE 08 : cp $08
49EC | C0 : ret nz
49ED | 3E F2 : ld a,$F2 // stop sound
49EF | CD 56 00 : call $0056 // send sound code
49F2 | C9 : ret
-->
</script>
<script state="run">
<output format="----- looper 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="1P start : play sound" line="15" align="center" />
<output format="2P 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@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@0102 = 85 </action>
<action>maincpu.mb@019F = 18 </action>
<action>maincpu.mw@063C = 063E </action>
<action>maincpu.mq@49B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@49F0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0005 = 0529</action>
</script>
<script state="off">
<action>maincpu.mw@0005 = 47CE</action>
</script>
</cheat>
</mamecheat>