See at.html for some PC pictures.
The SofTech Microsystems, Inc., UCSD p-System Application Catalog,
First Edition, from December 15, 1981. When I started at SCS in
1982, I used UCSD Pascal running on an Apple II. The UCSD p-System
compiled programs into p-code, which was very similar to what Java
compilers do. The UCSD p-System was a complete operating system.
UCSD Pascal II on an Apple II compiled at about 200 lines per minute.
SCS later purchased a Western Digital Pascal MicroEngine that
compiled about 2500 lines per minute.
The MicroEngine had a custom cpu that executed p-codes directly.
The UCSD system was originally written at the University of California
at San Diego, but later sold to SofTech.
Version II supported the Apple; Version III supported the MicroEngine,
and SofTech's version IV supported the Radio Shack TRS-80 and IBM PC/XT.
I think that the MicroEngine was about twice as fast as the TRS-80.
The Apple used 5 1/4" floppy disks, while both the MicroEngine and the
TRS-80 used 8 1/2" disks.
The UCSD Pascal Handbook A Reference and Guidebook for Programmers
by Randy Clark and Stephen Koehler from 1982, ISBN 0-13-935511-1.
This book described the UCSD Pascal language as implemented in SofTech
Microsystems' p-System Version IV.0. The pages are in a typewriter-like
Courier font, the style used by most Pascal books of the time.
SofTech Microsystems Version IV.0 UCSD p-System Internal Architecture Guide
from March, 1981. This guide describes the 256 P-Code byte-codes supported
by the P-Machine and the BIOS calls supported by the p-System.
NCI stands for Network Consulting Inc.
NCI eventually took over from SofTech, and then later Pecan took over from NCI.
The UCSD p-System contained an optional Fortran compiler.
This is the title page of the SofTech Microsystems
UCSD p-SYSTEM A PRODUCT FOR MINI- AND MICRO-COMPUTERS
Version IV.0
FORTRAN REFERENCE MANUAL, first edition from March 1981.
The language was similar to Fortran-77.
The compile listings in the manual have the heading FORTRAN Compiler IV.0 [0.0]
The cover of this manual was blue the the NCI logo the same as the Internal Architecture
Guide above.
A close-up of the title for any non-believers.
This actually existed.
Here is a UCSD p-System overview psysversions.html from http://www.ics.uci.edu/~archive/documentation/p-system/psysversions.txt.Z .
The Apple II http://apple2history.org had an 8 bit MOS Technology 6502 cpu http://en.wikipedia.org/wiki/MOS_Technology_6502 .
The TRS-80 http://www.trs-80.com had a Zilog Z80 cpu running at a whopping 2 MHz.
The Z80 was an 8 bit cpu similar to an Intel 8080 and contains the 78 Intel 8080
op codes in its instruction set. http://en.wikipedia.org/wiki/Zilog_Z80
The TRS-80 used 8 1/2" floppy disks.
SCS's TRS-80 had an expansion unit with three floppy disk drives.
The floppy disk drives on the TRS-80 had a bad design that would
corrupt any disks left in the drive when you powered the drives
up or down.
We used to call this system the Trash-80.
Tim Mann http://www.tim-mann.org/ has a Retrocomputing page with a TRS-80 emulator for Unix.
IBM Personal Computer Hardware Reference Library
Technical Reference, part number 1502494, from 1984.
This is IBM's reference manual for the original 6 MHz 286-based AT.
Section 5 contained a 176-page annotated listing of the system bios.
I referred to this section a lot, especially the part with the video
code for int 10h starting on page 5-127. The manual also covered
items such as the circuitry on the system board, expansion boards,
keyboard, and the power supply, and details of the 80286 and 80287
instruction set.
Microsoft Macro Assembler Package, User's Guide for the MS-DOS Operating System,
document number 8450L-300-00, part number 016-014-009, from 1984.
This manual described version 3.00 of MASM, LINK, SYMDEB, CREF, LIB, and MAKE.
The 5 1/4" floppy is coded D-175 016014.301 and says
MICROSOFT
MACRO ASSEMBLER
Package
For MS-DOS
System Requirements:
128K memory*, MS-DOS 2.0 or higher, one double-sided disk drive (two recommended)
* Based on 108K available user memory
Part No. 016-014-011
Microsoft MS-DOS Operating System Programmer's Reference Manual,
document number 8411-310-02, part number 036-014-012, from 1984.
This manual listed the services provided by MS-DOS 3.10.
I made heavy use of the functions under int 21h
(which interestingly enough, start almost identically to
the services provided under CP/M).
The manual also covered items like writing device drivers
and loading executables.
Microsoft had unix-envy, even back in then...
Section 1.5 FILE AND MEMORY MANAGEMENT at the bottom of page 1-7 starts
The MS-DOS hierarchical (multilevel) file system system is similar
to that of the XENIX operating system.
Prospero Software http://www.prosperosoftware.com ProPascal User Manual
Version iid 2.1 for 8086/8087/8088 with MS-DOS/PC-DOS and
Version iic 2.1 for 8086/8087/8088 with CP/M-86
from March 1985.
When we did the initial 8088 MS-DOS port of our application,
we tried all of the available Pascal and Fortran compilers
that we could find.
Prospero's Pascal and Fortran compilers were the only ones
that would compile our applications.
The other compilers that we tried were either too buggy to compile
large programs or else (in the case of Microsoft, for example)
so non-standard that we could not even get a compile far enough to tell.
Prospero is located in England. We were so pleased with their compilers,
that we offered to be US resellers.
Prospero Pascal was (and I believe still is) the only Pascal compiler
that passes the Pascal Validation Suite developed by the British
Standards Institute.
Borland Turbo Pascal Reference Manual from 1983.
Turbo Pascal http://www.borland.com was Borland International's claim to fame.
Borland supported CP/M-80, CP/M-86 and MS-DOS/PC-DOS.
The TURBO.COM stand-alone executable with the
integrated editor and compiler was only 27 KB.
In comparison, current versions of Microsoft compilers require
about a million times that much space.
Unfortunately, we could never convert our Pascal programs to Turbo Pascal
because TP was (to use a phrase common in the fortran world)
too much of an extended subset of Standard Pascal.
Turbo Pascal didn't support some basic Pascal syntax, and the early
versions created only COM format executables using the tiny memory model
in which all of the code and data was confined to the same 64 K segment.
The editor, a clone of MicroPro WordStar was nice for the time, though,
and a 27 KB executable was not a bad size for an editor, let alone an
entire IDE.
The Borland Turbo Pascal 4.0 Owner's Handbook from 1987.
The cover says "The world standard in Pascal compilers is now faster
than ever before - compiles 27,000 lines per minute" and
"IBM VERSION PS/2, PC, XT, AT, & True Compatibles".
The Borland Turbo C 2.0 User's Guide from 1988.
Borland tried to follow on the success of Turbo Pascal, but it took
longer than they expected to produce a good C compiler.
We didn't have many C programs in 1988, so we didn't use Turbo C much.
Turbo C shows the start of the memory model explosion to work around
the 64 K segment limitation of the Intel 8086 architecture.
Near pointers were two-byte values with an offset from a fixed segment pointer
and could access only a single 64 K segment.
Far pointers were four-byte values with a two-byte segment pointer
and a two-byte offset and could access the lower 1 MB of memory
(because the address calculation shifted the
segment pointer 4 bits before adding the offset).
Later compilers invented huge pointers, which were four-byte values
which were actual four-byte addresses and could access any area of memory
by copying through a window created by a memory manager.
For many C programmers, far pointers on Intel systems were the first time
that they had to deal with a system where the size of a pointer did not
match the size of an integer.
Turbo C supported tiny (all code and data with in the same 64 K segment,
required for COM format executables),
small (code and data in separate 64 K segments),
medium (far pointers for code, near pointers for data),
compact (near pointers for code, far pointers for data),
large (far pointers for both code and data), and
huge (far pointers for code, data and static data).
Microsoft C 5.0 Optimizing Compiler for the MS-DOS Operating System
User's Guide,
document number 410840001-500-R04-0887A, part number 00177, from 1987.
It could generate 8086/8088, 80186/80188, and 80286 instructions and
could use the standard small, medium, compact, large, and huge memory models.
As with most MS compilers, it was a little slow and a little buggy.
Microsoft Pascal Compiler for the 286 XENIX Operating System User's Guide,
part number 8511I-330-05, document number 020-092-013, from 1985.
We used this compiler on Xenix 386, but not for long, because it could
not take advantage of 386 instructions and, as with all things Microsoft,
it was a little buggy.
HCR/Pascal User Reference Manual from July, 1987.
For a short time, we used HCR/Pascal on our SCO Xenix systems.
SCO resold this compiler.
The compiler supported ISO Pascal Levels 0 and 1 plus some
extensions for separate compilation.
The compiler actually translated the programs into C,
and then used the Xenix C compiler.
This allowed Pascal programs to use the C preprocessor and to call
Unix system functions easily.
We did our original 386-based MSDOS port using DJGCC http://www.delorie.com .
Zortech C++ Version 3.0 Compiler Guide from 1991.
We used Zortech C for our first released 386-based MSDOS port.
Symantec C++ Version 6 User's Guide for Windows and DOS
from 1993. Symantec's update of Zortech C worked well for us.
Section 1.2.1.3 Five Byte Packed Binary (5b): Type W Mouse Only on page 1-10
of the LOGITECH Mouse Technical Reference and Programmer's Guide,
Document Number PUB 620190-01 Rev A, from July 1990.
This was one of the very few manuals that told how to program mice.
The manual contained a list of the Int 33h services provided by
the mouse device driver.
I used these services in the MSDOS port of our applications.
The manual also described the mouse droppings
that the mouse sent over the serial port.
I used the specifications on this page to write a SCO Xenix mouse driver
that our applications used.
FANSI-CONSOLE The Integrated Console Utility User Manual
Version 2.00 - November 12th, 1986 (2nd Printing) by No Smoking
Software and Hershey Micro Consulting, Inc.
We have hand-written 5 1/4" floppy disks labelled Version 2.00I
Serial 000005562 Date 06/08/87.
Fansi-Console was a replacement for the MSDOS ANSI.SYS driver
that ran faster, supported more escape sequences, supported
command-line recall, and supported keyboard macros.
We recommended it to some of our initial MSDOS customers.
Return to the museum ../museum.html
Return home ../../index.html
http://williambader.com -
Revised October 30, 2010 10:33:40 PM.
Copyright © 2010 William Bader.