LisaList2

General Category => LisaList2 => Topic started by: D.Finni on March 19, 2021, 07:54:01 pm

Title: Programmatically detect MacWorks Plus
Post by: D.Finni on March 19, 2021, 07:54:01 pm
I see that MacWorks Plus installs a ROM image which identifies itself using the same version word as the Mac Plus ROM: $0075

I have code that checks the low byte of this word and if the high-bit is set, the code branches for Lisa/MacWorks. This code does not detect MacWorks Plus.

What should I do to detect the presence of MacWorks Plus?
Title: Re: Programmatically detect MacWorks Plus
Post by: jamesdenton on March 19, 2021, 10:55:00 pm
Not sure if you've read this, but perhaps there's something useful here?

https://lisa.sunder.net/MacWorks_Plus_Technical_Overview_by_Chuck_Lukaszewski3.pdf
Title: Re: Programmatically detect MacWorks Plus
Post by: rayarachelian on March 20, 2021, 12:07:32 am
If you can ask the OS for the size of the display that might do it. You should see 720x384 or 608x431 for the Lisa.
I don't believe any (non-XL) Mac used these sizes for video.
Title: Re: Programmatically detect MacWorks Plus
Post by: D.Finni on March 20, 2021, 02:01:48 pm
Not sure if you've read this, but perhaps there's something useful here?
Have read that; didn't see anything useful.

If you can ask the OS for the size of the display that might do it. You should see 720x384 or 608x431 for the Lisa.
I don't believe any (non-XL) Mac used these sizes for video.
Certainly that's one way to do it. If I can't find an Apple-sanctioned way to check for MacWorks Plus, then I'll do something like that.
Title: Re: Programmatically detect MacWorks Plus
Post by: sigma7 on March 22, 2021, 02:17:18 am
I see that MacWorks Plus installs a ROM image which identifies itself using the same version word as the Mac Plus ROM: $0075

I have code that checks the low byte of this word and if the high-bit is set, the code branches for Lisa/MacWorks. This code does not detect MacWorks Plus.

What should I do to detect the presence of MacWorks Plus?

MacWorks Plus / MacWorks Plus II typically masquerade as a Mac Plus because there was some software that would refuse to run on an X/Lisa on the assumption that MacWorks could not run it properly (which was true of MacWorks XL, but no longer true with MacWorks Plus ... more or less the reason for MacWorks Plus).

For its own purposes, MacWorks Plus code variants (eg. installers, desk accessories) check the long word at $400040 to find:

MW+ : 'MACW'
MW+2: 'MW+2'

There are also MW+/II version locations which contain p-strings:

MW+: $400088
MW+2: $400080

Since the version string isn't entirely predictable or reliable due to patches, it would be best to avoid making general decisions based on the version string.

As usual, you may choose to trust, but verify. HTH.
Title: Re: Programmatically detect MacWorks Plus
Post by: D.Finni on March 28, 2021, 08:19:29 pm
Thanks, I'll try that.