Original AUGTERM (E9)
The primary author was Dave Hopper. He wrote it completely in assembler, finishing around 1987. The program is compiled with a special assembler called ESASM. (EA)
Licensing (M3)
The code is listed as "Copyright (c) 1987 by McDonnell Douglas Corporation". However, this code is part of a larger group of software (NLS/Augment) which we believe is an orphan work. For more info, see the NlsLegal/Copyrights page. (M4)
Source Files (EB)
These text files are Augment files found in the DEV:<MDC-SOFTWARE> directory on the disk structure cloned from Doug Engelbart's BI5 machine. (EC)
The "LP" prefix stands for "line processor", which was a piece of hardware that was an interface from the mainframe to a dumb terminal made by Data Media. The name of the file was meant to convey that the lineprocessor was now in the PC. --Dave Hopper (ED)
Files: (EE)
* LPMDOS.TXT.1 - common subroutines used by other four files * LPVIBM.TXT.1 - for an original IBM PC * LPVM1000.TXT.1 - for some unknown machine (Dave doesn't remember the name anymore) * LPVZE100.TXT.1 - for Zenith 100 from Heathkit * LPVNEC.TXT.1 - for NEC APC III (EF)
Other notes found in LPMDOS: (EG)
<OFFICE-5, HOPPER, LPMDOS.AUG.42,>, 30-Dec-87 08:08-PST JDH ;;;; ; AUGTERM ; Copyright (c) 1987 by McDonnell Douglas Corporation ; All Rights Reserved (EH)
;This file is composed of branches INCLUDEd by other files Register conventions (EI)
Registers are used to pass and return procedure parameters. Except for trivial cases, this usage is commented at the beginning of the procedure. Except for procedures called by interrupt routines, procedures are generally free to smash any registers not specifically mentioned at the beginning of the procedure in a comment such as ";Saves BX". This program was converted from 8080 assembly language with a conversion program. The comments have been converted by hand as opportunity presented itself. Some 8080 register notation still exists in the comments. The following is a list of equivalences: 8080 8086 A AL B CH C CL D DH E DL H BH L BL BC CX DE DX HL BX The assembler is not case sensitive. The following case coventions have been used: Comments have registers in upper case. Code has labels, op codes, and registers in lower case. Pseudo-ops are in upper case (e.g. EQU, ORG) The letters in hex numbers are upper case except for the "h" at the end. The B at the end of octal numbers is upper case (consistent, eh?). About the assembler, ESASM: It is written in L10 as a stand-alone program. The L10 source code is in the first branch of ESASM.AUG. The second branch is used to produce the .RUN file for loading ESASM.EXE (on TOPS20). The third is for loading on TENEX (possibly out of date). The fourth is for producing the OP code file ingested during loading. ESASM uses text files for source input, and listing and hex output. It has never been converted from using character I/O to PMAPs. ESASM is called from the EXEC. It asks for source, listing, and "binary" output file names. It takes 3+ minutes to assemble AUGTERM. There is no extension defaulting. Current practice is to use .ASM for the source text file, .LST for the listing, and .BIN for the "binary". The format of the latter is correct for the EXEC FTPC Send Bin File command, which is used to produce a file in .COM format on the PC. (EJ)
Visual AugTerm (VAT) (EK)
The primary author was Bob Czech. He wrote it in Digitalk-Parcplace VisualWorks SmallTalk 2.5.2 somewhere in the mid-1990s. It supports both VAT0 and VAT1 protocols. It was a work-for-hire paid for by the Bootstrap Institute. As such, the copyright of VAT is owned entirely by Bootstrap Institute. (M5)
In 2006, Craig Latta updated VAT to run on VisualWorks Smalltalk 7.x. This version is downloadable for zero cost from the Cincom website, and it runs on major modern platforms (Windows, Linux, Mac OS). The copyright of all work done for this version continue to be owned entirely by Bootstrap Institute. The license for this version is GPLv2. (M7)
TODO: find the license of VAT-1995. TODO: Link to Craig Latta's new version of VAT. (M6)