LogiCall is Bob Swoger’s menu overlay for the Larken disk system. When the disk boots, LogiCall shows the disk catalogue and a Program? prompt: the arrow keys move a highlight through the file names and ENTER loads the chosen file, or a single key gives a disk command, so the LKDOS commands no longer need to be typed after RANDOMIZE USR 100 or PRINT #4. BASIC programs are loaded and run, SCREEN$ files are displayed, Tasword and other text files are loaded and displayed in 64 columns, and code files are loaded. Keys 0 to 4 select a drive, and W and T call in the word processor and the terminal program that are on the disk. The LogiCall disk also carries Swoger’s disk utilities and LKDOS loaders for popular TS2068 programs, so that they can be started from the menu and return to it.
This is a Larken (LKDOS) edition. It needs a TS2068 with the Larken disk interface and LKDOS, and it has not been converted for tape. The download holds every file from the disk as a TAP, except the files listed under “Left Out” below.
The disk label reads “LogiCall, Gator Software Development, ©1990 Disk 1 Version 6.0L3”. The executive L.B1 and the boot program AUTOSTART carry “LogiCall V6.0L3 ©1995 Bob Swoger”, and the covering letter on the disk, dated July 1995, describes the package as LogiCall V6.0 with a printed LogiCall manual and a revised Larken V3 manual, neither of which is on the disk. An earlier L.B1, V5.0L3 from 1993, is on the Larken disk of The Print Factory. The commands, the HELP pages and the earlier versions are covered in LogiCall Logic, LogiCall Logic, the Explanation, LogiCall v4.3, Bob Swoger’s LogiCall Provides Those Little Extras to Larken Users and two reviews, and in the LogiCall product page, which has a video of Swoger demonstrating it.
What Is on the Disk
LogiCall and the disk utilities
AUTOSTART: the boot program. It installs LogiCall’s machine code, runsNMI-F.Bland starts the executive.L.B1: the executive. Besides the arrow-key catalogue it has one-key commands: A adds an AUTOSTART to a disk, B and V give brief and verbose catalogues, C copies the catalogue to a large printer and Z to the 2040, E or 7 erases a file, 5 renames, F or 0 formats, M or 6 calls in MOVE, K saves the screen to disk, R verifies a file’s CRC, N starts the AUTOSTART, S saves LogiCall, Q quits and H or ? shows HELP. Y returns to the terminal program.NMI-F.Bl: pokes a short NMI reboot routine into the Larken interface’s RAM.FORMAT.BlwithHcode.Cl: Larken format and whole-disk copy (V1.5l).MOVE.BLwithMove .Cl: Larken file move and rename between drives (V1.4).steprt.B1: Head Step Rate Repair v2.4 (©1993 Robert Swoger, machine code by Larry Kenny), which sets the head stepping rate on track 0 so other Larken versions can read the disk.MSDOS.Bx: G. Chambers’ utility for moving MS-DOS text files from 360K disks to LKDOS.
Swoger’s programs
DIAL.B1: a telephone dialer for the TS2050 modem (©1992), with directory pages of 20 entries held in DATA lines.DISKS.B1andTAPES.B1: the Custom Disk Directory and Custom Tape Directory v1.7 (1992), card-file catalogues of disk and tape boxes with 20 named slots per box. They are relatives of MenuE.VC2LP.B1(V1.4, 1995) prints nine columns and 50 rows of a VU-CALC file on a large printer, andVC2TAS.B1(V1.2, 1992) turns the same range into a Tasword Two file.$C2TAS.B1(V1.2, 1995) converts a SCREEN$ of text into a Tasword Two file.
Programs set up to run from LogiCall
TASWOR.BA,Taswor.C1and the 64-column display codetaswi.Cs/taswi.Ct: Tasword Two with an LKDOS file menu. LogiCall also uses the display code to show text files from its catalogue.MSCRIP.BLandMSCRIP.CL: MScript V5.5L.MTERM2.B1andmterm2.CV: the MTERM II Smart Terminal (Micro-Systems Software, 1983).VUCALC.B1,VUFILE.B1andVU-3D.B1with their code and title screens: the Psion VU-CALC, VU-FILE and VU-3D programs with LKDOS loaders; the title screens read “LOADING – LogiCall version”.gazete.Cfis a VU-FILE sample file, “Countries of the World”.QCHART.B1,qchart.B2,qc2.C$,wind.C1andline.C1: Quadra Chart.BS2TXT.B1andbs2txt.C1: BASIC to Text;HEADER.BT: Header Reader;WUMPUS.B1: WUMPUS. These were archived separately from other Larken disks.BROOKE.C$: a 6144-byte digitized picture.
LogiCall also calls in programs that are not on this disk when they are present: LDR.BV or MaxCom.B1 for the terminal key, and W.BA for the word processor key.
Left Out
readme.CT, the covering letter to buyers, andADRS.BK, an address book of LogiCall users, are not included because they hold private names, addresses and telephone numbers.- The dialer’s directory in
DIAL.B1, the catalogue entries saved inDISKS.B1andTAPES.B1, and MTERM II’s saved MacroKeys, last number and telephone directory inmterm2.CVwere blanked. The programs themselves are unchanged. - Home addresses were removed from the REM credits in
steprt.B1andMSDOS.Bx; the names are kept. - Because of these changes, no disk image is included.
Source Code
2 GO TO CODE "1": REM STEP f> OPEN # POKE <>LogiCall V6.0L3*1995 Bob Swoger
3 IF Z THEN ON ERR RESET
4 POKE K,H: IF LEN INKEY$ THEN GO TO PI
5 RETURN
7 PRINT #O;"DRIVE? ";: RETURN
10 IF Z THEN ON ERR GO TO H
15 PAUSE PEEK K^(PEEK K>H): PAPER A: BORDER A: BRIGHT O: INK S: CLS : RANDOMIZE USR H: POKE VAL "8200",VAL "8195": LET D=USR CODE "n": LET D=INT LN D+(D=F): RANDOMIZE USR H: CAT ""+V$,: PRINT "Drive # 00";D,: RETURN
20 GO SUB PI: FOR R=O TO S*PI: FOR C=O TO F STEP F
25 LET P$="": FOR I=C TO C+E: LET S$=SCREEN$ (R,I): LET P$=P$+S$: NEXT I: IF P$(E TO )="LK" THEN GO TO H
30 IF P$<"!" THEN GO TO CODE "0"
31 IF P$="AUTOSTART" THEN GO TO P
32 FOR J=A TO S: IF P$(J)="." THEN GO TO P
34 NEXT J: NEXT R
36 PRINT AT R,C; INVERSE A;P$: INPUT ;: PRINT #O;"Program? ";P$: PAUSE O: PRINT AT R,C;P$
40 LET M=PEEK L: IF M<>VAL "10" AND M<>VAL "11" AND M<>CODE "6" AND M<>CODE "7" THEN GO TO CODE "."
42 LET R=R+VAL "(M=10)+(M=54)-(M=11)-(M=55)": GO TO VAL "25"
46 LET R=R+VAL "(M=9)+(M=32)+(M=56)-(M<58)-(M=81 OR M=113)": IF M=T THEN GO TO VAL "155"
48 NEXT C: NEXT R: GO TO H
49 CLEAR VAL "65535": LET A=SGN PI: LET E=VAL "8": LET F=E+E: LET G=CODE "_": LET H=CODE "d": LET K=VAL "23728": LET L=VAL "23560": LET O=NOT PI: LET P=PI^PI: LET S=E-A: LET T=VAL "13": LET V$=".B^": LET Z=PEEK (PI+PI)=CODE "1": POKE VAL "23658",E: GO SUB PI*PI
50 GO SUB PI: GO SUB PI+PI
60 PAUSE O: LET D$=INKEY$: IF CODE D$<>T AND D$<"0" OR D$>"4" AND D$<>"H" AND D$<>"T" AND D$<>"Q" THEN GO TO CODE "<"
65 IF CODE D$=T 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 #O;"Start tape": LOAD "": GO TO H
85 PRINT #O;USR H: GO TO VAL D$
90 IF VAL D$=D THEN GO TO H
95 GO SUB PI*PI
100 GO SUB PI: INPUT "Program? "; LINE P$: IF P$="" OR P$="J" THEN GO TO VAL "20"
105 IF LEN P$=A THEN LET P$=CHR$ (CODE P$-(CODE " "*(P$>="a" AND P$<="z"))): GO SUB PI: IF P$>="1" AND P$<="4" THEN LET D$=P$: GO SUB PI+PI: GO TO CODE "U"
110 IF P$="A" THEN GO TO VAL "460-(30*Z)"
115 IF P$="B" THEN LET V$=".B^": GO TO G
117 IF P$="C" THEN RANDOMIZE USR H: OPEN #A+A,"LP": RANDOMIZE USR H: CAT "",: RANDOMIZE USR H: CLOSE #A+A: GO TO H
120 IF P$="D" OR P$="G" OR P$="8" OR P$="POINT " THEN GO TO CODE "2"
125 IF P$="E" OR P$="7" OR P$=" ERASE " THEN GO TO VAL "300"
130 IF P$="F" OR P$="0" OR P$=" FORMAT " THEN RANDOMIZE USR H: LOAD "FORMAT.Bl": RANDOMIZE USR H: GO TO O: GO TO G
135 IF P$="H" OR P$="?" THEN GO TO VAL "500"
140 IF P$="K" OR P$="SCREEN$ " THEN RANDOMIZE USR H: SAVE "S.C$"SCREEN$
145 IF P$="L" THEN RUN
150 IF P$="M" OR P$="6" OR P$=" MOVE " THEN RANDOMIZE USR H: LOAD "MOVE.BL": GO TO VAL "320"
155 IF P$="N" OR P$="*" OR P$="AUTOSTART" THEN RANDOMIZE USR H: NEW
160 IF P$="P" THEN PRINT VAL "FN B(23635)"
165 IF P$="Q" OR P$=" STOP " THEN STOP : RUN
170 IF P$="R" OR P$=" VERIFY " THEN RANDOMIZE USR H: VERIFY "": GO TO H
175 IF P$="S" THEN GO TO VAL "9E3"
180 IF P$="T" THEN RANDOMIZE USR H: LOAD "MTERM2.B1": GO SUB PI: RANDOMIZE USR H: LOAD "LDR.BV": GO SUB PI: RANDOMIZE USR H: LOAD "MaxCom.B1"
185 IF P$="V" THEN LET V$="": GO TO G
190 IF P$="W" THEN RANDOMIZE USR H: LOAD "TASWOR.BA": GO SUB PI: RANDOMIZE USR H: LOAD "MSCRIP.BL": GO SUB PI: RANDOMIZE USR H: LOAD "W.BA"
195 IF P$="Y" THEN RANDOMIZE USR VAL "54016"
200 IF P$="Z" THEN COPY : GO TO H
203 IF P$="5" THEN GO TO VAL "320"
205 IF P$="9" OR P$=" CAT " THEN GO TO G
210 FOR I=A TO LEN P$: IF P$(I)="." THEN LET P$=P$( TO I+A+A): GO TO VAL "230"
220 NEXT I: GO TO H
230 IF P$(I+A)="B" THEN RANDOMIZE USR H: LOAD P$: GO TO G
240 IF P$(LEN P$)="$" THEN BORDER O: RANDOMIZE USR H: INK O: RANDOMIZE USR H: PAPER O: RANDOMIZE USR H: LOAD P$SCREEN$ : PAUSE O: RANDOMIZE USR H: INK S: PAUSE O: RANDOMIZE USR H: INK S-A: PAUSE O: GO TO G
250 IF P$(LEN P$)<>"m" AND P$(LEN P$)<>"T" THEN RANDOMIZE USR H: LOAD P$CODE : GO TO G
260 RANDOMIZE USR H: LOAD P$CODE VAL "8^5": IF PEEK K<>H THEN GO TO G
270 RANDOMIZE USR H: LOAD "taswi.C"+CHR$ (CODE "s"+Z)CODE : CLS : IF PEEK K=H THEN RANDOMIZE USR VAL "64300": PRINT CHR$ PI;
280 IF Z THEN ON ERR GO TO G
290 RANDOMIZE USR H: PRINT P$: INPUT "Press ENTER to RETURN CAT "; LINE a$: GO TO G
300 INPUT " ERASE ";E$
310 RANDOMIZE USR H: ERASE E$,: GO TO G
320 INPUT "RENAME ";R$;",";S$
330 RANDOMIZE USR H: MOVE R$,S$: GO TO G
400 CLEAR VAL "65535"
410 REM RANDOMIZE USR CODE "d": OPEN #VAL "4","dd"
420 RANDOMIZE USR CODE "d": LOAD "L.B1"
430 DELETE PI,VAL "399"
440 DELETE VAL "461",VAL "9999"
450 DELETE VAL "421",VAL "459"
460 CLEAR VAL "27577": LET B=VAL "FN B(23635)": POKE VAL "B+15",IN CODE " POKE ": RANDOMIZE USR VAL "B+11": GO TO VAL "400": DEF FN B(x)=VAL "PEEK x+256*PEEK (x+1)"
510 GO SUB PI: CLS : PRINT TAB E;"L o g i C a l l"'"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";'" You may select drives T thru 4"'" at the DRIVE? prompt:";''"ENTER & space scans CAT for LOAD "
520 PRINT "5 RENAMES oldfile,newfile.","6 Calls in the MOVE program. 7 ERASEs file from disk.","8 Returns the DRIVE? prompt. 9 Refreshes the CATalog.","0 Calls in the FORMAT 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 '" Press <ENTER> at the Program? prompt and use the arrow keys to select a program to LOAD in.";#O;" Press <ENTER> to CONTINUE ": PAUSE O
560 GO SUB PI: PRINT AT S,O;"A Adds AUTOSTART to disk.","B Gives a Brief CATalog.","C COPYs CAT to large printer. 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, activates AUTOSTART.","Q Quit, halts this program.","V Gives a Verbose CATalog.","Y RETURNs to terminal mode."
570 PRINT '"Select 'A' instead of 'D' duringthe AUTOSTART sequence to break into the AUTOSTART program": PAUSE O: GO TO CODE "1"+(D$<>"H")*CODE "."
9992 RANDOMIZE USR H: SAVE "L.B1" LINE A: GO TO GNote: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.




