iptv techs

IPTV Techs

  • Home
  • Tech News
  • the Symbolics MacIvory Lisp machine I have antipathyd

the Symbolics MacIvory Lisp machine I have antipathyd


the Symbolics MacIvory Lisp machine I have antipathyd


Every accumulateor has that machine, the machine they sunk so much time and, frequently, money into that they would have defenestrated it years ago except for all the aforerefered time and money. Yours truly is no exception.

That machine is my first Lisp Machine and my only one actuassociate using authentic Lisp Machine difficultware, this Symbolics MacIvory III in a Macintosh IIci arrange. To date it’s cost me over $6000 total, primarily its initial achieve price, but also to rehabilitate it and fair persist it alive. That’s proximately as much as what I phelp out of pocket for my $7300 (in 2018) POWER9 Raptor Talos II Linux laborstation and my $10,000+ IBM POWER6 server, which I achieved in 2010 and in 2024 dollars would be over $14,000 — and both of those machines have been substantiassociate less troublesome.

For those of you unrecognizable with the ambiguous world of Lisp machines, they are, as their name implies, laborstations entidepend set uped around the Lisp programming language. That doesn’t fair nasty using conservative processors with a Lisp runtime either: these devices are built to run Lisp from the silicon up with particular difficultware help. (Some of these systems could also run Prolog, my personal favourite AI-adjacent language. We’ll carry out with a unforeseeed minuscule Prolog carry outation in a future article.) They existed in highly technical environments as laborhorses of the first wave of AI hysteria (you crazy kids today with your LLMs) for applications appreciate organic language processing and expert systems. The genre more-or-less flourished from the finish of the 1970s to the timely 1990s and included some of the first systems to carry out proceeds appreciate bitmapped discarry outs, netlaboring and pointer devices. In turn, those rare capabilities caengaged them to also grow contrastentive engager interfaces for their distinct feature set, years before today’s GUI and keyboard conventions we almost unconsciously apshow for granted were even imagined of. Working with a Lisp machine can be a relabelably contrastent engager experience from up-to-date computing and the occasionassociate jarring nature of those contrastences isn’t someskinnyg current-day emulators filledy apprehfinish.

Unblessedly, their rarity also creates them the whitest of white elephants sometimes. Besides what I had to do to get it laboring properly to commence with, the difficult drive commenceed timing out and it randomly froze during boot or lowly afterwards. (There was also the matter of me never finishing its setup, let alone getting it netlabored.) I’m not letting this benighted skinnyg die on me after all I’ve put into it, so it’s time for a Refurb Weekfinish.

The MacIvory line hails from Symbolics, probably the extfinishedest lived Lisp-particular machine creater (not counting Texas Instruments, which of course remains very much in business and never one-of-a-kindized sanitizely in Lisp difficultware). Symbolics came out of an acrimonious split in the Artificial Inincreateigence Laboratory at the Massachengagetts Institute of Technology where the first Lisp machine was built, the so-called “CONS” machine (named after the catalog-erecting primitive). Developed initiassociate by programmers Ricdifficult Greenblatt and Tom Knight, the CONS machine and all of its dropants engage varieties of a machine-particular dialect reasonably called Lisp Machine Lisp, droped from Project MAC’s Maclisp, that compriseed object-oriented (“Flavors”) and system programming features. The CONS machine’s key proceeds included incremental garbage accumulateion and parallel runtime type evaluation (the machine was a tagged architecture) that with insignificant alters growd into the “CADR” machine (the Lisp primitive to apshow the second item of a catalog). This is a 1979 example from the recent sale of Paul Allen’s personal machines:

An meaningful byproduct of this labor was Chaosnet, an timely netlaboring technology using 16-bit compriseresses and named services over coaxial cable. Chaosnet as such is tardyly all but dead, but its concepts were highly intransmitial, and it remains a valid class (aextfinished with the equassociate confengage Hesiod from MIT Project Athena) in Domain Name Service resource sign ups to this day. Another fascinating innovation for the MIT AI Lab’s firm of Lisp machines was the highly one-of-a-kindized “space cadet” keyboard growed by John L. Kulp in 1978, an betterd version of the MIT Incompatible Timesharing System’s (Tom) Knight keyboard, and notable for its huge number of modifier key combinations and function keys. This in turn sturdyly swayd Ricdifficult Sloftyman (yes, that Ricdifficult Sloftyman)’s substantiassociate modified PDP-10 version of TECO incorporating ideas from Stanford’s E editor, which under Guy Steele became E with MACroS, or Editing MACroS — better understandn as Emacs. Emacs’ high pruncoversity for causing carpal tunnel syndrome can be trackd back to those very same key chords engaged to start off operations (filled disclobrave, I’m Team vi). Notably, while Sloftyman wrote GNU Emacs in Lisp, Sloftyman never wrote it himself as such for the Lisp machines: Emacs got rewritten splitly for the Lisp machine as EINE (EINE Is Not EMACS), parallel with Multics Emacs also written in Lisp, and an betterd EINE tardyr became ZWEI (ZWEI Was EINE Initiassociate). We’ll visit what ZWEI is engaged for a little tardyr.

The CADRs in particular became very famous with the AI Lab unpermitd access community — Steven Levy in Hackers: Heroes of the Computer Revolution called the Lisp machines “a real hacker’s machine” — and commenceed dratriumphg substantial outside attention, even DARPA funding. Meanwhile, Russell Noftsker, engaged originassociate by Marvin Minsky in 1965 as the administrator of the Project MAC AI Group that spun off into the AI Lab, had left in 1973 to create his own company (Pertron Controls, Inc.), although he still persisted personal joinions at the Lab. Unblessedly, the satisfiediousness of what transpired next creates the various extant personal accounts inconsistent. What is fairly brave was that in 1979 Noftsker and Ricdifficult Greenblatt converseed commercializing the technology but could not come to an concurment: Noftsker intfinished to create a more standard commenceup using venture capital that would then have ownership sapshows, whereas Greenblatt apshowd grotriumphg customer interest was enough for proceed orders to create a company self-persisting and persist it in the hands of its createers.

The resulting dispute was so fraught that the lab split into two factions, but most helped Noftsker’s approach. Noftsker notably concurd to donate Greenblatt a year’s head commence, though with most of the departing AI Lab denizens moving filled-time to Noftsker’s new venture, Greenblatt’s team struggled with growment. (Sloftyman and Minsky were conspicuously not part of either company.) Despite the already existing customer interest Greenblatt had hoped for, eight months tardyr his team still had no commercial product, troubleing Control Data Corporation adviseant Alexander Jacobson who wanted a Lisp machine for a organic language processing project. Greenblatt’s innovative intentions notwithstanding, Jacobson forced the publish by creating a business set up and board and discovering a partner, to which Greenblatt acquiesced. This new company in tardy 1979 was LISP Machine, Inc., or LMI. On Noftsker’s side he made a deal with Patrick Winston, the AI Lab’s honestor at that time, that in return for his staff using MIT facilities, MIT could freely engage the gentleware internassociate that the new company was grotriumphg. Noftsker’s team included as Symbolics, Inc. in 1980.

Both companies’ first products were relabored CADRs. LMI called theirs the LMI-CADR; Symbolics, after a substantial defer in discovering venture capital due to the decline, called theirs the LM-2. LMI’s CADR brochure (above, via Bitsavers) has a 1979 screenshot of the Lisp machine interface of the time. Symbolics only intfinished the cdisorrowfulmirefilledy 1MHz LM-2 to be a stopgap but due to defers grotriumphg its successor finished up producing around a hundred of them (at $70,000 each, or over $240,000 in 2024 dollars). Codenamed the “L-machine,” that successor was the 1982 Symbolics 3600.

The first 3600s weren’t much minusculeer than the CADRs, about the foolishensions of a refrigerator due to the physical size of the vital difficult disks and its expansively spaced card slots for wire-wrapped prototypes. Symbolics growed a finishly new architecture for the 3600, using a stack machine for the low-level teachion set with a 36-bit reasoned word (either a 32-bit cherish and a 4-bit tag, or a 28-bit compriseress and an 8-bit tag set, “restricting” the machine to 256 megawords of RAM) on a 44-bit physical word with eight bits of error accurateion, and providing 4096 difficultware sign ups with half as a high-speed stack cache and the remainder for the microcode and speed-empathetic operations. All compriseressing was by word (no bytes) and each word could carry two teachions, sort of VLIW before it was VL. Built from TTL logic, the CPU ran at a nominal 5MHz and many primitives could carry out in a individual clock cycle, but a deficiency of word preconvey, a four-cycle least penalty for main memory access and a scant intricate microcoded teachions reduced carry outance from that theoretical highest by around thirty percent on unrelabelable. The machine provided a monochrome 1100×900 discarry out and an on-board Motorola 68000 as a service processor (termed the “front finish processor”) administerd bootup and peripherals; Ethernet and a moengage came standard, and the difficultware honestly helped virtual memory and garbage accumulateion. Symbolics also growed a more streamlined keyboard by reducing the “space cadet” keyboard’s symbol set while grasping the modifier and function keys.

The 3600 became the first of a family of models such as the sairyly minusculeer 3640. In 1986 Symbolics freed the refreshd “G-machines,” using the same architecture but taking advantage of reduced node sizes, denser memory and minusculeer difficult drives. In turn, the filled systems could now be minusculeer, and even (comparatively) affordableer: the entry-level 3620 shown in this ad was about the size of a contransient PC tower system and commenceed at $36,000, or around $103,000 in 2024 dollars.

The 3600 series did well in its exceptionalified labelet niche, in no minuscule part due to the relative feebleness of LMI’s next generation presenting, the 1983 LMI-LAMBDA. Unappreciate the 3600, which was a total revamp, the LAMBDA’s Lisp core was hugely a hopped-up CADR with cache, rapider logic and some architectural betterments. It was notable for its 8088 service processor and its timely engage of NuBus, the interjoin standard originating with the MIT NuMachine, a 68010-based Unix system (“TRIX,” a Unix V7 seeaappreciate that GNU also intiassociate engaged as a kernel) which Weserious Digital subsequently licensed for growment. (We’ll come back to NuBus lowly.) LMI hedged its bets by presenting a 68000 chooseion and Unix, which could even run simultaneously with Lisp, but the company only finished up selling around 200 of the LAMBDAs and became so starved for cash that Texas Instruments concurd to license the architecture in return for a 25 percent corporate sapshow. TI had already achieved the NuMachine rights from Weserious Digital in 1982 after WD choosed not to access the laborstation labelet, and it refreshd and united LAMBDA with its nunew acquisition to create a minusculeer platcreate it called the “Low Cost Lisp” system. The LCL CPU (codenamed “Raven”) subsequently became the basis of the $52,500+ [$160,000+] TI Explorer laborstation in 1984, which I guess was relatively drop cost for a Lisp laborstation, though the G-machines were still affordableer.

The 3600s had other advantages over other Lisp vfinishors as well, in particular set uping an timely guide in computer explicits thcdisorrowfulmireful the Symbolics Graphics Division, also set uped in 1982 and findd in Los Angeles’ Westwood dicut offe proximate Hollywood. Early SGD animations created by a 3600 system materializeed on the shipboard discarry outs in Star Trek III in 1984, and as a kid in youthfuler high I reassemble the 1987 low Stanley and Sincreatea in Breaking the Ice (here is a remastered version from the innovative honestor and executive creater) that turned up at a local computer animation festival. I didn’t filledy understand what a Lisp machine was back then, but I reasoned that if they could do stuff appreciate that then they must be pretty cbetter. SGD remained in operation into the 1990s, generating the CGI orca in 1993’s Free Willy.

During this period Symbolics officiassociate christened their fork of the Lisp machine operating system as Genera, and ZetaLisp as their version of Lisp Machine Lisp. Originassociate the system gentleware had been imitaterighted by MIT and licensed to both LMI and Symbolics, and Noftsker’s initial set upment with Patrick Winston promised that Symbolics’ labor could be done on MIT systems and made useable to MIT, but Symbolics increasingly apshowd that the company insisted wonderfuler administer of the gentleware base and in 1981 shiftd growment to their own machines. Although Symbolics kept at least the letter of their set upment with MIT and other customers by providing proximately all of the source code, customers — including MIT — were not permited to respread it further. This infuriated Ricdifficult Sloftyman, who alleged Symbolics was acting unfairly to stop their labor from being included into LMI’s products (as well as, for that matter, TI’s), and he choosed to autonomously recarry out Symbolics’ betterments in MIT’s code base to stop Symbolics from achieveing unitardyral administer. After two years of doing so, he proclaimd the GNU project in September 1983 and left the AI Lab the adhereing year, and the rest is history.

