Last updated Aug 30 2010. Edited by Herb Johnson, (c) Herb Johnson, except for content written by others. Contact Herb at www.retrotechnology.com, an email address is on that page..
This Web page is about a 2009-2010 adaptation of the A18 cross-assembler to support the COSMAC 1802 "Membership Card" created by Lee Hart. Other 1802 software is available from this linked Web page.
A18 was freely distributed by the developer William C Colley III, through the "C Users Group"library of C programs of the 1980's and later. I (Herb Johnson) obtained a copy and adapted it to compile under the lcc Windows/MS-DOS C compiler to produce an MS-DOS executable. I adapted it further to support features of the commercial cross-complier used by Lee Hart to compile 8th, Lee's adaptation of FORTH for the 1802. Also, I contacted the author of A18, who has no objections to this use of his work; he has a few comments below.
My current version of A18 will be at this Web link. The program runs under Windows in a "DOS window" or as a 16-bit MS-DOS program. I provide the C sources with my changes clearly marked. There are docs and sample assembly code. For those who download it, please advise me of any errors and issues. I make zero guarantees, offer zero warrenties. I am not responsible for any loss, injury or damage to person or property of any sort. Use entirely at your own risk.
Aug 30 2010: I made small changes to the source, to compile under Borland's MS-DOS based Turbo C. Both a Win32 executable and the MS-DOS executable are included in the Zipped package. - Herb Johnson
- Herb Johnson
Will Colley wrote A18 and other assemblers under BDS C in the early 1980's. A18 and A68 (for the 6800) became CUG disk #149 of the "C User's Group CUG diskette library for 1985. He later updated them for other compilers, and became the "librarian" for those CUG disks and others which have his assemblers. I managed to find the author today, 25 years later. Here's what he had to say about his work, in mid-Feb 2010, quoted with his permission. - Herb
I haven't updated those assemblers in many a year. In the late 1980's, Microchip Technology lead the charge of putting tools into the hands of people designing with their parts. See MPLAB. All other microcontroller vendors have followed suit. Thus, I no longer needed to build assemblers myself.
Since you seem to be intested in old history, settle back an I'll tell you a story.
Back in 1977, a college friend and I built computers together. His was a MITS Altair 8800 and mine was an Imsai 8080. We were poor undergraduates, so we didn't start with the luxury of disk drives. Instead, we used a cross-assembler running on a Datacraft 6024 mainframe to build a ROM operating system for our machines. I did the file system (Tarbell cassette interface), debugger, command interpreter, and EPROM programmer (2708 and both 2716's). He did the assembler, the line editor, and the screen driver routines (Imsai VDO board). The object images came over to my system on punched paper tape. I had one of those readers where you shined your desk lamp on the thing and pulled the tape through by hand.
A week or so before we left for graduate school, we got the systems to the point where they could regenerate themselves. We loaded the source code from cassette tape a piece at a time into RAM, assembled the piece, then loaded more. We had to rewind the tape for the second assembler pass. Still, it worked. We were roomates at MIT where we continued debugging the thing until we had it working quite well.
Later in 1978, we finally each amassed the sum of money (about $1500 -- a lot to a poor grad student of the time) required to put in a pair of 8" floppy drives each and went over to CP/M.
In my work at Draper Laboratory, I needed to do development for the MC6800 microprocessor. That's when I wrote the first of that long line of cross-assemblers. The original was under BDS C, though I quickly ported it to Aztec C II as it became available. At the time, commercial asemblers of similar capability cost $450, which I though of as highway robbery.
The 1802 assembler was to support a consulting job I did while in Boston. The 8048 assembler was to support a design I did at the company I worked for after graduate school. I came out here in 1983 and my needs changed further resulting in the assemblers for the Microchip processors and the 8051. The 8085 assembler was done as an instructional tool to help some of my colleagues out here with their college courses. The others (6502, Z-80, etc.) were done on request.
Well, now you know.
You may do with the assemblers what you will. They are froth far back in my wake at this point. The thing I didn't want to have happen was for someone to build a high-cost commercial package around my code. Instead, I wanted other folks to be able to get the kind of yeoman service out of them that I did. The folks on the GNU project did a far better job on the licensing that I ever could have conceived of. If I had done those assemblers a few years later, they would have been released under the GPL.
We've come a long, long way since the late 70's to early 80's.
- Will Colley
The "C Users Group" status is not clear as of 2010. The early library is not readily available online; the "C User's Group" appears to be operated by one person who offers the library in a book and CD-ROM. Also, the content of the "C User's Journal" appears to have been acquired by the group which owns "Dr. Dobbs", another previous journal. SOme content from a number of CUJ issues, appears to be available on a "Dr. Dobbs" DVD.
This page and edited content is copyright Herb Johnson (c) 2010. Copyright of other contents beyond brief quotes, is held by those authors. Contact Herb at www.retrotechnology.com, an email address is available on that page..