The QuickDraw code (LISA_OS/LIBS/LIBQD) is just glorious. While reading it, I am overcome by the creative genius of Bill Atkinson. [1]. Bill went on to become quite accomplished at cooking lunch for the team at General Magic. [2]<p>[1] <a href="https://en.wikipedia.org/wiki/Bill_Atkinson" rel="nofollow">https://en.wikipedia.org/wiki/Bill_Atkinson</a><p>[2] <a href="https://en.wikipedia.org/wiki/General_Magic" rel="nofollow">https://en.wikipedia.org/wiki/General_Magic</a>
Oof, emotions.<p>My uncle took receipt of a Lisa in the 80s but didn't have much use for it, so he gave it to our family. Lisa was my first computer. I used to use LisaDraw as a very primitive city builder: rectangles with circles to represent cars; boxes for buildings. I'd use the arrow keys to move things around. I can remember seeing the Lisa redraw pixels, top to bottom, as I pressed the keys.<p>By the time I moved on to my first Mac (Performa 638CD with SoftFPU installed), I learned more about Apple and understood the Lisa to be a failure in the market, but it will always hold a special place. I assume this is Pascal and I can't really follow it very well, but it's quite a special thing to read the inline comments written by engineers who paved the way for me and inspired me.<p>Writing this many, many years later on a 16" MacBook Pro with M1 Max.
I remember walking into the Computer Factory in Grand Central station in NYC and playing with the Lisa. (Later I did some Smalltalk on the Lisa and the Techtronix.)<p>I still remember the layout ca. 1979-83 like it was yesterday - on the right side when you walked in was a separate room with some kind of P-Code machine which was the "business mini". The Lisa and later the Mac were set up on a table on the right, and the Apple][ in the back. In the center were the Kaypro, and some other CP/M machines, and the Commodore Pets (the OG chicket keyboard version and the green-screen one w/the real keyboard) (incl. some IEE-488? accessories), the Sol II, and then the gfx show-offs (making my TRS-80 jealous), the CompuColor II and Exidy Sorcerer. The other wall had the printers - the Anderson-Jacobson daisywheel printer, an adapter w/solenoids to turn your Selectric typewriter into a printer, a few 9-pin matrix printes like the IDS Paper Tiger (right before the Epson MX-80 took over)<p>Good times. Sigh...
Very neat code and somewhat legible for a non-Pascal speaker.<p>Curiously, it doesn't credit authors in the headers as I've seen in sources from the same period.<p>I also wonder how much of the core OS code made it into Macintosh System 1.<p>Also, nice styling here: <a href="http://revontulet.org/2023/01/19/lisadesk.png" rel="nofollow">http://revontulet.org/2023/01/19/lisadesk.png</a>. They didn't have to do ASCII art in the comments but they did!
Releasing to public the sources of the old software, especially from platforms which are gone, is very cool!<p>I would die to see the original sources of Norton Commander 3.0 written by John Socha. They say, he used "an ortodox" (back in the day) approach of C and assembler mashup, which not many programmers used that time, and "real programmers" always wrote in assembler :-)
Yay! Finally! Thanks so much for this. Have been excited about this for years since the original announcement.<p>Had today's date bookmarked, and was browsing around your twitter etc earlier looking to see if this had happened.<p>Can't wait to look inside.
Man, I wish beige was still an option when buying a new desktop computer these days. I know I hated that color when I was a teenager, but it just looks so nice to me now.<p>Like it would be a perfect fit for a bland old boho styled apartment.
Now the question is: Can I <i>build</i> a LISA in 2023? I know a lot of the parts are common with the Macintosh, but being an earlier model, maybe it has fewer custom ASICs? I can hope?
The A/UX 0.7 source code has been floating around for awhile. If you search emule for 'various operating system source', you will find it in a (700 mb, I think) archive that also has NextStep, SunOS, Ultrix, and some other sources.
Link to the actual source code download page: <a href="https://info.computerhistory.org/apple-lisa-code" rel="nofollow">https://info.computerhistory.org/apple-lisa-code</a><p>Released under APPLE ACADEMIC LICENSE AGREEMENT<p>Lisa OS Software version 3.1
What Pascal compiler did Apple use to build all that?<p>Looks like Turbo/Borland Pascal but I'm not sure that it existed in that time or/and was ported to 6502.
allways good do see :-)<p>grep -ri fuck .
./Lisa_Source/Lisa_Toolkit/TK Sources 4/LIBUT-UUNIVTEXT2.TEXT.unix.txt: HALT; {Die rather than fuck up}
grep: ./Lisa_Source/Lisa_Toolkit/TK Sources 4/LIBUT-UUNIVTEXT2.TEXT: binary file matches
grep: ./Lisa_Source/Lisa_Toolkit/TK3/TK-ALERT.OBJ: binary file matches
./Lisa_Source/LISA_OS/APIN/APIN-OFFICE.TEXT.unix.txt: fucked up if he bails out or doesn't ever select a disk}
./Lisa_Source/LISA_OS/LIBS/LIBDB/libdb-SCANCODE.TEXT.unix.txt: valid position, thus we don't fuck with pscantable^[scanid]^ until
./Lisa_Source/LISA_OS/LIBS/LIBDB/libdb-SCANCODE.TEXT.unix.txt: valid position, thus we don't fuck with pscantable^[scanid]^ until
./Lisa_Source/LISA_OS/LIBS/LIBDB/libdb-SCANCODE.TEXT.unix.txt: valid position, thus we don't fuck with pscantable^[scanid]^ until
./Lisa_Source/LISA_OS/LIBS/LIBDB/libdb-LMSCAN.TEXT.unix.txt: badCheckPoint = 3424; { check point info is fucked }{##}
./Lisa_Source/LISA_OS/Linkmaps and Misc. 3.0/TKALERT.TEXT.unix.txt: if not fcheckhz(hz,i) then writeln('heap big fuckup 1');
./Lisa_Source/LISA_OS/Linkmaps and Misc. 3.0/TKALERT.TEXT.unix.txt: if not fcheckhz(hz,i) then writeln('heap big fuckup 2');
> You may not and you agree not to:<p>> publish benchmarking results about the Apple Software or your use of it<p>Damn, there goes my Apple Lisa vs Amiga comparison video! I was going to get so many YouTube views! Meh, maybe I'll make it anyway. So sue me!<p>> the Apple Software may not be exported or re-exported (a) into any U.S. embargoed countries<p>I'm sure keeping Iran from getting this valuable software from 1983, which runs on a completely dead CPU architecture that Linux doesn't even support anymore, is very important!<p>(But seriously, as a license geek, and not a lawyer, the wording of this license is really interesting. It seems to have completely different disclaimers than you usually see in open-source licenses...)
I'm still learning Swift (forever) and looking at the source code I wonder if Swift is getting too complicated to read now. I'm having a hard time reading simple snippets of Swift but the Lisa source code seems so comforting to read in comparison. Anyways, I'll soldier on.
Lovely bit of history, but I laughed out loud at this bit of legal WTF in the license agreement you must agree to before downloading the software:<p>"You may not and you agree not to: ...publish benchmarking results about the Apple Software or your use of it"<p>Perhaps 40 years later Apple is still embarassed about the performance of the Lisa?<p>So, maybe somebody here can emulate a Lisa and run Geekbench :)
I can't believe they make you sign a fekking license agreement to access 40 years old source code (in a long dead language on top). That's so typical Apple.
"False!" - Dwight Schrute<p>>FTFA: <i>a majority of personal computer users interacted with their machines via command-line interfaces...in which users had to type arcane commands to control their computers.</i><p>ARCANE!?!? you say!?!?!<p><pre><code> https://en.wiktionary.org/wiki/arcane
arcane:
1. Understood by only a few.
</code></pre>
the majority of personal computer users (your words, not mine) did understand them, in fact <i>it was the defining feature of personal computer users</i><p><pre><code> 2. (by extension) Obscure, mysterious.
3. Requiring secret or mysterious knowledge to understand.
</code></pre>
the commands were well documented and did what the documentation said<p><pre><code> 4. Extremely old (e.g. interpretation or knowledge), and possibly irrelevant.
</code></pre>
not old, it was newly invented, current state-of-the-art, and nothing but relevant to the tasks at hand, they were the only way to accomplish the tasks at hand, and nary a byte of the command line lacked morphologic or semantic significance<p>The serious point I'm trying to make is, young and up-and-coming programmers who are learning textual programming languages (more or less the definition of a computer programmer at present) should not be scared off from learning command lines. They're very powerful, and not that obscure or hard. Unix had/has a feature that can be confusing, which is the command line is first processed according to the rules of the shell, and then it is reprocessed according to the rules of the app you are invoking, making command lines be a subtle mix of several languages at a time (by analogy, a bit like html+javascript+css). You need to learn how this works, despite being confusing it is the innovation necessary for unlocking the power of shells.
The source code of an entire operating system with applications of its time is just 6MB.<p>Think about it. 30 years from now, Windows OS source code will feel like that, we'll download its zip in seconds and browse it. It'll feel miniscule. Linux too. Everything will feel so small after the AI Revolution of 2049, which will increase our code writing speed orders of magnitude, will write instant code for a device driver for a hardware by probing its input/output models based on your expectations from the device, even if the device doesn't support it, such as using a printer to measure ambient temperature by observing fluctuations in the ink capacity sensor. It'll figure that out on its own. Printers will have ceased to exist by then, of course, because of the great AI war against HP due to their cruel experiments on printers over decades to make them fail at unexpected times in order to maximize profits.<p>We'll never be able to comprehend how the humans of 2022 were able to do anything with computers at all.