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.

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