LKDOS Disk to Tape

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

Program to migrate files from Larken disk system to cassette tape.

Source Code

    1 REM THE MACHINE CODE USED IN THIS PROGRAM 2068 TURBOLOADER IS COPYWRITED AND WAS PUBLISHED BY SPECIAL PERMISSION IN THE JULY/AUG '88 ISSUE OF TDM. THEREFOR THE MACHINE CODE IN THIS PROGRAM CAN NOT BE PUBLISHED AND THE PROGRAM IN ITS ENTIRETY CAN ONLY BE PROVIDED TO SUBSCRIBERS OF TDM. THE MACHINE CODE WAS MODIFIED BY POKEING A ZERO INTO ADDRESSES 64815,64816, AND 64817.
    5 PRINT FLASH 1;AT 9,10;"STOP THE TAPE": PAUSE 240: CLS 
    7 PRINT "THE MACHINE CODE USED IN THIS PROGRAM 2068 TURBOLOADER IS COPYWRITED AND WAS PUBLISHED BY SPECIAL PERMISSION IN THE JULY/AUG '88 ISSUE OF TDM. THEREFOR THE MACHINE CODE IN THIS PROGRAM CAN NOT BE PUBLISHED AND THE PROGRAM IN ITS ENTIRETY CAN ONLY BE PROVIDED TO SUBSCRIBERS OF TDM."'"THE MACHINE CODE WAS MODIFIED BY POKEING A ZERO INTO ADDRESSES 64815,64816, AND 64817": GO SUB 100
   10 PRINT AT 9,7;"LKDOS DISK TO TAPE";AT 10,2;"(FOR PROGRAMS IN BASIC ONLY)";AT 11,6;"CASSETTE VERSION (V1)";AT 12,9;"BY DUNNINGTON": GO SUB 100
   20 CLEAR 63379: PRINT AT 9,0;"PLEASE SPECIFY DRIVE NUMBER     DESIRED FROM 0 TO 4             (4 IS RAMDISK)": INPUT "TYPE THE NUMBER,THEN PRESS ENTER ";A
   30 RANDOMIZE USR 100: OPEN #4,"dd": PRINT #4: GO TO A
   40 IF A=4 THEN GO TO 60
   50 CLS : PRINT AT 9,0;"PLEASE INSERT UNPROTECTED DISK  TO BE COPIED IN DRIVE #";A: GO SUB 100: GO TO 70
   60 CLS : PRINT FLASH 1;AT 9,0;"IS THE WRITE PROTECT SWITCH OFF?": GO SUB 100
   70 PRINT FLASH 1;AT 9,5;"START THE TAPE": LOAD "turbo.C2"CODE : CLS : LOAD "DSKTAP.B3"
  100 PRINT #0;"TO CONTINUE PRESS ANY KEY": PAUSE 0: CLS : RETURN 


10050 CLS : STOP 
10051 RANDOMIZE USR VAL "100": CAT "",: LET A=SIN PI: LET B=SIN PI: LET D=SIN PI: DIM A$(VAL "44",VAL "9")
10052 GO SUB VAL "10059": LET A=VAL "16": LET B=VAL "22": LET D=SIN PI: GO SUB VAL "10059": CLS 
10053 LET A=SIN PI: FOR N=SGN PI TO VAL "44": FOR M=SGN PI TO VAL "8": IF A$(N,M)="." AND A$(N,M+SGN PI)="B" THEN LET A=A+SGN PI
10054 NEXT M: NEXT N: DIM B$(A,VAL "9"): LET B=SGN PI: FOR N=SGN PI TO VAL "44": FOR M=SGN PI TO VAL "8": IF A$(N,M)="." AND A$(N,M+SGN PI)="B" THEN LET B$(B)=A$(N): LET B=B+SGN PI
10055 NEXT M: NEXT N: DIM A$(1,1): PRINT #SIN PI;"LOAD A BLANK TAPE,START THE RECORDER, THEN PRESS A KEY": PAUSE SIN PI: FOR N=SGN PI TO A
10056 FOR M=VAL "9" TO VAL "4" STEP -SGN PI: IF B$(N,M)=" " THEN NEXT M
10057 LET C$=B$(N, TO M): PRINT C$: RANDOMIZE USR VAL "100": SAVE "dsktap.B1" LINE VAL "10058": RANDOMIZE USR VAL "100": MERGE C$: PAUSE VAL "400": RANDOMIZE USR VAL "63600": RUN 1500: SAVE C$: RANDOMIZE USR VAL "100": LOAD "dsktap.B1"
10058 NEXT N: RANDOMIZE USR VAL "100": ERASE "dsktap.B1",: PRINT "ALL BASIC PROGRAMS ON TAPE": STOP 
10059 FOR N=B TO B+VAL "21": LET C=SGN PI: FOR M=A TO A+VAL "8": LET A$(N+SGN PI,C)=SCREEN$ (D,M): LET C=C+SGN PI: NEXT M: LET D=D+SGN PI: NEXT N: RETURN 
Scroll to Top