UPDATE Addendum: The Zebra OS-64 cartridge provides a nice 64 column display, yet when a menu or information display does not require such packing on screen, the regular 32 character display provides more comfortable reading. The OS-64 does not LOCK one into the small print of a 64 column line. One can switch AT WILL between the two display files. When the 32 col display file is switched IN, all of the color attributes may be used for glorious screen displays. Following are two “switch routines” to be used with <GO SUB zb – or GO SUB ts>. The ts routine: <9000 OUT 255,0: PAUSE 10: OUT 244,0: CLS: RETURN>. The zb routine: <9002 OUT 255,62: PAUSE 10: OUT 244,3: CLS: RETURN>.
Just remember that when you have a Zebra OS-64 cartridge installed, all LPRINT, LOAD, SAVE, commands exercise the routines in the OS-64 ROM, and NOT the normal TS-2068 EXROM. Therefore one must always be in the 64 col (OS-64 Display) before using these commands. Otherwise a crash will result. Preceed all LOAD, SAVE, LPRINT commands with <GO SUB zb>. If you want 32 column presentations on screen, <GO SUB ts> first. If you want 64 col screen, <GO SUB zb>. Neat, eh?
The review article by Phoenix Pete came in in a MSCRIPT file, which gave me a chance to try out the “MS-TAS” utility to print it without loading the MSCRIPT software. I always get tangled up with Mscript’s and Tasword’s elaborate Control Codes for trapsying around in the two programs. So, the following Utility was developed and tested to print mscript files without need to have mscript loaded (or to learn it durn it). Note that Pete’s text has a ragged right margin, which gave the other “MS-TAS” utility a problem. This was solved by using a “variable stepping counter” to end the line print each time a ENTER (code 13) is detected. Note that the last input of “line width” in line 9000 results in POKING the MAXIMUM printer line to the Aerco prcode.
Then counter “n” is stepped to the “line width”. However the n counter STEP is a pseudo value. It could be any figure “more than the longest line to be printed”. This is because at line 9015 the “y” counter stops when a code 13 (ENTER) is detected. Then the “n” counter is set back, so that when it STEPS it will step to the memory address of the next character to be PEEKED and printed. Chomp on that a bit and you may get some more ideas about making STEP in a FOR counter a variable figure.
Now Pete just assumed that I’d load up Mscript and print his document, so he didn’t tell me what address the code started, nor its byte length. So, the “FIND” routine at line 9965 was added. <GO TO 9965> will find START and END memory addresses of the Mscript code file and print the info on screen. Then <RUN> and use this information for the INPUT PROMPTS after the DATA disk catalog is on screen.
In line 9000, the prcode file name, Randomize #, and the line width POKE, are for the prcode version given in the Apr/July Issue Disk. Your customized Aerco prcode may need different figures. This utility will be included in the October (next) Issue Disk (no room in the current Apr/July disk).
8980 REM * MSCRIPT FILES PRINTER
8985
8990 CLOSE #2: BORDER 0: PAPER 0: INK 7: CLS : PRINT '''TAB 8;"TS-2068 UP-DATE"'''"* Utility to PEEK and Print out MSCRIPT Data Files from Disk."''"* Does not require Word Proc to be loaded."''"* DOES Require;"''"1. Aerco or Oliger Printer intfc to be installed."''"2. Centronics Printer -ON- READY"'''"SET EQUIPMENT, THEN ENTER": PAUSE 0: CLS
9000 OUT 244,1: CAT "Cclear.bin",: CAT "Cprcode.bin",: RANDOMIZE USR 64500: INPUT ;"Install Data Disk, ENTER";y$: CAT "",: INPUT "Input MS-TAS Disk File Name (all between Quotes).";z$: INPUT "Input File Starting Address";sa: INPUT "Input File Byte Length";bl: INPUT "Printer Line Width";ll: INPUT "Start line count?";Lc: INPUT "Total Col Lines?";tc: POKE 64504,ll-1: CAT "z$",
9002 OPEN #2,"p": FOR n=sa TO sa+bl STEP ll
9005 FOR y=n TO n+ll-1
9010 LET c=PEEK y
9015 IF c=13 THEN PRINT : LET n=y+1-ll: GO TO 9027
9020 PRINT CHR$ c;
9025 NEXT y
9027 LET lc=lc+1: IF lc>tc THEN PRINT : CLOSE #2: LET lc=1: OUT 127,12: BEEP 1,20: CLS : PRINT "Adjust Page, THEN ENTER": PAUSE 0: OPEN #2,"p"
9030 NEXT n
9035 CLOSE #2
9040 PRINT ''"<1> For next file"''"<2> To Quit": INPUT "Choice? ";a: IF a<1 OR a>2 THEN GO TO 9040
9045 IF a=2 THEN STOP
9050 GO TO 9000
9060 REM ** Find Start and End of MSCRIPT file.
9965 LET a=1: FOR n=46000 TO 65367
9970 IF PEEK n<>0 THEN PRINT "Start Adr=";n: GO TO 9990
9975 NEXT n
9990 FOR n=n TO 65535: IF PEEK n=0 THEN PRINT "End of File=";n: STOP
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.