Lisa Tool Numbers
When building a Lisa Application (Such as LisaWrite), the application is assigned a tool number, which is used to associate its components in the Office System's file system.
Accordingly, if there are two applications that have the same tool number, some misadventures are likely to ensue.
It isn't clear how Apple intended to manage Lisa tool numbers to prevent collisions, but we can try to minimize them by keeping track of what has been used. Hopefully some kind of tool-renumbering application can be devised if collisions become an issue.
Please append your tool number usage so this list can be maintained and avoid collisions.
If following the suggestion to use your Lisa's serial number as a base for your tool number(s), beware these situations in which the serial number is not unique to your Lisa as there may be many devices with the same serial number in the wild:
- If you have the "VintageMicros" Video PROM (supplied with a CF Card containing LOS and provided with some X/ProFiles and available separately), when viewing the serial number information using BLU, the first line shows FF028316 202560FF.
- If you are using Alex's fabulous LisaFPGA, when viewing the serial number information using BLU, the first line shows FF108332 100920FF.
Known Tool Numbers
Tool names in parentheses are planned/rumoured/in progress/etc.
2026-09-10
| Number | Tool Name | Source |
| 1 | LisaWrite | Apple Original |
| 2 | LisaGraph | Apple Original |
| 3 | LisaCalc | Apple Original |
| 4 | LisaDraw | Apple Original |
| 5 | LisaList | Apple Original |
| 6 | LisaBalls | Apple Original |
| 7 | LisaGuide | Apple Original |
| 8 | LisaProject | Apple Original |
| 10 | LisaTerminal | Apple Original |
| 11 | Configuration | Apple Original |
| 12 | Calculator | Apple Original |
| 13 | Clock | Apple Original |
| 31 | Calendar | Steve Vollum? |
| 101 | Phone Dialer | Scientific Enterprises Inc. |
| 103 | LisaList | AlexTheCat recompile |
| 104 | LisaTerminal | AlexTheCat recompile |
| 105 | LisaWrite | AlexTheCat recompile |
| 107 | LisaCalc | AlexTheCat recompile |
| 108 | LisaGraph | AlexTheCat recompile |
| 140 | Desktop Calendar | Videx Inc. |
| 200 | Recipe | ToolKit example compiled by Stepleton |
| 201 | Boxer | ToolKit example compiled by Stepleton |
| 201 | LOS Minesweeper | AlexTheCat |
| 202 | (Pong) | (unknown) |
| 202 | Reader | ToolKit example compiled by Stepleton |
| 203 | Keyboard | ToolKit example compiled by Stepleton |
| 204 | Clock | ToolKit example compiled by Stepleton |
| 205 | Sample | ToolKit example compiled by Stepleton |
| 206 | Checkerboard II | ToolKit example compiled by Stepleton |
| 207 | SamDialog | ToolKit example compiled by Stepleton |
| 208 | TwoText | ToolKit example compiled by Stepleton |
| 556 | TETRIS for LOS 3 (QuickPort) | Ried |
| 557 | TETRIS for LOS 3 (Native ToolKit) | Ried |
| 7xx | (Reservation Request) | RebeccaRGB |
| 32500 | LabeList | C.A.S.E.R. (Consortium of Associated Schools and Educational Resources) |
| 69105 | (PRISM) | warmech |
| 69106 | (Frisket) | warmech |
| 271828 | LisaMandelbrot | Stepleton |
| 314159 | (not recommended) | (nobody) |
| 419306 | Lisa XModem Utility | bmwcyclist |
| LisaCom | bmwcyclist |
| 419307 | Atkinsonpoint | bmwcyclist |
| 419308 | Lisa Slide Puzzle | bmwcyclist |
| 419309 | (Reversi) | bmwcyclist |
| 419310 | (LOS Tool Installer) | bmwcyclist |
| 419311 | LisaFileMover | bmwcyclist |
| 419312 | (Galaxy Patrol) | bmwcyclist |
| 419313 | (Moon Lander) | bmwcyclist |
| 419314 | (Checkers) | bmwcyclist |
LOS Minesweeper - Tool 201
Somebody emailed me a Pong game they created with Claude that also happens to be tool 202, so there's a conflict right there.
It's funny that everyone happened to choose 200-level tool numbers. My rationale was that my LOS recompiles were in the 100 range, so might as well go another 100 above that, but I guess if multiple people have the same thought process then it's not such a good idea after all...
I can't remember how I chose such a big number for LisaMandelbrot, but there is a chance that I used the recommendation in section 4.3 of the QuickPort guidance in the Lisa Pascal 3.0 System Software manual, found on PDF pages 381 and 382 here (https://www.bitsavers.org/pdf/apple/lisa/workshop_3.0/Lisa_Pascal_3.0_System_Software_1984.pdf). "We recommend you use your Lisa's serial number plus an offset. Using the serial number plus an offset will prevent duplication of tool numbers among different software developers."
Quote from: stepleton on August 08, 2026, 06:43:11 PMI can't remember how I chose such a big number for LisaMandelbrot, but there is a chance that I used the recommendation in section 4.3 of the QuickPort guidance in the Lisa Pascal 3.0 System Software manual
So 271828 = e * 10^5 is just a coincidence? Cool.
Third-party professionally-developed tools; disk images on bitsavers and asimov:
T31 - Calendar - (unknown) - Disk image contains no copyright information but does contain the name Steve Vollum. Steve Vollum was cofounder of E-Machines (manufacturer of Macintosh peripherals; not related to eMachines, manufacturer of never-obsolete PCs).
T101 - Phone Dialer - Scientific Enterprises Inc.
T140 - Desktop Calendar - Videx Inc.
T32500 - LabeList - C.A.S.E.R. (Consortium of Associated Schools and Educational Resources)
----
Can I preemptively reserve the 7xx range?
I have to wonder what the point of the tool numbers were.
Don't forget about all the period software we do have, too: https://docs.google.com/spreadsheets/d/1STG0Le_8dMHRLf026x6YfXzRQm2hD0igeZVb2Hx0Lxo/edit?gid=0#gid=0
Quote from: sigma7 on August 08, 2026, 07:38:55 PMSo 271828 = e * 10^5 is just a coincidence? Cool.
Haha I guess I was a smarter person back then.
Either way, we have the Apple recommendation, which is: serial number plus offset. So that's an option. I guess it's what gave me the feeling that non-Apple tool numbers should be large ones.
> I have to wonder what the point of the tool numbers were.
Deep down, the Office System doesn't seem to set much stock in visible names: you can give multiple files the same name within the desktop user experience if you wanted, and you could probably rename every single tool "Ham Sandwich" if you felt like it, too. So they may have felt they needed a unique behind-the-scenes identifier, and evidently they went with a number.
Quote from: blusnowkitty on August 08, 2026, 09:52:41 PMDon't forget about all the period software we do have, too: https://docs.google.com/spreadsheets/d/1STG0Le_8dMHRLf026x6YfXzRQm2hD0igeZVb2Hx0Lxo/edit?gid=0#gid=0
Perhaps someone who has those at hand could check: search the disk images for the 4 characters "}OBJ" and look at the number preceding, or look for the 2 characters "{T" and look at the number following. eg. the LisaDraw disk image contains {T4}OBJ.
The {T#} tool number prefix is also used for PHRASE and MENUS files, but I imagine they might not be present for some tools.
I don't mind following tradition. In fact, I think it's a good idea. I will change the number of my application and post here.
I don't know if I can do another build today, but I'll let you know this week.
My application number will be 419306
Stepleton's compiled ToolKit examples:
T200 - Recipe
T201 - Boxer
T202 - Reader
T203 - Keyboard
T204 - Clock
T205 - Sample
T206 - Checkerboard II
T207 - SamDialog
T208 - TwoText
Oh dear, more T200s. It's possible that the ToolKit examples are what's influencing coding agents to choose these tool numbers...
Heh, I started using 200+ because I figured it was well in the clear of other apps. Was talking to Alex the other day about that and we both independently chose overlapping IDs in the 200s for the same reason. I've got a few things I'm working on that will need to get modified in the long run, I guess.
For now, the long-term project I've got cooking in the background can be
T69105 - PRISM
Should we also list what project folks are working on to avoid duplicating efforts?
Quote from: bmwcyclist on August 12, 2026, 11:34:44 AMShould we also list what project folks are working on to avoid duplicating efforts?
I will start. Not all of these are LOS applications some more workshop, but I figured I put them all here anyway.
Lisa projects, current state:
1. LISA XModem Util (tool 419306) — public beta, active.
Beta 5 built tonight, deploy: terminal mode (⌘T, ⌘. exits, ⌘E echo, line stays open for modem use), Hang Up menu item, fixed "– more –" prompt, narrowed Sched_Class brackets.
Beta 4 is what testers have.
Backlog: background transfers · CRC-16 · YMODEM batch (after CRC) · FieldEdit dialog · List Files on non-2/10 volumes.
2. SLIDES (Workshop slideshow) — working, done for now.
The slideshow itself follows in the footsteps of Tom Stepleton's Teslerpoint — his pun on PowerPoint honoring Larry Tesler of the Lisa team.
Mine is an independent Pascal program for the Workshop rather than a fork of his bare-metal 68000 assembly, so the debt is inspiration, not code.
In the same spirit, I'm calling the Office System version "Atkinsonpoint," for Bill Atkinson — fitting, since QuickDraw draws every picture and Atkinson's own dithering algorithm renders the photos in two colors.
Adjust "mine" / "I'm calling" to taste. If you want it one sentence shorter, the last clause about dithering is the trimmable part — though it's the detail people will like most.
Full-screen .PIC show on real hardware, auto-advance, RETURN-fallback controls. The Workshop console's refusal to poll the keyboard is a documented dead end, not a bug to fix.
3. Atkinsonpoint / SLD desktop tool (419307) — set aside, unresolved.
Crashes with a reproducible bus error before displaying; disk cleanup and the heap enlargement both failed to fix it.
Next suspects on file: CopyBits dest rect vs the lent window, picP survival, step-by-step instrumentation.
Rename to Atkinsonpoint ready and waiting. Parked ideas: pictures from floppy, .PIX transfer via a shared engine unit, desktop-icon documents (research: Compiled_ToolKit_Examples.dc42).
4. lisapix.py — done. 1.1 with --window, all dithers, aspect correction.
5. lisafile.py — published to the community, done. Possible future: a detext extract command (lisafs as reference).
Quote from: stepleton on August 12, 2026, 03:26:20 AMOh dear, more T200s. It's possible that the ToolKit examples are what's influencing coding agents to choose these tool numbers...
Yeah, both Will and I chose the T200-range numbers ourselves. That wasn't a decision that either of us left up to Claude; it's just an insanely unfortunate coincidence.
Quote from: bmwcyclist on August 12, 2026, 11:34:44 AMShould we also list what project folks are working on to avoid duplicating efforts?
I think that would be a good plan!
Mine from before and another one that I hope to have finished in the next few weeks (that have tool numbers):
- T69105 - PRISM : A Z-Machine interpreter for LOS (V3-V5 story files supported, maaaaaybe V6 if I feel like hating myself enough). Paired with Tara McGrew's ZILF (https://zilf.io/), you can write your own Infocom-esque text adventures and play them on the Lisa! The 69105 number is an inside joke that showed up in a lot of Infocom games.
- T69106 - Frisket : Might as well just start at 69105 and go from there. Frisket is a secret project; I hope to unveil it in the next few weeks or so. Alex has seen it, so he can vouch for its existence, lol. If you know what a frisket is and what industry it's used in, you might have an inkling what this program relates to.
General utilities I need to publish:
- Icon Editor (web-based): allows you to create icon files fully compatible with the LOS format, because the toolkit icon editor is absolute garbage.
- Interface Mock-Up Editor (web-based): I find it tough to visualize how info/fields/objects in a window should be laid out, so this helps. It's a drag and drop WYSIWYG thing to let you lay out QD objects in a window and generate coordinates and definitions for everything to just slap into your program. No real code is generated, it just spits out what things are and where they go; you still have to write the Pascal to make them do things. I'd like to change that at some point, but that's waaaaaaay down at the bottom of my list of stuff to look into doing.
- UUENCODE/UUDECODE: I slapped these together as a quick and dirty means of getting binary files back and forth between the Workshop and my main development machine. I'll get these cleaned up and documented and publish the source in the next few days or so.
- Frisket-related utility that I won't go into yet...
Other stuff:
- Another secret project... Alex is getting a demo of it tonight in its current (very much beta) state.
Aw heck, I'm gonna go post a thread about what Frisket's for. There won't be a lot of details and it'll be a bit of a tease, but I think it's cool and folks will like it.
(in re everyone choosing T2xx tool numbers) Perhaps it was a latent appreciation for the 16-bit variants of the transputer (https://en.wikipedia.org/wiki/Transputer#T2:_16-bit)...
Quote from: sigma7 on August 08, 2026, 04:35:33 PMIt isn't clear how Apple intended to manage Lisa tool numbers to prevent collisions, but we can try to minimize them by keeping track of what has been used.
Apple exercised extremely strict control over who was allowed to develop for Lisa: Even people who bought Lisa Pascal Workshop, Lisa BASIC, Lisa COBOL, and Lisa C weren't treated as "full" Lisa developers, they could only really target the Workshop environment. To get access to the full set of Lisa units, you had to have a corporate entity that could enter into a contract with Apple (including a confidentiality agreement)
and have a business plan for a product approved by Apple. Then you were allowed into the developer program and got access to the Office System units and the Lisa Application ToolKit.
This is also how Apple initially ran Mac development; however, Apple started opening up development not long after the Mac shipped, and lots of tools sprouted since Inside Macintosh contained everything one needed to know to write software for it.
I have run into an odd problem.
After changing the tool number for my app it no longer allows me to copy it from a floppy to another profile image. It just hangs or gives me a "The Lisa is having technical difficulties accessing 'LISACOM" ON "Diskette" message.
Any ideas?
Quote from: warmech on August 12, 2026, 04:46:06 PMthe toolkit icon editor is absolute garbage.
Can you please tell me more about this tool?
Quote from: bmwcyclist on August 21, 2026, 12:24:35 AMQuote from: warmech on August 12, 2026, 04:46:06 PMthe toolkit icon editor is absolute garbage.
Can you please tell me more about this tool?
I believe it's on ToolKit disk 1 - ICONEDIT.OBJ. It's not a very friendly interface. There's no grid or coordinate indicator for positioning pixels exactly where you want/need them to be and clicking both draws and deletes pixels, so if you misclick (there's no undo), you can really mess up a drawing. It must have been an absolute pain to draw all the original icons on it.
Quote from: warmech on August 21, 2026, 12:22:50 PMQuote from: bmwcyclist on August 21, 2026, 12:24:35 AMQuote from: warmech on August 12, 2026, 04:46:06 PMthe toolkit icon editor is absolute garbage.
Can you please tell me more about this tool?
I believe it's on ToolKit disk 1 - ICONEDIT.OBJ. It's not a very friendly interface. There's no grid or coordinate indicator for positioning pixels exactly where you want/need them to be and clicking both draws and deletes pixels, so if you misclick (there's no undo), you can really mess up a drawing. It must have been an absolute pain to draw all the original icons on it.
Thanks! Does it allow you to "install" the icons? Any documentation?
Quote from: bmwcyclist on August 21, 2026, 01:47:51 PMThanks! Does it allow you to "install" the icons? Any documentation?
They get auto-installed for you. When you run ICONEDIT, you just specify the tool number that you want to create/edit the icon for, and it makes a file called {Txxx}ICON where xxx is the tool number. The Office System shell automatically picks up that file and displays it as the icon without you having to do anything extra.
Quote from: AlexTheCat123 on August 21, 2026, 02:29:45 PMQuote from: bmwcyclist on August 21, 2026, 01:47:51 PMThanks! Does it allow you to "install" the icons? Any documentation?
They get auto-installed for you. When you run ICONEDIT, you just specify the tool number that you want to create/edit the icon for, and it makes a file called {Txxx}ICON where xxx is the tool number. The Office System shell automatically picks up that file and displays it as the icon without you having to do anything extra.
Nice! I just tried it, and it fixed many of the issues I was having. The document frame is a bit restrictive... but it works.
Quote from: bmwcyclist on August 21, 2026, 02:48:16 PMNice! I just tried it, and it fixed many of the issues I was having. The document frame is a bit restrictive... but it works.
Yeah, it's a teeny tiny segment of your icon, which sucks, but I imagine they did that to not confuse users about whether they were interacting with the original application versus a piece of stationery. Regardless, it feels like you really are just designing an icon for the document frame rather than the application as a whole. :(
I would like to reserve Tool ID 556 and 557 for a project that I've been working on this weekend. More soon 8)
Edit: TETRIS for Lisa Office System 3. (https://lisalist2.com/index.php/topic,840.msg6479.html#msg6479)
The initial QuickPort version used Tool ID 556, while the current Native ToolKit version uses Tool ID 557.
Quote from: ried on September 06, 2026, 08:23:56 PMI would like to reserve Tool ID 556 for a project that I've been working on this weekend. More soon 8)
Can't wait!
Quote from: bmwcyclist on September 08, 2026, 12:01:10 PMCan't wait!
Wait no more: TETRIS for LOS 3. (https://lisalist2.com/index.php/topic,840.0.html)
Quote from: ried on September 08, 2026, 12:07:49 PMQuote from: bmwcyclist on September 08, 2026, 12:01:10 PMCan't wait!
Wait no more: TETRIS for LOS 3. (https://lisalist2.com/index.php/topic,840.0.html)
Fantastic!!!
I have been pondering reversi
Reserving a few more in my block, following on from 419306 (LISACom) and 419307 (Atkinsonpoint):
419308 - Photo sliding puzzle (uses .PIX packs from Atkinsonpoint)
419309 - Reversi
419310 - Standalone LOS tool installer (installs BBS/serial-downloaded tool packages on the desktop without Workshop; details in the LOS Tool Ideas thread)
The installer's packager would carry the tool number in the package header.
Quote from: warmech on August 12, 2026, 04:46:06 PMGeneral utilities I need to publish:
- Icon Editor (web-based): allows you to create icon files fully compatible with the LOS format, because the toolkit icon editor is absolute garbage.
Have you finished this and just not published it yet?
My icons are crap and I'm thinking about making a tool if you don't already have one
[/list]
Reserving more numbers in my block, please:
419312 Galaxy Patrol - a graphical LOS version of the 1971 public-domain
"Star Trek" game (own name, own ship names). Queued after Reversi.
419313 Moon lander - slow-real-time lander, public-domain 1969/1973 originals.
419314 Checkers - draughts vs the Lisa.
Status of the earlier ones: 419311 LisaFileMover is released (1.1),
419308 Lisa Slide Puzzle is in test, 419309 Reversi is next, 419310 (the
installer) is parked. (not able to achieve what I wanted)
Still waiting to find out if anyone is working on an improved icon editor...