[HN Gopher] The PERQ Computer
       ___________________________________________________________________
        
       The PERQ Computer
        
       Author : mpweiher
       Score  : 139 points
       Date   : 2024-09-07 09:58 UTC (13 hours ago)
        
 (HTM) web link (graydon2.dreamwidth.org)
 (TXT) w3m dump (graydon2.dreamwidth.org)
        
       | jll29 wrote:
       | I was not aware that between Alto and Lisa there was the PERQ, a
       | first commercial attempt, so thanks for point that out.
       | 
       | Of course the deeper you dig anywhere, the more complexity gets
       | unearthed, and the more fair credit must be distributed across
       | more clever engineers, dilluting the "single genius" picture that
       | movie makers and often sadly also journalists try to portray
       | ("reality distortion field").
       | 
       | I would quite like a minimalistic b/w GUI as the PERQ had on the
       | screen shot.
       | 
       | Leaving out all the transparency/rounded corners nonsense this
       | should be bleeding fast, too, with today's graphics capabilities.
       | 
       | EDIT: typo fixed
        
         | rjsw wrote:
         | There was the Lilith [1] too in the same timeframe. The PERQ
         | and Lilith used AMD bitslice chips instead of the TI ones in
         | the Alto.
         | 
         | [1] https://en.wikipedia.org/wiki/Lilith_(computer)
        
         | lispm wrote:
         | Lisp Machines from LMI and Symbolics, too.
        
           | kragen wrote:
           | while those gave a lot of attention to usability and
           | certainly had graphics and windows, i don't think they really
           | belong to the smalltalk/perq/lisa/macintosh lineage; they
           | were sort of a parallel development track with different,
           | less graphical, less event-driven conventions
        
             | pjmlp wrote:
             | Maybe not the ones listed above, but Xerox PARC's
             | Interlisp-D is another matter.
        
               | kragen wrote:
               | i feel like even interlisp-d, especially the 01970s
               | version, has a pretty different style of interaction than
               | smalltalk and the macintosh. i know a lot less about the
               | perq
        
               | lispm wrote:
               | Definitely. Interlisp and Smalltalk were early on mostly
               | driven by research (Interlisp -> everything AI, Smalltalk
               | -> UI research, OOP, AI) and specific early applications.
               | The Mac UI was early on more direct manipulation
               | oriented.
               | 
               | One thing to keep in mind: the UI state of the Art was
               | fast evolving and applications under some of these
               | systems might have UIs different from the underlying
               | operating system. That would also be true on the Mac:
               | HyperCard had a look&feel very different from the
               | underlying Mac OS.
               | 
               | For example Xerox developed "The Analyst" in Smalltalk 80
               | for the CIA: http://www.bitsavers.org/pdf/xerox/xsis/XSIS
               | _Smalltalk_Produ...
               | 
               | I would think that NoteCards (written by Xerox in
               | Interlisp-D) had similar customers and that there might
               | also be some joint UI influence.
        
               | kragen wrote:
               | yeah, ui stuff was changing _extremely_ fast. shneiderman
               | 's keynote where he introduced the term 'direct
               | manipulation' wasn't even until 01982. his canonical
               | examples of what he meant by 'direct manipulation' were,
               | in order, emacs, visicalc, zooming in and out of gis data
               | or a conceptual 2-d information space with a joystick,
               | pong, missile command, space invaders, light-pen-driven
               | cad/cam systems (into which category he shoehorns
               | newspaper page layout and process control dashboards in
               | continuous-flow plants), driving a car, recording and
               | replaying robot motions, zloof's 01975 query by example,
               | and finally, at the end, "advanced office automation
               | systems" like the xerox star and ibm's pictureworld
               | 
               | in this context, it's amusing that p.6/36 of that scan
               | you linked cites user interface uniformity as a key
               | advantage of smalltalk: 'the environment's window
               | facilities consistently adhere to a small number of user
               | interface conventions that are quickly learned by casual
               | and experienced users alike.'
               | 
               | [39]: https://dl.acm.org/doi/10.5555/2092.2093 "The
               | future of interactive systems and the emergence of direct
               | manipulation, by Ben Shneiderman, originally presented as
               | the Keynote Address at the NYU Symposium on User
               | Interfaces, 01982-05-26-28, then published with numerous
               | typographical errors in 01982, Behaviour & Information
               | Technology, 1:3, 237-256, DOI 10.1080/01449298208914450"
        
             | lispm wrote:
             | They were among the first graphical workstations: Large
             | bitmap screen, disks, network, color option, mouse, window
             | system, object-oriented software, fonts, gui framework, ...
             | 
             | Before the Apple Lisa, the SUN-1, the Mac, ...
             | 
             | These are Lisp Machine images/screen shots from MIT from
             | 1980:
             | 
             | https://bitsavers.org/pdf/symbolics/LM-2/LM_Screen_Shots_Ju
             | n...
             | 
             | * a dual screen machine with a electronics design system
             | 
             | * Macsyma with plots
             | 
             | * Inspector, Window Debugger, Font Editor
             | 
             | * Music notation
             | 
             | * first tiled screen/window manager
             | 
             | * another electronic CAD tool
             | 
             | The UI was developed using Flavors, the object-oriented
             | system for the Lisp Machine (message passing,
             | classes&objects, multiple inheritance, mixins, ...).
        
               | Brian_K_White wrote:
               | But unrelated. Merely another machine from the same time.
        
               | lispm wrote:
               | Like the PERQ is largely unrelated to the Smalltalk /
               | Interlisp-D systems from Xerox, to LISA or the early Mac.
               | It is somewhat related to the later NeXT (founded 1985,
               | first release in 1988) -> Mach/Unix, ...
               | 
               | The PERQ was just in the timeline between the Alto and
               | the LISA/Mac. But there isn't much of a relationship to
               | the latter two and not much to the Alto. The Alto was
               | used to write stuff like its OS in BCPL, the Office
               | software written in Mesa, Smalltalk, Interlisp, ... but
               | AFAIK no UNIX and no PASCAL system. The PERQ did not run
               | Alto-Software.
               | 
               | Background information about the PERQ history:
               | http://bitsavers.informatik.uni-
               | stuttgart.de/pdf/perq/RD_Dav...
        
               | pjmlp wrote:
               | Also lots of influences, all the stuff Smalltalk
               | influenced, Mesa influenced Modula-2, Cedar influenced
               | Oberon and Modula-3.
               | 
               | Followed by all the languages, those ones influenced as
               | well.
        
               | lispm wrote:
               | And all that is independent of the PERQ.
               | 
               | The article states (and it makes sense) that the PERQ had
               | influence on the modern Mac, the Macs running Mac OS X
               | and later. Since NeXT and then Apple used UNIX on a Mach
               | Kernel, the latter came as a direct influence from CMU.
               | 
               | Influence on the LISA or the early Mac (before Mac OS X)?
               | Not so much..., those were influenced directly from Xerox
               | PARC ideas, people and technology.
               | 
               | Related to PERQ: The SPICE project from CMU, using PERQs,
               | was also developing SPICE Lisp, which was influenced by
               | the LISP stuff from MIT, including an EMACS variant,
               | influenced by the ZWEI editor from the Lisp Machine.
               | SPICE Lisp from the PERQ, evolved into CMU CL and later
               | SBCL.
        
               | kragen wrote:
               | i'd be surprised if the lisa folks had _no_ knowledge of
               | the perq. i mean it was exhibited at trade shows, wasn 't
               | it?
        
               | lispm wrote:
               | Probably. They may have seen such a machine. But both the
               | LISA and the Mac were very different from UI, Software
               | and Hardware. Steve Jobs vision was eventually to get to
               | the Dynabook (-> MacBook, iPad). LISA and the early Mac
               | were stepping stones...
               | 
               | But the Xerox PARC -> Apple route is broad and is well
               | documented. Steve Jobs got a demo of the secret Xerox
               | stuff in exchange of some Apple stock, including the
               | Smalltalk system (though the Smalltalk team were less
               | then happy about it). He hired Larry Tesler. Apple was
               | also one of the selected companies getting Smalltalk-80
               | access and ported it to their machines (later the Apple
               | sources were open sourced). Steve was also interested in
               | the office domain, desktop publishing was one of the
               | first applications of the Mac (incl. Postscript, the
               | Laserwriter, Adobe Pagemaker, ...).
        
               | kragen wrote:
               | i would rather say that steve jobs's vision was to make
               | the dynabook impossible; the central feature of the
               | dynabook is that it is a tool for computational thinking
               | for the masses, while the central feature of most of the
               | designs of the projects jobs led (mac 128, imac, ipod,
               | iphone, ipad--though not next) is that they're closed to
               | the users, requiring special tools to open and modify
               | that are only available to a chosen elite, and nowadays,
               | even to write software for. it's a vision of society that
               | sees it primarily as a market for products, not a
               | community of intellectual collaboration or autonomous
               | individual flourishing, which was the intent of the
               | dynabook
               | 
               | the story of smalltalk at apple is fairly complex
               | 
               | apple did also implement smalltalk-80 on the lisa, and
               | there's a screenshot of that in the smalltalk-80 book
               | (01984), but it was apparently never released, even as
               | proprietary software. apple shipped a macintosh smalltalk
               | in august 01985 (according to http://basalgangster.macgui
               | .com/RetroMacComputing/The_Long_V...) but i don't think
               | squeak (the apple smalltalk that eventually became open-
               | source) was derived from it
               | 
               | alan kay didn't join apple until 01984 (the year after
               | jobs hired sculley as ceo), jobs left in september 01985,
               | and squeak wasn't announced until 01996, which is about
               | the time kay left, and i think squeak as a whole departed
               | for disney at that point. jobs came back in 01997, and
               | though he didn't kill squeak, he did kill hypercard, the
               | other main environment for individual computational
               | autonomy. jobs's apple did eventually make squeak open-
               | source--in 02006!
               | 
               | jecel assumpcao in
               | https://news.ycombinator.com/item?id=23392074 explains
               | that the reason for finally open sourcing squeak a decade
               | after the project ended was that olpc (itself fairly
               | locked down, though less so than iphones) demanded it.
               | also, though, he _does_ heavily imply that it descended
               | from the original apple smalltalk
        
               | linguae wrote:
               | Thank goodness for Jean-Louis Gassee and his advocacy for
               | user-serviceable, expandable Macs, starting with the
               | Macintosh SE and Macintosh II in 1987. I have strong
               | respect for Steve Jobs, but I agree with Jean-Louis
               | Gassee on this issue, and my favorite Macs are user-
               | serviceable. Even with Steve Jobs, the NeXT was far more
               | open than the original Macintosh, though this may have
               | been out of necessity since NeXT competed in the
               | workstation market against companies like Sun and HP.
               | Also, when Steve Jobs returned to Apple, Apple maintained
               | a Power Macintosh/Mac Pro with internal expansion slots
               | and user-serviceable RAM and storage throughout the rest
               | of Steve Jobs' life. Even the rest of the lineup was
               | user-upgradable, even if it meant dealing with a lot of
               | screws (like certain laptop models in the 2000s).
               | 
               | It wasn't until Tim Cook took over that Macs became more
               | locked-down in terms of user-serviceability and
               | expandability, culminating with the switch to ARM, where
               | Apple sells no Macs with user-upgradable RAM anymore.
               | 
               | Had Apple's leadership been more focused in the
               | "interregnum" years of 1985-1996, we could be using
               | Dynabooks running some sort of modern Dylan/Common Lisp
               | machine architecture with a refined Macintosh interface.
               | Apple had all the pieces (Newton's prototype Lisp OS,
               | SK8, Dylan, OpenDoc, etc.), but unfortunately Apple was
               | unfocused (Pink, Copland, etc.) while Microsoft gained a
               | foothold with DOS/Windows. What could've been...my dream
               | side project is to make this alternate universe a reality
               | by building what's essentially a modern Lisp machine.
        
               | kragen wrote:
               | i don't think they were unrelated; the groups developing
               | them were in constant contact and had thick webs of
               | mutual acquaintances. teitelman had grown up at mit
               | before going off to parc to write interlisp, and parc was
               | full of former arpa researchers
               | 
               | i do think they made noticeably (and fascinatingly)
               | different choices not only in what they designed for
               | their user interfaces but also what they thought of as a
               | good user interface
               | 
               | other lispm-related links, other than the one lispm
               | posted above:
               | 
               | https://github.com/lisper/cpus-caddr #Lisp machine
               | #gateware for the MIT CADR in modern #Verilog. "Boots and
               | runs." By #lisper (Brad Parker)
               | 
               | https://metebalci.com/blog/cadr-lisp-machine-and-cadr-
               | proces... #CADR #Lisp-machine #retrocomputing
               | 
               | at some point i came across a treasure trove of lispm
               | screenshots showing many aspects of the genera ui, but
               | apparently it's not in my bookmarks file
               | 
               | one quibble: i don't think flavors was around until quite
               | a bit later, maybe 01979, so the lispm software wasn't oo
               | until quite late. weinreb and moon's aim-602 on it wasn't
               | until 01980: https://apps.dtic.mil/sti/pdfs/ADA095523.pdf
               | and of the five keywords they chose to describe it, one
               | was 'smalltalk'
        
               | lispm wrote:
               | > i do think they made noticeably (and fascinatingly)
               | different choices not only in what they designed for
               | their user interfaces but also what they thought of as a
               | good user interface
               | 
               | Though software written originally for the Xerox
               | Interlisp systems got ported to the MIT Lisp Machine
               | descendants, since the hardware was more capable with
               | more memory. For example Intellicorp KEE (Knowledge
               | Engineering Environment) was ported. It retained much of
               | its original UI (which included extensive graphics
               | features and an interface builder), when running on
               | Symbolics Genera. It looks like one is using an Xerox
               | Interlisp UI when running it on a Symbolics.
               | https://vimeo.com/909417132 For example at 08:30 the
               | screen looks like an Interlisp system, even though it is
               | Symbolics Genera.
               | 
               | Xerox PARC also had real MIT CADRs in their network. I
               | remember seeing a photo, with an office, where the Xerox
               | PARC employee had both an Interlisp workstation and
               | (IIRC) a Symbolics. There is also a video for the IJCAI
               | 81 (International Joint Conference on Artificial
               | Intelligence), with demos of an Interlisp system and a
               | MIT Lisp Machine, both demos recorded at Xerox PARC.
        
               | kragen wrote:
               | this video is fantastic, thank you! i hadn't seen it
               | before, only the ijcai demo
        
       | ggm wrote:
       | I used one in the mid eighties, the SERC scattered them around
       | British unis. The vertical hard drive had a wierd sparky engine
       | when it spun, and it used graphics ram to compile so it scribbled
       | over the display compiling C.
       | 
       | I used it's animated icon tool "cedra" to make tintin's captain
       | haddock blow smoke out his ears.
       | 
       | We had the icl jv one. A beauty in reddish brown and cream. Made
       | outside edinburgh near dalkeith I believe
        
         | bbarnett wrote:
         | The graphics ram use is a neat optimized use of ram.
        
           | zdw wrote:
           | There was a 3rd party software tool (the name of which I
           | forget) that used the same graphics memory as scratch space
           | trick when copying floppies on early 128k (and probably 512k)
           | Macs. This reduced the number of swaps required to copy a
           | 400k floppy.
        
           | pm215 wrote:
           | I think it's more "we only have a megabyte of RAM, in some
           | cases we'll just have to use the part the framebuffer is in".
           | The Scavenger (its equivalent of the fsck filesystem checker)
           | did the same thing.
        
       | trebligdivad wrote:
       | I scrounged one in ~1991 from the back corridors of Manchester
       | Uni; fun machine; the CPU was a bitsliced type, common at the
       | time using AMD chips, the microcode was loaded at boot (hence the
       | different microcodes on the different OSs). It used a z80 on the
       | IO board to get things started and load the microcode off disc.
       | The UI on PNX was pretty nice as well for a machine with 1MB of
       | RAM. My Perq 1, had it's 14" belt driven hard drive 27MB (early
       | Seagate), with PNX on - try fitting a Unix system with a GUI on
       | that these days!
        
       | mikewarot wrote:
       | I have the strange feeling I'm going to end up seeing one of
       | these today at the Midwest Vintage Computer Festival, though I've
       | never heard of them before. Amazing stuff, thanks for sharing
       | this!
       | 
       | I'm glad they didn't start out with only 128 K of RAM, that would
       | have sucked.
        
       | GeekyBear wrote:
       | The Computer History Museum's long form interview with Avie
       | Tevanian is a good resource for this era.
       | 
       | https://www.youtube.com/watch?v=vwCdKU9uYnE
        
         | pjmlp wrote:
         | Thanks you just increased my TODO list. :)
        
           | detourdog wrote:
           | It is a great interview. What I love about these stories is
           | the revelation of the human effort to develop a threading
           | system for I/O that is not an operating system, The all
           | operating systems ride on top of the universal threading.
           | 
           | Imagine all the human hours that stretches back decades
           | trying to develop this single model of computing.
           | 
           | I'm starting to believe that oral history and tradition is
           | what moves the world along. All the written texts are
           | transient. What we pass directly to each generation is our
           | continuity of culture.
        
             | kragen wrote:
             | other prominent multithreaded cpus have included the
             | lincoln lab tx-2 on which the first graphical interface was
             | developed (with cad, constraint programming, and windows),
             | the cdc 6600 'peripheral processor', the xerox alto, the
             | tera mta, and the higher-end padauk microcontrollers
             | including the pmc251, which cost 101/2C/
             | https://www.lcsc.com/product-detail/Microcontroller-Units-
             | MC...
             | 
             | some current intel and amd parts also support
             | 'hyperthreading', but as i understand it they sometimes run
             | many instructions from the same thread sequentially, unlike
             | the others mentioned above (except the padauk pmc251), and
             | they are limited to 2 or 4 threads, again unlike the others
             | mentioned except the pmc251
             | 
             | i'm a little unclear on the extent to which current gpu
             | hardware supports this kind of every-clock-cycle
             | alternation between different instruction streams; does
             | anyone know?
        
               | detourdog wrote:
               | Never heard of the Padauk very curious to dig into the
               | details. Thanks for posting.
        
               | kragen wrote:
               | sure! i hope you enjoy it! there was a lot of discussion
               | of them about five years ago:
               | https://jaycarlson.net/2019/09/06/whats-up-with-
               | these-3-cent...
               | https://cpldcpu.wordpress.com/2019/08/12/the-
               | terrible-3-cent...
        
             | pjmlp wrote:
             | Agreed, unfortunately too many don't pay attention to our
             | short computing history, and the pendulum keeps swinging
             | back and forth, while some cool technologies keep falling
             | adoption, only to be reinvented in a worse way.
        
       | selimnairb wrote:
       | Fascinating. I started undergrad at CMU in 1996 and immediately
       | got jobs doing computer support. I came across many old Macs and
       | even an old VAX from the 1980s, but had never heard of a PERQ. By
       | then all the Andrew machines were either HP Apollos running HP-UX
       | or Sun SPARCstation 4s and 5s running SunOS or early Solaris.
        
         | rjsw wrote:
         | My feeling was that Andrew and SPICE were completely separate
         | workstation projects at CMU, but only from using the software
         | that came out of each of them.
        
           | eschaton wrote:
           | They were; their main point of connection was at the OS
           | level, as Accent on PERQ begat Mach, and Andrew originally
           | ran atop CMU's Mach+BSD environment (MK+UX). That let it take
           | advantage of features such as Mach IPC and dynamic loading of
           | shared libraries and plug-in modules. Later Andrew was ported
           | to vendor operating systems, and then to run atop X11 instead
           | of wm.
        
           | markhahn wrote:
           | Not completely, but it wasn't a huge place, and the
           | communities overlapped, went to some of the same seminars,
           | etc. It was all in Wean, pretty much clustered by floor.
           | Andrew was very much about distributed computing ala Athena;
           | SPICE was more along workstation lines (and what was then
           | called AI). As I recall, internet access (IMP, when
           | /etc/hosts was exhaustive) was only the Vaxen and maybe some
           | TOPS systems.
           | 
           | I had access to a PERQ in about 1985, and it was running
           | Pascal firmware - at the time, Pascal was the baseline
           | language for CS courses. I seem to recall it had a tiling WM
           | and a mouse about the size of a softball. There were Altos
           | upstairs though I think they only acted as queues for the
           | building's laser printers (which implemented some pre-PS page
           | description language). But those were the days when 9600 baud
           | was the norm...
        
         | Isamu wrote:
         | The PERQs were on display at CMU around 1980, I remember seeing
         | them in Science Hall (later Wean).
         | 
         | Fun fact, the cpu board ran Pascal P-Code as a machine
         | language. The cpu wasn't a chip, they designed a board to
         | execute P-Code directly.
        
           | kragen wrote:
           | not quite right. see graydon's post for the correct
           | explanation
        
           | detourdog wrote:
           | I sister won buggy at CMU with PIKA in 1984...
        
             | Isamu wrote:
             | Was she short, petite? That was preferable so the pushers
             | could climb the hill!
        
               | detourdog wrote:
               | Yes, PIKA designed the buggy around her dimensions.
        
       | pfdietz wrote:
       | As part of the SPICE project there was an implementation of Lisp
       | on the machines. This implementation became CMU Common Lisp. CMU
       | Common Lisp is still available, but it also served as the jumping
       | off point for Steel Bank Common Lisp (SBCL) which is today the
       | top free Common Lisp implementation.
       | 
       | It's interesting there's a heritage of code stretching all the
       | way back to these old machines, although of course the changes
       | since then have been massive.
        
         | fanf2 wrote:
         | I like that Three Rivers refers to the geography of Pittsburgh.
         | 
         | For a long time I did not know where SBCL got its name, until
         | someone explained that Carnegie got his fortune from steel and
         | Mellon ran a bank.
        
         | lispm wrote:
         | Note also that Spice Lisp for The PERQ was also used to
         | implement Hemlock, an EMACS editor.
         | 
         | http://www.bitsavers.org/pdf/perq/accent_S5/Accent_UsersManu...
        
       | PaulHoule wrote:
       | It is funny how the 1970s computer industry was much more
       | geographically inclusive than it is today. Heck, even IBM alone
       | was more geographically inclusive than the industry is today.
        
         | kragen wrote:
         | shenzhen and tel aviv are further apart than boston and menlo
         | park
         | 
         | or do you mean that shenzhen is closer to taiwan than boston is
         | to menlo park? i wouldn't dismiss the importance of intel,
         | nvidia, micron, berkeley, stanford, asml, samsung, apple, etc.,
         | just yet
        
           | PaulHoule wrote:
           | I would point to this forgotten book from the 1970s
           | 
           | https://www.amazon.com/Dispersing-Population-America-
           | Learn-E...
           | 
           | which describes a nearly universal perception in Europe at
           | the time that it was a problem that economic and cultural
           | power is concentrated in cities like Paris and London. (It
           | takes a different form in the US in that the US made a
           | decision to put the capital in a place that wasn't a major
           | center just as most states the did the same; so it is not
           | that people are resentful of Washington but rather a set that
           | includes that, New York, Los Angeles and several other
           | cities.)
           | 
           | At that time there was more fear of getting bombed with
           | H-Bombs but in the 1980s once you had Reagan and Thatcher and
           | "globalization" there was very much a sense that countries
           | had to reinforce their champion cities so they can compete
           | against other champion cities so the "geographic inclusion"
           | of Shenzhen and Tel Aviv is linked to the redlining of 98% of
           | America and similar phenomena in those countries as well.
           | 
           | It is not so compatible with a healthy democracy because the
           | "left behind" vote so you get things like Brexit which are
           | ultimately destructive but I'd blame the political system
           | being incapable of an effective response for these occasional
           | spams of anger.
        
             | kragen wrote:
             | interesting!
             | 
             | i'm not quite sure what you're saying about reagan and
             | shenzhen
        
               | PaulHoule wrote:
               | Things changed and 1980 looks like an inflection point
               | although for China in particular the inflection point
               | could have been when Nixon went to China in 1972.
               | 
               | Until then China was more aligned with Russia but Nixon
               | and Kissinger really hit it off Mao and Zhao Enlai and
               | eventually you got Deng Xiaoping who had slogans like "To
               | get rich is glorious" and China went on a path of
               | encouraging "capitalist" economic growth that went
               | through various phases. Early on China brought cheap
               | labor to the table, right now they bring a willingness to
               | invest (e.g. out capitalize us) such that, at their best,
               | they bu make investments like this mushroom factory which
               | is a giant vertical farm where people only handle the
               | mushrooms with forklifts
               | 
               | https://www.finc-sh.com/en/about.aspx#fincvideo
               | 
               | (I find that video endlessly fascinating because of all
               | the details like photos of the founders using the same
               | shelving and jars that my wife did when she ran a
               | mushroom lab)
               | 
               | Contrast that to the "Atlas Shrugged" situation we have
               | here where a movie studio thinks they can't afford to
               | spend $150 M to make a movie that makes $200M at the box
               | office (never mind the home video, merchandise, and
               | streaming rights which multiply that) which is the
               | capitalist version of a janitor deciding they deserve $80
               | an hour.
               | 
               | This book by a left-leaning economist circa 1980
               | 
               | https://www.amazon.com/Zero-Sum-Society-Distribution-
               | Possibi...
               | 
               | points out how free trade won hearts and minds: how the
               | US steel industry didn't want to disinvest in obsolete
               | equipment which had harmful impacts on consumers and the
               | rest of our industry. All people remember though is that
               | the jobs went away
               | 
               | https://www.youtube.com/watch?v=BHnJp0oyOxs
               | 
               | That focus on winning at increased international
               | competition meant that there was no oxygen in the room
               | for doing anything about interregional inequality in
               | countries.
        
         | yencabulator wrote:
         | "Was"? IBM headquarters are in a Armonk, NY, the nearby
         | population centers are some 4000 and 12000 strong. Back when
         | IBM was making Linux moves, I remember they were hiring in
         | Poughkeepsie, a city of 32000. And Red Hat the linux vendor
         | bought by IBM is headquartered in Raleigh, NC which a city of
         | only half a million people.
         | 
         | https://en.wikipedia.org/wiki/List_of_the_largest_software_c...
        
       | layer8 wrote:
       | It's fascinating to me how after forty years we are still piecing
       | together that genealogy like it's some ancient scriptures. And
       | keeping it scattered in blog posts and forum threads like this
       | one.
        
         | kragen wrote:
         | i think 40 years ago it was pretty well-known; it's just the
         | people it was well-known _among_ were fairly few in number,
         | because personal computers like the perq weren 't yet a
         | widespread cultural phenomenon. even well into the 90s, talking
         | to your friends by typing text messages into a computer was
         | still a 'geek' thing
        
       | Isamu wrote:
       | A nit with TFA: the cpu board didn't "emulate" P-Code, that was
       | the native machine language. It was a "PASCAL machine" like the
       | way we think of the Lisp Machine.
       | 
       | So the cpu board was all logic chips implementing the P-Code
       | machine language, it wasn't a cpu chip with supporting logic.
       | 
       | That gives you an idea of computing in the old days.
       | 
       | Back in the day PASCAL was the main teaching language at CMU.
       | 
       | (Edit) There seems to be some pushback on what I'm pointing out
       | here, but it's true, the cpu board is not built around a cpu
       | chip, they built a microcode sequencer, ALU, etc to execute a
       | p-code variant.
       | 
       | You can read about it here:
       | http://bitsavers.org/pdf/perq/PERQ_CPU_Tech_Ref.pdf
       | 
       | Schematics here:
       | http://bitsavers.org/pdf/perq/perq1/PERQ1A_Schematics/03_CPU...
       | 
       | Pic:
       | http://bitsavers.org/pdf/perq/perq1/PERQ1A_PCB_Pics/CPU_top....
        
         | kragen wrote:
         | the cpu tech ref you linked documents a machine with 512 20-bit
         | registers (256 architectural--they duplicated the register file
         | to avoid using dual- or triple-ported memory, same as the
         | cadr). p-code doesn't have registers. the microcode word format
         | it documents uses 48-bit instructions. p-code instructions are
         | typically about 8 bits wide. the cpu tech ref also doesn't
         | mention pascal or p-code
         | 
         | based on this it seems reasonable to continue believing that,
         | as graydon says, it ran pascal via a p-code interpreter, but
         | that that interpreter was implemented in microcode
         | 
         | and i don't think it's accurate to say 'the cpu board was all
         | logic chips implementing the p-code machine language'. the
         | logic chips implemented microcode execution; the microcode
         | implemented p-code
         | 
         | i agree that this is the same extent to which lisp machines
         | implemented lisp--but evidently the perq also ran cmucl, c, and
         | fortran, so i don't think it's entirely accurate to describe it
         | as 'a pascal machine'
        
           | Isamu wrote:
           | This is an interesting discussion, first it's true that they
           | implemented a p-code variant called q-code.
           | 
           | Second I'm just making a distinction about what people refer
           | to as emulation. Although you could change the microcode,
           | that typically meant you had to reprogram the board.
           | Microcode is typically inaccessible outside of the cpu.
           | Microcode provides sub-operations within the cpu.
        
             | kragen wrote:
             | just to be clear, the microcode instruction set is not a
             | p-code variant, and in the case of the perq, the microcode
             | memory was volatile memory that had to be loaded on every
             | boot, and could easily be loaded with custom microcode. you
             | didn't have to burn new eproms or anything
             | 
             | i don't think we have any substantive disagreements left,
             | we're just getting tangled up in confusing, ambiguous
             | terminology like 'native' and 'emulation'
        
           | kazinator wrote:
           | It's fair to say that x86 or x86-64 instructions are also
           | emulated by some lower-level machine which maps the small
           | number of registers onto a larger register file and
           | translates instructions into something else.
        
             | formerly_proven wrote:
             | Not in the same sense that the typical minicomputer CPU
             | used microcode, no.
        
             | kragen wrote:
             | i agree, but i also think it's fair to say that the i386
             | and amd64 instruction sets are _the_ native machine code
             | they implement. both of these contradictory points of view
             | are useful oversimplifications of reality that are useful
             | for certain purposes
        
           | lispm wrote:
           | > i don't think it's entirely accurate to describe it as 'a
           | pascal machine'
           | 
           | yes
           | 
           | it would only be accurate, when one looks at BOTH the CPU and
           | the microcode. The Xerox Interlisp-D machine was a Lisp
           | Machine with the specific microcode. It was a Smalltalk
           | machine and a Mesa machine - each with their microcode.
           | 
           | The original MIT Lisp machine was also microcoded, though I
           | don't know other Microcode than the one for Lisp. The early
           | Symbolics Lisp Machines were also microcoded, but again only
           | for the Lisp OS, with the microcode evolving over time to
           | support features of Common Lisp, Prolog and CLOS.
           | 
           | There were complaints that the Microcode on the Lisp Machines
           | was very complex, which contributed to the death of the
           | machines. For example here is an interview with Keith
           | Diefendorff, who was also architect for the TI Explorer Lisp
           | Machine. In his interview he talks about the Explorer Project
           | and the Microcode topic:
           | https://www.youtube.com/watch?v=9la7398ruXQ
        
         | yencabulator wrote:
         | What you linked to doesn't seem to conflict with the article at
         | all.
         | 
         | Article:
         | 
         | > [...] user-written microcode and custom instruction sets, and
         | the PERQ ran Pascal P-code. Through a microcode emulator.
         | Things were wild.
         | 
         | PDF:
         | 
         | > It will also prove useful to advanced programmers who wish to
         | modify the PERQ's internal microcode and therefore need to
         | understand how this microcode controls the operation of the
         | CPU, [...]
         | 
         | It sounds like it came with microcode that interpreted P-code,
         | but that was user-changeable.
         | 
         | The "wild" part is doing p-code interpretation in microcode,
         | instead of a normal program. See also
         | https://en.wikipedia.org/wiki/Pascal_MicroEngine
        
           | Isamu wrote:
           | I think we have a mild disagreement over what is meant by
           | "emulation". Typically this means the native instruction set
           | is something other than what is being emulated.
           | 
           | There is microcode inside cpu chips today too, they are used
           | to implement parts of the instruction set. The microcode is
           | not typically accessible outside of the cpu, and it is not
           | considered the native machine language, the instruction set.
           | 
           | The article you link to uses the word "emulator" once, to
           | describe emulation on top of another system without this
           | native support.
        
             | kragen wrote:
             | the 'microcode' inside cpu chips today is a totally
             | different animal--it doesn't interpret the amd64 or other
             | instruction set, but rather compiles (some of) it into the
             | micro-operations supported natively by the hardware. but
             | from the user's point of view the bigger difference is that
             | the perq's microcode _was_ accessible in the sense that you
             | could write your own microcode and load it into the cpu.
             | current popular cpus do have the ability to load new
             | microcode, but that ability is heavily locked down, so you
             | cannot control the microcode you are running
             | 
             | microcode became a popular implementation technique in the
             | 01960s and fell out of favor with the meteoric rise of risc
             | in the 80s
             | 
             | i think it's reasonable to say that an instruction set
             | emulated by the microcode is a 'native instruction set' or
             | 'native machine language'; it's as native as 8086 code was
             | on the 8086 or lisp primitives were on the cadr. but in
             | this case there were evidently _several_ machine languages
             | implemented in microcode, p-code being only one of them. so
             | it 's incorrect to say that p-code was _the_ native machine
             | language, it 's incorrect to say that 'the cpu board was
             | all logic chips implementing the p-code machine language',
             | it's incorrect to say that 'they built a microcode
             | sequencer (...) to execute a p-code variant', and it's
             | incorrect to say 'they designed a board to execute p-code
             | directly'
        
               | Isamu wrote:
               | Except that the literature from Three Rivers Computing
               | describes the "native instruction set is the P-code byte
               | sequences that a compiler generates for an "ideal" PASCAL
               | (or other structured language) machine."
               | 
               | So I think we are quibbling, but it's their words.
        
               | kragen wrote:
               | the literature you linked in
               | https://news.ycombinator.com/item?id=41473755 (the cpu
               | technical reference, bill of materials, and photo)
               | doesn't say that, nor does it mention pascal or p-code.
               | and the microcode instruction set documented in the cpu
               | technical reference doesn't look anything like p-code.
               | perhaps you're referring to some advertising materials?
               | 
               | i think we agree that it supports p-code as _a_ native
               | instruction set, but it 's easy to draw incorrect
               | inferences from that statement, such as your claim that
               | the microcode sequencer executed a p-code variant. it
               | would be reasonable inference from the literature you
               | quote, but it's wrong
        
               | pm215 wrote:
               | They did design the CPU board absolutely with the
               | intention of the "user facing" instruction set being a
               | bytecode, though. In particular there's hardware support
               | for an opcode file of up to the next 8 bytes in the
               | instruction stream, which gets auto filled with a 64 bit
               | memory load when it's empty. And there's a "256 way
               | branch on the next byte in the opcode file" microcode
               | instruction. The core of the thing is some standard AMD
               | bitslice ALUs, but the board as a whole is clearly
               | designed to let you implement a fast p-code interpreter.
               | 
               | The other thing the CPU board is designed for is fast
               | graphics -- the rasterop hardware is set up so that with
               | the right carefully designed microcode sequences it can
               | do a 'load two sources, do a logical op and write to
               | destination' as fast as the memory subsystem will let you
               | do the 64 bit memory operations. It takes about four CPU
               | cycles to do a memory operation, so you kick it off, do
               | other microcode ops in the meantime, and then you can
               | read the result in the microinsn that executes in 4
               | cycles' time. The rasterops microcode source code is all
               | carefully annotated with comments about which T state
               | each isnn executes in, so it stays in sync with the
               | memory cycles.
               | 
               | The other fun thing is that the microcode sequencer gives
               | you a branch "for free" in most insns -- there's a "next
               | microinsn" field that is only sometimes used for other
               | purposes. So the microcode assembler will happily scatter
               | flow of execution all over the 4K of microcode ram as it
               | places fragments to ensure that the parts that do need to
               | go in sequence are in sequence and the parts at fixed
               | addresses are at their fixed locations, and them fills in
               | the rest wherever...
        
               | kragen wrote:
               | i see, thanks! i hadn't investigated it that deeply, and
               | that definitely does sound optimized for implementing
               | things like p-code interpreters (or 8080 emulators)
               | 
               | next-microinstruction fields are pretty common even in
               | vertical microcode like this. do you have the microcode
               | assembler running? have you written custom perq
               | microcode?
        
       | Lutzb wrote:
       | There is some emulation available for the PERQ A1 in PERQemu
       | https://github.com/jdersch/PERQemu/tree/master/PERQemu
       | 
       | Someone also added the PERQ A1 to Mame in 0.192, but as of now it
       | is still marked as MACHINE_IS_SKELETON
        
       | WoodenChair wrote:
       | Can someone who used one comment on what GUI elements were
       | actually in a PERQ?
       | 
       | I see windows and bitmap graphics in the screenshots I can find.
       | 
       | But I don't see menus, a desktop, standardized buttons, scroll
       | bars, etc. In other words I don't see the hallmarks of the Xerox
       | Star, Apple Lisa, and Macintosh. It looks influenced by the Xerox
       | products but not as advanced.
        
         | kragen wrote:
         | you wouldn't see those in a screenshot of athena on x-windows
         | circa 01994 either. the menus were all pop-up, so there was no
         | menu bar, and the buttons weren't standardized or very
         | recognizable (the xaw graphic design was abysmal, both
         | aesthetically and usability-wise)
         | 
         | the only reason my x-windows desktop at that time would have
         | recognizable buttons was that at first i was running mwm, which
         | was from motif, osf's ugly but comprehensible effort to fight
         | off open look. later i switched to athena's twm (uglier still
         | but customizable), then the much nicer olvwm, then fvwm, which
         | was similarly comprehensible but looked good
        
       | mwnorman2 wrote:
       | We had at least 1 PERQ at the University of Waterloo in the early
       | 1980's A friend of mine was helping the local IT folks set it up
       | - arranging to read a 9" tape of PERQ's BitBlit software. A bunch
       | of us wanted to see the machine first-hand but lowly undergrads
       | didn't have access to the lab-room. But, wait ... is that
       | acoustic tile above the door jam, only half-way across? Gimme a
       | boost ... skinniest guy goes up and over ... we can SEE ;-)
        
       | jntun wrote:
       | Excellently written history on a period of time I am fascinated
       | in.
       | 
       | However, I think the author puts too fine a point on the literal
       | exact geographic position of the technology, and not the
       | historical & material forces that manifested. Obviously every
       | computer advancement didn't occur in sunny Palo Alto directly
       | (just reading where your device was "assembled" will tell you
       | that). But even this article trying to highlight the other places
       | where all of this was going on; the author cannot be unburdened
       | by the massive forces coming out of the Bay Area. This is most
       | obvious when the author has to mention Xerox PARC but not
       | interrogate _why_ Xerox chose that of all locations to let them
       | start a "wild unsupervised west-coast lab".
       | 
       | https://en.wikipedia.org/wiki/Augmentation_Research_Center
       | 
       | Very much a personal nitpick on a very well written entry so I
       | hope this doesn't come off overly negative.
        
       | peter_d_sherman wrote:
       | Related:
       | 
       | https://en.wikipedia.org/wiki/PERQ
       | 
       | >"Processor
       | 
       | The PERQ CPU was a microcoded discrete logic design, rather than
       | a microprocessor. It was based around 74S181 bit-slice ALUs and
       | an Am2910 microcode sequencer. The PERQ CPU was unusual in having
       | 20-bit wide registers and a writable control store (WCS),
       | allowing the microcode to be redefined.[4] The CPU had a
       | microinstruction cycle period of 170 ns (5.88 MHz).[5]"
        
       | Animats wrote:
       | Oh, the PERQ. I never saw one, although I came across most of the
       | weird machines of that era. Lucasfilm bought a number of them.
       | They were so unhappy with them that they ran a large display ad
       | offering them for sale to get rid of them. There must be a story
       | there, but I don't know it. Anyone remember PERQ at Lucasfilm?
        
       | nigwil_ wrote:
       | screen capture of the present day PERQ emulator running a demo
       | shown originally at SIGGRAPH 1982
       | 
       | https://imgur.com/gallery/3-rivers-computer-corporation-perq...
        
       ___________________________________________________________________
       (page generated 2024-09-07 23:00 UTC)