LogiCall v4.3

Author(s): Bob Swoger
Publication: Update Magazine
Pub Details: Update January 1991
Date: January 1991
Pages: 15-21

When I received my LarKen disk operating system for my T/S 2068 back in 1988 I found I could do everything the expensive machines could do even Sequential and Random Access files. The only thing that seemed strange was having utilities on disk that I used to have ready to call in ROM. Also having to type RANDOMIZE USR 100: GOTO 4: RANDOMIZE USR 100: LOAD “FORMAT.BL” seemed to me to be a lot to type just to format a disk. So what to do? I wrote LogiCall.

A GUIDED Tour:

John Shepard in Mississippi called me one evening after SMUGfest as he had a slight problem when he installed his LarKen DOS cartridge into his AERCO disk system. He had neglected to cut a wire mentioned in the instructions. But this gave me an opportunity to give him a guided tour of LogiCall.

“Put the LogiCall disk #1 into drive 0, hold down the ENTER key and turn on the power. What happened?” I asked. “Drive 0 came on and I have the CATalog on my screen .. except it’s also telling me what drive I’m looking at.” was John’s reply. “That’s the LogiCall screen and in the lower left of the screen?” “It’s asking for a drive number.” “Ok, just touch 0 or ENTER. You’ll stay on drive 0.” “Now it’s asking for a program name.” he said. “RIGHT! Now touch your FORMAT key and hit ENTER.” “My FORMAT menu is on the screen except there is a 0 selection to EXIT.” he replied. “Now touch 0” “I’m back to LogiCall.” said he. “RIGHT! Now just hit ENTER at the Drive? prompt and touch your MOVE key and hit ENTER at the PROGRAM? prompt.” “My MOVE menu is on the screen and there is a 0 selection to EXIT.” he replied. “Now touch 0” “I’m back to LogiCall.” said he. “I’ll show you why, type H and ENTER” “A HELP menu is on my screen!” “RIGHT! hit ENTER again.” “A second page!” “Yep, two pages of one key operation for LK-DOS with LogiCall. Now hit ENTER.” “Back to LogiCall.” he said. “At the PROGRAM? prompt type W and enter.” “My TASWORD TWO word processor!” he was laughing at this point. “Now select either e or q on the TASWORD menu.” “I’m back in LogiCall” “At the PROGRAM prompt type T and ENTER.” “I’m in MTERM!” more laughter. “Now at the MTERM menu select E for exit to BASIC and then RUN and ENTER.” “I’m back in LogiCall.” he said. “Ok, now at the PROGRAM? prompt type BROOKE.C$ and enter.” “I’m looking at a picture of Brooke Shields!” this time giggling. “Hit ENTER and at the PROGRAM? prompt type ldoc.CT” “That would be a TASWORD file wouldn’t it? Hey! it’s printing to the screen.” “Yep, that is the LogiCall doc files and you will print it out from TASWORD to use as your LogiCall manual. Now let’s say we are too lazy to want to type in a program name. At the PROGRAM? prompt just hit ENTER.” “AUTOSTART just lit up.” he said. “Now just use the arrow keys to get down the CATalog to VUCALC.B1 then hit ENTER.” “OK, I’m looking at the VU-CALC start-up screen … now I’m looking at the VU-CALC main screen with it’s menu at the top.” “Good, now type #q and ENTER. You are now looking at a new menu I wrote that gives the new VU-CALC help menu and an exit to LogiCall option. Press 0 and your back to LogiCall.”

“Now consider the fact that you have just turned on your machine and have loaded SEVEN programs into your machine one after another, looked at two data files on the screen, all in less than three minutes, and have not yet turned off your machine to RESET it.” I said. “NEAT! This is GREAT stuff!” he said, “But how do I make an AUTOSTART file to start up LogiCall on boot-up?” he asked. “Easy, at the PROGRAM? prompt type A, wait for the tune, then type D and the job is done.” “Your kidding, what about disk space?” he asked. “AUTOSTART only uses one track and LogiCall only uses one. And of course they both work in the SPECTRUM mode.”

“What is the DISKS.B1 file in the CATalog?” he asked. “Load it.” I said. “It is there to assist you in locating all those great programs that you now own. I have over 300 disks to keep track of. You eyeball scan the menu boards using the ‘N'[ext] and ‘B'[ack] or number keys to find the needed disk(s) in your library cases, there is room for forty cases. DISKS.B1 is your Disk Filing System. S and ENTER saves your changes to DISKS.B1 and returns you to LogiCall. TAPES.B1 is the version for tape back-up storage.”

