--- title: "Header-Reader for 2068" type: "article" slug: "header-reader-for-2068" url: "http://localhost/article/header-reader-for-2068/" markdown_url: "http://localhost/article/header-reader-for-2068.md" published_at: "2020-10-27T17:10:44+00:00" modified_at: "2026-06-19T06:03:15+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Loading a program into the 2068 1s always divided into two parts, The Header and then the program or bytes or array. R-HEADER reads the header without loading the program. The header contains the following information: Program Type (BASIC, code, array) NAME Length with and without variables Auto-Run line (BASIC) Byte Origin (Code) Type in…" category: - name: "SUM" slug: "sum" taxonomy: "category" url: "http://localhost/category/periodicals/sum/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Real Gagnon" slug: "real-gagnon" taxonomy: "indiv" url: "http://localhost/indiv/real-gagnon/" publication: "SUM" publication_r: id: 10242 title: "SUM" type: "periodical" url: "http://localhost/periodical/sum/" authors: "Real Gagnon" authors_r: - name: "Real Gagnon" slug: "real-gagnon" taxonomy: "indiv" url: "http://localhost/indiv/real-gagnon/" volume: "3" issue: "12" issues_articles: - id: 26632 title: "SUM v3 n12" type: "issue" url: "http://localhost/issue/sum-v3-n12/" pages: "18" pubdate: "December 1985" archive_link: false volumeissue: "vIIIn12" article_media: - id: 56116 title: "R-Header 2068" type: "computer_media" url: "http://localhost/computer_media/r-header-2068/" --- # Header-Reader for 2068 Loading a program into the 2068 1s always divided into two parts, The Header and then the program or bytes or array. R-HEADER reads the header without loading the program. The header contains the following information: 1. Program Type (BASIC, code, array) 2. NAME 3. Length with and without variables 4. Auto-Run line (BASIC) 5. Byte Origin (Code) Type in the listing and save it before RUNning. Then RUN, follow instructions. The program will list contents of any headers it encounters from tape. ## Source Code: R-Header 2068 ``` 1 REM __________R-HEADER 2068 BY GAGNON-o85___________ 2 CLEAR 31999 5 BORDER 0: PAPER 0: BRIGHT 1: INK 5: CLS 10 GO SUB 1000 50 CLS : GO SUB 600: BEEP .01,10: PRINT AT 10,9; INK 0; PAPER 6; FLASH 1;"START CASSETTE" 60 RANDOMIZE USR 32000 65 BEEP .01,45 69 CLS : GO SUB 600 70 LET IX=32256 80 LET type=PEEK IX 90 PRINT INVERSE 1'("Program:" AND type =0)+("Numeric Array:" AND type=1)+("String Array:" AND type=2)+("Bytes Block:" AND type =3); 100 PRINT INVERSE 0;" ";: FOR n=ix+1 TO ix+10: PRINT CHR$ PEEK n;: NEXT n 110 PRINT INVERSE 1''+("Prog. + Variable " AND type=0)+("Code " AND type);" Length:"; 120 PRINT INVERSE 0;" ";PEEK (ix+11)+256*PEEK (ix+12) 130 IF type=1 OR type=2 THEN PRINT INVERSE 1'"Variable:";: PRINT INVERSE 0;" ";CHR$ (PEEK (ix+14)-32-64*(PEEK (ix+14)>192))+("$" AND type=2): GO TO 175 140 PRINT ': PRINT INVERSE 1;("Auto-Run Line:" AND type=0)+("Block Origin:" AND type=3); 150 PRINT INVERSE 0;" ";PEEK (ix+13)+256*PEEK (ix+14) 155 IF type=3 THEN GO TO 175 160 PRINT INVERSE 1;("Program Length:" AND type =0); 170 PRINT INVERSE 0;" ";PEEK (ix+15)+256*PEEK (ix+16) 175 PRINT ''' OVER 1;"................................" 180 PRINT '' OVER 1;" S: STOP ENTER:CONTINUE ": PAUSE 0: IF INKEY$="s" OR INKEY$="S" THEN STOP 190 RUN 199 STOP 600 PLOT 0,0: DRAW 255,0: DRAW 0,175: DRAW -255,0: DRAW 0,-175: PRINT INVERSE 1;AT 0,9;"R-HEADER 2068";AT 1,9;"GAGNON-o 85"'' 610 RETURN 699 STOP 1000 REM _____________the M.C. 1010 DATA 221,33,0,126,175,17,17,0,55,1,254,254,205,153,100,205,252,0,186,32,240,219,255,203,191,211,255,175,211,244,201 1020 FOR i=32000 TO 32030: READ a: POKE i,a: NEXT i 1030 RETURN 8999 STOP 9991 SAVE "lect2068": PRINT "Rewind & press ENTER to verify": PAUSE 0: VERIFY "lect2068" ```