The TI (Lisp) Explorer Project
shanen.medium.com
shanen.medium.com
The original .NET garbage collector was written in Common Lisp - https://news.ycombinator.com/item?id=23295041 - May 2020 (66 comments)
2023: "When they found out I program in Lisp, they made wise cracks about parentheses and the Lisp Curse. They 'forgot' to invite me to team lunch."
Some (possibly) interesting comments:
- "later I think TI made (or tried to make) a plug-in card version of the TI Explorer for Macs" - this was the MicroExplorer NuBus card for Mac II-series machines, which was somewhat popular. Symbolics also built a NuBus Lisp machine board for Macs.
- "This machine had one of the largest CPUs ever made until that time, something like half a million transistors." The original version of the Explorer (Explorer I) implemented the CPU in TTL logic (plus microcode ROMs and PROMs to implement some logic functions) on two large NuBus boards, the integrated version was later used in the Explorer II and MicroExplorer.
- "the entire computer division was sold off to HP soon after I left" - one of the sad stories, HP destroyed a number of companies after they took over. In addition to TI's computer department (the TI990 16 bit machines were sold to some other company), Apollo, Tandem and DEC (via Compaq) suffered a similar fate.
- "Pretty sure the sale included a sweet little Unix box". This was the TI1500, a 680x0-based asymmetric multiprocessor machine running TI System V (SVR3) with some pretty advanced concepts for its time (such as software RAID/striping), which was also based on NuBus. You could add a TI 68020 CPU board to an Explorer and run Unix on the side. I used to service and admin TI1500 machines as a student and am possibly the last person on Earth with the source code for TI's version of gcc (a horribly hacked version of gcc-1.37 in which the TI-specific code was #ifdef'd into the hp300 backend...). Back in the 90s, I had to request the code from TI in the US (after the division was sold to HP) and received a QIC tape with the gcc/binutils code some weeks later.
The whole NuBus system was based on the NuMachine concept developed at MIT and later Western Digital (https://en.wikipedia.org/wiki/NuMachine). TI bought the rights to NuBus in 1983, Apple and NeXT later adopted the system for their 68k machines. It would be interesting to know why they didn't go with Motorola's own VME bus.
Fun trivia: Swissair used to run their whole booking system on TI Explorers and for some years in the 90s tried to buy every used Explorer system that was available to keep their systems running after the hardware was discontinued (http://lemonodor.com/archives/2002/10/ti_explorer_fam.html).
The biggest theoretical setup AFAIK was a 2X2 Lambda + Unix card - essentially two LMI Lambda CPUs, the Unix CPU, plus memory cards.
The I/O subsystem ran from yet another CPU that implemented access to multibus cards and served as front end processor for management purposes.
The NuBus interface itself AFAIK predates 32bit VMEbus, being designed in late 1970s as part of NuMachine project.
https://www.nytimes.com/1983/09/02/business/lisp-stake-bough...
Edit: You got the -PLUS suffix by adding the Unix processor, of which there could be only one, so the largest configuration would be a LAMBDA-4x4-PLUS having four Lisp processors (and consoles) sharing a Unix.
I think the only machines I might have access to (again) in the future are also all Explorer Is ("Sperry" OEM-labeled). These are currently 2000km away, but I hope we can move at least one of the machines and get it to work again.
Do you think the ROM from the MicroExplorer version of the IC would be useful for the emulator? I think the designation of the chip was different from the one used in the Explorer II, but I suspect the two might still be quite closely related. A MicroExplorer might be a bit easier to find in a working condition...
Update (x2, I didn't find the EPROM originally): a MicroExplorer ROM dump is available at bitsavers [1] - 64 kB in size. However, this seems to be a dump of the TMM24512F EPROM on the PCB [2]. The EPROM doesn't seem to contain 68k machine code, which I would have expected in a regular NuBus card ROM, so perhaps this version of the Explorer chip booted from the external PROM?
[1] http://www.bitsavers.org/pdf/ti/microexplorer/microexplorer-... [2] http://bitsavers.trailing-edge.com/bits/TI/Explorer/pcb_pict...
When I got actual hardware to examine it got a lot worse; nearly all of the feedback I got after that revolved around my being too poor/young/not-famous-youtuber-X/unwilling to part them out. When pictures of my house were posted because I was unwilling to sell a keyboard that was too much. None of this stuff was worth my safety.
On top of that, the vast majority of the people who downloaded the emulator didn't even bother to download the disk images or documentation - they just cloned the source repository, did "./configure", and then sent hate mail when it didn't work because the source repository wasn't a release source and required you to do the whole autotools thing.
It became a no-win scenario - there was no way I was going to live up to the expectations people had and no way I was ever going to make the gatekeepers happy so I just stopped trying. I moved on to other things that seem to be a lot less controversial and when I do work on something that may be controversial I just don't tell anyone about it.
VME cards are huge, and IIRC not keyed. IIRC Nubus was not only smaller but faster. Also, thanks to Apple at least, there were a wider variety of nubus boards; though VME was quite extensively used, it was mostly in industrial cases.
ISTR the CADR cardcage was VME, or at least had VME-sized boards.
The original large VME-Bus cards was problematic for end users: large, fragile, expensive, ...
Very large boards (9U height and/or 340mm or more depth) were used later, as I mentioned above. But I consider them the exception.
Apple wanted an ISA-like form factor so the cards became 101.6mm high and between 177.8 and 327mm deep. So a bit smaller, but not that much than more typical VME boards. The less squarish form factor does make routing signals to the connector a little more complicated.
I can thank opening myself to wider world of programming languages (and all my use of Lisps) to that small 1990 book.