LisaList2

General Category => LisaList2 => Topic started by: Al Kossow on December 25, 2022, 04:44:44 pm

Title: A Wee Cristmas Present
Post by: Al Kossow on December 25, 2022, 04:44:44 pm
Now that Applesauce suports LOS file systems, I found what I think is the Pascal compiler source in LOS V2 format.
Have fun.
http://bitsavers.org/pdf/apple/lisa/pascal_monitor
I may have Clascal as well and the mouse editor.
Title: Re: A Wee Cristmas Present
Post by: rayarachelian on December 25, 2022, 05:45:27 pm
Now that Applesauce suports LOS file systems, I found what I think is the Pascal compiler source in LOS V2 format.
Have fun.

Wow, this is great, thank you!
Title: Re: A Wee Cristmas Present
Post by: stepleton on December 25, 2022, 05:50:03 pm
Wow! Looking for interesting text:
Title: Re: A Wee Cristmas Present
Post by: D.Finni on December 25, 2022, 07:11:49 pm
I saw DTC's paper on Pascal history at Apple is in that directory too.

Just a note. I saw in his paper the statement that "When Apple introduced the Macintosh computer in 1984 all Macintosh progranwning by Apple and others was done with Lisa Pascal and the Lisa Workshop."

This statement gets repeated a lot, but about a year ago I discovered that the earliest Macintosh developer documentation that was distributed to 3rd-party developers is actually centered on the Lisa Monitor development system, a predecessor to Workshop.
Title: Re: A Wee Cristmas Present
Post by: stepleton on December 26, 2022, 01:26:48 am
It's funny to me to see this turn up now since I'm writing a compiler for a Pascal subset to BASIC for a different kind of old computer. I'm doing this because I just don't want to program that computer in BASIC. But GOTO is in Pascal too, and I just finished implementing it a couple of minutes ago :P

I don't have strong feelings about Pascal; it wouldn't be my first-choice language if I were starting from scratch. But the reason I'm going with it is because I already had a grammar for it lying around --- a Lark (https://lark-parser.readthedocs.io/en/latest/) grammar (so my compiler is written in Python) for Clascal (not just Pascal!) that I wrote a year or two back. My Pascal subset isn't Clascal; it's not even Pascal (lots of stuff is missing). But maybe someone would like to use the grammar for more exciting things, and once the compiler is up on github, the grammar will be, too.
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 26, 2022, 07:46:46 am
I saw DTC's paper on Pascal history at Apple is in that directory too.

Just a note. I saw in his paper the statement that "When Apple introduced the Macintosh computer in 1984 all Macintosh progranwning by Apple and others was done with Lisa Pascal and the Lisa Workshop."

This statement gets repeated a lot, but about a year ago I discovered that the earliest Macintosh developer documentation that was distributed to 3rd-party developers is actually centered on the Lisa Monitor development system, a predecessor to Workshop.

I wish there were more documentation on the Pascal Monitor. I've been working on a blog post to go along with the source release and the development workflows pre 1982 are not well documented. The monitor was used in lots of places, like lisatest and to bootstrap macworks. You can see in the 1982/01 pascal development system document that the earliest systems appear to have run off of Soroc serial terminals and storage devices running on Apple IIs. The 1981 Lisa hardware spec has a different serial chip and a Pippin (Profile) interface. I need to get pictures of Lisa prototype #23 boards to try to figure out where that fits in the timeline. It appears to have a 2651 Uart on the CPU board
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 26, 2022, 07:51:40 am

I don't have strong feelings about Pascal; it wouldn't be my first-choice language if I were starting from scratch.

That was the high level language to use in the late 70s. I'm going to make the argument in the blog post that the
Lisa software system is an evolution of the HP 300 Amigo because of all the experienced HP engineers that worked
on the project. I spent the last few days looking at the source dates, and 1982 is the earliest date in most of it.
Almost all of the system is written in Lisa Pascal. Quickdraw is the biggest assembly-language library.

I've not dug into the code generator much. DTC claimes Mac Pascal added a peephole optimizer. I wonder how much optimization exists in the Lisa compiler.

The Mar 1983 Computer Design article on the development of Lisa says the Office System is 90,000 lines of code and the development system is 100,000

The most radical change to the Pascal Development System was the adoption of the 7/7 file system in release 3.

I will probabaly have to write a much longer internals document at some point. The biggest flaw I see with the architecture is how to deal with tools that expect old versions of the intrinsics (the shared library versioning problem). I suspect that a few of the workshop tools like Basic Plus and COBOL don't work at all in Workshop 3.

It's been an interesting adventure finally getting to see the code I wasn't able to get access to in the 80s, but ultimately Apple took a very different path, much like what happened with A/UX.

Title: Re: A Wee Cristmas Present
Post by: stepleton on December 26, 2022, 02:22:11 pm
No dig against Pascal from me. I would love to trip over a Terak someday! I've only ever seen one once.

