--- title: "Profile +5 for the 2068" type: "article" slug: "profile-5-for-the-2068" url: "http://localhost/article/profile-5-for-the-2068/" markdown_url: "http://localhost/article/profile-5-for-the-2068.md" published_at: "2022-10-07T12:23:57+00:00" modified_at: "2025-11-07T17:41:49+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Thomas B. Woods has updated his PROFILE program now to PROFILE +5. All of the features of the earlier versions of PROFILE 2068 and PROFILE +3 are included. The new version allows file merge and dating files. The complete program on cassette is $29.95 plus shipping and handling from RMG ENTERPRISES. The users manual is…" category: - name: "Timex Sinclair Users Group Mile High Chapter Newsletter" slug: "timex-sinclair-users-group-mile-high-chapter-newsletter" taxonomy: "category" url: "http://localhost/category/periodicals/timex-sinclair-users-group-mile-high-chapter-newsletter/" post_tag: - name: "Pro/File 2068" slug: "pro-file-2068" taxonomy: "post_tag" url: "http://localhost/tag/pro-file-2068/" - name: "Thomas B. Woods (company)" slug: "thomas-b-woods" taxonomy: "post_tag" url: "http://localhost/tag/thomas-b-woods/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" publication_r: id: 39264 title: "Timex Sinclair Users Group Mile High Chapter Newsletter" type: "periodical" url: "http://localhost/periodical/timex-sinclair-users-group-mile-high-chapter-newsletter/" issues_articles: - id: 39756 title: "Timex Sinclair Users Group Mile High Chapter Nov 1991" type: "issue" url: "http://localhost/issue/timex-sinclair-users-group-mile-high-chapter-nov-1991/" pages: "2" pubdate: "November 1991" product_reviews: - id: 38472 title: "ProFile +5" type: "product" url: "http://localhost/product/profile-5/" archive_link: false companies_articles: - id: 11390 title: "Thomas B. Woods" type: "company" url: "http://localhost/company/thomas-b-woods/" article_media: - id: 52151 title: "ProFile with Machine Code" type: "computer_media" url: "http://localhost/computer_media/profile-5/" - id: 52182 title: "ProFile +5" type: "computer_media" url: "http://localhost/computer_media/profile-5-2/" --- # Profile +5 for the 2068 [Thomas B. Woods](http://localhost/company/thomas-b-woods/) has updated his PROFILE program now to [PROFILE +5](http://localhost/product/profile-5/). All of the features of the earlier versions of PROFILE 2068 and PROFILE +3 are included. The new version allows file merge and dating files. The complete program on cassette is $29.95 plus shipping and handling from [RMG ENTERPRISES](http://localhost/company/rmg-enterprises/). The users manual is only available from Tom Woods for $10.00 ## Source Code: ProFile with Machine Code ``` 5 BORDER 0: PAPER 0: RANDOMIZE p: POKE 64035,PEEK 23670: POKE 64036,PEEK 23671: LET a=0: LET Y=0: DIM E$(15,32): CLS : RANDOMIZE USR 64268 20 PRINT AT 1,7; PAPER 3; INK 0;" PRO/FILE 2068 ": PRINT INK 6;AT 3,4;"Separate MULTI-WORD";TAB 4;"command words with the";TAB 4;"token ""AND""" 30 INK 7: PLOT 120,175: GO SUB 9830: INK 5 40 INK 3: PRINT AT 7,0;: GO SUB 9850 50 INK 6: PRINT AT 14,0;" Type ""A"" to ADD files";TAB 4;"""SAVE"" or ""LOAD"" for tape";TAB 4;"""AUTO"" for AUTOSEARCH";TAB 4;"""DEFP"" changes PRINT format" 100 INPUT "SEARCH COMMAND? ";X$ 102 IF x$="DEFP" THEN PRINT AT 14,0;: PLOT 120,70: GO SUB 6500: INK 0: GO SUB 9830: INK 7: PRINT AT 10,7;A$; INK 0;E$(1);E$(1);E$(1): GO TO 50 103 IF x$="AUTO" THEN GO TO 5200 105 INK 5: CLS : IF x$="A" THEN GO TO 5000 106 IF x$="LOAD" THEN GO TO 5500 107 IF x$="SAVE" THEN SAVE f$ LINE 1: GO TO 1 110 IF x$="" THEN GO TO 10 115 IF x$(LEN x$)=" AND " OR LEN X$>32 THEN GO TO 10 119 LET X$=X$ 120 RANDOMIZE USR 64040 150 LET b=USR 64101 1000 PRINT AT 0,0;: DIM E$(15,32): LET e$(1)="": IF USR 63575 THEN 1010 IF a=0 AND e$(1, TO 18)=d$(2 TO 19) AND b<>p THEN CLS : GO TO 150 1020 IF y AND B
PEEK 23627+256*PEEK 23628+6 AND (y$="D" OR y$="E") THEN GO TO 4000
1090 IF y$="R" THEN CLS : LET x$=x$: GO TO 119+(A*5121)
1100 IF y$="C" THEN GO TO 7205
1200 IF y$="DEFP" THEN PRINT AT 20,0,,,,: PRINT AT 16,0;: PLOT 120,50: GO SUB 6500: INK 0: GO SUB 9830: LET y$="M": GO TO 1051
1500 IF y$<>"" AND y$<>"E" AND y$<>"D" THEN LET A=0: LET x$=y$: GO TO 105
2000 GO TO 1050
4000 LET p=p-USR 63640: IF y$="D" THEN LET Y$="": GO TO 1
4010 GO TO 5002
5000 DIM e$(15,32): CLS
5002 LET m=0: LET z=23658: LET i=0: LET l=0: LET c=0
5004 INK 1: PLOT 0,48: PAPER 6: DRAW 255,0: INK 0: PRINT AT 16,0; PAPER 1; INK 7;"CURSOR CONTROLS: ARROWS move cursor one position ENTER: Next line SHIFT 1:Alternate Insert/Over SHIFT 0:Delete character SHIFT 9:More commands ";AT l,c;: LET m=0
5005 INK 6: PAPER 0: FLASH 1: PRINT AT l,c;SCREEN$ (l,c)
5007 ON ERR GO TO 5005
5010 IF INKEY$="" THEN GO TO 5010
5016 IF INKEY$=" STOP " THEN ON ERR RESET : FLASH 0: GO TO 6000
5020 LET y$=INKEY$: FLASH 0: PRINT AT l,c;SCREEN$ (l,c): IF CODE y$<16 THEN GO TO 5100+CODE y$
5025 IF i THEN LET e$(l+1)=e$(l+1, TO c)+" "+e$(l+1,c+1 TO 31): PRINT AT l,0;e$(l+1)
5030 PRINT AT l,c;y$: LET e$(l+1,c+1)=y$: LET c=(c+1)*(c<31): LET l=l+(c=0): LET l=l*(l<15): FLASH 1: PRINT AT l,c;SCREEN$ (l,c)
5040 PRINT INK 6+i;AT l,c; FLASH 1;SCREEN$ (l,c): FOR X=1 TO 5: NEXT X
5103 GO TO 5010
5104 FOR x=l TO 13: LET e$(x+1)=e$(x+2): PRINT AT x,0;e$(x+1): NEXT x: LET e$(15)="": PRINT e$(15): GO TO 5040
5105 LET e$(l+1,c+1 TO )="": PRINT AT l,0;e$(l+1): GO TO 5040
5106 POKE Z,(PEEK z=0)*8: PRINT AT l,c; INK 7; PAPER 1;CHR$ (60+(PEEK z/4)): PAUSE 20: PRINT AT l,c;e$(l+1,c+1): GO TO 5040
5107 LET i=NOT i: GO TO 5040
5108 LET c=c-(c>0): GO TO 5040
5109 LET c=c+(c<31): GO TO 5040
5110 LET l=l+(l<14): GO TO 5040
5111 LET l=l-(l>0): GO TO 5040
5112 LET e$(l+1)=e$(l+1, TO c)+e$(l+1,c+2 TO 31)+" ": PRINT AT l,0;e$(l+1): GO TO 5108
5113 LET c=0: LET l=l+1: LET l=l-(l>14): GO TO 5040
5114 FOR x=15 TO l+2 STEP -1: LET e$(x)=e$(x-1): PRINT AT x-1,0;e$(x): NEXT x: LET e$(l+1)="": PRINT AT l,0;e$(l+1): GO TO 5040
5115 IF m=0 THEN PRINT BRIGHT 1; PAPER 1;AT 16,0;"Press STOP to close file SHIFT-2 for CAPS lock SHIFT-3 for LINE DELETE SHIFT-4 for LINE ERASE SHIFT-SYMBOL SHIFT: line insert ": LET m=-1: GO TO 5040
5116 IF m=-1 THEN PRINT AT 16,0,,: GO SUB 9850: LET m=1: GO TO 5040
5117 GO TO 5004
5200 LET a=1: PRINT AT 14,0; PAPER 0; INK 7;" PRINT OUT? (Y/N)",,,,,,,: INPUT Y$: LET Y=Y$="Y"
5220 LET Z$="0": PRINT AT 14,0;"TYPE LINE NUMBER BY WHICH FILES WILL BE ORDERED. Type ""0"" if ordering is not required": INPUT Z$: IF z$="" THEN GO TO 1
5222 ON ERR GO TO 5220: IF VAL Z$>=0 AND VAL Z$<=15 THEN GO TO 5230
5225 GO TO 5220
5230 ON ERR RESET : IF VAL z$ THEN LET S=VAL Z$: CLS : GO TO 5240
5235 LET a=0: GO TO 100
5240 RANDOMIZE USR 64731: IF s THEN POKE 64602,s
5441 LET x$="*": LET x$=x$: RANDOMIZE USR 64040: GO TO 7000
5500 PLOT 120,50: GO SUB 9830: PRINT AT 16,1;"HAS THIS FILE BEEN SAVED?(Y/N)": INPUT y$: IF y$<>"Y" THEN GO TO 1
5510 PRINT AT 16,1; PAPER 5; INK 0;"WHAT FILE NAME DO YOU WISH ";AT 17,1;"TO LOAD\::";: INPUT F$: PRINT f$: LOAD F$: GO TO 1
6000 FOR x=1 TO 15
6004 LET e$(x)=e$(x)
6005 IF USR 63489 THEN
6010 NEXT x
6020 LET p=USR 63530
6030 GO TO 1
6500 PRINT INK 7;" ENTER DESIRED FORMAT. Type ALL ";" or line numbers separated by"," ""/"". Use ""0"" to print blank"," lines ": GO SUB 9830
6510 LET C$="": LET n=0: INPUT "format?";a$: LET a$=a$+"/": IF a$(1)="/" THEN GO TO 6510
6515 IF A$="ALL/" THEN FOR X=1 TO 15: LET C$=C$+CHR$ X: NEXT X: LET D=3: GO TO 6600
6520 LET D=1: FOR x=1 TO LEN a$: IF a$(x)<"/" OR a$(x)>"9" THEN GO TO 6510
6525 IF X "C" THEN CLS : GO TO 7000
7235 IF Y AND A=0 THEN CLS : GO TO 150
7240 GO TO 1050
7310 PRINT AT 0,0;: LET E$(1)="": IF USR 63575 THEN
7311 RETURN
8990 FOR X=64468 TO 64769
8991 INPUT (X;"=";);Y$
8992 IF Y$="" THEN GO TO 8997
8993 IF LEN Y$=5 THEN LET X=VAL Y$: PRINT X;"=";PEEK X: GO TO 8991
8994 POKE X,VAL Y$
8997 PRINT X;"=";PEEK X
8998 NEXT X: STOP
8999 REM
9830 DRAW 134,0: DRAW 0,-48: DRAW -254,0: DRAW 0,48: DRAW 120,0: RETURN
9850 PRINT "OPEN: "; INK 7;LEN d$-p;: PRINT " bytes";TAB 0;: PRINT "FILE: "; INK 7;f$;TAB 0;: PRINT "ORDER: "; INK 7;s;TAB 0;: PRINT "FORMAT:"; INK 7;a$;TAB 0;: RETURN
9996 DIM d$(28020): LET p=20: LET d$( TO 20)="*SEARCH IS COMPLETE*": LET a$="ALL": LET c$="": FOR x=1 TO 15: LET c$=c$+CHR$ x: NEXT x: LET s=0
9997 PRINT AT 19,2; INK 7;"Press""C"" to CREATE a new file or ""L"" to LOAD an existing one": INPUT y$: PRINT AT 19,0;D$(100 TO 164): IF y$="L" THEN GO TO 5510
9998 PRINT AT 19,4; INK 7;"ENTER A NAME FOR THIS FILE": INPUT F$: IF f$="" OR LEN f$>10 THEN GO TO 9998
9999 GO TO 1
```
## Source Code: ProFile +5
```
3 LET D$( TO J+F)="*SEARCH IS COMPLETE": POKE VAL "23609",E: LET J$="": LET a=O: LET x$="": LET t=O: LET t0=O
4 RANDOMIZE p: POKE VAL "64035",PEEK VAL "23670": POKE VAL "64036",PEEK VAL "23671": RANDOMIZE USR VAL "64268"
5 IF INKEY$=" " THEN ON ERR GO TO VAL "9400": PRINT AT VAL "21",O; FLASH U;"BREAK TO EXIT/ENTER TO CONTINUE ": PAUSE O: GO TO F+U
6 BORDER O: PAPER O: LET y=O: DIM e$(J,Q): CLS
9 IF J$="U" THEN LET X$=X$: GO TO CODE "w"
10 IF y$="D" OR y$=" STEP " THEN POKE VAL "64022",PEEK VAL "64026": POKE VAL "64023",PEEK VAL "64027": LET B=(PEEK VAL "64024"+R*PEEK VAL "64025")+B: POKE VAL "64024",B-R*INT (B/R): POKE VAL "64025",INT (B/R): GO TO J*K
20 PRINT AT U,G; PAPER INT PI; INK O;" PRO/FILE PLUS 5 ": PRINT INK G-U;AT INT PI,F;"Separate MULTI-WORD";TAB F;"command words with the";TAB F;"tokens ""AND"", ""NOT"", ""OR"""
30 INK G: PLOT CODE "x",CODE "CODE ": GO SUB VAL "9830": INK F+U
40 INK INT PI: PRINT AT G,O;: GO SUB VAL "9850"
50 INK G-U: PRINT AT G+G,O;"A)dd files","T)ick on/off","AUTO)search","DEFP)rint formatDATE files","EDIT phrase","""SAVE"" ""LOAD"" ""MERGE"""
60 ON ERR RESET : IF x$="TAPE ERROR" THEN PRINT AT K+K,F+U; FLASH U;X$
100 LET T1=O: INPUT "SEARCH COMMAND? ";X$: IF X$="NN" THEN GO TO VAL "9998"
101 IF X$="EDIT" THEN INPUT "EDIT PHRASE: ";P$: GO TO U
102 IF x$="DEFP" THEN PRINT AT G+G,O;: PLOT CODE "x",G*K: GO SUB VAL "6500": INK O: GO SUB VAL "9830": INK G: PRINT AT G+H,G;A$; INK O;E$(U);E$(U);E$(U): GO TO CODE "2"
103 IF x$="AUTO" THEN GO TO VAL "5200"
104 IF X$="RST" THEN LET P=VAL "29": GO TO U
105 IF X$="DATE" THEN INPUT "NEW DATE: ";D$(VAL "21" TO G*F): GO TO U
106 INK F+U: CLS : IF x$="A" THEN GO TO VAL "5000"
107 IF x$="LOAD" OR X$="MERGE" THEN GO TO VAL "5500"
108 IF X$="SAVE" THEN GO TO VAL "8200"
109 IF X$="T" THEN LET E=ABS (E-K): GO TO U
110 IF x$="" THEN GO TO K
115 IF x$(LEN x$)=" AND " OR LEN X$>VAL "50" THEN GO TO K
119 LET X$=X$
120 RANDOMIZE USR VAL "64040"
130 LET j$=CHR$ PEEK VAL "23670": IF J$="T" OR J$="S" THEN INPUT "WHICH LINE TO CALCULATE?";RW: IF RWJ THEN GO TO VAL "130"
145 IF A=O THEN IF J$="U" THEN LET Z$="0": LET A=U: LET Y=O: LET Y$=" STEP ": INPUT "WHICH LINE TO CHANGE? ";L: INPUT "WHAT DATA TO CHANGE? ";P$: INPUT "WHAT IS NEW DATA? ";Q$: IF LEN Q$Q OR LJ THEN LET A=O: GO TO VAL "145"
150 LET B=USR VAL "65101": CLS
1000 PRINT AT O,O;: DIM E$(J,Q): LET e$(U)="": IF USR VAL "63575" THEN
1010 IF (A=O OR J$="U") AND e$(U, TO VAL "18")=d$(H TO J+F) AND b D$(H TO J+F) AND CODE j$>Q THEN GO TO VAL "8500"+CODE J$
1050 GO SUB VAL "9100": PAPER F+U: INK O: PRINT AT J+U,O;"Press ENTER to continue","C)opy D)elete E)dit A)dd fileG)oto menu R)estart searchM)ore info TYPE SEARCH COMMAND": INPUT "OPTION? ";Y$
1051 IF Y$="M" THEN PAPER O: INK F+U: PRINT AT J+U,O;: GO SUB VAL "9850": INPUT "OPTION? ";Y$: IF Y$="M" THEN GO TO VAL "1050"
1055 PAPER O: INK F+U
1056 IF Y$=">" OR Y$=">=" THEN LET L=PEEK VAL "64022": LET C=PEEK VAL "64023": INPUT "NEW SEARCH COMMAND? ";X$: IF X$="" THEN GO TO VAL "1056"
1057 IF Y$=">" OR Y$=">=" THEN IF X$(LEN X$)=" AND " OR LEN X$>Q THEN GO TO VAL "1056"
1058 IF Y$=">" OR Y$=">=" THEN LET X$=X$: RANDOMIZE USR VAL "64046": POKE VAL "64022",L: POKE VAL "64023",C: LET Y=Y$=">=": LET Y$=""
1059 IF Y$<"8" AND Y$>"0" THEN IF E$(U, TO F+U)="#DEFP" THEN GO TO VAL "6400"
1060 IF y$="" AND b PEEK VAL "23627"+R*PEEK VAL "23628"+G-U AND (y$="D" OR y$="E") THEN GO TO VAL "4000"
1090 IF y$="R" THEN LET t=O: LET t1=O: LET t0=O: CLS : LET x$=x$: GO TO CODE "w"+(A*VAL "5121")
1100 IF y$="C" THEN GO TO VAL "7205"
1200 IF y$="DEFP" THEN PRINT AT K+K,O,,,,: PRINT AT J+U,O;: PLOT CODE "x",CODE "2": GO SUB VAL "6500": INK O: GO SUB VAL "9830": LET y$="M": GO TO VAL "1051"
1500 IF y$<>"" AND y$<>"E" AND y$<>"D" THEN LET A=O: LET X$=Y$: GO TO CODE "i"
2000 GO TO VAL "1050"
4000 LET p=p-USR VAL "63640": LET B=P: IF y$="D" THEN LET y$="": GO TO U
4010 GO TO VAL "5002"
5000 DIM e$(J,Q): CLS
5002 LET m=O: LET z=VAL "23658": LET i=O: LET L=O: LET C=O
5003 IF Y$=" AND " THEN BEEP U/K,J+J
5004 INK U: PLOT O,CODE "0": PAPER G-U: DRAW CODE " COPY ",O: INK O: PRINT AT J+U,O; PAPER U; INK G;"ENTER:Next line or use SHIFT and1:Switch Insert/Over 2:Caps lock3:Line Delete 4:Line Erase5-8:Move Cursor 9:More Info";AT L,C;: LET m=O
5005 INK G-U: PAPER O: FLASH U: PRINT AT L,C;SCREEN$ (L,C)
5007 ON ERR GO TO VAL "5005"
5010 LET Y$=INKEY$: IF Y$="" THEN GO TO 5010
5016 IF Y$>=" AND " AND Y$<>" THEN " THEN ON ERR RESET : FLASH 0: GO TO 6000
5020 BEEP E/1000,40: FLASH 0: PRINT AT L,C;SCREEN$ (L,C): IF CODE y$<16 THEN GO TO 5100+CODE y$
5025 IF i THEN LET e$(L+1)=e$(L+1, TO C)+" "+e$(L+1,C+1 TO 31): PRINT AT L,0;e$(L+1)
5027 IF y$=" THEN " THEN GO TO 7205
5028 IF Y$="AT " AND I THEN LET Q$=E$(L+1,C+2 TO ): LET E$(L+1,C+1 TO )=P$+Q$: PRINT AT L,0;E$(L+1): LET C=(C+LEN P$)*(C+LEN P$<31): GO TO 5035
5029 IF Y$="AT " AND NOT I THEN LET Q$=E$(L+1,C+1+LEN P$ TO ): LET E$(L+1)=E$(L+1, TO C)+P$+Q$: PRINT AT L,0;E$(L+1): LET C=(C+LEN P$)*(C+LEN P$<31): GO TO 5035
5030 PRINT AT L,C;y$: LET e$(L+1,C+1)=y$: LET C=(C+1)*(C<31)
5035 LET L=L+(C=0 AND L<14): FLASH 1: PRINT AT L,C;SCREEN$ (L,C)
5040 PRINT INK 2+i*5;AT L,C; FLASH 1;SCREEN$ (L,C)
5103 GO TO 5010
5104 FOR x=L TO J-H: LET e$(x+U)=e$(x+H): PRINT AT x,O;e$(x+U): NEXT x: LET e$(J)="": PRINT e$(J): GO TO VAL "5040"
5105 LET e$(L+U,C+U TO )="": PRINT AT L,O;e$(L+U): GO TO VAL "5040"
5106 POKE Z,(PEEK z=O)*VAL "8": PRINT AT L,C; INK G; PAPER U;CHR$ (CODE "<"+(PEEK z/F)): PAUSE K+K: PRINT AT L,C;e$(L+U,C+U): GO TO VAL "5040"
5107 LET i=NOT i: GO TO VAL "5040"
5108 LET C=C-U+(Q AND C=O): GO TO VAL "5040"
5109 LET C=(C+U)*(C H THEN GO TO VAL "7213"
7207 LET L=O: LET C=O: FOR X=H TO Q: IF E$(U,X)=" " THEN LET C=X+U: GO TO VAL "7209"
7208 NEXT X: IF C=O THEN GO TO VAL "7212"
7209 FOR X=C TO Q: IF E$(U,X)=" " THEN LET L=X-U: LET X=Q
7210 NEXT X: IF L=O THEN LET E$(U)=E$(U,C TO )+" "+E$(U, TO C-H): GO TO VAL "7212"
7211 LET E$(U)=E$(U,C TO L)+" "+E$(U, TO C-H)
7212 IF Y$="C" THEN LET Y=O
7213 FOR X=U TO LEN C$: IF CODE C$(X)=O THEN LPRINT : GO TO VAL "7225"
7220 IF D THEN IF CODE C$(X)<=J THEN IF E$(CODE C$(X))>" " THEN LPRINT E$(CODE C$(X));: GO TO VAL "7225"
7221 IF NOT D THEN IF CODE C$(X)<=J THEN LPRINT E$(CODE C$(X));: GO TO VAL "7225"
7222 IF CODE C$(X)=J+U THEN LPRINT "CNT=";T1;" SUM1=";T;" SUM2=";T0;: GO TO VAL "7225"
7223 LET X=X+U: IF X "C" THEN CLS : GO TO VAL "7000"
7235 IF Y AND A=O THEN GO TO J*K
7240 GO TO VAL "1047"
7310 PRINT AT O,O;: LET e$(U)="": IF USR VAL "63575" THEN
7311 RETURN
8000 LET X$="TAPE ERROR": GO TO F
8200 CLS : PRINT AT K,O;"PRESS ANY KEY TO SAVE ": PAUSE O
8205 CLS : ON ERR GO TO VAL "8000": LET D$(H TO G+F)=F$: LET D$(K+H TO J+U)=STR$ P: SAVE F$CODE PEEK VAL "23627"+R*PEEK VAL "23628"+G-U,P
8220 BEEP U/H,J+J: PRINT AT K+K,O;" REWIND TO VERIFY/BREAK TO STOP "
8225 VERIFY ""CODE
8230 BEEP U/H,J+J: GO TO U
8548 GO TO U
8567 GO TO U
8568 LET P=P-USR VAL "63640": CLS : LET X$=X$: GO TO CODE "w"
8582 GO TO U
8583 GO TO VAL "9250"
8584 GO TO VAL "9200"
8585 LET P=P-USR VAL "63640": GO TO VAL "9300"
8900 GO TO U
8999 STOP
9000 CLS : PRINT #4: LOAD "p/f"CODE : SAVE "PROFILE" LINE VAL "9991": SAVE "p/f"CODE VAL "63488",VAL "2046": GO TO 9990
9100 IF J$="U" THEN LET T1=T1/H
9105 PRINT AT J,O;"CNT=";T1;: IF J$="T" OR J$="S" THEN PRINT " SUM1=";T;" SUM2=";T0
9110 RETURN
9200 POKE VAL "63798",J+U: LET E$(RW,U)=E$(RW,U): IF USR VAL "63792" THEN LET T=T+VAL E$(RW, TO J+U)
9205 LET e$(RW,J+H)=e$(RW,J+H): IF USR VAL "63792" THEN LET t0=t0+VAL e$(RW,J+H TO )
9210 IF Y AND (J$="T" OR J$="S") THEN GO TO J*K
9220 GO TO VAL "1050"-(VAL "900"*a*y)
9250 POKE VAL "63798",Q: LET E$(RW,U)=E$(RW,U): IF USR VAL "63792" THEN LET T=T+VAL E$(RW): LET T0=VAL E$(RW)
9260 GO TO VAL "9210"
9300 IF P$=E$(L, TO LEN P$) THEN LET E$(L)=Q$+E$(L,LEN P$+U TO ): PRINT AT L-U,O;E$(L)
9310 GO TO VAL "6000"
9400 PAUSE K+K: LET Y$=" STOP ": ON ERR RESET : GO TO U
9830 DRAW VAL "134",O: DRAW O,-VAL "48": DRAW H-R,O: DRAW O,CODE "0": DRAW CODE "x",O: RETURN
9850 PRINT "FILE: "; INK G;F$; INK INT PI;" ORDER: "; INK G;S, INK INT PI;"OPEN: "; INK G;LEN D$-P;: PRINT " bytes DATE:"; INK G;D$(VAL "21" TO F*G);TAB O;: PRINT "FORMAT:"; INK G;a$,,,TAB O;: RETURN
9990 CLEAR : SAVE "PROFILE" LINE VAL "9991": BEEP VAL ".5",VAL "30": SAVE "p/f"CODE VAL "63488",VAL "2046": BEEP VAL ".5",VAL "30": VERIFY "": VERIFY ""CODE : BEEP VAL ".5",VAL "40": GO TO VAL "9996"
9991 DELETE VAL "8999",VAL "9000": BORDER NOT PI: PAPER NOT PI: INK VAL "7": CLEAR VAL "63487": LOAD ""CODE : CLS : POKE VAL "23658",VAL "8"
9996 DIM d$(VAL "27379"): LET P=VAL "29": LET P$="": LET O=NOT PI: LET B=O: LET U=SGN PI: LET H=U+U: LET F=H+H: LET G=VAL "7": LET K=VAL "10": LET J=VAL "15": LET Q=CODE " ": LET R=VAL "256": LET A$="ALL/": GO SUB VAL "6515": LET S=O: LET D$(K+K TO VAL "29")=CHR$ U+"SET DATE*"
9997 LET Y$="": LET E=K: PRINT AT J+F,U+U; INK G;"Press ""C"" to CREATE a new file or ""L"" to LOAD an existing one": PAUSE O: LET X$=INKEY$: PRINT AT J+F,O;D$(CODE "d" TO VAL "164"): IF X$="L" THEN LET X$="LOAD": GO TO VAL "5505"
9998 PRINT AT J+F,F; INK G;"ENTER A NAME FOR THIS FILE": INPUT F$: IF f$="" OR LEN f$>K THEN GO TO VAL "9998"
9999 GO TO U
```