LisaList2

Advanced search  

News:

2022.06.03 added links to LisaList1 and LisaFAQ to the General Category

Pages: [1]   Go Down

Author Topic: Programmatically detect MacWorks Plus  (Read 14705 times)

D.Finni

  • Sr. Member
  • ****
  • Karma: +38/-0
  • Offline Offline
  • Posts: 135
Programmatically detect MacWorks Plus
« 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?
Logged

jamesdenton

  • Administrator
  • Sr. Member
  • *****
  • Karma: +67/-0
  • Offline Offline
  • Posts: 164
  • ArcaneByte
    • ArcaneByte
Re: Programmatically detect MacWorks Plus
« Reply #1 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
Logged

rayarachelian

  • Administrator
  • Hero Member
  • *****
  • Karma: +105/-0
  • Offline Offline
  • Posts: 772
  • writing the code,writing the code,writing the code
    • LisaEm
Re: Programmatically detect MacWorks Plus
« Reply #2 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.
Logged
You don't know what it's like, you don't have a clue, if you did you'd find yourselves doing the same thing, too, Writing the code, Writing the code

D.Finni

  • Sr. Member
  • ****
  • Karma: +38/-0
  • Offline Offline
  • Posts: 135
Re: Programmatically detect MacWorks Plus
« Reply #3 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.
Logged

sigma7

  • Administrator
  • Sr. Member
  • *****
  • Karma: +150/-1
  • Offline Offline
  • Posts: 398
  • Warning: Memory errors found. Verify comments.
Re: Programmatically detect MacWorks Plus
« Reply #4 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.
Logged
Warning: Memory errors found. ECC non-functional. Verify comments if accuracy is important to you.

D.Finni

  • Sr. Member
  • ****
  • Karma: +38/-0
  • Offline Offline
  • Posts: 135
Re: Programmatically detect MacWorks Plus
« Reply #5 on: March 28, 2021, 08:19:29 pm »

Thanks, I'll try that.
Logged
Pages: [1]   Go Up