Re: Lisa Toolkit

From: David Craig <dcraig_at_email.domain.hidden>
Date: Wed, 3 Jan 2001 16:54:50 -0700

Concerning Larry Rosenstein's comments about the Lisa Toolkit in LisaList messages #136 and #137, I have a few comments:

Larry wrote in message #136...

"There was a lower level set of libraries in the Lisa OS (the equivalent of the Mac OS Toolbox), but as far as I know this documentation was not released publicly. The intent was that the Lisa Toolkit would be the only way for outside developers to write full-blown Lisa apps."

There was internal Apple desktop library information called something like "Lisa Programmer's Guide" which was prepared by the Lisa application teams which created these libraries. Stanford has a copy of this in its Apple archive in their special collections department. I am presently trying to get a copy of this.

Concerning using the Toolkit, I did some programming with it in 1984 and overall found it very powerful. But the biggest problem I had was trying to learn which Toolkit methods were needed versus those that were not needed. I think Apple could have documented this area better since I recall wading thru the Toolkit manuals and reading hundreds of methods that were overwhelming just in their number.

"The Lisa used shared libraries (much like the Mac OS on PPC has CFM libraries), rather than A-Traps as did the original Mac OS. I don't recall any mechanism for overriding a particular library routine, although one could certainly replace a whole library."

My understanding is that Lisa system calls were handled by the A-Line (1010-Line) instructions of the Motorola 68000 CPU. Each system call was an A-Line instruction containing 4 bytes with the first byte starting with hex A. The rest of the A-Line instruction contained the absolute address of the system routine. These instructions were handled by the Lisa's "intrinsic unit" manager which was a programming library whose purpose was to load (and I assume unload) intrinsic units. There were many intrinsic units which were dynamically loaded into memory and which were also shared by the different Lisa applications. The A-Line addresses were absolute which ment that they were fixed for each version of the Lisa OS. My understanding is that Lisa 2.0 applications could not run under Lisa OS 3.0 and vice-versa due to this A-Line architecture. I recall reading that Apple planned to remove this restriction in a future Lisa, but that never happened. These system call instructions also had special names when listed by LisaBug. For example, there were names such as IUJSR which means "instrinsice unit jump to subroutine" and was a variation on the 68000's normal JSR instruction. These intrinsic libraries also shared the same memory address space which was seperate from application address spaces. This means an application could not directly call an intrinsic unit since the address spaces were protected. Only a call to the OS via the A-Line instructions would invoke a system routine.

I agree with Larry and can't see how these A-Line instructions could have been overridden since you would first need to know which A-Line instruction corresponded to a specific system call (Lisa's low-level debugger LisaBug could give you this info). I'm also not sure if the intrinsic unit calling mechanism was designed to be overridden since the Lisa's low-level software architecture did not seem to be designed for extensionability in mind (at least that is my take on this, but Larry may know more about this since he was with Apple for a while on the Lisa development team). The IU calling code itself was most likely also in protected address space which means an application program could not alter this area. The Lisa did not have calls like the Mac's GetTrapAddress or SetTrapAddress calls which let a Mac programmer override Mac system calls.

Larry wrote in message #137 ...

"I think the Lisa apps must have been started before 1981, but I'm not certain. I joined the Lisa group in August 1982, and the team was at the point of integrating the apps together."

Most of the Lisa applications were started before 1981 and I believe this was in the middle of 1980. LisaWrite was the first application and I believe LisaTerminal was the last. In early 1980 the text-based Lisa was turned into a GUI-based Lisa whose guiding philosophy was the "Lisa Marketing Requirements Document" (MRD) that was written mostly by Trip Hawkins in March 1980. At around this time several people from Xerox such as Larry Tesler joined Apple to work on the Lisa and brought with them their Star and Alto GUI experiences."I disagree with the comment that "Apple wanted to create all the key Lisa software". The Toolkit was supposed to be the way for outside developers to write application. The intent was that Toolkit-written apps would work just as well as Apple-written apps in terms of functionality and integration."