WHAT is LogiCall:

LogiCall is an Auxiliary Operating System (AOS) that makes getting around in a LarKen multi-drive system as easy as entering the drive number you wish to go to and entering the program name you wish to run. Even if you don’t have a multi-drive system yet, LogiCall will still be of benefit to you.

Unlike operating systems which reside in the computer’s RAM and take up precious program space, LogiCall exits the machine when a new program is LOADed in and returns when you’re through with that program. Some of the features of LogiCall are:

1.) Automatic display of disk directory. (Catalog)
2.) Asks you for the drive you wish to use next. TAPE? Sure!
3.) Asks you for the program you wish to run next.
4.) Allows you to SCAN select the program to LOAD in.
5.) Easily creates the AUTOSTART program on disk.
6.) Easily adds itself to disk.
7.) Easy ERASE routine.
8.) Easy RENAME routine.
9.) Easy Calls for FORMAT and MOVE.
10.) Easy call for Word processor.
11.) Easy call for Terminal software.
12.) Easy call for CRC (disk verification).
13.) Easy call for running AUTOSTART.
14.) Displays SCREEN$ and decoded RLE pictures on screen.
15.) Prints directory out on TS2040 for disk labeling.
16.) Displays WP files to screen without use of WP.
17.) Lets you change drives at the ‘Program?’ prompt.
18.) Runs on MAX DOS and SPECTRUM modes.
19.) Written in BASIC to allow user customization.
20.) Contains convenient HELP screens.
21.) No RESET switch needed to terminate programs!
22.) Keeps you informed as to current DRIVE. (V4.3_3 only)
23.) All of this on one block, [one disk track].

WHY LogiCall works:

LogiCall contains all the COMMAND strings needed to run LK-DOS. It can therefore prompt you for what you wish to do and it will do it for you without you having to do all the typing. LogiCall (L.B1) and AUTOSTART created by LogiCall should be on the RAM-DISK and every floppy you have. AUTOSTART can be modified to start programs other than L(ogiCall).B1 once it has been installed. This procedure will be discussed later. The program DISKS.B1 should be on the RAM-DISK or on the Boot-up disk in DRIVE 0 if you don’t have the RAM-DISK.

INSTALLING the LogiCall Auxiliary Operating System:

Enter the program L.B1 into your machine, run it and enter the drive number that you wish to store it on. Then enter ‘S'[ave] at the ‘Program?’ prompt, hit <ENTER> and the program, L.B1, will be stored on the current disk. Now enter ‘A'[UTOSTART] at the ‘Program?’ prompt, hit <ENTER>, then ‘D’ and the program AUTOSTART will be stored on the disk. (If you are in the SPECTRUM mode, type GOTO 460 after the ERROR, then ‘D’ and the program AUTOSTART will be stored on the disk.)

MODIFYING AUTOSTART:

To modify the AUTOSTART program to run something other than LogiCall at boot-up, press ‘A’ and ENTER at the PROGRAM? prompt and wait for the tune. Then press ‘A’ instead of ‘D’. This will break the AUTOSTART program. Modify line 420 with the name and extension of the file you wish AUTOSTART to run, then type GOTO 460 and ‘D’ to reinstall the modified AUTOSTART.

If you wish to use the ‘PRINT #4:’ feature that Larry Kenny mentions in his manual, then modify line 410 removing the REM from that line. However, do not do this if you are using LK-DOS on a JLO system or strange things may happen. If also conflicts with the ZEBRA TALKER.

MODIFYING existing programs:

You will now have to modify the other programs on disk to LOAD L.B1 upon completion of those programs. Most programs are saved on lines above 9990 or should be, so add line 9998 CLEAR: RANDOMIZE USR 100: LOAD “L.B1” to the program. L.B1 will then be run after each successful save. I use 9999 for tape back-up saves.

On programs that are menu driven, add a selection ‘0.) EXIT ‘ to the menu that directs the program to the new line 9998. On programs that end with a STOP statement you can either modify it to read ‘STOP:GOTO 9998’ so that entering CONTINUE <ENTER> after the STOP occurs will load L.B1, or change the STOP statement to read GOTO 9998. Also, modify MSCRIPT to use the extender .Cm and not .CM as Larry uses .CM for NMI saves.

USING LogiCall’s features:

The HELP screen displays the keys that give the desired results. Just press ‘H’ or ‘?’ at either prompt to see the HELP file. On it you will see that entering ‘W’ at the ‘Program?’ prompt will LOAD in the TASWOR.BA word processor and ‘T’ will LOAD in the MTERM2.B1 terminal software.