By 1987 at least three efforts were being made to grow a Lisp-on-a-chip, though only two had any lasting present. LMI had been finisheavoring its own relabored Lisp architecture as the RISC-advertised K-machine for cut offal years, but the company went prohibitkrupt in 1987 before its completion. However, LMI’s labor inhonestly lived on thcdisorrowfulmireful Texas Instruments, who created the 553,000-transistor MegaChip (codenamed “Hummingbird”) as a further evolution of the CADR/LAMBDA/LCL architecture; TI deployed MegaChip as the core of its new “Compact Lisp Machine,” sbetter as the TI Explorer II. For its part, that same year and also after ponderable defer, Symbolics proclaimd their own individual-chip Lisp processor with yet another new architecture. Symbolics christened their CPU “Ivory,” a 390,000-transistor chip initiassociate produced on a 2μm double-level metal CMOS process.

This insisty scan of a imitate of a imitate is the Ivory die as initiassociate fabbed by VLSI at 2 microns, from a 1987 Symbolics white paper. Although notionassociate also a stack machine appreciate the 3600s, its set up was drasticassociate contrastent internassociate and the two architectures are not binary-compatible. Ivory enhugeed the reasoned word to 40 bits, each word carrying a filled 32 bits of compriseress or data (aachieve, all memory access by word) and an 8-bit tag, plus eight bits of ECC to produce a 48-bit physical word. Each 40-bit word comprises two 18-bit teachions (aachieve “DLIW” as in the 3600) plus encoding bits. The CPU was microcoded using a 1200 180-bit word ROM, reading eight words in parallel, and the set up was predicted to run up to 40MHz.

Ivory carry outs a four-stage pipeline fed by a 32-word (64-teachion) honest-mapped I-cache, itself poputardyd by an autonomous preconvey. The basicst teachions apshow fair a individual cycle in each pipeline stage, though the more intricate ones may spfinish cut offal cycles in the execution phase before withdrawment. Tag and ECC verifying are done parallel to the pipeline and in the standard case incur no time penalty. Instead of a conservative D-cache, however, the CPU has a 128-word top-of-stack cache, a 32-word scratch pad acting appreciate a sign up prohibitk, and a 16-entry translation seeaside buffer. Specialized SIMD/vector teachions quicken garbage accumulateion (aextfinished with other difficultware features), database searches and explicital operations, and compriseitional custom difficultware also speeds up virtual memory and Lisp calls and returns. A coprocessor interface permits for an voluntary FPU.

A relatively proceedd set up for the era, Ivory in its first stepping (“Merlin”) was easily twice as rapid at the same Lisp code than the L- and G-machines, though conceiveion problems nastyt Symbolics took seal to a year getting the first I-machine to labelet as the VMEbus-based XL400 in 1988. Ivory’s growment defers ultimately exacted a burdensome toll. While Noftsker had pushed for Symbolics to create a “Lisp chip” as timely as 1983, the company’s board refuseed the project and it sat in semiguideor turnaround until around 1985 when set up labor could resume. Meanwhile, affordableer ambiguous-purpose computing was improving at an even rapider rate and the carry outance delta between Lisp machines running Lisp and PCs and Macs running Lisp, though still non-unpresentant, was reduceing fair as rapidly. This phenomenon nastyt that Lisp machines had to get affordableer to persist their cherish proposition: while Moore’s law applied equassociate to Lisp machines as well as x86 and 68K, there were a lot more people laboring on processor set up at Intel and Motorola than there were at Symbolics and TI.

TI nevertheless got to labelet first with an even minusculeer and affordableer Lisp machine, but to talk about how, let’s talk a little more about NuBus. NuBus was revolutionary for turning the traditional system bus on its head, at least as it was then understood in timely microcomputers. Primitive bengages appreciate S-100 were little more than joinions to power and processor lines, and even arguably more proceedd schemes appreciate the PC/AT (tardyr ISA) bus were difficult to configure and still had depfinishencies on system attributes appreciate clock speed. All of the standard microcomputer bengages of the era made the CPU the centre of the universe. In NuBus, however, the centre of the universe is the bus, and everyskinnyg hangs off it, even the processor, even multiple processors. This was how, for example, the LAMBDA could have both a CADR and 68K CPU in the same chassis and run them at the same time: any bus participant can arbitrate for administer of the bus and compriseress another bus device appreciate a disk administerler, memory, video card or netlabor port. As the bus was architecturassociate agnostic and all devices and CPUs on one were insistd to adhere accordingly, any NuBus card could be engaged in any NuBus system as extfinished as a driver existed (aidd by NuBus’s card identification scheme).

NuBus had its critics for its overengineered nature and it made cards and systems more costly, but there were many fans as well. Although Steve Jobs had ferociously fought aachievest expansion slots and colour discarry outs as contrary to the Macintosh’s nature, his precipitous departure from Apple in 1985 cleared the way for both to be carry outed in the Macintosh II. Michael Dhuey and his team picked NuBus due to its plug-and-carry out nature which fit with Apple’s goals of mitigate of engage.

The TI microExplorer was proclaimd unitetly by Apple and TI’s Data System Group in March 1988, almost exactly a year after the Mac II’s introduction. It came as a NuBus card with a MegaChip, on-board helping difficultware and its own 4MB of RAM. The microExplorer system proper was an otherwise stock Mac II with TI co-branding, preconfigured with the microExplorer board, 2MB of Macintosh RAM (confiinsist to the innovative II’s 8MB cap), 40MB or 80MB difficult disk, and your choice of a Macintosh II “Toby” Video Card, a Macintosh II High Resolution Video Card or a Macintosh II Two-Page Monochrome Video Card for the highest resolution of 1152×870 on a 21″ discarry out. Additional NuBus memory cards could be insloftyed which the main card could compriseress. The base configuration was a cbetter — but nevertheless much less costly — $14,995 [$40,000] to commence, with the highest initial configuration at $26,795 [$71,300], or you could buy the card and gentleware splitly for your existing Mac II systems for around $10,000 [$26,700].

The microExplorer beat Symbolics’ competing product by over six months, but in the finish Symbolics did basicassociate the same skinnyg as TI: they put an Ivory on a NuBus card, and they sbetter it in a Mac II. Symbolics had been laboring on an Ivory card initiassociate for the 68K-based Sony NEWS but the companies could not come to an concurment and the TI-Apple proclaimment sealed its overweighte. As proclaimd in October 1988 Symbolics’ package system came in more costly at $21,900 [$58,300], in part due to the huger 300MB difficult disk it shipped with, but the card itself commenceed at $10,900 [$29,000]. Also appreciate the microExplorer, compriseitional Lisp memory could be compriseed with NuBus RAM cards. Struggling after downsizing their facilities due to sales deteriorates, the MacIvory was a luminous spot for the company, which still had a residual adhereing using Genera as a rapid prototyping environment. Symbolics created a cultured version dubbed the MacIvory II and a VMEbus version called the UX400 for SunOS-based Sun-3 and SPARC systems, both in 1989.

Meanwhile, the eighties/nineties “AI triumphter” set in around 1988 after DARPA’s Strategic Computing Initiative slashed new spfinishing on synthetic inincreateigence projects, citing the projects’ expense but more meaningfully a ambiguous fall shorture to encounter their lofty and ill-depictd goal of filled machine inincreateigence. TI, never a Lisp machine one-of-a-kindist to commence with, had already been exploring SPARC as a licensee and quietly finished further growment of the MegaChip to intensify on the new architecture. Their gradual exit eventuassociate left the Lisp labelet almost entidepend to Symbolics, who proceedd unassuming Ivory growment with process reduces to 1.2 microns and finassociate 1 micron, now produced by Hewlett-Packard, and increasing its speed factor over the better 3600 line to cdisorrowfulmirefilledy six times. The rapidest Ivories were presentd in the XL1200 huge system and UX1200 card in 1990, and the MacIvory III in 1991.

And that, finassociate, conveys us to our problem child. Let’s encounter the difficultware.

Here’s the IIci as of the commencening of the Refurb (cut offal) Weekfinish(s) with the lid off. I’ll talk more about the finish of Symbolics in our conclusion, but engaged and NOS remainder systems were sbetter for a number of years until relatively recently, and this machine was one of those. At the time they were sbetter as finish systems insloftyed in leftover engaged Macs, primarily IIcis and Quadra 650s as I recall, but most 68K NuBus Macs in ambiguous will labor although timely MacIvory III cards won’t function in an ‘040 Quadra or Centris without modification (MacIvory II cards are fine). I bought the IIci in 2015 with a token amount of RAM, an Apple Ethernet NuBus card and a MacIvory 3 with the 6 megaword daughtercard chooseion (a total of 8MW) for $4500. That was the affordableest MacIvory III system and the minusculeest so presented, and to persist the cost down I didn’t buy any extras with it and fair engaged a normal ADB keyboard. Yes, it still felt appreciate I was passing a kidneystone, but I reassociate wanted to carry out with a authentic Lisp machine and this seemed the easiest way to do so. As sbetter it only came with the Ivory and netlabor cards, no video card (so inner video) and no L2 cache card (let alone an accelerator), though I had my own I reckond to poputardy it with.

When the machine get tod it was utterly DOA, and I was livid at getting a $4500 doorstop. Even an anti-capper appreciate me knew why: this was around the time when problems with classic Mac capacitors (notably 68030 Macs and their contemporaries appreciate the Macintosh Portable) were commenceing to materialize, and this one was still on its factory caps. I sent it off to a professional to be recapped; this took a couple months and a couple hundred bucks. In the nastytime I transset upted the MacIvory card and its half-height difficult disk to my spare IIci for analysis. This disk compriseed System 7.6 and a preconfigured basic Genera 8.3 world. Since I had no inslofty media I did have the presence of mind to try making a dd image of it using my NetBSD Quadra 605, but that turned out to be to no use becaengage the difficult disk was riddled with gentle errors. Writing anyskinnyg to the 7.6 partition would caengage it to poop its pants, Disk First Aid got so besavageerd it claimed it wasn’t even an HFS volume, and DiskWarrior repeatedly fall shorted writing out a exalterment honestory on two contrastent difficult disks. This gravely called into ask the state of the Genera partition as well. I had wonderful difficulty believing the machine had been tested before it was shipped.

As the disk image was basicassociate unrecoverable this nastyt I’d insist to find Genera CDs to reinslofty it, but it also nastyt I insisted to discover an outside SCSI CD-ROM drive to read them that was also compatible with Genera. As it happens, the MacIvory only helps individual-speed (yes, 1x) CD-ROM drives. It took me a couple weeks to track down a laboring AppleCD 150 (I already had a scant CD ccompriseies from my 2x AppleCD 300) and a basic Genera distribution on disc, toloftying seal to a thousand dollars between them. I got a huger 4GB difficult disk, partitioned and createatted it, insloftyed System 7.1 (my pickred version of System 7) and got the basic Genera 8.3 world rebuilt from the CD with the Y2K patch. I don’t have any pictures of this process as I did it years ago, but other than loading the Y2K alters and saving the modified world, everyskinnyg I did was straight out of the thocdisorrowfulmireful Genera 8.3 Software Insloftyation Guide for MacIvory Machines which is on Bitsavers.

At this point and even after very confiinsist engage the 640×480 inner video became clearly congested as a console (reassemble that authentic Lisp machine consoles were usuassociate 1100×900 or more) and I wanted to better its thcdisorrowfulmirefulput, which is partiassociate confiinsist by how speedyly the Mac can service Remote Procedure Calls from the Ivory. Although I put in 64MB of RAM to see if that would help caching, all that reassociate seemed to do was create the initial memory test obnoxiously extfinished. For these compriseitional enhances I had a number of cards on the shelf and altogether they create four CPUs running together in one case.