My understanding is that the original focus of Lisa software development was based on Apple writing all the applications. Dan Smith, a member of the Lisa Desktop Manager team, said in a 1986 interview in Semaphore Signal magazine the following:

Signal: It's interesting how the Macintosh was able to successfully provide a standard set of programming routines for developers, even though they aren't object-oriented, compared to the Lisa group's inability to do that. Why?

Smith: It has to do with the initial orientation of the project. When I first started on the Lisa project, the goal was to produce a machine essentially not programmable by outside developers. When we later decided it would be appropriate to have outside software developed, we were in a little bit of trouble, because we had created quite a complex system. It was very difficult to program. Whereas the Macintosh software architecture tended to be open at the very outset, and all the routines were carefully documented and carefully designed with respect to outside people using them."During the development of the Lisa Toolkit we actually invited a few outside developers to spend a week at Apple to learn about the Toolkit and get help writing their apps. But the only app that I remember getting anywhere near shipping was a calendar program from Videx."

My understanding on this topic was Apple cancelled the Lisa internally before the Toolkit was completed which is the reason there were very few Toolkit-based programs created by outside companies. Larry Tesler, head of Toolkit development, lobbied Apple's executive staff to continue the Toolkit project and even got several Toolkit developers to provided videotaped interviews of why they thought the Toolkit was needed. I assume Tesler also told the Apple exec staff that the Toolkit could be used as a foundation for a similar framework on the Macintosh which eventually happened with the MacApp product. Tesler also later became the head of the MacApp group of which Rosenstein was a member.

I also recall that there were a handfull of Toolkit-based programs created by outside companies that included the Calendar program Larry mentioned, the CompuGraphic desktop publishing program, the Lisa-to-Macintosh migration kit which converted Lisa documents to Mac documents (Rosenstein wrote this). I believe there was a scheduler program written in the Toolkit but this may have been just a revision of the Calendar program.

Concerning Toolkit documentation, Apple produced some really good materials. There was an introduction to Clascal manual and 2 thick Toolkit reference manuals. The source for the Toolkit was also available which was sometimes beneficial to read when the manuals were unclear. There were also several magazine articles about the Toolkit such as BYTE's December 1984 article and an article in the Computer Language magazine (not sure of the issue but it has Niklaus Wirth on the cover I believe). Apple also produced a fair number of Toolkit sample programs that were beneficial such as a simple text editor, a box drawing program (LisaBoxer) and a music playing program. David Craig has all this stuff and plans one day to scan it for CD distribution.

> Regards,
> David T. Craig
> ###########################################################
> # David T. Craig -- CyberWolf Inc. -- ACI 4D Developer #5
> # Aspen Plaza, 1596 Pacheco, Suite 203
> # Santa Fe, NM 87505 USA
> # voice 505.983.6463 ext 15 -- fax 505.988.2580
> # dcraig_at_email.domain.hidden
> ###########################################################

MacResQ Specials: LaCie SCSI CDR From $99! PowerBook 3400/200 Only $879! Norton AntiVirus 6 Only $19! We Stock PARTS! <>

Shop and save. < stat?id=O7sajHhUCjc&offerid=13541.10000001&type=1&subid=0>

    / Buy books, CDs, videos, and more from \    / <> \ - - - - - - - - - -
This message is sent to you because you are subscribed to LisaList.

List info               <>
Send list messages to:  <mailto:lisalist_at_email.domain.hidden>
To unsubscribe, email:  <mailto:lisalist-off_at_email.domain.hidden>
For digest mode, email: <mailto:lisalist-digest_at_email.domain.hidden>
Subscription questions: <mailto:listmom_at_email.domain.hidden>
List archive:           <>

Host your mailing list for free at Maclaunch Received on 2001-01-03 15:52:12

This archive was generated by hypermail 2.4.0 : 2020-01-13 12:15:18 EST