At the ‘Program?’ prompt you can enter ‘7’ or ‘E’ <ENTER> and you will get the ‘ERASE””,’ prompt. Enter the name with the extender of the file to be erased, <ENTER> and the file will be removed from the directory.

If you enter ‘8’ <ENTER> (sorry, but this is the only one that isn’t logical), you will get the ‘RENAME””,””‘ prompt. Enter the name and extender of the file to be renamed, <ENTER>, then the new file name with it’s extender, <ENTER> and the file will be renamed. [ MOVE.BL will try to LOAD in on V4.1_2 ]

If you enter ‘9’ or ‘L'[ist] <ENTER> you will get a fresh CATalog printed on your screen. Use this if you have just swapped disks in your current drive.

You can enter ‘0’ or ‘F'[ormat] <ENTER> and ‘6’ or ‘M'[ove] <ENTER> to call in FORMAT.BL and MOVE.BL, if they are on the current drive, to perform the FORMAT, COPY (BACK-UP), MOVE and RENAME functions.

If you enter ‘Z’ <ENTER> you will get a COPY on your T/S 2040 printer of the directory screen which can be placed in the sleeve with the disk to show what all is on the disk.

Use ‘N'[ew] to activate AUTOSTART again.

If you enter ‘R’ or ‘V'[erify] <ENTER> you will check your disk for CRC errors.

If the CATalog directory is too large for the screen, ‘B'[reif] will give you a brief CATalog if you are not in the SPECTRUM mode.

At the ‘Program?’ prompt hitting <ENTER> without first typing in a filename will put you into the ‘Scan LOAD’ mode. The space bar or any key in the lower rows will advance the pointer down the screen and the top row of keys will send the pointer back toward the top. <ENTER> will LOAD in the selected program. The arrow keys and ‘A’ and ‘Q’, will work as expected.

If you enter a file with an extender of ‘.C$’ at the ‘Program?’ prompt then LogiCall will assume that the file is a screen file and display it on the screen for you. If you enter a file with an extender of ‘.Cm’ [not .CM] or ‘.CT’ at the ‘Program?’ prompt then LogiCall will assume that the file is an MSCRIPT or TASWORD TWO word processor file and will display it on the screen directly from disk.

When you are finished with the program, you do one of four things:

1.) Quit from the program’s menu.
2.) STOP the program and then CONTINUE <ENTER>.
3.) STOP the program and enter ‘GOTO 9998’ <ENTER>.
4.) RUN the program’s BASIC driver which will LOAD L.B1.

The disk directory will again appear on the screen with the word ‘DRIVE? ‘ at the bottom of the screen and you can go again as before. [No need for a RESET switch!!]

People, not computers, should be buligerent, so, if you enter ‘1’, ‘2’, ‘3’ or ‘4’ <ENTER> at the ‘Program?’ prompt LogiCall will access that drive and show you it’s CATalog. If you know that FORMAT.B1 is not on the current drive then entering ‘0’ <ENTER> will access Drive 0.

If you have TROUBLE:

The LogiCall version number in the first line of the program is followed by the LARKEN LKDOS EPROM version number L[ogiCall].B1 has to work with. Each system, AERCO, LARKEN, OLIGER and RAMEX, require different FORMAT programs. Also, version 2 EPROMS are unable to do RENAME, and other features, requiring different versions of this software. The program below is for LK-DOS version L3. If you have another version contact me by phone at the numbers listed at the end of the program. I’ll be glad to help.

  2 GO TO VAL "49": REM --== L.B1 ==-- WRITTEN BY ROBERT SWOGER 1988 V4.3L3