I would be thrilled to see an internals document. I've always wondered how parts of the OS may have reflected design choices from other computer systems --- or how they compare to other design alternatives. I'm fond of A Comparison of Some Window Managers (http://www.chilton-computing.org.uk/inf/literature/books/wm/p003.htm) from a 1985 UK symposium on GUIs for workstations (http://www.chilton-computing.org.uk/inf/literature/books/wm/contents.htm): it shows some different ways people were tackling the problem, and it's interesting to see the different lines of thought. Seeing the Lisa internals explained could help make similar kinds of inter-OS comparisons easier.

But yeah, "starting from scratch" just refers to making a compiler to BASIC for my own personal use: I may have chosen something a bit simpler if I didn't have my Clascal grammar lying around! In a way, I still am simplifying somewhat --- my implementation doesn't support record types or subroutine arguments with subroutine types, for example.
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 26, 2022, 04:35:52 pm
I did a bunch of digging in some Apple II pascal floppy images this morning and found a set of mid-1981 rev 8 monitor sources, along with some other work going on in the 1980-81 timeframe.
http://bitsavers.org/pdf/apple/lisa/pascal_monitor/floppy
Title: Re: A Wee Cristmas Present
Post by: blusnowkitty on December 26, 2022, 07:56:40 pm
Monitor 8? Isn't the earliest Lisa Pascal Monitor we had before Monitor 11?
Title: Re: A Wee Cristmas Present
Post by: stepleton on December 26, 2022, 08:33:08 pm
Cool! Of course Bitsavers has had the Monitor 11 listing (http://bitsavers.org/pdf/apple/lisa/pascal_monitor/Monitor_11_Listing_Sep82.pdf) for a while, in PDF form. I was trying to look through it to see whether or how the Monitor might be able to run off of a ProFile, but never really followed through on that.
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 27, 2022, 08:38:51 am
some more information on CHM's lisa prototype. need to get pics of the other boards in it
http://bitsavers.org/pdf/apple/lisa/hardware/proto_27/
and the yaccintosh
http://bitsavers.org/pdf/apple/mac/prototypes/1985_YACC/
Title: Re: A Wee Cristmas Present
Post by: rayarachelian on December 27, 2022, 10:54:24 am
some more information on CHM's lisa prototype. need to get pics of the other boards in it
http://bitsavers.org/pdf/apple/lisa/hardware/proto_27/
and the yaccintosh
http://bitsavers.org/pdf/apple/mac/prototypes/1985_YACC/

Wow, whole lot of "Believe me, you really do not want to know how this works." in the Yaccintosh PDF.
Title: Re: A Wee Cristmas Present
Post by: blusnowkitty on December 27, 2022, 11:27:28 am
I never thought I'd see more pictures of that early Lisa proto past what Digibarn put up all those years ago. Really cool to get the firmware too! I wonder what would happen if you put that firmware on a production Lisa... Didn't I also hear the Lisa was supposed to have fancy audio capabilities and that's what those two 3.5mm jacks on the back were for?

Now if only we could get some good, high resolution shots of the prototype colour card.

Thanks Al for everything!
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 27, 2022, 04:52:55 pm
we have all of that stuff
https://www.computerhistory.org/collections/search/?s=X2431.2002A

it is unlikely the prototype firmware would do anything in a production machine.
for one thing, it appears to have 2651 uarts on the cpu board. the code in them
is tiny, it's probably just enough to boot the monitor as described in the early
pascal monitor document
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 29, 2022, 02:29:56 pm
I think I found the lisa basic sources
UL'd to http://bitsavers.org/pdf/apple/lisa/pascal_monitor/floppy

you can browse and extract the files with applesauce. you don't need the hardware to do that
Title: Re: A Wee Cristmas Present
Post by: stepleton on December 29, 2022, 09:41:01 pm
The presents don't stop!

I was happy to find screenshots from my own Lisas in this collection of Perkins emails (http://bitsavers.org/pdf/apple/lisa/development_history/articles/Perkins_-_Inventing_Lisa_Interface_CPSR_email_199606.pdf). The resolution is pretty terrible, but coincidentally while I've been rummaging through some very old pictures over the holiday, I found the originals on 35mm negatives and photo prints. I don't suppose they'll ever be needed, but it was fun to be reminded of those old photos, in stereo.

Speaking of Applesauce, even though you don't need the hardware to read these disk images, I'll have my hands on my own unit soon. I'm excited about this! I know there have been experiments with using the device to read Twiggy disks. Does anyone know anything more about this?
Title: Re: A Wee Cristmas Present
Post by: sigma7 on December 30, 2022, 05:55:11 pm
Speaking of Applesauce, even though you don't need the hardware to read these disk images, I'll have my hands on my own unit soon. I'm excited about this! I know there have been experiments with using the device to read Twiggy disks. Does anyone know anything more about this?
My (unchecked) calculations suggest that a 96 TPI HD drive would be able to position the head over the 62.5 TPI Twiggy disk tracks relatively well.

In the worst misalignment case (Twiggy track 14 where only 45% of the HD head is over the Twiggy track), it looks like the HD head is probably narrow enough to not cover any of the adjacent Twiggy track.

A possible solution is to misalign a second (or more) HD drive so that different tracks are correctly positioned, then interleave the track data from multiple drives.

But perhaps not worthy of a lot of effort due to the lack of Twiggy disks to read.

Attempted spreadsheet attached.
Title: Re: A Wee Cristmas Present
Post by: Al Kossow on December 31, 2022, 04:29:34 pm
I gave John some twiggy top and bottom samples to play with using the applesauce decoder. You can follow the progress on their discord. I made some disks when I was doing the museum's Lisa 1 restoration using HD media in Twiggy sleeves, then used that in a normal floppy sleeve recently to create the samples. All but the first tracks on the top side were recoverable since the heads are offset on a 96tpi drive. People have been playing with trying to read a Twiggy in a normal drive as a flippy, but no one has actually succeeded AFAIK. You have the problem then that one side has all of the flux transitions backwards. This is also only really useful for data recovery.