|Lisp, Lisp Machines and More!         |
Retrocomputing - Symbolics Lisp Machines
Arguably the finest software development environment to date. Certainly one of the most interesting. What can I say about a machine which has microcode to run compiled lisp code? totally cool.
I have a Symbolics 3640 (l-machine, TTL logic, some bit-slice) and a XL1200 (i-machine, "Ivory" custom cpu). Both run and are capable of working on the network.
Lisp Machine Emulation
I've been working on a emulator for the l-machine macrocode, using the lisp microcode in the Symbolics patent as a guide.
Huge 14" disk platters (SMD), 2' square cards in a (slightly) wire wrapped backplane. A fan larger than most PC's. A joy to operate. Makes a great noise. And I love the red LED charter display on the nano-FEP.
I originally had 2 3640's but decided I could not keep them both so I gutted one and kept all the important parts for spares. I left the empty metal out on the curb for the trash men one day.
The 3640 has always 'just worked'. I've cleaned it up and made sure it was all connected correctly but it has largly been happy on it's own. I'm suprised no electrolytic caps have failed to be honest.
It has up to date microcode but the version of Genera is pretty old. I need to update it to 8.3 so I can run tcp/ip. It does work on the network using Chaosnet and I've transfered files from it to the XL1200.
Small pizza box style holding a VME size card. Works with ESDI and SCSI disks. Much faster. Top (well end) of the line for lisp machines.
I bought the XL1200 when AMEX was dumping a bunch of machines. It was pretty cheap. I used it for a few months and then turned it off. During that time I ported some Chaosnet code to linux and used it to copy some files off the 3640 for archival purposes.
Recently I went back to the XL1200 thinking I'd replace the old ESDI drive with a SCSI drive and leave it turned on and attempt to use X windows with it. (if you have not used a lisp machine, it has a very graphic interface which makes extensive use of the mouse. This page (which may be broken) has some great movies about using a lispm and Genera
In the process of trying to bring up a scsi disk I managed to erase my ESDI disk. Blah. I blame the fep lisp code for writing to fep0: when I said "fep8:" (I swear I typed "create initial fep file system fep8:" and fep0: drive light flashed. Naturally I claim I can reproduce this.)
David Schmidt came to my rescue and sold me a scsi drive which I've since used to revive my machine.
I discovered that if you add an scsi disk to your XL1200 and create an auxiliary LMFS file system, and then you remove an entry from the fspt.fspt, you can't access the initial lmfs.file. The manual says you can edit the file to move partitions, but don't remove them. The file system editor (fsedit) is the only way to remove the aux partition it seems. [this comment basically shows that I didn't understand how aux partitions actually worked; I thought they were a separate structure but this is not the case] Anyway, the lmfs.file knows about all the partitions, but not where they are. The fspt file says where they are... but you knew that.
Since the lispm uses a non-standard block size (1280 bytes) and most SCSI drives don't support formatting for non-standard block sizes, I plan to do some work with some linux SCSI target software to create a 'virtual SCSI disk' which will really be a linux box with a small RAID array. I should be able to emulate multiple SCSI disks and a QIC-100 tape drive without much work and I can use any IDE drive I like.
I'd really like to make an SMD drive emulator also, for the 3640...