3 IF INKEY$<>"" THEN GO TO PI
5 RETURN
6 PRINT #RND;"DRIVE? ";: RETURN
10 PAUSE PEEK VAL "23728"^(PEEK VAL "23728">H): RANDOMIZE USR H: POKE VAL "8200",VAL "8195": LET D8=USR VAL "110": LET D9=(D8=VAL "4")+(VAL "2"*(D8=VAL "8"))+(INT PI*(D8=VAL "16"))+(VAL "4"*(D8=VAL "128")): INK VAL "9": PAPER SGN PI: BORDER SGN PI: BRIGHT NOT PI: CLS : RANDOMIZE USR H: CAT "",: PRINT "Drive # 00";D9;: RETURN
20 GO SUB PI: FOR R=NOT PI TO VAL "15": FOR C=NOT PI TO VAL "16" STEP VAL "16"
25 LET P$="": FOR I=C TO C+VAL "8": LET S$=SCREEN$ (R,I): LET P$=P$+S$: NEXT I: IF P$(VAL "8" TO )="LK" THEN GO TO H
30 IF CODE P$<VAL "33" THEN GO TO VAL "48"
32 IF P$="AUTOSTART" THEN GO TO VAL "38"
34 FOR J=SGN PI TO VAL "7": IF P$(J)="." THEN GO TO VAL "38"
36 NEXT J: NEXT R
38 PRINT AT R,C; INVERSE SGN PI;P$: INPUT "": PRINT #RND;"Program? ";P$: PAUSE NOT PI: PRINT AT R,C;P$
40 IF PEEK L<>VAL "10" AND PEEK L<>VAL "11" AND PEEK L<>VAL "54" AND PEEK L<>VAL "55" THEN GO TO VAL "44"
42 LET R=R+(PEEK L=VAL "10")+(PEEK L=VAL "54")-(PEEK L=VAL "11")-(PEEK L=VAL "55"): GO TO VAL "25"
46 LET R=R+(PEEK L=VAL "9")+(PEEK L=VAL "10")+(PEEK L=VAL "32")+(PEEK L=VAL "54")+(PEEK L=VAL "56")-(PEEK L<VAL "58")-(PEEK L=VAL "81" OR PEEK L=VAL "113"): IF PEEK L=VAL "13" THEN GO TO VAL "200"
48 NEXT C: NEXT R: GO TO H
49 CLEAR VAL "63222": POKE VAL "23658",VAL "8": LET H=VAL "100": LET L=VAL "23560": GO SUB VAL "9"
50 GO SUB PI: GO SUB VAL "6"
60 PAUSE NOT PI: LET D$=CHR$ PEEK L: IF D$<"0" OR D$>"4" AND D$<>"H" AND D$<>"T" AND D$<>"Q" THEN IF CODE D$<>VAL "13" THEN GO TO VAL "60"
65 IF CODE D$=VAL "13" THEN GO TO H
70 IF D$="Q" THEN STOP : RUN
75 IF D$="H" THEN GO TO VAL "500"
80 IF D$="T" THEN INPUT "": PRINT #RND;"Start tape": LOAD "": GO TO H
85 PRINT #RND;USR H: GO TO VAL D$
90 IF VAL D$=D9 THEN GO TO H
95 GO SUB VAL "9"
100 GO SUB PI: POKE VAL "23728",H: INPUT "Program? "; LINE P$: IF P$="" THEN GO TO VAL "20"
105 GO SUB PI: IF P$>="1" AND P$<="4" THEN LET D$=P$: GO SUB VAL "6": GO TO VAL "85"
110 IF P$="A" OR P$="a" THEN GO TO VAL "430"
115 IF P$="B" OR P$="b" THEN CLS : RANDOMIZE USR H: CAT ".B^",: PRINT "Drive # 00";D$: GO TO H
120 IF P$="D" OR P$="d" THEN GO TO VAL "50"
125 IF P$="E" OR P$="e" OR P$="7" THEN GO TO VAL "300"
130 IF P$="8" THEN GO TO VAL "320"
135 IF P$="F" OR P$="f" OR P$="0" THEN RANDOMIZE USR H: LOAD "FORMAT.B1": RANDOMIZE USR H: GO TO NOT PI: GO TO VAL "95"
140 IF P$="H" OR P$="h" OR P$="?" THEN GO TO VAL "500"
145 IF P$="K" OR P$="k" THEN RANDOMIZE USR H: GO TO SGN PI: RANDOMIZE USR H: SAVE "S.C$"SCREEN$ : RANDOMIZE USR H: GO TO D9
150 IF P$="L" OR P$="l" OR P$="9" THEN GO TO VAL "49"
155 IF P$="M" OR P$="m" OR P$="6" THEN RANDOMIZE USR H: LOAD "MOVE.BL": GO TO VAL "20"
165 IF P$="Q" OR P$="q" THEN STOP : RUN
170 IF P$="R" OR P$="r" OR P$="V" OR P$="v" THEN RANDOMIZE USR H: VERIFY "": GO TO H
175 IF P$="S" OR P$="s" THEN GO TO VAL "9990"
180 IF P$="T" OR P$="t" THEN RANDOMIZE USR H: LOAD "MTERM2.B1"
185 IF P$="W" OR P$="w" THEN RANDOMIZE USR H: LOAD "TASWOR.BA"
190 IF P$="Y" OR P$="y" THEN RANDOMIZE USR VAL "54016"
195 IF P$="Z" OR P$="z" OR P$="C" OR P$="c" THEN COPY : GO TO H
200 IF P$="N" OR P$="n" OR P$="AUTOSTART" THEN CLS : RANDOMIZE USR H: NEW
205 FOR I=SGN PI TO LEN P$
210 IF P$(I)="." THEN LET P$=P$( TO I+VAL "2"): GO TO VAL "230"
220 NEXT I: GO TO H
230 IF P$(I+SGN PI)="B" THEN GO TO VAL "280"
240 IF P$(LEN P$-SGN PI TO )<>"C$" THEN GO TO VAL "270"
250 RANDOMIZE USR H: INK NOT PI: RANDOMIZE USR H: PAPER NOT PI: BORDER NOT PI: RANDOMIZE USR H: LOAD P$SCREEN$ : PAUSE NOT PI: RANDOMIZE USR H: INK VAL "7": RANDOMIZE USR H: PAPER NOT PI
260 PAUSE NOT PI: RANDOMIZE USR H: INK VAL "6": PAUSE NOT PI: RANDOMIZE USR H: PAPER SGN PI: BORDER SGN PI: GO TO VAL "95"
270 IF P$(LEN P$-SGN PI TO )<>"Cm" AND P$(LEN P$-SGN PI TO )<>"CT" THEN GO TO VAL "290"
275 CLS : RANDOMIZE USR H: PRINT P$: INPUT " Press ENTER to RETURN CAT "; LINE a$: GO TO VAL "95"
276 REM PAPER VAL "7": BORDER VAL "7": CLS : RANDOMIZE USR VAL "64300": PRINT CHR$ PI;: RANDOMIZE USR H: PRINT P$: INPUT " Press ENTER to RETURN CAT "; LINE a$: GO TO VAL "95"
280 RANDOMIZE USR H: LOAD P$: GO TO VAL "95"
290 RANDOMIZE USR H: LOAD P$ CODE: GO TO VAL "95"
300 INPUT " ERASE ";E$
310 RANDOMIZE USR H: ERASE E$,: GO TO VAL "95"
320 INPUT "RENAME ";R$;",";S$
330 RANDOMIZE USR H: MOVE R$,S$: GO TO VAL "95"
400 CLEAR VAL "65367"
410 REM RANDOMIZE USR VAL "100": OPEN #VAL "4","dd"
420 RANDOMIZE USR VAL "100": LOAD "L.B1"
430 DELETE SGN PI,VAL "399"
440 DELETE VAL "480",VAL "9999"
450 DELETE VAL "430",VAL "459"
460 CLEAR VAL "27577"
470 RANDOMIZE USR VAL "102": GO TO VAL "400"
510 GO SUB PI: CLS : PRINT " H E L P F I L E %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";'" You may select drives T thru 4"'" at the Program? prompt:";''"ENTER & space scans CAT for LOAD "
520 PRINT "6 Calls in the MOVE program.","7 ERASEs file from disk.","8 RENAMEs oldfile,newfile.","9 Refreshes the CATalog.","0 Calls in the FORMAT program.";"Q Quit, halts this program.","R VERIFYs CRC is OK."'"S SAVEs this program to disk.","T Calls in TERMINAL program.","W Calls in WORD PROCESSOR.","Z COPYs CATalog to printer."
530 PRINT '"Holding down CAPS SHIFT & BREAKduring AUTOSTART sequence willbreak into AUTOSTART program.";
540 PRINT #RND;" Press <ENTER> to CONTINUE ": PAUSE NOT PI
560 GO SUB PI: PRINT AT VAL "7",NOT PI;"A Adds AUTOSTART to disk.","B Gives a Brief CATalog.","C COPYs CATalog to printer.","D Returns the Drive? prompt.","F Calls in the FORMAT program.";"H Calls in this HELP file.","K Saves $creen to disk.","M Calls in the MOVE program.","N NEW, reactivates AUTOSTART."'"V VERIFYs CRC is OK.","Y RETURNs to terminal mode."
570 PRINT '" Press <ENTER> at the Program? prompt and use the arrow keys to select a program to LOAD in.";
580 PAUSE NOT PI: CLS : GO TO VAL "49"+(D$<>"H")*VAL "46"
9992 RANDOMIZE USR H: SAVE "L.B1" LINE VAL "49"
9999 GO TO H

If you wish to have the entire two disk LogiCall Ensemble call me weekdays at 708-576-8068 or evenings and weekends at 708-837-7957.

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.