Re: [midatlanticretro] Altair languages
- Thanks, Bill, very interesting information. The Altair was definitely primitive and you had to work at it to get it do something useful. The people who used those early machines were certainly dedicated hackers.Randy KindigFloppy Days and Antic podcastsOn Sep 8, 2013, at 10:52 AM, B Degnan wrote:
I was recently asked “what languages were used other than BASIC on an early Altair (1975-76)” I thought I’d send message to the mid-atl board should others find it useful info
Machine language / Assembly was the primary language of the Altair. You’d always first have to use assembler / machine language to customize the environment to get higher languages and functions such as BASIC working to match your terminal and peripheral ports and transmission speed. You *had* to use assembly/machine language for most utility functions for “chicken and egg” (i.e. bootstrap) reasons.
Typically a person would attach their teletype to the Altair for I/O. A person would toggle in machine code (15-20 octal instructions) using the front panel to initialize the computer to know how to accept I/O from a teletype and receive papertape machine language instructions. A.k.a the bootstrap loader. This capability was not built into the computer from the factory like it is today.
Then you’d run the bootstrap loader from the front panel and read in the absolute loader tape from the teletype. This step tells the computer how to read in programs stored on papertapes (written in assembler), which use the I/O variables set from the bootstrap process (absolute /binary ptapes). Examples are BASIC but just as often one loaded editor/assembler programs to write custom code in Assembly language. People also loaded primitive OS’s to allow teletype/glass terminal interaction rather than front panel interaction. You could use the monitor program to load binary papertapes, manipulate memory and enter programs manually without the front panel.
The text editor was used to write assembly code. The editor would be used to punch assembly code to papertape. Next you’d use the monitor program to clear memory and load the assembler program tape. Next you’d tell the assembler to read the papertape you created using the editor. The assembler would assemble the code into machine (binary) code that can be read by an absolute loader and punch a new program tape.
Next time you worked, you’d “simply” toggle in a binary loader followed by the binary tape you created.
The Apple monitor written by Arvidson is an example of a very early monitor program, which was then converted to Z80 and renamed the Zapple monitor.
At some point it became possible to buy a pre-assembled BASIC binary tape so you didn’t have to write your own BASIC, or manually copy from a magazine like Dr. Dobbs. You’d have to assemble your BASIC program as describe above.
Most Altairs I have seen came with pages of assembler code strewn within the documentation, cheat sheets for setting up the environment, testing memory, moving I/O ports logically, moving a block of memory from one place to another, and almost always a custom monitor program for terminal-driven input. I have copies of these early Arvidson monitors, which I am on schedule to copy and document and then return to MARCH. They’re safe and well protected.
Later on, people bought ROM cards to allow a person to save ROM monitors to a chip (SOL-20) and eventually BASIC to a ROM (appliance computers). Cassette storage, disk storage, etc….
So, to put BASIC on a chip to make the Altair as easy to initialize as an Apple II glosses over the whole bootstrap process and does not really tell the story of what it was really like. The process is everything. Making it easy defeats the point.
So to answer the question “what other languages were used?” … Based on the context above the answer what other “high level” languages were used? Answer: By far BASIC was most popular. Also used ALS-8, focal, custom variant languages (MINOL, SAS-76, Tiny BASIC, etc).
> So to answer the question “what other languages were used?” … Based on the context above the answer what other “high level” languages were >used? Answer: By far BASIC was most popular. Also used ALS-8, focal, custom variant languages (MINOL, SAS-76, Tiny BASIC, etc).
Sorry, I meant Forth, not Focal.