Home » CEEFAX disks » telesoftware14.adl » 12-03-89/Protect
12-03-89/Protect
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 » CEEFAX disks » telesoftware14.adl |
Filename: | 12-03-89/Protect |
Read OK: | ✔ |
File size: | 060D bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
File contents
10 MODE7 20 PRINTTAB(0,3)"Program Protector" 30 PRINT"By Mike Cook" 40 PRINT 50 PRINT"This stops a program from being listed" 60 PRINT 70 PRINT"1) Load the program you want to protect" 80 PRINT"2) Press function key 1" 90 PRINT"3) Save the protected program" 100 PRINT:PRINT 110 INPUT"How many lines to protect ",P% 120 IF P%>240 OR P%<2 THEN PRINT"RANGE OF 2 - 240":GOTO 100 130 PRINT"This will add ";P%*8;" bytes to the code." 140 PRINT"OK ? (Y/N)"; 150 A$=GET$ 160 IF A$<>"Y" THEN GOTO 100 170 PRINT:PRINT:PRINT"At what line increment do you want" 180 INPUT"to protect the lines ",N% 190 IF N%>40 OR N%<1 THEN PRINT"RANGE OF 1 - 40":GOTO170 200 *KEY1CALL &A00|M 210 FOR A%=&A00 TO &AC7 220 READ B% 230 ?A%=B% 240 NEXT 250 ?&A01=N% 260 ?&A07=P% 270 PRINT:PRINT"PROTECTION PATCH NOW INSTALLED" 280 END 290 DATA169,3,133,135,133,137,169,10 300 DATA133,136,169,131,32,244,255,232 310 DATA134,128,132,129,169,132,32,244 320 DATA255,202,134,130,136,136,132 330 DATA131,160,2,177,128,133,134,160 340 DATA0,177,128,201,255,240,78,165 350 DATA134,201,247,176,35,160,2,200 360 DATA177,128,201,220,240,26,201,221 370 DATA240,22,201,32,240,241,160,2 380 DATA177,128,24,105,8,145,128,32 390 DATA125,10,32,164,10,76,90,10,32 400 DATA183,10,166,134,202,32,183,10 410 DATA202,208,250,160,0,177,128,201 420 DATA255,240,17,160,2,177,128,170 430 DATA198,135,208,233,165,137,133 440 DATA135,198,136,208,164,96,165,130 450 DATA133,132,165,131,133,133,160,0 460 DATA177,132,160,8,145,132,198,132 470 DATA165,132,201,255,208,2,198,133 480 DATA165,129,197,133,208,232,165 490 DATA128,197,132,208,226,96,32,183 500 DATA10,162,8,160,2,189,190,10,145 510 DATA128,32,183,10,202,208,245,96 520 DATA230,128,208,2,230,129,96,66,58 530 DATA34,03,21,34,61,36,95,34,0
�7 �0,3)"Program Protector" �"By Mike Cook" ( � 2. �"This stops a program from being listed" < � F/ �"1) Load the program you want to protect" P �"2) Press function key 1" Z% �"3) Save the protected program" d �:� n% �"How many lines to protect ",P% x1 � P%>240 � P%<2 � �"RANGE OF 2 - 240":� �Dd@ �1 �"This will add ";P%*8;" bytes to the code." � �"OK ? (Y/N)"; � A$=� � � A$<>"Y" � � �Dd@ �. �:�:�"At what line increment do you want" � �"to protect the lines ",N% �. � N%>40 � N%<1 � �"RANGE OF 1 - 40":�tj@ � *KEY1CALL &A00|M � � A%=&A00 � &AC7 � � B% � ?A%=B% � � � ?&A01=N% ?&A07=P% ( �:�"PROTECTION PATCH NOW INSTALLED" � "" �169,3,133,135,133,137,169,10 ,$ �133,136,169,131,32,244,255,232 6$ �134,128,132,129,169,132,32,244 @! �255,202,134,130,136,136,132 J# �131,160,2,177,128,133,134,160 T" �0,177,128,201,255,240,78,165 ^" �134,201,247,176,35,160,2,200 h$ �177,128,201,220,240,26,201,221 r! �240,22,201,32,240,241,160,2 |! �177,128,24,105,8,145,128,32 �" �125,10,32,164,10,76,90,10,32 �" �183,10,166,134,202,32,183,10 �# �202,208,250,160,0,177,128,201 �" �255,240,17,160,2,177,128,170 �! �198,135,208,233,165,137,133 �$ �135,198,136,208,164,96,165,130 �# �133,132,165,131,133,133,160,0 �# �177,132,160,8,145,132,198,132 �# �165,132,201,255,208,2,198,133 �! �165,129,197,133,208,232,165 �# �128,197,132,208,226,96,32,183 �# �10,162,8,160,2,189,190,10,145 �" �128,32,183,10,202,208,245,96 $ �230,128,208,2,230,129,96,66,58 �34,03,21,34,61,36,95,34,0 �
00000000 0d 00 0a 07 20 eb 37 0d 00 14 1e 20 f1 8a 30 2c |.... .7.... ..0,| 00000010 33 29 22 50 72 6f 67 72 61 6d 20 50 72 6f 74 65 |3)"Program Prote| 00000020 63 74 6f 72 22 0d 00 1e 14 20 f1 22 42 79 20 4d |ctor".... ."By M| 00000030 69 6b 65 20 43 6f 6f 6b 22 0d 00 28 06 20 f1 0d |ike Cook"..(. ..| 00000040 00 32 2e 20 f1 22 54 68 69 73 20 73 74 6f 70 73 |.2. ."This stops| 00000050 20 61 20 70 72 6f 67 72 61 6d 20 66 72 6f 6d 20 | a program from | 00000060 62 65 69 6e 67 20 6c 69 73 74 65 64 22 0d 00 3c |being listed"..<| 00000070 06 20 f1 0d 00 46 2f 20 f1 22 31 29 20 4c 6f 61 |. ...F/ ."1) Loa| 00000080 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 79 6f |d the program yo| 00000090 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 74 65 63 |u want to protec| 000000a0 74 22 0d 00 50 1f 20 f1 22 32 29 20 50 72 65 73 |t"..P. ."2) Pres| 000000b0 73 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 20 31 |s function key 1| 000000c0 22 0d 00 5a 25 20 f1 22 33 29 20 53 61 76 65 20 |"..Z% ."3) Save | 000000d0 74 68 65 20 70 72 6f 74 65 63 74 65 64 20 70 72 |the protected pr| 000000e0 6f 67 72 61 6d 22 0d 00 64 08 20 f1 3a f1 0d 00 |ogram"..d. .:...| 000000f0 6e 25 20 e8 22 48 6f 77 20 6d 61 6e 79 20 6c 69 |n% ."How many li| 00000100 6e 65 73 20 74 6f 20 70 72 6f 74 65 63 74 20 22 |nes to protect "| 00000110 2c 50 25 0d 00 78 31 20 e7 20 50 25 3e 32 34 30 |,P%..x1 . P%>240| 00000120 20 84 20 50 25 3c 32 20 8c 20 f1 22 52 41 4e 47 | . P%<2 . ."RANG| 00000130 45 20 4f 46 20 32 20 2d 20 32 34 30 22 3a e5 20 |E OF 2 - 240":. | 00000140 8d 44 64 40 0d 00 82 31 20 f1 22 54 68 69 73 20 |.Dd@...1 ."This | 00000150 77 69 6c 6c 20 61 64 64 20 22 3b 50 25 2a 38 3b |will add ";P%*8;| 00000160 22 20 62 79 74 65 73 20 74 6f 20 74 68 65 20 63 |" bytes to the c| 00000170 6f 64 65 2e 22 0d 00 8c 13 20 f1 22 4f 4b 20 3f |ode.".... ."OK ?| 00000180 20 28 59 2f 4e 29 22 3b 0d 00 96 09 20 41 24 3d | (Y/N)";.... A$=| 00000190 be 0d 00 a0 17 20 e7 20 41 24 3c 3e 22 59 22 20 |..... . A$<>"Y" | 000001a0 8c 20 e5 20 8d 44 64 40 0d 00 aa 2e 20 f1 3a f1 |. . .Dd@.... .:.| 000001b0 3a f1 22 41 74 20 77 68 61 74 20 6c 69 6e 65 20 |:."At what line | 000001c0 69 6e 63 72 65 6d 65 6e 74 20 64 6f 20 79 6f 75 |increment do you| 000001d0 20 77 61 6e 74 22 0d 00 b4 20 20 e8 22 74 6f 20 | want"... ."to | 000001e0 70 72 6f 74 65 63 74 20 74 68 65 20 6c 69 6e 65 |protect the line| 000001f0 73 20 22 2c 4e 25 0d 00 be 2e 20 e7 20 4e 25 3e |s ",N%.... . N%>| 00000200 34 30 20 84 20 4e 25 3c 31 20 8c 20 f1 22 52 41 |40 . N%<1 . ."RA| 00000210 4e 47 45 20 4f 46 20 31 20 2d 20 34 30 22 3a e5 |NGE OF 1 - 40":.| 00000220 8d 74 6a 40 0d 00 c8 15 20 2a 4b 45 59 31 43 41 |.tj@.... *KEY1CA| 00000230 4c 4c 20 26 41 30 30 7c 4d 0d 00 d2 15 20 e3 20 |LL &A00|M.... . | 00000240 41 25 3d 26 41 30 30 20 b8 20 26 41 43 37 0d 00 |A%=&A00 . &AC7..| 00000250 dc 09 20 f3 20 42 25 0d 00 e6 0b 20 3f 41 25 3d |.. . B%.... ?A%=| 00000260 42 25 0d 00 f0 06 20 ed 0d 00 fa 0d 20 3f 26 41 |B%.... ..... ?&A| 00000270 30 31 3d 4e 25 0d 01 04 0d 20 3f 26 41 30 37 3d |01=N%.... ?&A07=| 00000280 50 25 0d 01 0e 28 20 f1 3a f1 22 50 52 4f 54 45 |P%...( .:."PROTE| 00000290 43 54 49 4f 4e 20 50 41 54 43 48 20 4e 4f 57 20 |CTION PATCH NOW | 000002a0 49 4e 53 54 41 4c 4c 45 44 22 0d 01 18 06 20 e0 |INSTALLED".... .| 000002b0 0d 01 22 22 20 dc 31 36 39 2c 33 2c 31 33 33 2c |.."" .169,3,133,| 000002c0 31 33 35 2c 31 33 33 2c 31 33 37 2c 31 36 39 2c |135,133,137,169,| 000002d0 31 30 0d 01 2c 24 20 dc 31 33 33 2c 31 33 36 2c |10..,$ .133,136,| 000002e0 31 36 39 2c 31 33 31 2c 33 32 2c 32 34 34 2c 32 |169,131,32,244,2| 000002f0 35 35 2c 32 33 32 0d 01 36 24 20 dc 31 33 34 2c |55,232..6$ .134,| 00000300 31 32 38 2c 31 33 32 2c 31 32 39 2c 31 36 39 2c |128,132,129,169,| 00000310 31 33 32 2c 33 32 2c 32 34 34 0d 01 40 21 20 dc |132,32,244..@! .| 00000320 32 35 35 2c 32 30 32 2c 31 33 34 2c 31 33 30 2c |255,202,134,130,| 00000330 31 33 36 2c 31 33 36 2c 31 33 32 0d 01 4a 23 20 |136,136,132..J# | 00000340 dc 31 33 31 2c 31 36 30 2c 32 2c 31 37 37 2c 31 |.131,160,2,177,1| 00000350 32 38 2c 31 33 33 2c 31 33 34 2c 31 36 30 0d 01 |28,133,134,160..| 00000360 54 22 20 dc 30 2c 31 37 37 2c 31 32 38 2c 32 30 |T" .0,177,128,20| 00000370 31 2c 32 35 35 2c 32 34 30 2c 37 38 2c 31 36 35 |1,255,240,78,165| 00000380 0d 01 5e 22 20 dc 31 33 34 2c 32 30 31 2c 32 34 |..^" .134,201,24| 00000390 37 2c 31 37 36 2c 33 35 2c 31 36 30 2c 32 2c 32 |7,176,35,160,2,2| 000003a0 30 30 0d 01 68 24 20 dc 31 37 37 2c 31 32 38 2c |00..h$ .177,128,| 000003b0 32 30 31 2c 32 32 30 2c 32 34 30 2c 32 36 2c 32 |201,220,240,26,2| 000003c0 30 31 2c 32 32 31 0d 01 72 21 20 dc 32 34 30 2c |01,221..r! .240,| 000003d0 32 32 2c 32 30 31 2c 33 32 2c 32 34 30 2c 32 34 |22,201,32,240,24| 000003e0 31 2c 31 36 30 2c 32 0d 01 7c 21 20 dc 31 37 37 |1,160,2..|! .177| 000003f0 2c 31 32 38 2c 32 34 2c 31 30 35 2c 38 2c 31 34 |,128,24,105,8,14| 00000400 35 2c 31 32 38 2c 33 32 0d 01 86 22 20 dc 31 32 |5,128,32..." .12| 00000410 35 2c 31 30 2c 33 32 2c 31 36 34 2c 31 30 2c 37 |5,10,32,164,10,7| 00000420 36 2c 39 30 2c 31 30 2c 33 32 0d 01 90 22 20 dc |6,90,10,32..." .| 00000430 31 38 33 2c 31 30 2c 31 36 36 2c 31 33 34 2c 32 |183,10,166,134,2| 00000440 30 32 2c 33 32 2c 31 38 33 2c 31 30 0d 01 9a 23 |02,32,183,10...#| 00000450 20 dc 32 30 32 2c 32 30 38 2c 32 35 30 2c 31 36 | .202,208,250,16| 00000460 30 2c 30 2c 31 37 37 2c 31 32 38 2c 32 30 31 0d |0,0,177,128,201.| 00000470 01 a4 22 20 dc 32 35 35 2c 32 34 30 2c 31 37 2c |.." .255,240,17,| 00000480 31 36 30 2c 32 2c 31 37 37 2c 31 32 38 2c 31 37 |160,2,177,128,17| 00000490 30 0d 01 ae 21 20 dc 31 39 38 2c 31 33 35 2c 32 |0...! .198,135,2| 000004a0 30 38 2c 32 33 33 2c 31 36 35 2c 31 33 37 2c 31 |08,233,165,137,1| 000004b0 33 33 0d 01 b8 24 20 dc 31 33 35 2c 31 39 38 2c |33...$ .135,198,| 000004c0 31 33 36 2c 32 30 38 2c 31 36 34 2c 39 36 2c 31 |136,208,164,96,1| 000004d0 36 35 2c 31 33 30 0d 01 c2 23 20 dc 31 33 33 2c |65,130...# .133,| 000004e0 31 33 32 2c 31 36 35 2c 31 33 31 2c 31 33 33 2c |132,165,131,133,| 000004f0 31 33 33 2c 31 36 30 2c 30 0d 01 cc 23 20 dc 31 |133,160,0...# .1| 00000500 37 37 2c 31 33 32 2c 31 36 30 2c 38 2c 31 34 35 |77,132,160,8,145| 00000510 2c 31 33 32 2c 31 39 38 2c 31 33 32 0d 01 d6 23 |,132,198,132...#| 00000520 20 dc 31 36 35 2c 31 33 32 2c 32 30 31 2c 32 35 | .165,132,201,25| 00000530 35 2c 32 30 38 2c 32 2c 31 39 38 2c 31 33 33 0d |5,208,2,198,133.| 00000540 01 e0 21 20 dc 31 36 35 2c 31 32 39 2c 31 39 37 |..! .165,129,197| 00000550 2c 31 33 33 2c 32 30 38 2c 32 33 32 2c 31 36 35 |,133,208,232,165| 00000560 0d 01 ea 23 20 dc 31 32 38 2c 31 39 37 2c 31 33 |...# .128,197,13| 00000570 32 2c 32 30 38 2c 32 32 36 2c 39 36 2c 33 32 2c |2,208,226,96,32,| 00000580 31 38 33 0d 01 f4 23 20 dc 31 30 2c 31 36 32 2c |183...# .10,162,| 00000590 38 2c 31 36 30 2c 32 2c 31 38 39 2c 31 39 30 2c |8,160,2,189,190,| 000005a0 31 30 2c 31 34 35 0d 01 fe 22 20 dc 31 32 38 2c |10,145..." .128,| 000005b0 33 32 2c 31 38 33 2c 31 30 2c 32 30 32 2c 32 30 |32,183,10,202,20| 000005c0 38 2c 32 34 35 2c 39 36 0d 02 08 24 20 dc 32 33 |8,245,96...$ .23| 000005d0 30 2c 31 32 38 2c 32 30 38 2c 32 2c 32 33 30 2c |0,128,208,2,230,| 000005e0 31 32 39 2c 39 36 2c 36 36 2c 35 38 0d 02 12 1f |129,96,66,58....| 000005f0 20 dc 33 34 2c 30 33 2c 32 31 2c 33 34 2c 36 31 | .34,03,21,34,61| 00000600 2c 33 36 2c 39 35 2c 33 34 2c 30 0d ff |,36,95,34,0..| 0000060d