Tape Lister – Centronics

Date: 198x
Type: Program
Platform(s): TS 2068

Creates a file of up to 128 entries as well as displaying the results. It is configured for printing to any Centronics printer.

Content

Appears On

Related Products

Related Articles

Related Content

Image Gallery

Tape Lister – Centronics

Source Code

    1 CLS : PRINT FLASH 1;AT 3,8;" STOP RECORDER "
    2 PRINT ''"  This program accesses tape     header information.  It creates a file of up to 128 entries as  well as displaying the results."''"  It is configured for printing  to any CENTRONICS printer."
    3 PAUSE 600
  200 STOP 
  399 CLEAR 59903
  410 REM  Printer Setup 
  411 LET C1=130: LET C2=131: LET C3=128: LET C4=129: LET C5=16: LET C6=64
  412 CLS : PRINT ,,"  Please select PRINTER."''"   1  T-S 2040"''"   2  CENTRONICS w/PIO, IM1"
  413 INPUT "Which? ";Printer: IF Printer=2 THEN GO TO 415
  414 POKE 26703,PEEK 26693: POKE 26704,PEEK 26694: RETURN 
  415 PRINT AT 3,1;" PRINTER ADDRESSES "''"  Printer: c1","Command: c2"'"   Status: c3","Command: c4"'" BUSY bit: c5","STB Bit: c6"''"  PRESENT VALUES "''"  c1=";c1,"c2=";c2'"  c3=";c3,"c4=";c4'"  c5=";c5,"c6=";c6
  416 PRINT '"  Input new values as required  and GO TO 415, else CONTINUE.": STOP 
  417 RESTORE 417: DATA 8,219,C3,230,C5,32,12,8,211,C1,175,243,211,C3,47,211,C3,251,201,205,9,32,56,-23,207,12
  418 FOR N=61594 TO 61619: READ Byte: POKE N,Byte: NEXT N
  420 REM  init PIO 
  421 OUT C2,255: OUT C2,0: OUT C2,7: OUT C4,255: OUT C4,255-C6: OUT C4,7: OUT C3,64
  422 POKE 26703,154: POKE 26704,240: GO TO 999
  450 LPRINT ("\l/" AND Zoom);"\lG";STR$ Margin;";32;22;";STR$ Aspect;"\lZ";: RANDOMIZE USR LDat: RETURN : REM  COPY 
  451 LET Zoom=0: LET Margin=40: LET aspect=3: GO TO 450
  452 LET Zoom=1: LET Margin=40: LET aspect=2: GO TO 450
 3995 DATA 62,0,55,221,33,45,242,17,17,0,243,245,219,255,203,255,211,255,219,244,50,44,242,62,1,211,244,241,205,252,0,58,44,242,211,244,219,255,203,191,211,255,251,201,0
 3996 LET loadat=61952: LET wh=loadat+45: REM wh=61997
 3997 RESTORE 3995: FOR n=loadat TO loadat+44: READ wc: POKE n,wc: NEXT n: DIM z$(129,64): LET z$(1)="TapeHdrs      /128": LET ww=2: LET w$="": CLS : PRINT AT 10,6;" START RECORDER ": PRINT AT 0,0;
 3998 POKE wh,4: RANDOMIZE USR loadat: LET wt=PEEK wh: IF wt>3 THEN GO TO 4010
 3999 LET wl=PEEK (wh+11)+256*PEEK (wh+12): LET wc=PEEK (wh+14): LET wa=PEEK (wh+13)+256*wc: LET wv=PEEK (wh+15)+256*PEEK (wh+16): LET wt=PEEK wh: IF wt>3 THEN GO TO 4006
 4000 LET w$="": FOR n=wh+1 TO wh+10: LET w$=w$+CHR$ PEEK n: NEXT n: GO TO 4001+wt
 4001 LET Z$(WW)=w$+" PROG "+STR$ wv+", VARS "+STR$ (wl-wv): LET z$(ww,36 TO )=(("Autostart LINE "+STR$ wa) AND (PEEK (wh+14)<>128))+("No Autostart" AND (PEEK (wh+14)=128)): GO TO 4005
 4002 LET Z$(WW)=w$+" "+CHR$ (wc-32)+"(), "+STR$ wl: GO TO 4005
 4003 LET Z$(WW)=w$+" "+CHR$ (wc-96)+"$(), "+STR$ wl: GO TO 4005
 4004 LET Z$(WW)=w$+" CODE "+STR$ wl+" from "+STR$ wa
 4005 PRINT AT 0,0;z$(ww): LPRINT z$(ww);CHR$ 10;: LET ww=ww+1: LET w=PEEK 26704=PEEK 26694
 4010 PAUSE 300: GO TO 3998
 4500 STOP 
 4600 FOR n=1 TO ww: PRINT z$(n): NEXT n: STOP 
 9990 LET w$=STR$ (ww-1)
 9991 IF LEN w$<3 THEN LET w$=" "+w$: GO TO 9991
 9994 LET z$(1,12 TO 14)=w$
 9995 SAVE z$(1, TO 10) DATA z$()
 9996 STOP 
 9998 DIM z$(1,1): SAVE "TapeLister" LINE 1
 9999 GO TO 9998
    1 CLS : PRINT FLASH 1;AT 3,8;" STOP RECORDER "
    2 PRINT ''"  This program accesses tape     header information.  It creates a file of up to 128 entries as  well as displaying the results."''"  It is configured for printing  to any CENTRONICS printer."
    3 PAUSE 600
  200 STOP 
  399 CLEAR 59903
  410 REM  Printer Setup 
  411 LET C1=130: LET C2=131: LET C3=128: LET C4=129: LET C5=16: LET C6=64
  412 CLS : PRINT ,,"  Please select PRINTER."''"   1  T-S 2040"''"   2  CENTRONICS w/PIO, IM1"
  413 INPUT "Which? ";Printer: IF Printer=2 THEN GO TO 415
  414 POKE 26703,PEEK 26693: POKE 26704,PEEK 26694: RETURN 
  415 PRINT AT 3,1;" PRINTER ADDRESSES "''"  Printer: c1","Command: c2"'"   Status: c3","Command: c4"'" BUSY bit: c5","STB Bit: c6"''"  PRESENT VALUES "''"  c1=";c1,"c2=";c2'"  c3=";c3,"c4=";c4'"  c5=";c5,"c6=";c6
  416 PRINT '"  Input new values as required  and GO TO 415, else CONTINUE.": STOP 
  417 RESTORE 417: DATA 8,219,C3,230,C5,32,12,8,211,C1,175,243,211,C3,47,211,C3,251,201,205,9,32,56,-23,207,12
  418 FOR N=61594 TO 61619: READ Byte: POKE N,Byte: NEXT N
  420 REM  init PIO 
  421 OUT C2,255: OUT C2,0: OUT C2,7: OUT C4,255: OUT C4,255-C6: OUT C4,7: OUT C3,64
  422 POKE 26703,154: POKE 26704,240: GO TO 999
  450 LPRINT ("\l/" AND Zoom);"\lG";STR$ Margin;";32;22;";STR$ Aspect;"\lZ";: RANDOMIZE USR LDat: RETURN : REM  COPY 
  451 LET Zoom=0: LET Margin=40: LET aspect=3: GO TO 450
  452 LET Zoom=1: LET Margin=40: LET aspect=2: GO TO 450
 3995 DATA 62,0,55,221,33,45,242,17,17,0,243,245,219,255,203,255,211,255,219,244,50,44,242,62,1,211,244,241,205,252,0,58,44,242,211,244,219,255,203,191,211,255,251,201,0
 3996 LET loadat=61952: LET wh=loadat+45: REM wh=61997
 3997 RESTORE 3995: FOR n=loadat TO loadat+44: READ wc: POKE n,wc: NEXT n: DIM z$(129,64): LET z$(1)="TapeHdrs      /128": LET ww=2: LET w$="": CLS : PRINT AT 10,6;" START RECORDER ": PRINT AT 0,0;
 3998 POKE wh,4: RANDOMIZE USR loadat: LET wt=PEEK wh: IF wt>3 THEN GO TO 4010
 3999 LET wl=PEEK (wh+11)+256*PEEK (wh+12): LET wc=PEEK (wh+14): LET wa=PEEK (wh+13)+256*wc: LET wv=PEEK (wh+15)+256*PEEK (wh+16): LET wt=PEEK wh: IF wt>3 THEN GO TO 4006
 4000 LET w$="": FOR n=wh+1 TO wh+10: LET w$=w$+CHR$ PEEK n: NEXT n: GO TO 4001+wt
 4001 LET Z$(WW)=w$+" PROG "+STR$ wv+", VARS "+STR$ (wl-wv): LET z$(ww,36 TO )=(("Autostart LINE "+STR$ wa) AND (PEEK (wh+14)<>128))+("No Autostart" AND (PEEK (wh+14)=128)): GO TO 4005
 4002 LET Z$(WW)=w$+" "+CHR$ (wc-32)+"(), "+STR$ wl: GO TO 4005
 4003 LET Z$(WW)=w$+" "+CHR$ (wc-96)+"$(), "+STR$ wl: GO TO 4005
 4004 LET Z$(WW)=w$+" CODE "+STR$ wl+" from "+STR$ wa
 4005 PRINT AT 0,0;z$(ww): LPRINT z$(ww);CHR$ 10;: LET ww=ww+1: LET w=PEEK 26704=PEEK 26694
 4010 PAUSE 300: GO TO 3998
 4500 STOP 
 4600 FOR n=1 TO ww: PRINT z$(n): NEXT n: STOP 
 9990 LET w$=STR$ (ww-1)
 9991 IF LEN w$<3 THEN LET w$=" "+w$: GO TO 9991
 9994 LET z$(1,12 TO 14)=w$
 9995 SAVE z$(1, TO 10) DATA z$()
 9996 STOP 
 9998 DIM z$(1,1): SAVE "TapeLister" LINE 1
 9999 GO TO 9998

People

No people associated with this content.

Scroll to Top