Random demo
Random software
Random game
Entry name:
 Protector, The 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Utilities
  • Media format:

    Diskette
  • Programming language:

    Atari BASIC
Protector, The Protector, The
Listing 1
1?""
10DIMA(14),B$(2000),C$(20),D$(30),N(1000),T(1000),I2$(2000)
15FORE=1TO1000:T(E)=0:N(E)=0:NEXTE:U=0
16?"******"
17?"Willpreventyour'BASIC'programfrombeingreadorchanged,bywritingoverthebasicstatements"
18?"withControlCharacters.MAKESUREYOUHAVEABACKUPCOPYOFYOURORIGIONAL"
19?"PROGRAM!Thereisnoneedtoentera'D:'atFILENAMEprompt.**********************"
20?"ENTERINPUTFILENAME";:INPUTC$
30D$="D:":D$(LEN(D$)+1)=C$
40OPEN#1,4,0,D$
50?"ENTEROUTPUTFILENAME";:INPUTC$
60D$="D:":D$(LEN(D$)+1)=C$
70OPEN#2,8,0,D$
80FORE=1TO14:GET#1,F:A(E)=F:NEXTE
90H=A(5)+256*(A(6)-1)
100I=A(7)+256*(A(8)-1)
110J=A(9)+256*(A(10)-1)
120K=A(11)+256*(A(12)-1)
130L=A(13)+256*(A(14)-1)
140FORE=1TOH
150GET#1,F:B$(LEN(B$)+1)=CHR$(F)
160IFF>=128ANDF<=256THENM=M+1:GOSUB20000
170NEXTE:?M
175GOTO1000
180?"ENTERCHARACTERNUMBER";:INPUTF
190FORE=1TOM
200N(E)=F
210NEXTE:F2=M
220H=H-F2:I=I-H:J=J-H:K=K-H:L=L-H:H=F2
230?H,I,J,K,L
234A(5)=H-INT(H/256)*256
240A(6)=INT(M/256)+1
250A(7)=I-INT(I/256)*256
260A(8)=INT(I/256)+1
270A(9)=J-INT(J/256)*256
280A(10)=INT(J/256)+1
290A(11)=K-INT(K/256)*256
300A(12)=INT(K/256)+1
310A(13)=L-INT(L/256)*256
320A(14)=INT(L/256)+1
330FORE=1TO14
340F=A(E):PUT#2,F
350NEXTE
360FORE=1TOF2
370F=N(E):PUT#2,F
380NEXTE
390TRAP32000
400GET#1,F:PUT#2,F
410GOTO400
1000?"FILLTABLEWITHSPECIALCHARACTER(Y/N)";:INPUTC$
1010IFC$="Y"THENGOTO180
1015?"CHANGEVARIABLESONEBYONE":INPUTC$:IFC$="Y"THEN10000
1020IFM>26ORV>0ORW>0THENF2=(V+W)*2+(M-26-V-W)*2+26:H2=1:G2=1
1030FORE=1TOM
1035IFT(E)=1THENGOSUB5000:GOTO1100
1040IFT(E)=2THENGOSUB6000:GOTO1100
1050IFH2>26THEN1072
1060N(G2)=64+H2+128:H2=H2+1
1070GOTO1100
1072B2=B2+1:IFB2>26THENB2=1:C2=C2+1
1075N(G2)=C2+65
1080G2=G2+1
1090N(G2)=B2+64+128
1100G2=G2+1:NEXTE
2005?H,I,J,K,L
2010GOTO220
3000REM
3010IFT(E)=1THENX=X+1
5000D2=D2+1:N(G2)=64+D2:G2=G2+1:N(G2)=164:RETURN
6000E2=E2+1:N(G2)=64+E2:G2=G2+1:N(G2)=168:RETURN
10000E2=0:FORE=1TOH
10005E2=E2+1
10020IFASC(B$(E,E))>=193ANDASC(B$(E,E))<=218THENB$(E,E)=CHR$(ASC(B$(E,E))-128):GOSUB15000
10025IFASC(B$(E,E))>=176ANDASC(B$(E,E))<=185THENB$(E,E)=CHR$(ASC(B$(E,E))-128):GOSUB15000
10030IFASC(B$(E,E))=164ORASC(B$(E,E))=168THENB$(E,E)=CHR$(ASC(B$(E,E))-128):GOSUB15000
10040NEXTE
11000F2=LEN(I2$):FORE=1TOF2:N(E)=ASC(I2$(E,E)):NEXTE:GOTO220
15000?:?"OLDVARNAME:";B$(E-E2+1,E)
15010?"ENTERNEWNAME:";:INPUTC$
15015IFLEN(C$)=0THEN?B$(E-E2+1,E):B$(E,E)=CHR$(ASC(B$(E,E))+128):GOTO15035
15020C$(LEN(C$),LEN(C$))=CHR$(ASC(C$(LEN(C$),LEN(C$)))+128)
15030I2$(LEN(I2$)+1)=C$:GOTO15040
15035I2$(LEN(I2$)+1)=B$(E-E2+1,E)
15040E2=0:RETURN
20000IFF=164THENT(M)=1:V=V+1
20010IFF=168THENT(M)=2:W=W+1
20020U=U+1:RETURN
32000?"ENDOFPROTECTION"	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!