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
12-03-89/Protect.m0
12-03-89/Protect.m1
12-03-89/Protect.m2
12-03-89/Protect.m4
12-03-89/Protect.m5