Architecture and Morality.....anyone?
How come the nice architecture of the Motorola MC68000 has been consigned to history......while the ugly 8086 (and its descendents) have thrived?
Apple has given its blessing to the release of source code for its first mouse-powered marvel – the Lisa – to mark its 40th birthday. The Computer History Museum scored the code and released it here along with a written celebration of the machine. As The Register wrote when lighting candles for Lisa's 30th birthday and, oddly …
This post has been deleted by its author
That's a great question. Back in the day (late 70s & early 80s) I wrote assembly code on a Zilog z80 microprocessor. Life was good, but very limited. Zilog had announced the Z80k and that looked promising. Especially with the amount of memory available and how it was addressed. Zilog's approach was very much like Motorolas and I figured either one would come out on top. I never expected Intel to surface & dominate.
The company I worked for was stuck on IBM (nobody has been fired for buying IBM gear being the theory) and I took some training in 8086 architecture and coding. It didn't take long to realize that the original x86 indirect way of addressing memory would lead to many bugs. Segment and offset being used to reach into memory. At that time I decided to drop out of writing assembly language and went to C for stability reasons.
I did have to get back into assembly language and since I learned Intel's 8080 code way back then it was easy to get into the flow of things. Memory addressing has improved and you have much more processor to work with. That said, I think Intel's early x86 architecture cost me many late nights and probably 10 years of my life. Between that and windows reboot time I probably would be 20 years younger. :-)
The 68000 is just a more-or-less revamped PDP-11, though this is not to belittle it, as the PDP-11 is one of the greatest (if not the greatest) CPU designs ever IMHO.
The 68000 hit the streets in 1981/2 which was already behind Intel’s 8086/8 which had started coming on stream at the end of the 70’s and were therefore more widespread.
It’s a shame, as the Intel legacy has been, and continues to be, such a millstone that nobody can get rid of. Intel tried twice, once with iAXP32 and the again with Itanium. Both failed miserably having cost huge amounts.
Worse still the i86 family didn’t get any better until the 386. The 186 was the all in one system on a chip that should have been the obvious choice for building PCs, but it was as flawed as the 286 which IBM did use in its PC-AT. It’s virtual memory model was broken and only fixed to become usable in the 386 - the days of memory extenders were finally over.
But by that time the software investment was too great to switch - only the non MS world could take advantage of better processors or build their own - Apple, Apollo, Sun, Stratus, Tandem, Perq to name but a few, now all fallen by the wayside.
Although the 68000 did have a proper virtual memory co-chip its arrival was too late to stem the wave of the IBM PC and its clones.
The path to hell is paved with good intentions …
"The 286 could switch to protected mode.....but had no way to switch back. "
IBM came up with a hack to work around that ...they essentially used the keyboard controller and an out-of-bandwith chunk of writable memory accessed via the A20 gate to save the state of the system before going into protected mode, and reversed it to come back out. Ugly, ugly, ugly, but very functional hack ... IF you used IBM's proprietary hardware. It also worked on a few clones, but was hit & miss in clone-land.
Why, in this day & age, do you care what instruction set your CPU is speaking and whether it's pretty or not? C/C++, Java, Python (barf!) code all look the same irrespective of what CPU architecture you are targeting, unless you're the poor blighter who is writing the compiler backend or JVM. Is anybody out there still handcrafting x86 apps in assembler?
@Sceptic_Tank
Have you head of Heartbleed, Spectre, Meltdown? These vulnerabilities are actually related to "architecture"........so, yes, it might be useful to "care what instruction set" or to care what "CPU architecture" is under hood of your nearby (or not so nearby) computer.
Some of us are still using assembly language. The 6800 matches the architecture of unix and c. People who grew up on unix and c like to use an architecture that matches their expectations: partitioned memory (like on IBM mainframes) does not match that expectation, and causes cognitive dissonance.
Because when you're building a house you don't start with wobbly foundations...
If your processor has an elegant instruction set, addressing modes etc, then your lower level code is having to do less flapping around behind the scenes to give you the impression of a stable foundation on which to build your device drivers, OS and application layer code, than if it's running on something where the instruction set etc. was clearly designed by a sadist who hated programmers.
And for those of us still working in sectors where our highest level code remains rather closer to the metal than anything the average desktop coder will ever write, having a processor which isn't fighting the compiler at every step of the way is all the more important in being able to produce good quality, efficient code. Some of us really do still care about this sort of thing, and earn a decent living out of being able to write code that performs well on resource-limited hardware.
People keep hinting that Apple stole it from Xerox. However, Xerox had invented these things but didn't quite know how to market it effectively, so they made a deal with Apple that Apple would see demonstrations of it all and in return Xerox would be allowed to buy a big juicy stake in Apple before the upcoming Apple IPO and make a lot of money.
During the demos Steve Jobs raved to both Apple and Xerox people about how great it was and what could be done with it and made it clear he would do so. There was no covert theft, just an open business deal that Xerox got somewhat less out of, especially because they gave it away (well, sold it for the right to buy cheap shares) rather that make a license deal and because they didn't keep the Apple shares.
I seem to recall that Lisa was the first WIMP machine to hit the market; Xerox had not understood the value of their research, and never really cared about their workstation anyway as it was not their core business.
Also that the M stood for Mouse not Menu - one of the Apple "things" that they pushed hard on the subsequent Mac was that you didn't need menus any more, you just clicked icons which opened more windows with more icons... and for that you only needed one mouse button, period.
But poor Lisa was not a going proposition. One of its less amicable features, that Microsoft would take on board in a very big way, was that it barely had enough RAM to run the OS. It didn't really matter whether there were any apps available, 'cos you couldn't run them anyway. It was really just a statement of intent, sold as a taster of the future to a few well-heeled punters/researchers who gagged for that taste.
No, the PERQ was earlier:
https://en.wikipedia.org/wiki/PERQ
"In June 1979, the company took its very first order from the UK's Rutherford Appleton Laboratory and the computer was officially launched in August 1979 at SIGGRAPH in Chicago. It was the first commercially produced personal workstation with a Graphical User Interface.
(I wasn't the miserable sod who downvoted you!)
Thanks, I guess my title reflects on me as well. I forgot that Xerox finally woke up and smelled the coffee with the Star. But it was too expensive and too late.
I am not sure in what sense the Alto and PERQ were "personal". Yes there was only one user at a time but the furniture was built around them, you couldn't just pick up the bits and put them somewhere else. Much like the PDP-11 I used during the mid '70s. You could have cut that in two at desktop height, stuck the halves either side of a keyhole desk and plonked the line printer on top. But nobody would have described it as "personal". IMHO that is retro fanbois bending the meaning of the word a little too far.
Don't worry about the downvoter, there's always one. I sometimes wonder if some saddo I once upset is following me round and downvoting everything of mine he finds. I hope not, there are better things to do with one's life. Anyway, you seem to have picked up two of them.
In the 90's I had a couple of PERQ computers. They had a GUI, and a pointer driven interface, running a version of Unix.
They were dated 1979 (and no, I didn't get them new! I got them for about 50 quid from Manchester University in the early 90s)
https://en.wikipedia.org/wiki/PERQ
"In June 1979, the company took its very first order from the UK's Rutherford Appleton Laboratory and the computer was officially launched in August 1979 at SIGGRAPH in Chicago. It was the first commercially produced personal workstation with a Graphical User Interface.
Ha ! I remember those - I was an undergrad there at the time.
They turned up from the Science Research Council (before Engineering crept in) and were followed by a couple Sun-1 workstations and a Sirius PC.
I think they were originally billed as Smalltalk machines though I am not sure how they ended up after ICL got to them. Though it could be that the Computer Science department wanted them for other stuff than other users …
(Bit late to the story, but...)
> I think they were originally billed as Smalltalk machines
PERQ = Pascal Engine Running Quickly
They were built from the Pascal engine hardware derived from work on UCSD Pascal (which Apple ][ users may be familiar with) and its p-code.
I worked on one for a year in the early 80's and everything we had on it was in Pascal. Pretty sure that included the OS (may have been Unixy but not actually Unix).
I remember reading reports (or rumours) that you could drag the computer icon into the wastebasket, at which point the machine would crash.
I saw my first Lisa a few months later at an exhibition. It was being used in a control application.
So with my hand on the mouse I asked "Is it true that if you drag the computer into......?"
At which point I was physically restrained and almost thrown of the stand.
Hah, once at a show I was poking about at a new thrilling NeXT machine, with its MACH microkernel and all that interesting stuff. There was a normal non-privileged shell open for having a look around.
There were many processes with PID -1 and interesting names, obviously the privileged microdaemons that did all the kernel work. I couldn't help myself: I typed "kill -9 -1" and nothing ever happened ever again.
This post has been deleted by its author
So when Microsoft released some DOS source, they did it under the MIT license ("do whatever you want, just credit us").
When Apple let the Computer History Museum release the source code to Lisa OS 3.1, they wrote an original license that:
· Only lets you use and modify the software for educational purposes.
· Doesn't let you share it with anyone else, in any way, not even with friends or from teacher to student (although technically you could still distribute patches you make for it).
· Implicitly forbids you from running it on hardware you don't own.
· Forbids you from publishing benchmarks of it.
· Gives Apple a license to do whatever they feel like with your modifications, even if you keep them to yourself and don't publish them.
· Lets Apple revoke the license whenever they feel like it.
· Forbids you from exporting it to any nation or person embargoed by the USA (moot, since the license doesn't let you share the software in any way).
Why Apple feels the need to cripple the use of 40-year-old code is beyond me. Especially when they have released a lot of the code for their current OS and tools under the popular and well-understood Apache License 2.0 or their own APSL 2.0, neither of which impose these arbitrary restrictions.
So put Xenix on it instead.
No, that is not Microsoft code. It's AT&T's bog-stock PDP11 UNIX Version 7 source, as ported to the Lisa by SCO[0].
Runs great on mine.
[0] No, not the SCO of insane litigation. Not really, anyway.
My first view of a Lisa was greeted by an even more terrifying price tag, thanks to New Zealand's 60% import duty AND 40% sales tax on computers, plus "exclusive import licenses" meaning that companies could (and did) charge whatever they wanted as markup
Even into the 1990s, long after both punitive duty and sales taxes were abolished (replaced with 10% GST) it was cheaper to fly from Auckland to Los Angeles first class (staying there for a week) AND buy a top end Mac, than it was to buy one in New Zealand