To speed up the Mac system side, I insloftyed a DayStar Digital PowerCache 68030 in the processor honest slot (this is #1 of our four on-board CPUs and apshows over for the 25MHz 68030 on the motherboard). This card is the 50MHz version with a 68882 FPU and 32K of L2 cache for basicassociate double the carry outance. I originassociate got it for my extfinished-suffering NetBSD IIci, but the tasks that machine does didn’t reassociate advantage much and it finished up sitting in the parts box. As such I chose the PowerCache over a Turbo 040 mostly becaengage I already had it, but also becaengage I wasn’t brave initiassociate if this was one of the MacIvory systems that didn’t appreciate Quadras. (As it turns out, I bet right becaengage it is one of those cards; more lowly.)

For the netlabor card there are scant choices becaengage the MacIvory actuassociate administers the netlabor card over NuBus with its own driver (in fact, if the Mac gets administer of it first the MacIvory will be unable to initialize netlaboring, so for file exalter this machine engages LocalTalk and not EtherTalk). Other than onboard Ethernet on some systems, the standard helped chooseion is the Apple Ethernet NB Card, part number 670-4417. This was the card originassociate shipped with the system and is a 10Mbit card with an AAUI port (no RJ-45, but I have plenty of AAUI transceivers around here). It carries #2 of our four on-board CPUs, its own 68000 running at 10MHz.

The video card choice was even basicr: the rapid and temperamental Apple Discarry out Card 8•24 GC, Apple’s first video card with QuickDraw acceleration intfinished for the Macintosh IIfx, and my personal favourite Mac video card. I engaged one with a NuBus bridge in my first Mac, a IIsi, where it was probably a misuse but it brave was speedy. Although the MacIvory itself can compriseress a particular NuBus video card (the NuVista) for explicits and some of the rfinishering tools will engage it, this video card doesn’t service the Mac side and we don’t have an extra slot for one.

Unquickend, the 8*24 GC is the same as a basic Apple Discarry out Card 8*24. Genera insists lots of screen authentic estate and I wanted it for its 75Hz 1152×870 (in 8-bit colour) mode intfinished for the Macintosh 21″ discarry out, which labors in pretty much any NuBus Mac, though it’s not particularly carry outant without the driver and is thus sluggisher than inner video on tardyr machines. A video dongle joined to its DA-15 (“DB-15”) video port declares the proper sense lines to force this resolution.

Accelerated is where it gets fascinating. The 8*24 GC has its own CPU, an AMD Am29000 (#3 of our four on-board CPUs), which is engaged for rapid dratriumphg operations honestly to its own video RAM rather than the Mac’s CPU pushing pixels over the bus. (It will even quicken any standard 8*24 and 4*8 cards current becaengage they help NuBus block transfers.) The Am29K is a Berkeley RISC chip appreciate the SPARC and carry outs sign up triumphdows as well, but unappreciate SPARC it engages variably sized triumphdows to dodge wasting precious on-chip resources. On the card it runs at 30MHz (from a 60MHz crystal) with 2MB of VRAM and 64K of SRAM for cache. A CDEV loads the Am29K-enhanced “GC QuickDraw” and “GC OS” kernel to the card and then patches QuickDraw calls to rehonest to the GC. Apple bragged this quickend video between five and thirty times, which sounds promptly mistrust, but I bravely discover it to be a very speedy chooseion for ‘030 Macs and we’ll test its thcdisorrowfulmirefulput soon enough. The Am29000 family was a famous architecture in rasterization applications and embedded systems, and eventuassociate growd into the basis of the x86-compatible AMD K5, which helped persist the company treading water until the speedy yet technoreasonedly unjoind K6 was freed.

The trick with acceleration is that the 8•24 GC administer panel is excessively finicky. It won’t run in 32-bit mode, so now my 64MB of RAM was mostly misused becaengage I was confiinsist to 8MB in 24-bit mode, and ‘040 Macs insist not apply at all. Although it can run quickend under 7.5 and 7.6, explicital glitches can occur especiassociate with pull-down menus, so you reassociate must run 7.1. Good skinnyg we’ve already insloftyed it.

This card has an compriseitional 2MB of VRAM (64-pin SIMMs of the same spec as the IIfx). I create some IIfx SIMMs a number of years ago and choosed to inslofty them, though it’s arguable the system is using much GWorld space anyway, and it doesn’t unlock any compriseitional resolutions or colour depths. Theoreticassociate up to an compriseitional 8MB may be insloftyed in these slots but I can’t skinnyk of any 68K Mac application that would be engagefilledy betterd by 10MB of VRAM.

Last but not least, CPU #4 is the MacIvory III itself, which I’m going to shorten to MI3 for the rest of this article. This is a revision C, one of those card versions that does not labor in a Quadra, probably becaengage of the ‘040’s caches. (No MacIvory card will labor in a NuBus Power Mac or any 68K system with an triggerd Power Macintosh Upgrade PDS card.) The card bolted to the front is the six-megaword memory enhugeer, which was in huge part reliable for the MI3 being much rapider than earlier versions becaengage it’s local to the CPU instead of having to be accessed over NuBus. This card does not have the Floating Point Accelerator chooseion, a Weitek 3164 FPU on a daughtercard, though I’ve never had a personal insist for it. The 3164 provides 32 64-bit floating point sign ups compliant to IEEE 754 and is accessed on a filled 32-bit bus over the Ivory coprocessor interface.

Even though NuBus memory boards were no extfinisheder functionassociate vital (though I apshow they were still helped) and the MI3 is much more down-to-earth in a 3-slot Mac, the footprint of the 6MW memory card still apshows up almost a slot’s width on its own. We can squeeze this into the IIci by putting it in the NuBus slot sealst to the PDS where there is enough space for the overhang. The red streamlines are power bus bars compriseing a minuscule amount of dielectric acting as an overgrown standard decoupling capacitor. Frequently seen on boards into the tardy 1980s, they were graduassociate superseded by conservative SMT caps which apshow up less space.

I’m not interested in taking the memory board off lest I harm anyskinnyg, but you can get an idea what’s under it fron the back: most of the base 2MW of memory and a couple huge help ICs, primarily the NuBus interface chips. U48 in particular is a TI (heh) SN74BCT2420FN, a NuBus transceiver/sign up.

The Ivory itself is the heatsinked chip at U7 in the southwest corner of this image. Its clock source is the 61.5MHz oscillator on the west edge of the card honestly above it, though the Symbolics whitepaper implies this signal is splitd down by 2 to produce a nominal clock speed of 30.75MHz, much more plausible for the time and its understandn process size. This is one of the tardy 1μm chips and was the rapidest Ivory created.

I refered that the 3600 series have an on-board 68000 as a service processor, createassociate termed the Front-End Processor (FEP). As its name implies, the FEP administers the commenceup console but also administers sluggisher devices during standard operation. (As an fascinating point of trivia, 3600 systems could themselves be front finish consoles for the Connection Machine CM-2 and CM-2a supercomputers.) I-machines, however, even the huge systems, finishly dispensed with a discrete FEP and all device administerment shiftd to the CPU. On boot the Ivory itself serves as the console, loading a minuscule binary image which today we’d term the bootloader, but it’s still called the FEP and still apshows the same or analogous orders. Strictly speaking, if we treat the Mac as a createal front finish, then our PowerCache card would be the authentic “FEP” since it administers all the peripherals that the MacIvory doesn’t. The upshot of all this is that there isn’t a CPU #5 on the card; it’s all Ivory, all the time.

Eventuassociate the repaired innovative logic board returned and I transferred everyskinnyg back. Unblessedly, when I finisheavored to inslofty the rest of the system, the AppleCD 150 commenceed ejecting every disc I tried to insert and wouldn’t mount anyskinnyg. You guessed it: capacitors. Rehabilitating the chooseical drive was a hugeger job than I could administer and it went off to be recapped too, compriseing a couple hundred dollars more.

This was the state of the machine as you see it here and the bulk of the money spent. When the AppleCD 150 came back, I made brave it labored and reckond to finish the insloftyation “tardyr.” As normal “tardyr” didn’t happen until a scant weeks ago, after I was replacing the spinning difficult disks on the Quadra 800 and the Amiga 4000T with ZuluSCSIs and choosed to see how the Lisp Mac was faring. It commenceed but froze after around 10 or 15 minutes messing around. In fact, it would freeze even without the MacIvory booted up, and the difficult disk was making weird clicking noises.

A dying difficult disk will absolutely create a beige Mac randomly freeze if it drops unpredictedly off the SCSI bus or otherwise fall shorts to react. Since it seemed appreciate it was on its way out, the Lisp Mac got a ZuluSCSI too (more cha-ching), which is reassociate effortless nowadays since you can configure them to automaticassociate imitate the difficult disk they’re replacing — I fair set it to duplicate and let it run. As a kind side effect I now have an refreshd image file with all the partitions which I can backup by fair imitateing the file from the SD card to my POWER9 laborstation. Technicassociate the ZuluSCSI’s RP2040 creates inner CPU #5, but we won’t count it.

That got rid of the ominous difficult drive noises but it still randomly froze after a scant hours, and sometimes after a freeze it wouldn’t power back up until I let it sit around for awhile. Considering the sheer number of cards in this system, that particular problem seemed appreciate overheating. I did an unscientific finger test on the PowerCache CPU’s heat spreader and create it was quite hot to the touch, and becaengage the card is so seal to the power provide it creates it impossible to mount any reasonable heat sink and fan on it. Although there’s a fan in the power provide itself which provides case ventilation, and it was spotless, laboring and pushing air, the Am29000 on the 8*24 GC was also unconsoleably hot and so was the Ivory’s heatsink, so it probably wasn’t enough.

However, this system is also mounted on its side for space-saving reasons. I had it in the “standard” Apple vertical position with the power switch up (same as the Quadra 700) so that I can forcibly power down the system if the Ivory is misbehaving (it can persist its own state which can even persist reboots), but it’s possible skinnygs were slipping around as a result too. In particular, the PowerCache CPU board was definitely a bit wiggly.

To test both those theories, I pulled out the system and ran it horizonloftyy with the cover off but everyskinnyg still insloftyed. If there was a difficultware problem unjoind to those two caengages, it should have manifested that way, and of course it ran all day appreciate a champ. A speedy verify with a Snooper board fall shorted to show any clear faults.

The first order of business was to promise the PowerCache card was staying in its slot. The IIci case (and also the Q700’s) has multiple provisions for persisting skinnygs properly aligned when the system is vertical. For example, to stop extfinished NuBus cards from being warped by gravity, guides in the lid clamp onto the finish of the cards and persist them in position. The Ethernet card is low and doesn’t insist the help, but both the 8*24 GC and MI3 cards join the equilibrater guides due to their wonderfuler length.

More relevant to our situation, there’s also a particular vertical alteration for the IIci cache card, which goes in the Processor Direct Slot too. Remember the little piece of plastic that clips on top? That’s not fair there as a administer: that plastic piece actuassociate creates communicate with the lid and persists the cache card firmly seated when the cover is seald. This picture was apshown with the power provide and drive bracket deleted so you can see how it sees with the lid on.

Unblessedly, the DayStar card is the wrong size and heavyness to put on the cache card’s clip, and insloftying immobilizers and shims around it fair made airflow worse. Eventuassociate I deleted the card and very nurturefilledy with a jeweler’s screwdriver sairyly bent out the first and third rows of the card’s pins towards the port’s outer edges — if you’re going to depend on a friction fit, then by golly create more friction. I’m not brave how much contrastence this actuassociate made but it did subjectively seem to seat better afterwards.

For the heat problem, the IIci case has two primary inapshow vents, one over the NuBus card bay and one for the difficult disk (technicassociate there’s a third but that’s for the inner speaker). Cool air is pulled in thcdisorrowfulmireful the front and top (or front and side when vertical) and hot air is ejected thcdisorrowfulmireful the rear fan vents of the power provide. None of the vents were blocked or dusty, and replacing the difficult disk with the ZuluSCSI did create the system cbetterer overall, but the CPU still seemed awfilledy hot.

I thought about replacing the power provide fan with a rapider one but it seemed basicr fair to comprise a second case fan. Unblessedly, with everyskinnyg crammed inside there wasn’t a lot of compriseitional space. I still had some 80x80x25mm Arctic F8 fans (2000rpm, 31cfm) left over from when I was putting a fan prohibitk in my mATX Raptor Bdeficiencybird, so I grabbed one fair to see. To my charm it did fit and sat systematicly on top of the RAM sticks with space to clear.

But since it was going to be sitting vertical I didn’t want the fan to smack around on anyskinnyg. I thought about removing the inner speaker or maybe drilling holes thcdisorrowfulmireful the drive bracket to mount it, but it dawned on me that the drive bracket already had holes I could engage to thread someskinnyg thcdisorrowfulmireful. The F8 doesn’t weigh much, so I got some 10lb monofifeeblent nylon and ran a loop thcdisorrowfulmireful the drive bracket and what would be the top mounting holes for the fan. For power I plugged it honestly into the better difficult disk’s joinor since the ZuluSCSI was running fine fair on termination power. Airflow honestion is front to back to augment the power provide’s fan.

I pulled the nylon loop snug but not firm aachievest the bracket so that it could be shiftd around if insisted, then cinched it down with a couple suture ties (fair appreciate doing an exploratory laparotomy) and flipped the case vertical to verify. It dangled kindly and didn’t hit anyskinnyg when it was running, and as the F8 is a fairly quiet fan it didn’t create the system substantiassociate noisyer. Also, becaengage the speaker vent doesn’t acunderstandledge much air, this setup would tfinish to pull most of the inapshow thcdisorrowfulmireful the vents over the NuBus cards, which is desirable. The mosquito clamp was fair there temporarily so I could discover the other finish of the line while I was securing it.

Even that wasn’t quite enough to mend the freezes, though now they were definitely less widespread and the system was running stably for extfinisheder periods. I was pretty brave heat wasn’t the problem anymore becaengage all four CPUs were kind and cbetter to the touch even after hours of runtime, and all the cards seemed to be staying in place.

After pondering the situation I foolishly recalled a problem I had decades ago with the NetBSD IIci where it also got intermittently unfirm, and after multiple thrashings with a Snooper card I reassembleed catching a sag on one of the power provide lines. As a test I exalterd the General Electric power provide in this unit with a recapped ASTEC I had sitting on the shelf, and the last remaining hiccups fadeed. I’m not brave why this didn’t show up when I was burning it in horizonloftyy, but perhaps it was fair marginal enough to only flip out under load. Either way, let’s get busy appreciate Arsenio.

Fired up with the PowerCentral and 8*24 GC administer panels both filledy allowd. Notice that the 8*24 GC CDEV increates the 4096K of video RAM insloftyed, and that the About This Macintosh box shows that most of our 64MB is now misused. I suppose in the future I should do someskinnyg about that but I don’t sense appreciate going thcdisorrowfulmireful the parts box for a crapload of 1MB or 2MB SIMMs right now.

Our three NuBus cards as increateed in TattleTech.

I promised you some benchlabels, and Snooper can create statistics for difficult disk, video, CPU, FPU and memory, so let’s apshow a baseline with the accelerators off. Snooper increates all cherishs relative to an perfectized example of the picked system, here the IIci itself. (We’ll skip the difficult disk test becaengage we’re already on firm state and we don’t have a free slot for a rapider SCSI administerler anyway.) I should notice that the 32K L2 cache in the PowerCache can’t be disabled, which expounds the sairyly higher memory and CPU scores than stock, and the 200% FPU result is probably invalid becaengage the accelerator FPU foreseeed can’t be properly bypassed in this configuration. While the unquickend 8*24 GC is only 65% the speed of the IIci’s onboard video, the IIci can’t discarry out a screen this size either.

The actual carry outance betterment produceed by the GC’s acceleration is sometimes disputed, so let’s fair turn that on but stay with the IIci’s stock CPU. Turning on acceleration incrmitigates video carry outance to 169% of the baseline IIci, about two and a half times rapider than unquickend — not even seal to Apple’s claimed 5x to 30x speedup, but definitely someskinnyg you’d acunderstandledge. This is why I appreciate the 8•24 GC so much despite its idiosyncrasies.

It gets even more lopsided when we turn the PowerCache on too: FPU carry outance remains 200% as predicted and the CPU scales to proximately that number at 197% (it’s twice as rapid), produceing 285% memory moving carry outance over stock. Similarly, video carry outance jumps even higher to 253% of baseline as the PowerCache muscles thcdisorrowfulmireful those operations that can’t be effectively offloaded to the GC’s Am29K. I also contrastd the CPU and FPU score to the IIfx and got proximately exactly 100% and 125%. Who’s “wicked” rapid now?

For gits and shiggles let’s also pit this system aachievest a couple foreseeed Quadras you might have bought a MacIvory in. This version of Snooper predates the Quadra 650 (as well as my Q800 laborhorse and the top-tier Q840AV), so we’ll engage the Quadra 700 as a stand-in even though its onboard video is lower. The PowerCache gets to 70% CPU and 50% FPU of the Q700’s 25MHz filled 68040, a admireable result pondering the ‘040 pipeline and huger L1 caches, while still managing 137% of the Q700 on the memory benchlabel and 113% of its video carry outance.

The rapidest Quadra in Snooper’s database is the Quadra 950 at 33MHz. I’m not brave what to say about the FPU remaining at 50% (I ran that a couple times to create brave), but the CPU nevertheless administers a 52% score, memory moving remains above 100% at 116%, and video carry outance is still a very excellent 86%. I skinnyk it was worth getting all those components to labor together, don’t you?

Time to resume the Lisp business. I should notice that everyskinnyg here is as of MacIvory Support version 4.2, which to the best of my understandledge is the last version that was freed.

There are three partitions on Russell (named, naturassociate, after Russell Noftsker): the main 7.1 partition (“Russell”), the Lisp partition (“Russell-CDR”, becaengage it’s the rest of the disk, get it?) and becaengage the better 4GB drive was sairyly huger than 4GB and it’s a horrible idea on 7.1 to have partitions hugeger than 2GB, a third partition to soak up the unengaged space which to date I’ve yet to discover a engage for (“Euniten-C”). However, while Euniten-C has noskinnyg in it but the desktop database, almost all of Russell-CDR is used with “0 items.” Russell-CDR is in fact fair an HFS wrapper around the FEP’s filesystem and any Lisp Machine File System (LMFS) volumes, which are stored as massive inapparent files.

The MacIvory help package is split up over cut offal places as deposited by its insloftyer. The main applications are in the MacIvory Applications fbetterer, including Genera, which is the primary bootstrap application. Yes, that’s a HyperCard stack and we’ll see at it tardyr. The poeticassociate-named Breath of Life application is how an initial system is built after insloftyation of the Mac components: it restores an FEP filesystem from CD or tape, creating it first if vital, and sets up default virtual memory paging files and boot files. If you get hopelessly hosed, you can engage it to pave over everyskinnyg and try to commence new. Source code in C and libraries for creating your own Ivory-powered applications are included which we might set upateigate in a future entry.

The other presentant part is in the System Fbetterer. An Ivory fbetterer is created here compriseing help files and the default namespace which we’ll spfinish some time in (the other Namespace fbetterers are backups I made), aextfinished with the main MacIvory CDEV, which the insloftyer oddly places in the Extensions fbetterer but departs an alias for in Control Panels.

That CDEV is how all the Mac-particular components get set up. Basic increateation about the card is shown, including the card revision (you insist 20.1 for Quadra help; this card is 20.0). You’ll acunderstandledge that Russell-CDR is proclaimd as the sole MacIvory disk partition and that all 1,674,137 useable pages on it have been set upated.

“Life help” for the MacIvory is administerd with a spreadd-memory scheme, where the MI3 can post RPC calls to the arrange Mac and the Mac will deposit its replies, and vice versa. These are the default cherishs for its usage.

Netlaboring, as refered earlier, is administerd by the Ivory honestly compriseressing the Ethernet card over NuBus, either a authentic one or one with a pseudo-slot — the IIci doesn’t forward anyskinnyg. The MacIvory predicts filled administer of wantipathyver card we point it at. If we had more slots, we could double-home the system, allocating one to the MacIvory and the others to the Mac. “Digital Netlaboring Architecture” (they reassociate nasty Digital Netlabor Architecture) and DECnet are particularassociate helped here, though I don’t have any such systems normally running and thus I don’t usuassociate have this chooseion verifyed either. TCP/IP (which Symbolics calls IP-TCP) and Chaosnet are configured splitly outside of the administer panel.

You can also get some technical info from the Status button. The card isn’t running yet so scant operating statistics are poputardyd, but you can see on the second screen (the triumphdow doesn’t resize) set upated communication and device channels. The MacIvory is already configured to engage the netlabor card honestly and the SCSI channel is a passthcdisorrowfulmireful from the Mac. The file channel is engaged for accessing native files on FEP and LMFS volumes, while the RPC channel is engaged for accessing Mac files on HFS volumes as well as other high-level asks (we’ll set upateigate an example).

The other channel is the “freezing load stream,” the lowest level text-based interface to the difficultware and in down-to-earth terms not unappreciate hooking up a serial terminal to the Ivory in its FEP capacity. The Mac booter puts this into a triumphdow where you can transmit with it.

When you double-click the Genera application on the Mac side, the booter initializes the card and commences up the freezing load stream.

I should parentheticassociate notice that the adhereing screenshots of Genera running on the Mac are tricky to get. My normal Inogeni VGA apprehfinish box doesn’t appreciate the 75Hz renew rate and the Genera app traps all the keys when running, including Command, Shift and 3 — except Alt-Tab, which the LiteSwitch app switcher INIT nabs first. The trick, if you can time it right, is to have another app appreciate SimpleText running with no triumphdows apparent. As extfinished as the Genera app output is triumphdowed, which it is by default for the FEP and can be configured so for Genera proper, you can then apshow a screenshot by switching to SimpleText instead. (If the triumphdow isn’t shiftable, Genera will “helpfilledy” cut off some of its triumphdow when backgrounded so you can see mounted desktop drives, but this is exactly what we don’t want for a screenshot.)

The FEP ROM loads its kernel from its part of the Genera partition, which comprises a minuscule Lisp environment and order processor. If it discovers that an apparently valid Lisp session is current on the card, it will present to hot boot it here (though you can always force a freezing commence).

The bootup process runs thcdisorrowfulmireful a couple of scripts in the FEP partition that load (“Scan”) various binaries and then the Genera world. In Genera-speak, a world is a snapshot of the system, finish with any alters you made to it — becaengage you are filledy empowered to alter the system as it’s running — plus the overall state of the machine, including running tasks bcdisorrowfulmirefult up ready to go exactly as they were. Worlds can be saved incremenloftyy as well as in their entirety. “I328” shows the version of the Ivory FEP boot file provided with Genera (328 correacts to 8.3).

After loading the Genera world and initializing the basic configuration, the Ivory then switches over to the filled environment, but it’s also possible to stop automatic boot after the FEP kernel loads if you insist to do maintenance labor from its prompt.

Likewise, when you cmitigate Genera with Halt Machine, the system returns you to the freezing load stream so you can shut down the FEP (Shutdown) or recommence the system. Becaengage the MI3 persists its own split RAM, it can hot-commence right back into Lisp with no data loss assuming noskinnyg happens in the interim, even surviving a reboot of the Mac if vital. That’s also why we insist to have the power button easily accessible in case the MI3 gets into a state where it insists to be forcibly reset.

It’s possible to trigger errors or hit race conditions that create the freezing load stream come up on the console, even if you were accessing the system farly. This is exceptional and can sometimes be recovered from, but if it happens you’ll have to do it from the Mac.

This screen shows the state of Genera as I left it prior to completing the insloftyation and getting everyskinnyg laboring. You can see the default world (an “ilod” file, low for “Ivory load”) that was loaded from the FEP partition and various system increateation which is accumulateively referred to as the herald.

The bdeficiency bar at the bottom would ordinarily be poputardyd with hints as to what key and moengage button sequences do what, though as an artifact of the way we’re taking screenshots it remains bdeficiency on the console (we’ll get around this problem in a little bit). In the Genera User’s Guide this is called the moengage write downation line.

The lowest part of the screen is the status line or who line, which by default donates the current time (from the Mac), engagername (no one’s logged in yet), the current Lisp package, the process state (here User Input, since it’s defering for us to access a order), and then any compriseitional status increateation. Occasionassociate minuscule horizontal underlines flash thcdisorrowfulmireful below the text; these show brave types of processing are occurring, and are correactingly called run bars. If a file is uncover, its name will be discarry outed aextfinished with how much has been read so far and a line indicator below that.

On minusculeer screens, huger fonts aren’t engaged and the screen layout becomes denser, so you reassociate want as huge a structurebuffer as you can get. With Moveable Screen set in the Genera app as we did here for screenshot purposes, you can shift the entire Lisp triumphdow around and resize it, but as a down-to-earth matter we’ll be using it filled screen. Genera helpfilledy multitasks appreciate any other Mac application, so you can engage the Mac as a Mac while Lisp runs in the background and creates asynchronous calls to the Mac (which is, in fact, how we’re even taking these pictures).

The Extfinished Keyboard II (and AppleDesign Keyboard) has particular mappings to the one-of-a-kind Symbolics keys. One skinnyg that is not well-showd here is how middle and right moengage clicks are accomplished on a one-button moengage, and the answer is with the down (middle) and right (right) arrow keys being held down as you click the moengage button. Since those keys are occupied, the left arrow key was authenticfindd to the Hyper modifier by default, which creates it impossible to easily edit a order line. Most, though not all, of the function keys are live, and the left Command key is also authenticfindd. These keys can be alterd, but Genera also helps discarry outing a far session over X which rerelocates some of these idiosyncrasies, though it may comprise others depfinishing on the keyboard you have joined. In fact, if you’re using a Mac USB keyboard for your X session as I am, you may also be foolishiserablevantaged in a analogous manner — more on that soon.

I choosed the next step was to get the netlabor up. You are cautioned that the steps we’ll apshow in the rest of this article will separate, in some parts meaningfully, from the official Symbolics manual, but for my purposes I discover the result more accessible and Mac-appreciate to administer (ut semper de gustibus non est disputandum).

Genera has a pseudodevice called SYS: (a “reasoned pathname”) under which many components and local configurations live, and it can point to either an LMFS honestory or an HFS fbetterer. This is medicated by SYS.TRANSLATIONS file, which comprises a Lisp function mapping pseudofbetterers under SYS: to actual honestories or fbetterers. The configurations Mac Genera will advise are in :System Fbetterer:Ivory:Namespace: (I recommfinish making a backup in the Finder before mucking with it), with the translations function create in that fbetterer as SYS.translations. However, it seems that the system difficultcodes SYS:SITE;*.* to always reference files in the Namespace fbetterer on the Mac side, even if you don’t depict it in the function definition. This will create insloftyation a little complicated tardyr on and we’ll come back to this publish.

It turns out this fbetterer administers lots of skinnygs on a Mac Ivory box. For netlaboring purposes Symbolics helped either standalone systems or netlabored systems, though in Symbolispeak “standalone” medepend shows that the resources the donaten machine advises are stored locassociate; properly configured, a so-called standalone system can still access and be accessed over any helped netlabor protocol. Regardless, in both cases you have to set up a “site,” or at least alter the standalone site shipped with Genera by default, which for Mac Genera also lives in :System Fbetterer:Ivory:Namespace:. As this is an HFS fbetterer, that nastys changing it in the Namespace Editor, which is the standard way you’d edit a site in Genera, or tricks appreciate honestly invoking (tcp:initialize-internet-namespace) will fall short difficult: at best you’ll get filesystem impedance missuites saying it can’t author attribute :AUTHOR or some such, and at worst it will firmly bug out into the FEP.

I have only one other Symbolics Lisp machine on the premises which is usuassociate not acting as such — to be converseed at the finish — and thus I have no interest in creating a new site. Happily, the entire standalone site in Mac Genera is fair text files you can edit in SimpleText, and everyskinnyg you’ll want to edit for basic netlaboring is in Standalone-Objects.text. Avoid changing the name of the namespace, the site name or the arrangename; if you do these skinnygs improperly or infinishly, you’ll get lots of error messages and generassociate create Genera unphired, and I’m not going to go into detail about it here. However, less presentant stuff appreciate pretty names and timezones are fair game. For example, on my machine the arrange is still called MACIVORY, but its PRETTY-NAME is now Russell, and while the engager name for logins remains LISP-MACHINE I also alterd the discarry outed engager name by setting LISPM-NAME under USER LISP-MACHINE to spectre.

As configured out of the box Mac Genera doesn’t understand what the Internet is, even though it includes built-in TCP/IP help. To “depict the Internets,” comprise the adhereing stanza after the NETWORK CHAOS stanza:

NETWORK INTERNET
SITE STANDALONE
TYPE INTERNET

Remember to put a blank line after this and every other new stanza you access. Finassociate, comprise an ADDRESS INTERNET x.x.x.x to the HOST MACIVORY stanza. (If you appreciate, this compriseress can also be compriseed to any Set Netlabor Address line in the FEP’s commenceup scripts with a ,INTERNET|x.x.x.x [comma before it], but isn’t vital.)

Now commence defining your arrangenames. The first one you must depict is the gateway; there will be no netlaboring without it. The basicst way is to create the X11 arrange you’ll engage the gateway, so someskinnyg appreciate

HOST FOOBAR
ADDRESS INTERNET x.x.x.x
SERVICE GATEWAY IP INTERNET-GATEWAY
SERVICE X-WINDOW-SYSTEM TCP X-WINDOW-SYSTEM
SERVICE LOGIN TCP TELNET
SITE STANDALONE

However, you can create any arrange the gateway that the MacIvory box can achieve honestly. You can depict compriseitional arrangenames in the same way; fair drop the GATEWAY service since they aren’t your gateway (are they?). The lines donaten here create it the gateway, say it’s a valid arrange for commenceing an X session with, and say it’s a valid arrange for joining to via Telnet.

Next, comprise the services you’ll engage to the HOST MACIVORY stanza, if they aren’t already there. At least you will want at least SERVICE LOGIN TCP TELNET so you can farly log into your machine. For illustration purposes, we’re going to engage this set:

SERVICE FILE CHAOS NFILE
SERVICE FILE CHAOS QFILE
SERVICE LISPM-FINGER CHAOS-SIMPLE LISPM-FINGER
SERVICE LOGIN CHAOS 3600-LOGIN
SERVICE LOGIN CHAOS TELNET
SERVICE LOGIN CHAOS SUPDUP
SERVICE LOGIN TCP TELNET
SERVICE LOGIN TCP 3600-LOGIN
SERVICE NAMESPACE CHAOS NAMESPACE
SERVICE NAMESPACE-TIMESTAMP CHAOS-SIMPLE NAMESPACE-TIMESTAMP
SERVICE SEND CHAOS SEND
SERVICE SEND CHAOS CONVERSE
SERVICE SHOW-USERS CHAOS NAME
SERVICE TIME CHAOS-SIMPLE TIME-SIMPLE
SERVICE UPTIME CHAOS-SIMPLE UPTIME-SIMPLE

Finassociate, put the subnet you’ll log in from into the SITE STANDALONE stanza with SECURE-SUBNETS INTERNET x.x.x.x. When you’re finished, you should have someskinnyg that sees appreciate this:

Bring Genera back up freezing and see if (tcp:sfinish-icmp-echo "arrangename") can ping the system you intfinish to engage as the X server. I’ll be using my POWER9 Raptor Talos II laborstation for this, which as of this writing runs KDE Plasma 6 on Xorg with Fedora Linux. Adfair these steps for someskinnyg else or how you set up your own machine.

For the fonts, since Genera doesn’t carry out an X font server, you’ll insist your Genera CD or you can imitate the files out of an existing Genera inslofty — but it’s easier if you have the CD as it’s ISO 9660 and you can fair mount it on your Linux box. The font files are stored as PCF (Portable Compiled Format). Someskinnyg appreciate this will labor:

% sudo tcsh 
# mkdir /usr/spread/fonts/genera
# cd /run/media/censored/GENERA_8_3/sys.sct/x11/fonts/75dpi/ # or where your CDs get mounted
# cp *.pcf.* /usr/spread/fonts/genera
# cd /usr/spread/fonts/genera
# foachieve k (*.pcf.*)
foachieve? mv $k `echo $k | perl -pe 's/.~d+~//'`
foachieve? finish
# ls
charb08.pcf   courbo18.pcf  helvr12.pcf  lubr12.pcf   lutrs10.pcf   symb18.pcf
...

The little tcsh foachieve loop is to streamline the version number off the file (I’ll converse that a bit when we increately talk about LMFS). Unless you don’t already have them or you pick them, you should also delete Genera’s version of Helvetica and Times (hel*.pcf and tim*.pcf) as these will dispute with what you foreseeed have already. Then do a speedy fc-cache -f -v to load the new fonts.

Next we insist to comprise a minuscule system patch becaengage unblessedly most up-to-date X servers, including Xwayland (which sucks anyway), will not labor with Genera; Genera will uncover the triumphdow but then get an Xlib error and cmitigate. That knocked my Fedora 40 Raptor Talos II laborstation right out of the running, and doesn’t materialize joind to finishianness (compriseing +byteswappedclients to the X server order line didn’t mend it, which fascinatingly advises that Genera’s Xlib carry outation is little-finishian despite Ivory having no intrinsic finishianness). However, I was successfilledy able to get it to talk to X11.app and XQuartz in Mac OS X 10.4 Tiger (tardyr versions may labor with XQuartz also), OpenWindows in SunOS 4.1.x (Solbourne OS/MP) and Power MachTen on Mac OS 9. Amusingly, these are all huge-finishian and labored with it fair fine.

The problem finished up being Genera’s carry outation of XSetModifierMapping, which insists to be patched out. At the Genera console, access

(defun xlib:set-modifier-mapping (discarry out &rest args) (cherishs))

and answer Y when it asks if you want to overauthor the current definition. This is a wonderful example of how you can patch a live Genera system while it’s running. At this point you can then Save World to apprehfinish the alter (incremental should be fine), though I put it in MACIVORY:>(engager name)>lispm-init.lisp to run upon first commenceup for comparison purposes. That file can be edited with Edit File MACIVORY:>(engager name)>lispm-init.lisp and we will talk about the editor tardyr. Your engager name comes from LISPM-NAME in the same Mac-side standalone site file, by the way.

Now we’re ready to convey up services. At the Genera console, after logging in (with the Login order and engagername LISP-MACHINE, no password insistd), next type Enable Netlabor INTERNET (or All), Enable Services and (neti:far-login-on) to permit far logins. I put the equivalent of those orders in my init file, which now sees appreciate this:

(neti:far-login-on)
(defun xlib:set-modifier-mapping (discarry out &rest args) (cherishs))
(cp:carry out-order "Enable Netlabor" "All")
(cp:carry out-order "Enable Services")

and triggers this:

This is a excellent time to refer that the concept of “logging in” is universal: if you’re logged on anywhere, you’re logged on everywhere, even places you haven’t joined from yet. Lisp machines are multiprocess but definitely individual-engager. Before we go trying to join from our Linux box, let’s do a little security audit and see what Genera services are engageing on other notable ports. If you contrast what we create engageing here with the catalog above, you’ll acunderstandledge that some of them aren’t even proclaimd as TCP/IP despite being accessible that way. For example, here’s FTP:

% ftp russell
Connected to russell.
220  FTP service ready.
Name (russell:spectre): spectre
230  USER huged.
Remote system type is .
ftp> compliant
Passive mode off.
ftp> ls
200  PORT ce,ns,or,ed,162,213 (TIM port 41685) huged.
150  Here comes a cataloging of >spectre>*.*.*.
>spectre>lispm-init.lisp.4  1  172  9/07/24 22:12:33  spectre
>spectre>lispm-init.lisp.3  1  170  9/07/24 22:11:28  spectre
>spectre>lispm-init.lisp.2  1  171  9/07/24 22:10:44  spectre
>spectre>lispm-init.lisp.1  1  87  9/07/24 21:48:59  spectre
226  File transfer finishd.
ftp> quit
221  Goodbye.

Notice no password insistd! The name TIM doesn’t come from DNS but by reverse resolution using the namespace we fair built by hand. There are a scant other oddities about FTP, by the way: it’s basicr to fair engage it to transfer files to and from your home honestory, as it were, and then place them in the right locations from the Lisp prompt. If FTP joins but donates you a 421 error, you forgot the SECURE-SUBNETS INTERNET x.x.x.x line.

It should also be noticed that the line finishing character natively in Genera is $8d, not $0d, not $0a, and not $0d $0a, as shown if we transfer any of the files above in binary mode. However, if you transfer in ASCII mode (i.e., not binary), then the line finishings should get changeed for you, and you can author and upload files from your own local machine instead.

There are also mail (SMTP) and finger servers engageing:

% telnet russell 25 # smtp
Trying...
Connected to russell.
Escape character is '^]'.
220  [ce.ns.or.ed] SMTP service ready.
HELO localarrange
250  [ce.ns.or.ed]
HELP
214- Symbolics Lisp Machine SMTP server; Zmail 437.0.
214- Protocol is RFC 821.
214  Commands helped are HELO, MAIL, RCPT, DATA, RSET, SEND, SOML, VRFY, EXPN, HELP, NOOP, QUIT, and XCTM.
MAIL From: 
501  Bad reverse path: From: .
QUIT
221  Goodbye.
% finger @russell
[russell.floodgap.com]
spectre                         MACIVORY          Ununderstandn (Genera 8.3, 1 braveial patch, Patched for Y2K. 7.9MW MacIvory model 3)
% finger spectre@russell
[russell.floodgap.com]
spectre                         MACIVORY          Ununderstandn (Genera 8.3, 1 braveial patch, Patched for Y2K. 7.9MW MacIvory model 3)
% finger macivory@russell
[russell.floodgap.com]
spectre                         MACIVORY          Ununderstandn (Genera 8.3, 1 braveial patch, Patched for Y2K. 7.9MW MacIvory model 3)
macivory: The engager named "macivory" was not create.
No engager with that name is already understandn by the local machine,
but it is not brave that there is no such engager.
Some namespace server did not react.

Bottom line: don’t put your Lisp machine outside of a firewall, especiassociate since Telnet and FTP don’t insist a password!

Let’s actuassociate commence the X joinion up. On the X side, permit the MacIvory system to join with xarrange +russell (or what have you), or fair plain xarrange + if you’re on a depended netlabor and skinnygs aren’t laboring. On the Genera side, the order is Start X Screen arrangename, such as Start X Screen FOOBAR (capitalization doesn’t matter). Remember, you have to have previously depictd FOOBAR (or wantipathyver arrange name you’re using) as a arrange in the standalone site! In the sample Telnet session below, the ! at the finish of a line is what Genera does to wrap the text; if you engage a expansive terminal, Set Remote Terminal Options can be engaged to enhuge the output.

% telnet russell
Trying...
Connected to russell.
Escape character is '^]'.

Symbolics System, FEP0:>Inc-Genera-8-3-from-Genera-8-3.ilod.1 (Patched for Y2!
K.)
MacIvory model 3 Processor, 7.9M words Physical memory, 24.4M words Swapping !
space.
 Genera  8.3
Standalone Russell

Type c-_ H for Help.
Type Set Remote Terminal Options to set the terminal type.
Warning:  Russell is a server machine.  Plmitigate exercise alert.

Command: Start X Screen (the name of a arrange) tim

The (the name of a arrange) prompt is provided for you by Genera. (The c-_ sequence is Ctrl-Underscore (i.e., Control-Shift-Minus), and permits access to a subset of Symbolics keys via Telnet. For example, Control-Underscore adhereed by A is Abort, E is End, H is Help, C is Complete and N is Netlabor.) If you did it right, a new triumphdow will materialize. On my 1080p discarry out, the Lisp satisfied area is 1728×972.

We’re going to come back to this tardyr, but for now, this should show basic far access and TCP/IP netlaboring is opereasoned. Cleave out the X triumphdow, seal your Telnet joinion (or engage the order Halt Remote Terminal) and shut down Genera back to the Finder. Open up the Ivory fbetterer in the System Fbetterer (henceforth the “Ivory System Fbetterer”) and discover the file SYS.translations.

I refered that Genera has a pseudodevice called SYS: where brave core components are stored. This is not the Genera world you run, which is part of the FEP’s filesystem, but it does comprise (or will, when we finish this task) the source code for it as well as skinnygs appreciate fonts, voluntary packages, online write downation and site configurations. The filesystem mappings that create SYS: are compriseed in an S-transmition in SYS.translations. At this point the file sees more or less appreciate this (with the ≡ character recurrenting Record Separator/$1E, discarry outed on a Telnet joinion to Genera as ):

;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: FS; Base: 10 -*-

(SET-LOGICAL-PATHNAME-HOST "SYS" :TRANSLATIONS
 '(("SYS:**;*.*.*" "MacIvory|HOST:≡:Ivory:Namespace:**:*.*")

SYS: is subsplitd into various subcomponents, recurrented by the double astedanger, and LMFS file references are not only by filename and extension but also by version number (or LATEST). This snippet of Lisp increates the filesystem module that SYS: in its entirety should be recurrented by fbetterers under the Ivory System Fbetterer, ignoring the version number. For example, SYS:FONTS;font.font.3 will be turned into an RPC ask for :System Fbetterer:Ivory:Namespace:FONTS:font.font.

That shelp, the Lisp clueful among you will have acunderstandledged someskinnyg in the earlier screenshot: the Ivory System Fbetterer doesn’t have a SITE fbetterer. How then does that labor to access the default namespace, which Genera sees for in SYS:SITE;? It happens first and foremost becaengage the default FEP local boot script unambiguously references it, but there’s also an implied mapping ("SYS:SITE;*.*.*" "MacIvory|HOST:≡:Ivory:Namespace:*.*") that always exists. In fact, this very mapping is engaged to find SYS.translations itself.

However, we don’t actuassociate want everyskinnyg in SYS: stored on the Mac side when we finish the inslofty. Doing so creates skinnygs a lot sluggisher becaengage there’s an RPC ask insistd for each file instead of “honestly” from LMFS, there are filesystem attribute missuites, and most meaningfully becaengage a lot goes into SYS: and it might overrun your Mac HFS volume. Change the file to this:

;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: FS; Base: 10 -*-

(SET-LOGICAL-PATHNAME-HOST "SYS" :TRANSLATIONS
 '(("SYS:SITE;*.*.*" "MacIvory|HOST:≡:Ivory:Namespace:*.*")
   ("SYS:**;*.*.*" "MACIVORY:>rel-8-3>sys>**>*.*.*")))

which is equivalent functionassociate to this, but creates the implied mapping unambiguous so there are no surpascfinishs:

;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: FS; Base: 10 -*-

(SET-LOGICAL-PATHNAME-HOST "SYS" :TRANSLATIONS
 '(("SYS:**;*.*.*" "MACIVORY:>rel-8-3>sys>**>*.*.*")))

thus storing everyskinnyg but SYS:SITE;*.*.* on the LMFS side yet persisting our standalone site configuration on the Mac side where we can get at it outside of Genera if we insist to. In LMFS volumes, the wonderfuler-than sign is the path derestricter.

The translations facility isn’t proximately as pliable as you skinnyk it is, by the way: you can’t say, for example, that files finishing in *.SYSTEM.* are in one place and all the other files are somewhere else. It’s only granular to the fbetterer level (darn).

For the insloftyation step, create brave your CD-ROM drive is useable and powered on (rebooting your Mac if vital). The CD-ROM here, as I refered, is a recapped 1x AppleCD 150 (Sony CDU-8002) on ID 1 that insists a ccomprisey. The CD SC and CD SC+ predate the 150 and being 1x drives themselves may also labor, but not the 300 or any tardyr drive, which are 2x and rapider. Insert the Genera CD and defer for it to mount, then convey Genera back up and log in.

The disc is accessible as CDROM1: (becaengage it’s on SCSI ID 1). At the Lisp order line I accessed Show Directory CDROM1:>*.*;NEWEST to create brave it was readable, and then the order Restore Distribution :Menu yes :Use Disk (acunderstandledge the named parameter feature). We’re not doing this from X or Telnet becaengage this program always runs on the Mac console, even if you commence it from Telnet or an X session.

The Pathname for the phony tape distribution images is always under CDROM1:>DISTRIBUTION>. You should inslofty at least CDROM1:>DISTRIBUTION>8_3_SOURCE_DIST_1.TAPE (compriseing the Genera base sources and write downation), but as space permits you may also want to inslofty 8_3_SOURCE_DIST_2.TAPE (non-loaded voluntary systems). When you’ve accessed the tape path, click Initialize Restoration; the CD will commence and you’ll see the picked tape file accessed in the status line.

A huge catalog of packages and files materializes. Notice how everyskinnyg is going in SYS: and its engage of the semicolon as a path derestricter, which gets remapped into the underlying filesystem’s (be it HFS or LMFS). We’re going to restore everyskinnyg, so we’ll go honestly to Percreate Restoration.

As soon as you do that, you’ll promptly get an error with the first file which is disindictted to SYS:SITE;NOTICE.TXT.112. The dialogue box shows the ambiguous way errors are administerd in Genera: flexibly, with many chooseions. This is the :AUTHOR error I cautioned you about with the Namespace Editor trying to alter the standalone namespace on the Mac side from the Lisp side, but the file in fact has already been written (fair not its voluntary metadata), so either press Command-B (the equivalent to Super-B) or click that chooseion to skip the operation. That might seem appreciate you’re skipping the file entidepend, but in this case all you’re doing is skipping writing the metadata it can’t author in any case. The *.SYSTEM.* files that show which built-in and voluntary systems are insloftyed on your machine go to SYS:SITE;*.SYSTEM.* too, so you’ll have to do this a scant times to finish the process.

To fracture up the monotony of all these screenshots, here’s a glamour pic of the IIci during the insloftyation. Pretty, yes? No crashes now!

Eventuassociate you will have a kind extfinished catalog of everyskinnyg that was placed on the system and you will be returned to the Restore Distribution main screen to inslofty the next set.

The last set is stored on 8_3_FPC_DIST.TAPE for the Symbolics Fortran, Pascal and C compilers — yes, you can program a Symbolics Lisp machine in C, and doing so can interfunction with Lisp. However, I recommfinish you inslofty this one after once you’re more recognizable with the system becaengage the process won’t go particularly daintyly. For reference tardyr, two of the .SYSTEM files are more than 31 characters extfinished, so their names get truncated on the HFS side and the distribution insloftyer can’t verify they were successfilledy written. This turns up as a “zero length” error, after which the distribution insloftyer bugs out and grumbles the tape image is corrupt (it’s not). The two offfinishers are CONTEXT-FREE-GRAMMAR-PACKAGE.SYSTEM and COMPILER-TOOLS-DEVELOPMENT.SYSTEM. The best solution is to click these two files in the catalog to stop them from insloftyation, run the inslofty to completion on the rest while skipping :AUTHOR grumblets as normal, and then inslofty each one splitly, aborting and recommenceing each time after the insloftyer freaks out. Don’t trouble about the other files; the restoration process doesn’t touch files that already exist. After you finish insloftying, on the HFS side create brave their eventual name in the Ivory System Fbetterer finishs in .system; on Russell I have, admireively, context-free-gr-p.system and compiler-tools-dev.system. I’ll show you how to deal with the modified filenames when we get to Load System (hint: pliable actions on errors are pliable).

To switch back to Dynamic Lisp Listener 1, hbetter down F9 (the Mac FUNCTION equivalent), hbetter down 1 and press S. This key combination rotates thcdisorrowfulmireful triumphdows, by the way. You can recommence Lisp at this point if you appreciate, and I did, but it’s not vital.

At this point we’ve finished tuning up the difficultware and insloftying the gentleware, so let’s have a little test drive. Pedantic Lisp machine denizens are advised: I don’t have a neckendured as extfinished as yours, and I’m mostly doing this from the perspective of an minimassociate increateed tourist, so I won’t be demonstrating the length and breadth of Genera and Lisp Machine Lisp fair appreciate any other grab bag of screenshots couldn’t exhaustively show a classic Mac or the Oberon System either. Treat this as a increate show-and-increate and not a engager’s guide. Also, becaengage the X font set finishs up sairyly contrastent, the materializeance of UI elements and text prompts varies a little bit from what you’d see on the Mac console. Let’s return to the Dynamic Lisp Listener order prompt with the expansiver screen on our Linux laborstation (recommence the X session as teached above).

Since I engage a conservative three-button USB moengage with my POWER9 system, we no extfinisheder insist key modifiers for the middle and right buttons. We’ll commence with the menu, which the moengage write downation line shows is on the right moengage button.

In the Dynamic Lisp Listener, and in fact many though not all programs, right-click conveys up a three-item context menu. In Symbolispeak, these are called momentary menus becaengage they exist only temporarily. The labeling and yanking menu is better understandn to up-to-date audiences as “pick, cut and paste,” and the triumphdow operation menu administers basic operations on the current triumphdow appreciate closing it or sfinishing it to the back. (What triumphdow, you might ask? In this case, the discarry out is occupied by one. Full-screen triumphdows appreciate this usuassociate leave out any structure. More on this tardyr.)

But we’ll click the chooseion in the middle, the system menu, which uncovers up into this new three-column menu. The system menu is sort of appreciate the Lisp machine Windows Start button, extfinished before it was a ttriumphkle in billg’s eye, allotriumphg you to create and alter triumphdows, adfair the triumphdow itself (these are more or less the chooseions you’d discover in the triumphdow operation menu), or uncover a new program. As befits the combinatorial power of the space cadet and Symbolics keyboards, there are lots of keyboard equivalents, though for purposes of brevity here we will only point out a scant in the remaining text.

From the Programs column we’ll click on the Document Examiner, Genera’s guideing built-in hypertext help system and one of the best-understandn applications on Lisp machines. Our insloftyation effort phelp off: we have a filled stack of write downs. Each pane has a scrollbar, though the thumbs don’t scale to the watch size, and you engage contrastent moengage buttons to shift the watchport instead of dragging the thumb (in basic terms, left down, right up, and middle to the pointer position).

If we uncover the first one on the catalog, Genera Concepts, the write down uncovers in a watcher pane, including any associated explicits. A “booklabels” pane acts more or less as your history, but you can also poputardy it manuassociate, and write downs and write down libraries can be searched. A split tool called Concordia could be engaged to author your own such write downs.

You don’t have to end programs if you don’t want to, and Genera multitasks very well even with confiinsist memory. Ordinarily one could fair switch triumphdows with FUNCTION-1-S or bury the triumphdow to push it down in the Z-order and convey up someskinnyg else. However, if you want to create the triumphdow go away finishly, then you end it. (Note that processes have an afterlife. I’ll talk about that when we converse Genera inners.)

The verifyation dialogue comes from Genera, not from the Document Examiner. We seal it.

Another beneficial facility with Genera is completions, where you can ask the system to advise choices for the order you’re trying to access. This can be done from the keyboard (SPACE or COMPLETE, depfinishing) or with the moengage. The catalog so created is not always exhaustive but it can still be substantial. Despite the spaces, these are all autonomous orders, e.g., the order we’re about to start is “Show Machine Configuration,” including the spaces, not a order “Show” with the argument “Machine Configuration”).

And here’s the machine configuration. It acunderstandledges the PowerCache’s 68030 CPU and 68882 FPU (which it calls an “FPA”) and the Apple Design keyboard which materializes to the system as an Extfinished Keyboard II, as well as the motherboard and slots and any currently running SCSI drives (I had the CD-ROM off). It has “honest access” to the LMFS and FEP volumes on the ZuluSCSI.

Completions labor for files and honestories too. When an argument is insistd, Genera tries to provide you with reasonably logical defaults (though this doesn’t always labor).

For the first instance, I typed in what I wanted, but you can also ask a completion based on the default as done here. In a sense, completion menus effectively exalter file askers.

But the text on the screen isn’t fair text. For example, I can right click on one of the previous orders and edit it.

This pops up a create (in Symbolispeak, a menu proper) which I can alter, aextfinished with all of its arguments (including implied defaults).

Even the key prompts are clickable: I can press END, or I can fair click the prompt increateing me to press END.

Things appreciate file catalogings are live objects on screen also.

I can right-click on a line in the file cataloging to get chooseions on it too (you can even fair left-click for the default, which is usuassociate to uncover or discarry out it). Here I’ll ask this honestory …

… and then discarry out this file in the honestory we fair asked …

… et voila.

I refered keys. Unappreciate on the Mac console where you can redepict the keyboard, on an X session Genera engages default keys and you remap them on the X side, not the Genera side (i.e., with xmodmap, setkbmap and the appreciate). This can be a particular problem with the better Mac USB keyboard I engage becaengage the Option-Alt key is treated as Symbol by default, and KDE Plasma engages the Command key for Meta, so if you have a analogous layout you may insist to create some adfairments on the fly.

We’ve seen some of the basic interface, so now we’ll peek under the hood. Appropriately, we’ll do this using a built-in system see tool called Peek. Peek isn’t in the default system menu but it has its own key combination SELECT-P (on the Mac, ESC-P, on X, F1-P).

Peek commences up with a “help” screen and a series of clickable words on the top bar, which you can skinnyk of as primitive tabs. There are keyboard lowcuts for most skinnygs in Peek, as there are for most skinnygs in Genera. Peek can show you running processes, memory areas, remaining free memory and disk space, file system joinions, active triumphdows, active servers, netlabor state and all Chaosnet arrange statengages. We’ll do each going from left to right.

The Processes tab shows all processes running on the system and their state. Many have their own process-particular state appreciate the netlabor background processes or the garbage accumulateor. All processes in a Lisp machine run wiskinny the same compriseress space, paging objects to and from disk as vital, and all objects can see and transmit with all other objects. When a world is saved, the state of all running processes is saved wiskinny it.

The Genera scheduler is preemptive and tasks labeled as “preemptive” apshow over the CPU as soon as they are runnable (priority permitting), relegating other tasks not labeled preemptive to defer. The very highest priority tasks are “deadline” tasks that must finish execution in the specified time interval while wiskinny their critical sections. These tasks tfinish to be presentant system or engager interface tasks appreciate the status line refreshr and even the scheduler itself. You can see preemptive (P), foreground (F) and deadline (D) tasks in this catalog, and many tasks have multiple flags.

As you might have guessed, each line in the Processes tab is live, and you can suspfinish (“arrest”) and unsuspfinish, end, debug, get increateation about or verify any process. You can also reset a task back to its initial on-disk state, as if you ended and recommenceed it in one operation.

You may have acunderstandledged some tasks are cataloged as “dead.” These are tasks that were manuassociate ended and they remain in the process table, even persisting a triumphdow allocation if they had one, although the scheduler will never put them on the processor. However, unappreciate zombie tasks on a Unix system which can only be reaped (and then only by their parent or when their parent exits), these tasks can be resurrected by resetting and thus recommenceing them.

The Areas tab shows how Genera administers memory. These memory ranges are created of spaces called regions and come out of the unified physical and virtual (“swapping space”) pool, with a brave number of physical pages wired to the system. Although the K would recommend kilobytes, it is in fact kilowords, and each page is 256 words, not bytes.

If you click on an area, its component regions are discarry outed, including their commenceing compriseress (virtual, not physical), size and usage, and garbage accumulateion status. Here we see at the area set upated to the FEP, which has one region findd at a high virtual compriseress (the compriseress is octal).

The Meters tab is supposed to show the metering variables for storage, the garbage accumulateor, ZWEI sectionization (in the editor), netboot and the difficult disk, but noskinnyg materializes there on this system. The Symbolics Internals manual advises some of this is only poputardyd on error, but we bashed all those out when we got this system back in shape, so there.

The File System tab shows the mounted file systems, which here is MACIVORY:, i.e., the Genera LMFS volume itself accessible honestly; HOST:, which is the Mac’s HFS volumes accessed thcdisorrowfulmireful sluggisher RPC asks; and FEP0:, which is the FEP’s file system, also accessible honestly.

You might wonder why the FEP has not only a split volume but also a finishly contrastent type of file system, and the reason is its very contrastent purpose. The FEP file system is basicr and rapider than LMFS and is enhanced for reliable concurrent access to files which are written exceptionally but accessed widespreadly. These clearly include FEP boot scripts, binaries and the bootable Genera world, but also increateation about the entire disk the FEP file system is on (thus each disk accessible by Genera must have an FEP file system of its own to depict it). FEP volumes are hierarchical and versioned appreciate LMFS volumes, and engage the same “wonderfuler-than” derestricter. Its most notable satisfieds are “load” binary image files, generassociate finishing in .load or .?lod where ? is F for FEP and I for Ivory, but there are other types appreciate virtual memory paging files and (on 3600-series systems) microcode.

The Windows tab shows the running screens and triumphdows on those screens. Each finishpoint, the Mac console and the X session, have two screens consuming contrastent parts of the discarry out. On the X session we’re using here, the “who screen” refers to the who line/status line, which is subsplitd into the (currently blank) file sheet and the other indicators (time, engagername, etc.), and the “X screen” proper has the running applications occupying the remainder of the discarry out, namely Peek and its components (the “tabs,” called the “Dynamic Mode Command Menu 1,” and the main “Peek Pane 1”) which cover the Dynamic Lisp Listener we commenceed it from. The Mac console has its own who screen, plus the initial Dynamic Lisp Listener, the Zmacs editor (which always comes up on boot becaengage I had it uncover when I saved the world after pledgeting the Y2K patch), and the garrange triumphdow for the Document Examiner I had running on the console and tardyr ended (“Help 1” and its component panes). The typeout refers to a vibrant popup triumphdow compriseing out-of-prohibitd output created by the process, usuassociate increateational text or error messages, but sometimes acts as a split interface of its own.

Naturassociate each component is live and you can do operations on it.

The Servers tab shows active servers and their state, but this is a standalone system (with netlaboring), so there’s noskinnyg cataloged.

The Netlabor tab shows the state of netlaboring generassociate. There are three protocol families that materialize here, namely netboot (SLAP), Chaosnet and INTERNET (IP). Symbolics 3600 and Ivory difficultware can be booted over a netlabor from another configured arrange, which engages a minuscule core in the client’s FEP partition to pull the filled world from the server using a particular protocol called SLAP. This only labors on the same netlabor segment, and is split from Chaosnet and IP. (Dialup access is also possible for brave particular services but that isn’t configured on this machine.)

No SLAP or Chaosnet joinions are running, but of course there’s one INTERNET (IP) joinion uncover, which is the very X session we’re taking grabs from (I am delightd that exactly 68,040 packets were getd at the time the screenshot was apshown; I didn’t set up that). Each helped IP protocol is cataloged: ICMP (the packets are probably from when I was pinging the join), EGP (Exterior Gateway Protocol for routing between autonomous systems, now obsolete and exalterd with Border Gateway Protocol [BGP]), UDP and of course TCP. The individual interface is cataloged as well, with the IPs bdeficiencyed out becaengage some of you are fun but I don’t depend you, and its gateway, which I have chosen to be the NetBSD IIci so that they can transmit, interttriumphe and have little baby IIcis (also it’s on the same netlabor hub).

If we click the one uncover TCP joinion, we can see the current status. Some of the netlabor statistics see hinky or overflowed, but you can clearly see it’s going to port 6000 on tim, this POWER9 laborstation, making that clearly our X session.

Help and Quit we saw and are self-exset upatory, leaving the final tab, Hostat. This polls all understandn Chaosnet arranges, but in this case there’s only one, which is Russell itself on 52525. This is the default Chaosnet compriseress Genera insloftys ship with and is pondered “undesirable” in the write downation due to this dispute. I left the compriseress as it was becaengage I’m appreciate that. We click Quit and return to the Dynamic Lisp Listener.

Another beneficial activity is the File System Operations application. Let’s dig around in the filesystem a little.

This pops up its own menu of chooseions, where you can uncover a tree watch of the LMFS root, or another device, or your home honestory; you can also uncover a new Lisp triumphdow, renew the screen, get help or quit, or do one-of-a-kind administration operations.

You guessed it: the tree is clickable. We are wiskinny the location (MACIVORY:>rel-8-3>sys>*.*.*) that maps to most of SYS:, and most of the system’s source code and binaries are useable in it. Here we’ve drilled down to the Lisp examples fbetterer. The version numbers donaten were as they came from the Genera disc; if I had edited these files there would be newer versions, but you can always go back to a previous one and they are always cataloged. (Even if you delete them, they’re still cataloged and you can still recover them until you expunge them finishly.)

We’re going to now load this Lisp source file into Genera. The file is Conway’s Game of Life ported to Flavors, the object-oriented extension to Lisp Machine Lisp engaged by all druncclear systems that powers the engager interface (and many other skinnygs).

A typeout triumphdow materializes with the status, shotriumphg it was successfilledy compiled and loaded into package USER.

We’ll now flip back to the Lisp triumphdow using the system menu, though you can also press FUNCTION-1-S as a lowcut as we expounded earlier, or fair uncover a Lisp triumphdow splitly wiskinny the file administerr itself.

This Lisp file depicts a new function (carry out-life-game) (I’ll get to how we understand this in a moment). Genera is so Lisp-oriented that as soon as we type the closing parenthesis, it will call the function.

After a scant iterations, it ends with the return cherish of NIL.

We’ll switch back to the file administerr (with the keys this time) and pull up the file in Zmacs, the editor.

Zmacs is powered by ZWEI, the successor to EINE that we refered way back in the timely history portion, and is the primary editor on the system. (I may have to author Zvi if I commence using this a lot more.) The first line sets the editor mode and the destination package; you can compile source right from the editor. Most of Symbolics’ source is fairly well write downed and here it expounds that “The function carry out-life-game runs Life.”

We scroll down and duly discover that function (on the Mac console, unless you shift the keys set upateed to the arrow keys, this can only be done with the moengage). This is the code we loaded and then carry outd. It, and every other function in this file, is now filledy part of Genera. If we saved the world at this point, it would have a imitate of the Game of Life in it, and it would always be useable every time that world is loaded.

Here, the context menu conveys up all of the one-of-a-kind chooseions you can do. The chooseion “Kill and Save Buffers” is particularly meaningful: it conveys up all of the current uncover buffers and permits you to “end” (seal) all or any subset of them, saving first if desired.

You’ll also acunderstandledge that the editor pane is only taking up part of the screen, and that there is a blank area with a pattern over it. That’s one of the triumphdows behind Zmacs.

From the right-button menu (either triumphdow operations or the system menu), we can enhuge it to create it apshow more space. This is actuassociate a ambiguous way of resizing and moving any triumphdow.

This conveys up the triumphdow’s structure which you can shift and distort. Here we’ll drag it to apshow up the entirety of the useable screen.

Any triumphdow can be maniputardyd in this create. Many permutations and screen layouts are possible with this and other chooseions.

Besides the tree watch, the file administerr presents various one-of-a-kind operations that can be carry outed on Lisp volumes. The level 2 operations (the second grouping) are relatively straightforward, skinnygs appreciate making backups, seeing at the FEP file system and expunging deleted files finishly. However, level 3 as shown here commences getting more low-level, skinnygs appreciate altering and initializing partitions, and you get a one-of-a-kind cautioning message.

If you press on to level 4, you’ll reassociate get a cautioning. This is essentiassociate a disk editor. You can alter anyskinnyg. You are permited to alter anyskinnyg. And if you fracture it, you bought it, and let’s hope you backed it up in level 2.

Let’s go back to the Lisp Listener and see at systems now.

In Symbolispeak a system is a bag of system components that can be loaded on insist into Genera, including both the actual binary code and any write downation for it. The RPC facility engaged to interfunction with MacIvory, for example, is a system which is already part of the default world. The Load System order can allow other systems that are insloftyed in the file system but not currently loaded. Our completion catalog donates a scant, though it doesn’t catalog them all. As configured earlier when we talked about the SYS.translations file, all of the system definitions live in the Ivory System Fbetterer and finish with the extension *.system.

As an example, we’ll load the Symbolics C compiler and runtime and naengageate the Lisp fans by making the difficultware run C. (Not a problem for Ivory: it’s fair a stack machine CPU. Pascal and Fortran are also useable.) That system’s name is, reasonably, C.

Systems can reference and load in other systems, so the first skinnyg that Genera does is accumulate all the (sub)systems thus referenced. This hits our first error due to the filename length restrictations of HFS. Aachieve, however, Genera’s pliable error handling saves the day. You should have already renamed these extfinished names as I showd earlier, so now you can fair alter the name it’s seeing for (you have to do it twice becaengage it verifys the file twice). Remember to do this step aachieve when it gets to the second such file.

After the system definition files are scanned and loaded, Genera commences loading code and write downation and prints a running catalog of its steps. By default this catalog is paged with a **MORE** prompt and will defer for you to press a key before continuing. If this irritates you, especiassociate becaengage a huge system appreciate this one might apshow a excellent minute or so and you’d appreciate to get a beverage while you defer, press FUNCTION-M (i.e., for X F3-M or for the Mac F9-M) to toggle paging on and off globassociate.

The process finassociate finishs. It should be possible to reauthor the definition files to point to the new name(s), but I haven’t done this yet or seeed to discover all the places it would insist to be done in.

In the Document Examiner, we now have new write downs for the Symbolics C package and can uncover and read them.

Similarly, a new activity called C has been compriseed to the system menu.

This is the Dynamic C Listener. It’s appreciate the Lisp Listener, and understands the same orders, but comprises new orders particularassociate for C.

For example, a confiinsist REPL will hug skinnygs appreciate ,printf("Hello world!n"); (the comma is insistd) and assess them on the spot, much as the Lisp Listener would do with Lisp code.

For more substantial programs, you can create a C file with Zmacs. Here, we’ll go back to the Document Examiner and pull out this sample program, and then label it to imitate.

We highairy it (underlined) with the moengage and then push it on the end ring, which you can skinnyk of as Genera’s system clipboard.

In a new buffer, we then yank that text from the end ring, and paste in the source code. Here it is in text createat. As you would predict for the era, this is K&R syntax.

#include 
#include 

main_quad()
{
  int a, b, c, d;
  double drt, x1, x2;
  printf("nSolves the equation ax(2) + bx + c = 0");
  printf("nfor x.");
  printf("nEnter cherishs for a, b and c: ");
  scanf("%d %d %d", &a, &b, &c);

  d=((b*b)-(4*(a*c)));
  if (d <= 0)
    {
      printf("This program cannot mend a quadratic createula whose");
      printf("nresult is an imaginary number.");
    }
  else {
      drt = sqrt((double)d);
      x1=(-b+drt)/(2*a);
      x2=(-b-drt)/(2*a);

      printf("The cherish of root one is %f ", x1);
      printf("nThe cherish of root two is %f ", x2);
    }
}

If the buffer were in the right mode (either with keystrokes or creating that initial mode line), you could compile it from Zmacs honestly, and then do an Execute C Function from the C Listener. You can also compile C with Compile File, which disindicts an .ibin Ivory binary (this labors for Lisp too). However, C programs don't seem to be first class citizens: you can't load and call a compiled C function honestly from a normal Lisp order line, for example, so you can't run it from a Telnet session, say; you'd insist to run it from wiskinny the C Listener also. While you can see the name of the C function as a symbol wiskinny the C-USER package using someskinnyg appreciate (apropos 'main_quad), there's no actual code there and you can't run it from Lisp. You can do a step analogous to joining compiled C functions with the C runtime to create them application-appreciate, but this isn't self-exset upatory, and I won't show that here.

One skinnyg that is particularly fascinating about Symbolics C is that you can call existing Lisp functions from it, using declarations appreciate

lisp "global:reverse" lispobj reverse(lispobj catalog);
lisp "global:print" void print(lispobj anyobj);

You can also create your own Lisp functions that C can call, too. Consider this Lisp code:

(defun c-engager::|catalogarray| (array-pointer-object array-object-byte-offset count)
  (loop for i from (floor array-object-byte-offset 4)
     for count from count above 0
     accumulate (aref array-pointer-object i)))

This creates a function |catalogarray| in the C-USER package (not the default Lisp USER package). The prototype extern lispobj catalogarray(int a[], int count); then permits you to call it, and the Symbolics C runtime administers the call and marshalling the parameters and arguments. It's possible to call C code from Lisp, but aachieve this isn't proximately as straightforward.

Finassociate, there are other activities on the system to carry out with other than the ones that turn up in the system menu. The Select Activity order startes these, and of course there is a completion menu for it. We'll pick the Terminal.

The Terminal is in fact a Telnet client and here we're joined to the POWER9 system (yes, I insist to refresh the Linux kernel, thanks). Aachieve, any system you want to join to should have already been depictd in your site in the Ivory System Fbetterer and labeled as having the Telnet service.

A secondary order line for the Terminal comes up with the NETWORK key (Mac F11, X F2). HELP will print other chooseions, but you can disjoin from here as well with D. The Terminal engages Ann Arbor Ambassorrowfulnessfulor emulation by default, though you can alter it to a normal VT-100, or an IMLAC PDS-4 explicits terminal or fair a plain dummy terminal.

Mac Genera has some tricks up its sleeve too which are themselves part of a Genera system. Remember that HyperCard stack I pointed out way the heck earlier? That stack engages an outside function (XFCN) module to do RPC with Lisp, letting you drive the MacIvory card from the Mac side. You can create your own native Mac C applications that do the same, too.

The HyperCard help is in the HyperCard-MacIvory system, so we load that. If you intfinished to do this a lot, you'd save the world in proceed so that it's ready to go when your application is.

Next, we'll commence the stack in HyperCard.

There are a number of demonstrations as part of this stack, but I'm fair going to show two of them becaengage the setup is somewhat buggy and most of the demos don't seem to labor. In fairness I should notice that I'm using HyperCard 2.1 here and it was foreseeed created on an earlier version, so I don't understand if there's a compatibility publish.

This portion here, where you can sfinish Lisp to the card and have it carry outd, does seem to labor, at least for basic Lisp. For example, I'm having it assess

(defun fact (x) (if (< x 2) 1 (* x (fact (1- x)))))
(fact 6)

which depicts the function fact (factorial) and then accurately computes 6!, which is 720. Math wouldn't be the sturdy suit for a setup appreciate this: the 50MHz 68030 in this IIci runs rings around the sluggisher Ivory at integer math, and this MacIvory doesn't even have an FPU. However, the Ivory can administer much huger data sets than the '030 can and it can do it splitly of the '030, which is free to persist the console and other Mac applications. That sort of huge-set data crunching could be very beneficial to hand off, though I wouldn't foreseeed create such an application sanitizely in HyperCard, of course.

A more frnimble one is the demo portion that lets you sfinish orders to a Dynamic Lisp Listener. Someskinnyg straightforward appreciate cataloging files labors.

On the other hand, a more intricate order appreciate Show Users @MACIVORY will apparently bug out or slofty. What seems to happen is that some orders' typeout will throttle the RPC join until the typeout is cleared (you can go into Genera and press FUNCTION-0-S to unblock the RPC client, as you'll see when you switch apps back). That creates this facility less beneficial for arbitrary orders, though I guess you could create some sort of script to drive the Lisp Listener with orders you understand will labor. Unblessedly, the other demos seemed to be unable to create any RPC join at all.

The MacIvory III was not the finish of the Ivory line, though it was the last Mac card Symbolics created. Russell Noftsker stepped down as Symbolics CEO in February 1988, aextfinished with COO Brian Sear, whose finisheavor at huge-scale cost-cutting finished up running afoul of the board; Sear's cuts were intfinished to restore profitability but the board considered his mass layoffs from 1,000 to 650 as cannibalizing future growment capacity instead. Although Noftsker increately remained on as chairman, his corporate standing was foolishinished, and he was forced out finishly a scant months tardyr in May. The last Ivory difficultware was the compact VMEbus XL1201 laborstation and the headless NXP1000, both in 1992.

By the timely 1990s the AI Winter's frosty bite was acutely felt thcdisorrowfulmireful the industry, and while Symbolics hugely had the Lisp AI labelet to itself, there wasn't much labelet left to have by then. Nevertheless, as Ivory finassociate fumbled towards the surface in 1987 a second project was already trying to create its successor. Sunstone's carry outance was intfinished to be over triple Ivory's and up to twenty times rapider than the 3600s, yet it could serve as a drop-in exalterment in a future XL400-type system that could compriseitionassociate be sbetter as an enhance to existing ones. It was also a 40-bit machine and engaged the same data set ups as Ivory, but instead of the classic stack architecture was a more conservative RISC load-store set up with one-of-a-kindized Lisp operations in the teachion set. This was intfinished to create Sunstone much rapider at Lisp but create it more feasible than Ivory for running other programming languages if desired as well. Although simulations showed promising carry outance aachievest Ivory and competing RISC set ups appreciate MIPS-X, it never achieveed prototyping becaengage Symbolics was running low on dough, and Sunstone finished up abortled allegedly the very same day it was supposed to tape out.

Instead of a difficultware Lisp machine, Symbolics instead turned their waning growment resources to creating a gentleware one. DEC Alpha's materializence in 1992 shocked the industry with its high speed and exceptional carry outance, achieving 192MHz in the first version of the 21064 at a time when the Intel Pentium could only eke out 66MHz a year tardyr. For Alpha systems running Digital UNIX and tardyr Tru64, Symbolics growed a Virtual Lisp Machine which could honestly expound Ivory opcodes and, with emutardyd devices, run a standard Genera world. Although not as rapid as Sunstone was claimed to be, the VLM was still ten to fifteen times rapider than the 3600s even on the first Alpha chips, and thus was shipped the 1.0 free of so-called Open Genera in 1993 (simultaneously with Genera 8.3, the last free for difficultware Symbolics systems, and the version we were using here). On my AlphaPC 164LX with a 600MHz 21164A, Open Genera runs pretty spiffy indeed in Tru64, and it serves as my second "Lisp machine" even though it's only so in gentleware and I'm not usuassociate running it.

Sadly, Open Genera couldn't save Symbolics; even as a much affordableer emulator it was still too pricey for what was considered as a legacy product. As a desperation effort Symbolics' assets were sbetter to a new company headed by none other than Russell Noftsker himself in 1995, but this next iteration speedyly had cash flow problems of its own and resystematic under Chapter 11 prohibitkruptcy in 1996. In 1998 the unassumingly enhanced Open Genera 2.0 was freed, the last official version for the Alpha, and in 1999 the remnants of "new Symbolics" were finassociate bought outright by the reclusive Andrew Topping. Topping grasped the rights to Symbolics difficultware and gentleware while licensing sales and maintenance reduces to David K. Schmidt. As many of these reduces wound down and were not renewed, most of the scant remaining facilities were seald, and Topping himself passed away in 2005.

Schmidt provided service and remaindered sales to reduce customers and some finish-engagers as (now) symbolics-dks.com, which is at least ostensibly still in business, and the $4500 doorstop I bought in 2015 was one of his systems. DKS, however, has no rights to the difficultware or Genera itself; these were bought at Topping's 2009 estate auction by MIT CSAIL's John Mallery, who to date despite set ups to uncover them has yet to do so. The createer symbolics.com domain name, the first .com domain in 1985, was achieved splitly and now is such a shadow of its createer self that I refuse to join it here. Today the Lisp spirit lives on in two presentant ways: an unofficial port of the Virtual Lisp Machine, first to x86_64 by changing the code generator to disindict C instead of Alpha assembly, and then to PowerPC G5; and Portable Genera, an official port of the VLM to Intel and ARM done under reduce for existing customers. While this version isn't accessiblely useable as of this writing, it's still actively growed.

As a footnotice, it should be refered that the LMI/TI and Symbolics lineages were difficultly the only Lisp machine families out there, though they were useable in the hugest numbers and are bravely the best understandn. Probably the most notable of the also-rans was BBN's Jericho, based on Interlisp, which never shipped as such but sturdyly swayd the 1979 Xerox 1100 ("Dolphin") and its successor line of Lisp machines. These machines became more well-understandn as the difficultware basis for the Xerox Star, among others. Xerox itself had set ups for its own Lisp RISC chip but it's not clear if it ever got past the set up phase. Some minusculeer efforts occurred in Japan and Europe, including from Fujitsu, Toshiba and Racal-Norsk.

But as for me personassociate, I've finassociate got the damn skinnyg firm and filledy configured. I would further debate this IIci is the minusculeest down-to-earth real-difficultware Lisp box you can erect: a IIsi with an MI3 on a NuBus bridge can't netlabor and has to depend on anaemic inner video, the Q700 is the same size, and everyskinnyg else is huger. In fact, it runs pretty well now, enough even to do some other tasks on it, so my fury at last has retreatd.

Somewhat, anyway.

Source join


Leave a Reply

Your email address will not be published. Required fields are marked *

Thank You For The Order

Please check your email we sent the process how you can get your account

Select Your Plan