Home » Personal collection » Acorn ADFS disks » Electron » Cheat_finder.ADF » CHECK
CHECK
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron » Cheat_finder.ADF |
Filename: | CHECK |
Read OK: | ✔ |
File size: | 05AE bytes |
Load address: | FFFF1D00 |
Exec address: | FFFF8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Acorn ADFS disks » Electron » Cheat_finder.ADF » CHECK
- Personal collection » Acorn hard disk » zipped_disks » elk07 » cheatfind/CHECK
File contents
10 code=&A00 20 osbyte=&FFF4:oswrch=&FFEE:osnewl=&FFE7:filev=&212:findv=&21C 30 FOR pass=0 TO 2 STEP 2:P%=code:[OPTpass 40 SEI:LDAfilev:STAoldvec:LDAfilev+1:STAoldvec+1:LDA#(start MOD256):STAfilev:LDA#(start DIV256):STAfilev+1 50 LDAfindv:STAoldfvec:LDAfindv+1:STAoldfvec+1:LDA#(openout MOD256):STAfindv:LDA#(openout DIV256):STAfindv+1:CLI:RTS 60 .openout CMP#&80:BEQfcheck:JMP(oldfvec) 70 .fcheck PHA:LDA#1:STAflag:STXblock:STYblock+1:JMPread 80 .start CMP#0:BEQcheck:CMP#7:BEQcheck:JMPreturn 90 .check PHA:STXadd+1:STYadd+2 100 JSRadd:STAblock 110 INCadd+1:JSRadd:STAblock+1 120 .read LDX#(block MOD256):LDY#(block DIV256):LDA#5:JSRreturn \read calalogue entry 130 CMP#1:BNEok:LDAblock+&E:AND#8:BNEok 140 JSRosnewl:LDX#0:.loop LDAtext,X:JSRoswrch:INX:CMP#0:BNEloop 150 LDA#0:STAkeyno:.waitloop LDX#0:LDY#1:LDA#&81:JSRosbyte:BCCkey:CPY#&1B:BNEwaitloop 160 .no JSRosnewl:LDXadd+1:LDYadd+2:DEX:PLA 170 BRK:EQUB&92:EQUS"Aborted":BRK 180 .key TXA:JSRoswrch:LDXkeyno:CMPyes1,X:BEQy:CMPyes2,X:BNEno:.y INX:STXkeyno:CPX#4:BNEwaitloop:JSRosnewl 190 .ok LDAflag:BNEfindend:LDXadd+1:LDYadd+2:DEX:PLA 200 .return JMP(oldvec) 210 .findend LDA#0:STAflag:LDXblock:LDYblock+1:PLA:JMP(oldfvec) 220 .add LDA&FFFF:RTS 230 .text EQUS"File exists - Delete old version?":EQUB0 240 .yes1 EQUS"YES":EQUB13:.yes2 EQUS"yes":EQUB13 250 .oldvec EQUW0:.oldfvec EQUW0:.flag EQUB0:.keyno EQUB0:.block 260 ]:NEXT pass 270 INPUT"Filename for code",filename$ 280 OSCLI"SAVE "+filename$+" "+STR$~code+" "+STR$~P%
code=&A00 A osbyte=&FFF4:oswrch=&FFEE:osnewl=&FFE7:filev=&212:findv=&21C & � pass=0 � 2 � 2:P%=code:[OPTpass (h SEI:LDAfilev:STAoldvec:LDAfilev+1:STAoldvec+1:LDA#(start �256):STAfilev:LDA#(start �256):STAfilev+1 2r LDAfindv:STAoldfvec:LDAfindv+1:STAoldfvec+1:LDA#(openout �256):STAfindv:LDA#(openout �256):STAfindv+1:CLI:RTS <, .openout CMP#&80:BEQfcheck:JMP(oldfvec) F: .fcheck PHA:LDA#1:STAflag:STXblock:STYblock+1:JMPread P3 .start CMP#0:BEQcheck:CMP#7:BEQcheck:JMPreturn Z! .check PHA:STXadd+1:STYadd+2 d JSRadd:STAblock n INCadd+1:JSRadd:STAblock+1 xR .read LDX#(block �256):LDY#(block �256):LDA#5:JSRreturn \read calalogue entry �& CMP#1:BNEok:LDAblock+&E:�#8:BNEok �@ JSRosnewl:LDX#0:.loop LDAtext,X:JSRoswrch:INX:CMP#0:BNEloop �V LDA#0:STAkeyno:.waitloop LDX#0:LDY#1:LDA#&81:JSRosbyte:BCCkey:CPY#&1B:BNEwaitloop �, .no JSRosnewl:LDXadd+1:LDYadd+2:DEX:PLA �" BRK:EQUB&92:EQUS"Aborted":BRK �k .key TXA:JSRoswrch:LDXkeyno:CMPyes1,X:BEQy:CMPyes2,X:BNEno:.y INX:STXkeyno:CPX#4:BNEwaitloop:JSRosnewl �5 .ok LDAflag:BNEfindend:LDXadd+1:LDYadd+2:DEX:PLA � .return JMP(oldvec) �@ .findend LDA#0:STAflag:LDXblock:LDYblock+1:PLA:JMP(oldfvec) � .add LDA&FFFF:RTS �8 .text EQUS"File exists - Delete old version?":EQUB0 �2 .yes1 EQUS"YES":EQUB13:.yes2 EQUS"yes":EQUB13 �A .oldvec EQUW0:.oldfvec EQUW0:.flag EQUB0:.keyno EQUB0:.block ]:� pass # �"Filename for code",filename$ + �"SAVE "+filename$+" "+�~code+" "+�~P% �
00000000 0d 00 0a 0e 20 63 6f 64 65 3d 26 41 30 30 0d 00 |.... code=&A00..| 00000010 14 41 20 6f 73 62 79 74 65 3d 26 46 46 46 34 3a |.A osbyte=&FFF4:| 00000020 6f 73 77 72 63 68 3d 26 46 46 45 45 3a 6f 73 6e |oswrch=&FFEE:osn| 00000030 65 77 6c 3d 26 46 46 45 37 3a 66 69 6c 65 76 3d |ewl=&FFE7:filev=| 00000040 26 32 31 32 3a 66 69 6e 64 76 3d 26 32 31 43 0d |&212:findv=&21C.| 00000050 00 1e 26 20 e3 20 70 61 73 73 3d 30 20 b8 20 32 |..& . pass=0 . 2| 00000060 20 88 20 32 3a 50 25 3d 63 6f 64 65 3a 5b 4f 50 | . 2:P%=code:[OP| 00000070 54 70 61 73 73 0d 00 28 68 20 53 45 49 3a 4c 44 |Tpass..(h SEI:LD| 00000080 41 66 69 6c 65 76 3a 53 54 41 6f 6c 64 76 65 63 |Afilev:STAoldvec| 00000090 3a 4c 44 41 66 69 6c 65 76 2b 31 3a 53 54 41 6f |:LDAfilev+1:STAo| 000000a0 6c 64 76 65 63 2b 31 3a 4c 44 41 23 28 73 74 61 |ldvec+1:LDA#(sta| 000000b0 72 74 20 83 32 35 36 29 3a 53 54 41 66 69 6c 65 |rt .256):STAfile| 000000c0 76 3a 4c 44 41 23 28 73 74 61 72 74 20 81 32 35 |v:LDA#(start .25| 000000d0 36 29 3a 53 54 41 66 69 6c 65 76 2b 31 0d 00 32 |6):STAfilev+1..2| 000000e0 72 20 4c 44 41 66 69 6e 64 76 3a 53 54 41 6f 6c |r LDAfindv:STAol| 000000f0 64 66 76 65 63 3a 4c 44 41 66 69 6e 64 76 2b 31 |dfvec:LDAfindv+1| 00000100 3a 53 54 41 6f 6c 64 66 76 65 63 2b 31 3a 4c 44 |:STAoldfvec+1:LD| 00000110 41 23 28 6f 70 65 6e 6f 75 74 20 83 32 35 36 29 |A#(openout .256)| 00000120 3a 53 54 41 66 69 6e 64 76 3a 4c 44 41 23 28 6f |:STAfindv:LDA#(o| 00000130 70 65 6e 6f 75 74 20 81 32 35 36 29 3a 53 54 41 |penout .256):STA| 00000140 66 69 6e 64 76 2b 31 3a 43 4c 49 3a 52 54 53 0d |findv+1:CLI:RTS.| 00000150 00 3c 2c 20 2e 6f 70 65 6e 6f 75 74 20 43 4d 50 |.<, .openout CMP| 00000160 23 26 38 30 3a 42 45 51 66 63 68 65 63 6b 3a 4a |#&80:BEQfcheck:J| 00000170 4d 50 28 6f 6c 64 66 76 65 63 29 0d 00 46 3a 20 |MP(oldfvec)..F: | 00000180 2e 66 63 68 65 63 6b 20 50 48 41 3a 4c 44 41 23 |.fcheck PHA:LDA#| 00000190 31 3a 53 54 41 66 6c 61 67 3a 53 54 58 62 6c 6f |1:STAflag:STXblo| 000001a0 63 6b 3a 53 54 59 62 6c 6f 63 6b 2b 31 3a 4a 4d |ck:STYblock+1:JM| 000001b0 50 72 65 61 64 0d 00 50 33 20 2e 73 74 61 72 74 |Pread..P3 .start| 000001c0 20 43 4d 50 23 30 3a 42 45 51 63 68 65 63 6b 3a | CMP#0:BEQcheck:| 000001d0 43 4d 50 23 37 3a 42 45 51 63 68 65 63 6b 3a 4a |CMP#7:BEQcheck:J| 000001e0 4d 50 72 65 74 75 72 6e 0d 00 5a 21 20 2e 63 68 |MPreturn..Z! .ch| 000001f0 65 63 6b 20 50 48 41 3a 53 54 58 61 64 64 2b 31 |eck PHA:STXadd+1| 00000200 3a 53 54 59 61 64 64 2b 32 0d 00 64 14 20 4a 53 |:STYadd+2..d. JS| 00000210 52 61 64 64 3a 53 54 41 62 6c 6f 63 6b 0d 00 6e |Radd:STAblock..n| 00000220 1f 20 49 4e 43 61 64 64 2b 31 3a 4a 53 52 61 64 |. INCadd+1:JSRad| 00000230 64 3a 53 54 41 62 6c 6f 63 6b 2b 31 0d 00 78 52 |d:STAblock+1..xR| 00000240 20 2e 72 65 61 64 20 4c 44 58 23 28 62 6c 6f 63 | .read LDX#(bloc| 00000250 6b 20 83 32 35 36 29 3a 4c 44 59 23 28 62 6c 6f |k .256):LDY#(blo| 00000260 63 6b 20 81 32 35 36 29 3a 4c 44 41 23 35 3a 4a |ck .256):LDA#5:J| 00000270 53 52 72 65 74 75 72 6e 20 5c 72 65 61 64 20 63 |SRreturn \read c| 00000280 61 6c 61 6c 6f 67 75 65 20 65 6e 74 72 79 0d 00 |alalogue entry..| 00000290 82 26 20 43 4d 50 23 31 3a 42 4e 45 6f 6b 3a 4c |.& CMP#1:BNEok:L| 000002a0 44 41 62 6c 6f 63 6b 2b 26 45 3a 80 23 38 3a 42 |DAblock+&E:.#8:B| 000002b0 4e 45 6f 6b 0d 00 8c 40 20 4a 53 52 6f 73 6e 65 |NEok...@ JSRosne| 000002c0 77 6c 3a 4c 44 58 23 30 3a 2e 6c 6f 6f 70 20 4c |wl:LDX#0:.loop L| 000002d0 44 41 74 65 78 74 2c 58 3a 4a 53 52 6f 73 77 72 |DAtext,X:JSRoswr| 000002e0 63 68 3a 49 4e 58 3a 43 4d 50 23 30 3a 42 4e 45 |ch:INX:CMP#0:BNE| 000002f0 6c 6f 6f 70 0d 00 96 56 20 4c 44 41 23 30 3a 53 |loop...V LDA#0:S| 00000300 54 41 6b 65 79 6e 6f 3a 2e 77 61 69 74 6c 6f 6f |TAkeyno:.waitloo| 00000310 70 20 4c 44 58 23 30 3a 4c 44 59 23 31 3a 4c 44 |p LDX#0:LDY#1:LD| 00000320 41 23 26 38 31 3a 4a 53 52 6f 73 62 79 74 65 3a |A#&81:JSRosbyte:| 00000330 42 43 43 6b 65 79 3a 43 50 59 23 26 31 42 3a 42 |BCCkey:CPY#&1B:B| 00000340 4e 45 77 61 69 74 6c 6f 6f 70 0d 00 a0 2c 20 2e |NEwaitloop..., .| 00000350 6e 6f 20 4a 53 52 6f 73 6e 65 77 6c 3a 4c 44 58 |no JSRosnewl:LDX| 00000360 61 64 64 2b 31 3a 4c 44 59 61 64 64 2b 32 3a 44 |add+1:LDYadd+2:D| 00000370 45 58 3a 50 4c 41 0d 00 aa 22 20 42 52 4b 3a 45 |EX:PLA..." BRK:E| 00000380 51 55 42 26 39 32 3a 45 51 55 53 22 41 62 6f 72 |QUB&92:EQUS"Abor| 00000390 74 65 64 22 3a 42 52 4b 0d 00 b4 6b 20 2e 6b 65 |ted":BRK...k .ke| 000003a0 79 20 54 58 41 3a 4a 53 52 6f 73 77 72 63 68 3a |y TXA:JSRoswrch:| 000003b0 4c 44 58 6b 65 79 6e 6f 3a 43 4d 50 79 65 73 31 |LDXkeyno:CMPyes1| 000003c0 2c 58 3a 42 45 51 79 3a 43 4d 50 79 65 73 32 2c |,X:BEQy:CMPyes2,| 000003d0 58 3a 42 4e 45 6e 6f 3a 2e 79 20 49 4e 58 3a 53 |X:BNEno:.y INX:S| 000003e0 54 58 6b 65 79 6e 6f 3a 43 50 58 23 34 3a 42 4e |TXkeyno:CPX#4:BN| 000003f0 45 77 61 69 74 6c 6f 6f 70 3a 4a 53 52 6f 73 6e |Ewaitloop:JSRosn| 00000400 65 77 6c 0d 00 be 35 20 2e 6f 6b 20 4c 44 41 66 |ewl...5 .ok LDAf| 00000410 6c 61 67 3a 42 4e 45 66 69 6e 64 65 6e 64 3a 4c |lag:BNEfindend:L| 00000420 44 58 61 64 64 2b 31 3a 4c 44 59 61 64 64 2b 32 |DXadd+1:LDYadd+2| 00000430 3a 44 45 58 3a 50 4c 41 0d 00 c8 18 20 2e 72 65 |:DEX:PLA.... .re| 00000440 74 75 72 6e 20 4a 4d 50 28 6f 6c 64 76 65 63 29 |turn JMP(oldvec)| 00000450 0d 00 d2 40 20 2e 66 69 6e 64 65 6e 64 20 4c 44 |...@ .findend LD| 00000460 41 23 30 3a 53 54 41 66 6c 61 67 3a 4c 44 58 62 |A#0:STAflag:LDXb| 00000470 6c 6f 63 6b 3a 4c 44 59 62 6c 6f 63 6b 2b 31 3a |lock:LDYblock+1:| 00000480 50 4c 41 3a 4a 4d 50 28 6f 6c 64 66 76 65 63 29 |PLA:JMP(oldfvec)| 00000490 0d 00 dc 16 20 2e 61 64 64 20 4c 44 41 26 46 46 |.... .add LDA&FF| 000004a0 46 46 3a 52 54 53 0d 00 e6 38 20 2e 74 65 78 74 |FF:RTS...8 .text| 000004b0 20 45 51 55 53 22 46 69 6c 65 20 65 78 69 73 74 | EQUS"File exist| 000004c0 73 20 2d 20 44 65 6c 65 74 65 20 6f 6c 64 20 76 |s - Delete old v| 000004d0 65 72 73 69 6f 6e 3f 22 3a 45 51 55 42 30 0d 00 |ersion?":EQUB0..| 000004e0 f0 32 20 2e 79 65 73 31 20 45 51 55 53 22 59 45 |.2 .yes1 EQUS"YE| 000004f0 53 22 3a 45 51 55 42 31 33 3a 2e 79 65 73 32 20 |S":EQUB13:.yes2 | 00000500 45 51 55 53 22 79 65 73 22 3a 45 51 55 42 31 33 |EQUS"yes":EQUB13| 00000510 0d 00 fa 41 20 2e 6f 6c 64 76 65 63 20 45 51 55 |...A .oldvec EQU| 00000520 57 30 3a 2e 6f 6c 64 66 76 65 63 20 45 51 55 57 |W0:.oldfvec EQUW| 00000530 30 3a 2e 66 6c 61 67 20 45 51 55 42 30 3a 2e 6b |0:.flag EQUB0:.k| 00000540 65 79 6e 6f 20 45 51 55 42 30 3a 2e 62 6c 6f 63 |eyno EQUB0:.bloc| 00000550 6b 0d 01 04 0d 20 5d 3a ed 20 70 61 73 73 0d 01 |k.... ]:. pass..| 00000560 0e 23 20 e8 22 46 69 6c 65 6e 61 6d 65 20 66 6f |.# ."Filename fo| 00000570 72 20 63 6f 64 65 22 2c 66 69 6c 65 6e 61 6d 65 |r code",filename| 00000580 24 0d 01 18 2b 20 ff 22 53 41 56 45 20 22 2b 66 |$...+ ."SAVE "+f| 00000590 69 6c 65 6e 61 6d 65 24 2b 22 20 22 2b c3 7e 63 |ilename$+" "+.~c| 000005a0 6f 64 65 2b 22 20 22 2b c3 7e 50 25 0d ff |ode+" "+.~P%..| 000005ae