timescan.xml
Code: Select all
<!-- Time Scanner (set 2, System 16B) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="on">
<action>maincpu.mq@9442 = 4EB90000F9C0327C</action>
<action>maincpu.mq@F9C0 = 303C0106B06E000C</action>
<action>maincpu.mq@F9C8 = 630E3D7C0008002C</action>
<action>maincpu.mq@F9D0 = 3D40000C201F4E75</action>
<action>maincpu.mq@F9D8 = 08EE000300004E75</action>
<!--
F9C0 | 303C 0106 : move.w #$106, D0
F9C4 | B06E 000C : cmp.w ($c,A6), D0
F9C8 | 630E : bls $f9d8
F9CA | 3D7C 0008 002C : move.w #$8, ($2c,A6)
F9D0 | 3D40 000C : move.w D0, ($c,A6)
F9D4 | 201F : move.l (A7)+, D0
F9D6 | 4E75 : rts
F9D8 | 08EE 0003 0000 : bset #$3, ($0,A6)
F9DE | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@9442 = 08EE00030000327C</action>
<action>maincpu.mq@F9C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="control a ball">
<comment>button 1 = move to left, button 2 = move to right, button 3 = rise</comment>
<script state="on">
<action>maincpu.md@7016 = 0000F9E0 </action>
<action>maincpu.mq@F9E0 = 1038C080223C0004</action>
<action>maincpu.mq@F9E8 = 0000080000006704</action>
<action>maincpu.mq@F9F0 = 2D41002C08000002</action>
<action>maincpu.mq@F9F8 = 6608080000016706</action>
<action>maincpu.mq@FA00 = 44812D4100304EF9</action>
<action>maincpu.mq@FA08 = 00010454FFFFFFFF</action>
<!--
F9E0 | 1038 C080 : move.b $c080.w, D0 // read input
F9E4 | 223C 0004 0000 : move.l #$40000, D1
F9EA | 0800 0000 : btst #$0, D0
F9EE | 6704 : beq $f9f4
F9F0 | 2D41 002C : move.l D1, ($2c,A6) // up
F9F4 | 0800 0002 : btst #$2, D0
F9F8 | 6608 : bne $fa02 // right
F9FA | 0800 0001 : btst #$1, D0
F9FE | 6706 : beq $fa06
FA00 | 4481 : neg.l D1 // left
FA02 | 2D41 0030 : move.l D1, ($30,A6)
FA06 | 4EF9 0001 0454 : jmp $10454.l
-->
</script>
<script state="off">
<action>maincpu.md@7016 = 00010454 </action>
<action>maincpu.mq@F9E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F9F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA08 = 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.mq@052E = 4EF90000FA1008B8</action>
<action>maincpu.mq@FA10 = 41F8800043F900FE</action>
<action>maincpu.mq@FA18 = 00071200103900C4</action>
<action>maincpu.mq@FA20 = 1003B20067F40C00</action>
<action>maincpu.mq@FA28 = 007F660253100C00</action>
<action>maincpu.mq@FA30 = 00BF660252100C00</action>
<action>maincpu.mq@FA38 = 00FE660404100010</action>
<action>maincpu.mq@FA40 = 0C0000DF66040610</action>
<action>maincpu.mq@FA48 = 00100C0000FD6602</action>
<action>maincpu.mq@FA50 = 12900C0000FB6602</action>
<action>maincpu.mq@FA58 = 421160BEFFFFFFFF</action>
<!--
FA10 | 41F8 8000 : lea $8000.w, A0 // sound code address ($FF8000)
FA14 | 43F9 00FE 0007 : lea $fe0007.l, A1 // sound latch address
FA1A | 1200 : move.b D0, D1
FA1C | 1039 00C4 1003 : move.b $c41003.l, D0 // read input
FA22 | B200 : cmp.b D0, D1
FA24 | 67F4 : beq $fa1a
FA26 | 0C00 007F : cmpi.b #$7f, D0
FA2A | 6602 : bne $fa2e
FA2C | 5310 : subq.b #1, (A0) // decrease code -01
FA2E | 0C00 00BF : cmpi.b #-$41, D0
FA32 | 6602 : bne $fa36
FA34 | 5210 : addq.b #1, (A0) // increase code +01
FA36 | 0C00 00FE : cmpi.b #-$2, D0
FA3A | 6604 : bne $fa40
FA3C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FA40 | 0C00 00DF : cmpi.b #-$21, D0
FA44 | 6604 : bne $fa4a
FA46 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FA4A | 0C00 00FD : cmpi.b #-$3, D0
FA4E | 6602 : bne $fa52
FA50 | 1290 : move.b (A0), (A1) // play sound
FA52 | 0C00 00FB : cmpi.b #-$5, D0
FA56 | 6602 : bne $fa5a
FA58 | 4211 : clr.b (A1) // stop sound
FA5A | 60BE : bra $fa1a
-->
</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="up : increase code +10" line="13" align="center" />
<output format="button 3 : decrease 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@FF8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@052E = 08B80006C03308B8</action>
<action>maincpu.mq@FA10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FA58 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
timescan3.xml
Code: Select all
<!-- Time Scanner (set 3, Japan, System 16B) (FD1089B 317-0024) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="run">
<action>maincpu.oq@9442 = 4EB90000F9C0327C</action>
<action>maincpu.oq@F9C0 = 303C0106B06E000C</action>
<action>maincpu.oq@F9C8 = 630E3D7C0008002C</action>
<action>maincpu.oq@F9D0 = 3D40000C201F4E75</action>
<action>maincpu.oq@F9D8 = 08EE000300004E75</action>
<!--
F9C0 | 303C 0106 : move.w #$106, D0
F9C4 | B06E 000C : cmp.w ($c,A6), D0
F9C8 | 630E : bls $f9d8
F9CA | 3D7C 0008 002C : move.w #$8, ($2c,A6)
F9D0 | 3D40 000C : move.w D0, ($c,A6)
F9D4 | 201F : move.l (A7)+, D0
F9D6 | 4E75 : rts
F9D8 | 08EE 0003 0000 : bset #$3, ($0,A6)
F9DE | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.oq@9442 = 08EE00030000327C</action>
<action>maincpu.oq@F9C0 = F7BF43BFF7BF43BF</action>
<action>maincpu.oq@F9C8 = EBF747BFEBF747BF</action>
<action>maincpu.oq@F9D0 = F7BF43BFF7BF43BF</action>
<action>maincpu.oq@F9D8 = EBF747BFEBF747BF</action>
</script>
</cheat>
<cheat desc="control a ball">
<comment>button 1 = move to left, button 2 = move to right, button 3 = rise</comment>
<script state="run">
<action>maincpu.od@7016 = 0000F9E0 </action>
<action>maincpu.oq@F9E0 = 1038C080223C0004</action>
<action>maincpu.oq@F9E8 = 0000080000006704</action>
<action>maincpu.oq@F9F0 = 2D41002C08000002</action>
<action>maincpu.oq@F9F8 = 6608080000016706</action>
<action>maincpu.oq@FA00 = 44812D4100304EF9</action>
<action>maincpu.oq@FA08 = 00010454FFFFFFFF</action>
<!--
F9E0 | 1038 C080 : move.b $c080.w, D0 // read input
F9E4 | 223C 0004 0000 : move.l #$40000, D1
F9EA | 0800 0000 : btst #$0, D0
F9EE | 6704 : beq $f9f4
F9F0 | 2D41 002C : move.l D1, ($2c,A6) // up
F9F4 | 0800 0002 : btst #$2, D0
F9F8 | 6608 : bne $fa02 // right
F9FA | 0800 0001 : btst #$1, D0
F9FE | 6706 : beq $fa06
FA00 | 4481 : neg.l D1 // left
FA02 | 2D41 0030 : move.l D1, ($30,A6)
FA06 | 4EF9 0001 0454 : jmp $10454.l
-->
</script>
<script state="off">
<action>maincpu.od@7016 = 00010454 </action>
<action>maincpu.oq@F9E0 = CBBF1FFFCBBF1FFF</action>
<action>maincpu.oq@F9E8 = 27FF8FB727FF8FB7</action>
<action>maincpu.oq@F9F0 = CBBF1FFFCBBF1FFF</action>
<action>maincpu.oq@F9F8 = 27FF8FB727FF8FB7</action>
<action>maincpu.oq@FA00 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FA08 = 2BFFD7BF2BFFD7BF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="run">
<!-- routine -->
<action>maincpu.oq@052E = 4EF90000FA1008B8</action>
<action>maincpu.oq@FA10 = 41F8800043F900FE</action>
<action>maincpu.oq@FA18 = 00071200103900C4</action>
<action>maincpu.oq@FA20 = 1003B20067F40C00</action>
<action>maincpu.oq@FA28 = 007F660253100C00</action>
<action>maincpu.oq@FA30 = 00BF660252100C00</action>
<action>maincpu.oq@FA38 = 00FE660404100010</action>
<action>maincpu.oq@FA40 = 0C0000DF66040610</action>
<action>maincpu.oq@FA48 = 00100C0000FD6602</action>
<action>maincpu.oq@FA50 = 12900C0000FB6602</action>
<action>maincpu.oq@FA58 = 421160BEFFFFFFFF</action>
<!--
FA10 | 41F8 8000 : lea $8000.w, A0 // sound code address ($FF8000)
FA14 | 43F9 00FE 0007 : lea $fe0007.l, A1 // sound latch address
FA1A | 1200 : move.b D0, D1
FA1C | 1039 00C4 1003 : move.b $c41003.l, D0 // read input
FA22 | B200 : cmp.b D0, D1
FA24 | 67F4 : beq $fa1a
FA26 | 0C00 007F : cmpi.b #$7f, D0
FA2A | 6602 : bne $fa2e
FA2C | 5310 : subq.b #1, (A0) // decrease code -01
FA2E | 0C00 00BF : cmpi.b #-$41, D0
FA32 | 6602 : bne $fa36
FA34 | 5210 : addq.b #1, (A0) // increase code +01
FA36 | 0C00 00FE : cmpi.b #-$2, D0
FA3A | 6604 : bne $fa40
FA3C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FA40 | 0C00 00DF : cmpi.b #-$21, D0
FA44 | 6604 : bne $fa4a
FA46 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FA4A | 0C00 00FD : cmpi.b #-$3, D0
FA4E | 6602 : bne $fa52
FA50 | 1290 : move.b (A0), (A1) // play sound
FA52 | 0C00 00FB : cmpi.b #-$5, D0
FA56 | 6602 : bne $fa5a
FA58 | 4211 : clr.b (A1) // stop sound
FA5A | 60BE : bra $fa1a
-->
<!-- display -->
<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="up : increase code +10" line="13" align="center" />
<output format="button 3 : decrease 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@FF8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.oq@052E = 08B80006C03308B8</action>
<action>maincpu.oq@FA10 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FA18 = 2BFFD7BF2BFFD7BF</action>
<action>maincpu.oq@FA20 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FA28 = 57BF77FF57BF77FF</action>
<action>maincpu.oq@FA30 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FA38 = 57BF77FF57BF77FF</action>
<action>maincpu.oq@FA40 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FA48 = 2BFFD7BF2BFFD7BF</action>
<action>maincpu.oq@FA50 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FA58 = 2BFFD7BF2BFFD7BF</action>
</script>
</cheat>
</mamecheat>
timescan1.xml
Code: Select all
<!-- Time Scanner (set 1, System 16A, FD1089B 317-0024) -->
<mamecheat version="1">
<cheat desc="keep a ball">
<script state="run">
<action>maincpu.oq@9478 = 4EB90000FB60327C</action>
<action>maincpu.oq@FB60 = 303C0106B06E000C</action>
<action>maincpu.oq@FB68 = 630E3D7C0008002C</action>
<action>maincpu.oq@FB70 = 3D40000C201F4E75</action>
<action>maincpu.oq@FB78 = 08EE000300004E75</action>
<!--
FB60 | 303C 0106 : move.w #$106, D0
FB64 | B06E 000C : cmp.w ($c,A6), D0
FB68 | 630E : bls $fb78
FB6A | 3D7C 0008 002C : move.w #$8, ($2c,A6)
FB70 | 3D40 000C : move.w D0, ($c,A6)
FB74 | 201F : move.l (A7)+, D0
FB76 | 4E75 : rts
FB78 | 08EE 0003 0000 : bset #$3, ($0,A6)
FB7E | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.oq@9478 = 08EE00030000327C</action>
<action>maincpu.oq@FB60 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FB68 = 57BF77FF57BF77FF</action>
<action>maincpu.oq@FB70 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FB78 = 57BF77FF57BF77FF</action>
</script>
</cheat>
<cheat desc="control a ball">
<comment>button 1 = move to left, button 2 = move to right, button 3 = rise</comment>
<script state="run">
<action>maincpu.od@703C = 0000FB80 </action>
<action>maincpu.oq@FB80 = 1038C080223C0004</action>
<action>maincpu.oq@FB88 = 0000080000006704</action>
<action>maincpu.oq@FB90 = 2D41002C08000002</action>
<action>maincpu.oq@FB98 = 6608080000016706</action>
<action>maincpu.oq@FBA0 = 44812D4100304EF9</action>
<action>maincpu.oq@FBA8 = 0001044AFFFFFFFF</action>
<!--
FB80 | 1038 C080 : move.b $c080.w, D0 // read input
FB84 | 223C 0004 0000 : move.l #$40000, D1
FB8A | 0800 0000 : btst #$0, D0
FB8E | 6704 : beq $fb94
FB90 | 2D41 002C : move.l D1, ($2c,A6) // up
FB94 | 0800 0002 : btst #$2, D0
FB98 | 6608 : bne $fba2 // right
FB9A | 0800 0001 : btst #$1, D0
FB9E | 6706 : beq $fba6
FBA0 | 4481 : neg.l D1 // left
FBA2 | 2D41 0030 : move.l D1, ($30,A6)
FBA6 | 4EF9 0001 044A : jmp $1044a.l
-->
</script>
<script state="off">
<action>maincpu.od@703C = 0001044A </action>
<action>maincpu.oq@FB80 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FB88 = 2BFFD7BF2BFFD7BF</action>
<action>maincpu.oq@FB90 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FB98 = 2BFFD7BF2BFFD7BF</action>
<action>maincpu.oq@FBA0 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FBA8 = 57BF77FF57BF77FF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="run">
<!-- routine -->
<action>maincpu.oq@0526 = 4EF90000FBB008B8</action>
<action>maincpu.oq@FBB0 = 41F8800043F900C4</action>
<action>maincpu.oq@FBB8 = 0001120010291002</action>
<action>maincpu.oq@FBC0 = B20067F60C00007F</action>
<action>maincpu.oq@FBC8 = 660253100C0000BF</action>
<action>maincpu.oq@FBD0 = 660252100C0000FE</action>
<action>maincpu.oq@FBD8 = 6604041000100C00</action>
<action>maincpu.oq@FBE0 = 00DF660406100010</action>
<action>maincpu.oq@FBE8 = 0C0000FD66021290</action>
<action>maincpu.oq@FBF0 = 0C0000FB66024211</action>
<action>maincpu.oq@FBF8 = 60C0FFFFFFFFFFFF</action>
<!--
FBB0 | 41F8 8000 : lea $8000.w, A0 // sound code address ($FF8000)
FBB4 | 43F9 00C4 0001 : lea $c40001.l, A1 // sound latch address
FBBA | 1200 : move.b D0, D1
FBBC | 1029 1002 : move.b ($1002,A1), D0 // read input ($C41003)
FBC0 | B200 : cmp.b D0, D1
FBC2 | 67F6 : beq $fbba
FBC4 | 0C00 007F : cmpi.b #$7f, D0
FBC8 | 6602 : bne $fbcc
FBCA | 5310 : subq.b #1, (A0) // decrease code -01
FBCC | 0C00 00BF : cmpi.b #-$41, D0
FBD0 | 6602 : bne $fbd4
FBD2 | 5210 : addq.b #1, (A0) // increase code +01
FBD4 | 0C00 00FE : cmpi.b #-$2, D0
FBD8 | 6604 : bne $fbde
FBDA | 0410 0010 : subi.b #$10, (A0) // decrease code -10
FBDE | 0C00 00DF : cmpi.b #-$21, D0
FBE2 | 6604 : bne $fbe8
FBE4 | 0610 0010 : addi.b #$10, (A0) // increase code +10
FBE8 | 0C00 00FD : cmpi.b #-$3, D0
FBEC | 6602 : bne $fbf0
FBEE | 1290 : move.b (A0), (A1) // play sound
FBF0 | 0C00 00FB : cmpi.b #-$5, D0
FBF4 | 6602 : bne $fbf8
FBF6 | 4211 : clr.b (A1) // stop sound
FBF8 | 60C0 : bra $fbba
-->
<!-- display -->
<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="up : increase code +10" line="13" align="center" />
<output format="button 3 : decrease 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@FF8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.oq@0526 = 08B80006C03308B8</action>
<action>maincpu.oq@FBB0 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FBB8 = 57BF77FF57BF77FF</action>
<action>maincpu.oq@FBC0 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FBC8 = 2BFFD7BF2BFFD7BF</action>
<action>maincpu.oq@FBD0 = 37F77FBF37F77FBF</action>
<action>maincpu.oq@FBD8 = 2BFFD7BF2BFFD7BF</action>
<action>maincpu.oq@FBE0 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FBE8 = 57BF77FF57BF77FF</action>
<action>maincpu.oq@FBF0 = 07BF17FF07BF17FF</action>
<action>maincpu.oq@FBF8 = 57BF77FF57BF77FF</action>
</script>
</cheat>
</mamecheat>
- "control a ball" : Added new and merged from "ball rise by button 3". You can control a ball with button 1, 2 and 3. Button 1 = move to left, button 2 = move to right, button 3 = rise.
- "sound test mode" : Cleaned up code for timescan1.