The “INIT” utilities for the three Disk Operating Systems are slightly different. Each listing may be used to pick up another little twist for another DOS. The Larken INIT uses the prcode as is supplied by Aerco on cassette for the Aerco printer interface. INIT for the Aerco FD-68 DOS uses the prcode as supplied on disk by Aerco and modified to be re-locatable by Jack Dohany in his program RALOADER. For the latest improvements in RALOADER call or write Jack. His address appears in the January UPDATE under “TS-2068 Suppliers”. Both “INIT” and “Cclear Code” are explained in this issue’s editorial pages.
“INIT.BAS” for Aerco FD-68 DOS
9900 INK 7: PAPER 0: BORDER 0: CLS : LET base=64500: POKE 23731,INT ((base-1)/256): POKE 23730,(base-PEEK 23731*256-1): OUT 244,1: CAT "Cclear.bin",: CAT "Cprcode.BIN",: CLS
9910 CLS : PRINT AT 3,5;"Printer Status is:"'''
9920 PRINT TAB 2;"Printer in use is: ";: IF PEEK (base+803)>2 THEN PRINT "NOT SET"
9922 IF PEEK (base+803)=1 THEN PRINT "TS-2040"
9924 IF PEEK (base+803)=0 THEN PRINT "Centronics"
9926 PRINT ''TAB 2;"Line Width is: ";PEEK (base+4)+1
9930 PRINT ''TAB 2;"Line Feed Switch is: ";: IF PEEK (base+5)=10 THEN PRINT "-ON-"
9931 IF PEEK (base+5)=0 THEN PRINT "-OFF-"
9933 PRINT ''TAB 5;"Your Choice?"''TAB 5;"1> RESET PARAMETERS"''TAB 5;"2> Leave AS IS": INPUT "Choice? ";b: IF b<1 OR b>2 THEN GO TO 9933
9934 IF b=2 AND PEEK (base+803)=1 THEN RANDOMIZE USR (base+2): GO TO 9995
9935 IF b=2 AND PEEK (base+803)=0 THEN RANDOMIZE USR base: GO TO 9995
9936 CLS : PRINT AT 10,2;"SELECT:"''TAB 2;"<1> Centronics, or"''TAB 2;"<2> TS-2040": INPUT a: LET a=a-1: IF a>1 THEN GO TO 9937
9938 POKE (base+803),a: IF a=1 THEN RANDOMIZE USR (base+2): GO TO 9995
9942 CLS : PRINT AT 10,0;"Does Printer need a LINE FEED with each Carriage Return?"'''"<1> Yes - OR - <2> NO"
9943 PAUSE 0: LET a=(CODE INKEY$-49): IF a<0 OR a>1 THEN GO TO 9943
9944 POKE (base+5),(NOT a)*10: POKE (base+805),(NOT a+10)
9960 CLS : PRINT AT 10,0;"Key Desired Printer line length:": INPUT "Input line length: ";ll: IF ll>255 THEN GO TO 9960
9964 POKE (base+4),ll-1: POKE (base+804),ll-1
9968 CLS : GO TO 9910
9995 CLS : PRINT "Copy these important notes:"'''"1. Always initialize the var ""base"" in your programs- ie, <LET base=64500>."'''"2. The Prcode does not work until it is TURNED ON, by: <RANDOMIZE USR base>. This is for Centronics Printers."'''"IT should be TURNED ON before doing any POKES."'''"3. For TS-2040 use, <RANDOMIZE USR, (base+2)."'''"4. There are 64 bytes ABOVE this Code, (base+804 to 867) that can be used for hiding Vars that need to be carried forth to a new BASIC program."''"The UDG area 65368-65535 is left intact."'''"5. To turn ON line feed, <POKE (base+5),10>"''"6. To Turn OFF LINE FEED, <POKE (base+5),0"
9996 PRINT ''"7. To set printer Width, <POKE (base+4),63> for 64 chr lines. (width minus 1)"'''"8. To TURN ON printer code, <RANDOMIZE USR base>"'''"9. To Turn OFF printer code, <RANDOMIZE USR (base+2) > ie, to use TS-2040 printer"'''"10. This code is saved at 64500, 867. You may use the RALOADER pgm (Jack Dohany) to RE-LOCATE the code"'''"ENTER when Ready."
9997 PAUSE 0: CLS : PRINT AT 6,0;"The Printer driver code IS now initialized."'''"NEXT, a CAT will be done with a prompt to load a program."'''"During operation, if the code is overwritten, you may re-load this program to re-set it into memory."'''"ENTER WHEN ready.": PAUSE 0: CLS
9998 IF a$<>"" THEN OUT 244,1: CAT "",: INPUT "Enter a Title to LOAD (all bet- ween quotes)";a$: CAT "a$",
9999 DELETE 9900,
“INIT”, Larken DOS, Aerco prcode
9997 CLEAR 64455: LET PRINTORG=64461: POKE 26704,INT (PRINTORG/256): POKE 26703,PRINTORG-(INT (PRINTORG/256))*256: POKE 64456,1: POKE 64458,0: POKE 64457,0: POKE 64459,79: BORDER 0: PAPER 0: INK 7: CLS : RANDOMIZE USR 100: OPEN #4,"dd": PRINT #4: LOAD "prcode.C1"CODE 64456,1111: CLS : BEEP PI/PI,PI*PI: INPUT "INPUT LINE WIDTH LIMIT";Lw: POKE 64459,Lw-1: BEEP PI/PI,PI*PI: PRINT AT 20,1;"Install PROGRAM DISK, ENTER": PAUSE 0: CLS : RANDOMIZE USR 100: OPEN #4,"dd": PRINT #4: CAT "",: INPUT "Input Title of Basic Program, ""[All Between Quotes]"" ";a$
9998 IF a$<>"" THEN PRINT #4: LOAD a$
9999 DELETE 9997,
“INIT” for Oliger DOS
9980 CLEAR 65535: CLEAR 65367: BORDER 0: PAPER 0: INK 7: CLS
9982 INK 5: FOR n=0 TO 31: PRINT AT 6,n;"*";AT 16,n;"*": NEXT n: INK 7: PRINT AT 9,7;"PRINTER SET-UP";AT 12,7; FLASH 1;"TYPE of PRINTER": INPUT "<1> Centronics, or <2> TS-2040";pr
9988 IF pr=2 THEN LET /p=t: GO TO 9994
9990 LET /p=o: PRINT AT 12,7; FLASH 1;"SET LINE LENGTH": INPUT "Line Length? ";ll: POKE 23323,ll: PRINT AT 12,7;"Printer Need Line Feed?": INPUT "INPUT: <1> Yes or <2> No :";lf: POKE 23324,(10 AND lf=1)+(0 AND lf=2): CLS
9994 FLASH 0: LOAD /"DOSDEX MGR"
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.