Login  •  Register


The time is now: Wed Jun 26, 2019 7:58 am

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 2 of 2 [ 36 posts ]    Go to page Previous  1, 2
Print view Previous topic  |  Next topic
Author Message
PostPosted: Thu May 12, 2016 4:50 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2612
Location: Emaculation.com
MeneerJansen wrote:
A Mac, back in the days, came shipped w/ Quickdraw 24 bit (in its ROM). That's not good enough for advanced graphics. So it was updated to Quickdraw 32 bit. That "upgrade" is simply achieved by placing the right file (the Quickdraw 32 bit file?) in the "System" directory on the hard drive of your Mac. It's what you might call a library now-a-days (Windows: DLL, Linux: shared objec or .so in the "lib" directory). The best term for it in this case is: application programming interface (API).

Anyway, where do I obtain said Quickdraw 32 file to drop in my System folder of OS 7.5.3? Strangely enough the hard disk image that comes w/ the Windows Basilisk version from this PoP fan site (the so called "PoP Macintosh Total Pack") gives me the Quickdraw error when I use it with my BasiliskII version on Linux. This might mean that the Quickdraw API is probably not in the system dir of that image. Strangely, the old deprecated Win version of Basilisk that comes with the "Macintosh Total Pack" does not complain 'bout Quickdraw. If I use the ROM that comes w/ the "PoP Macintosh Total Pack" then my Linux BasiliskII still complaines 'bout Quickdraw 32. So it's probably not in the ROM either...? Or won't BasiliskII load the Quickdraw API/extension from a ROM? That last thing seems plausible (see below).

Micht BasiliskII (for Linux) not be Quickdraw compatible? Because (bombshell, ha ha ;)): I got the Mac version of Prince2 working! But in Sheepshaver! Sheepshaver's GUI menu is almost exactly the same as BasiliskII's but under the tab "Graphics/Sound" there's a checkbox called "Quickdraw acceleration". This check box is not there in BasiliskII (for Linux, dunno 'bout the Mac or Win version).

I would still like to get Prince2 working in BasiliskII and MacOS 7.5 because the music in Sheepshaver is too slow. This might be better in BasiliskII.

And I want to learn how classic Mac OS works. That is: I'd like to see the Quickdraw 32 bit API do its work by simply putting its file in the system dir. They say that a Mac costed so much more money than a PC in those days not only because of its far, far better hardware but also because of the power of this sort of major updates to the OS. Simply put a sigile API file in the system dir and your whole machine is updated in a mayor way. In Windows, or Linux for that matter, this sort of accelerated graphics updates demanded a more complicated procedure in the technical sense (for the user it simply meant clicking an "install.exe" file). If your graphics card did not fully support, for instance, Glide (3DFx, Voodoo) then it might even make your system unstable etc.

I love to learn about the inner workings of computers and operating systems. That's why I use Linux ("Put the fun back in computing"). If something doesn't work then that can make one quite irate. But when you've learned how to solve a problem and learned why and how something works like it does, that's "the fun in computing". :)


You've almost got it, but not quite :)

The Macintosh System file is really an extension of the ROM chip embedded in early Macs -- the ROM is set up in such a way that the toolbox calls can be superimposed by the System file.

QuickDraw is the graphics display toolbox -- in Performa Macs, it was already written to the ROM, so you'll find all the routines in the Performa ROM file you're using. For older Macs, they weren't 32-bit clean, and so all their toolbox calls were only 24 bits. Mini vMac, for example, only emulates 24 bit Macs.

So a major part of the System file on older Macs contains the 32-bit addressed version of Quickdraw, for those machines that can use it. With System 7.1, Apple split these hardware-dependent toolbox calls out into their own files, separate from the System file -- and called them System Enablers. So each hardware configuration got its own custom System Enabler file in the System folder, containing the correct toolbox extensions for that hardware, and none other.

With System 7.5, Apple rolled all those back into the System file, like was done with System 7.0.

So 32 bit Quickdraw doesn't really have to do with the system software you've got installed -- it has to do with whether the computer you're using is 32-bit clean. Basilisk II ONLY emulates 32-bit clean Macs. The emulation code was designed around one of the Performas (the one equivalent to the LC III I think), and then patched to also emulate one of the Quadras (650?). With this, it is emulating the hardware surrounding the Motorola 68030 (no FPU) and Motorola 68040 (FPU on chip) chipsets. Both are 32-bit clean. The 68000 chip (Mac 128k, 512k, 512ke, Plus) and the 68020 chip (Mac II series) come with 24-bit Quickdraw on ROM, and weren't 32-bit clean, so can't run PoP2. The Mac SE/30 was 32-bit clean, but came with 24-bit Quickdraw on ROM, so was patched via the System file once System 7 came along.

In general, extensions to the ROM toolbox can be stored in one of four places: the System file, the Extensions folder, the Control Panels folder, or right in the System folder. They need the correct type and creator to function in these places.

Load order is also important, and goes like this:
ROM
System file
System Enabler file
Special files in the System folder
Extensions folder
Control Panels folder

Anything lower down in the list that traps the same toolbox as anything higher up in the list will overwrite it.

In System 6, Control Panels and Extensions were stored directly in the System folder and called CDEVs and INITs (after their type codes).

So... now on to Quickdraw accelleration. Quickdraw accelleration came along with PPC macs, where the 68k Quickdraw code was patched with PPC code to enable faster drawing to the screen. SheepShaver can set the ROM bit to enable this, or disable it if you want to use 32-bit Quickdraw which is more compatible with older software.

What I'd really suggest is switching to a Quadra ROM and ensuring 68040 emulation is enabled, and that the emulator is reporting as a Quadra; beyond that, make sure that both the emulator and the OS are in 256 colour mode. This will give you the best setup for emulating software from the PoP2 era.

Oh, and one other thing: you might also have difficulties with older software and ROMs using screen resolutions that are non-standard for Mac hardware. I'd recommend 800x600, which has always worked for me. Some software that requires 256 colours will only work in 640x480. 1024x768 is non-standard for all Mac models (although I use that size myself to make video recording easy).


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu May 12, 2016 5:02 pm 
Offline
Master Emulator

Joined: Fri Sep 17, 2004 4:22 am
Posts: 339
I'm inclined to believe none of this has anything to do with Quickdraw. All sorts of people have been running BasiliskII for many years now and have never had problems like this. (Consider: why would that fan site provide a complete package for running PoP2 in which PoP2 doesn't even run?)

It is more likely that when you ran BasiliskII, the program incorrectly determined that you weren't running with 256 colors; this is a problem people have run into before. As discussed in, for instance, http://www.emaculation.com/forum/viewto ... f=6&t=7864 , this is sometimes just a matter of going to the Monitors control panel and re-selecting 256 colors.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu May 12, 2016 9:17 pm 
Offline
Student Driver
User avatar

Joined: Mon May 09, 2016 3:04 pm
Posts: 22
Jorpho wrote:
I'm inclined to believe none of this has anything to do with Quickdraw. All sorts of people have been running BasiliskII for many years now and have never had problems like this. (Consider: why would that fan site provide a complete package for running PoP2 in which PoP2 doesn't even run?)

It is more likely that when you ran BasiliskII, the program incorrectly determined that you weren't running with 256 colors; this is a problem people have run into before. As discussed in, for instance, viewtopic.php?f=6&t=7864 , this is sometimes just a matter of going to the Monitors control panel and re-selecting 256 colors.

I don't think that you've understood me correctly. Let me explain.

1. Prince2 does run in the old deprecated Windows version of Basilisk that the fansite distributes (in their "complete package"; it contains Basilisk, a hard disk image w/ OS 8.6, Prince2 and a ROM). I ran it in Wine (sort of a Windows emulator in Linux). And indeed: Prince2 does run in that complete package. But when I use that ROM and drive image in BasiliskII for Linux it doesn't.

2. To get Prince2 running in Sheepshaver I indeed need to set the colors to 256. And then it works. I do the same in BasiliskII, so your assumption that I don't is not true.

3. A lot of programs may not need 32 bit Quickdraw and work just fine w/ the 24 bit version. Or maby BasiliskII for Linux was compiled from source code without support for Quickdraw 32. Who knows.

4. If its not a Quikdwaw problem how do you explain the game not running in BasiliskII and the missing option to set it on whereas it can be set on in Sheepshaver? See screenshots of Sheepshaver and BasiliskII.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu May 12, 2016 9:48 pm 
Offline
Student Driver
User avatar

Joined: Mon May 09, 2016 3:04 pm
Posts: 22
adespoton wrote:
You've almost got it, but not quite :)

The Macintosh System file is really an extension of the ROM chip embedded in early Macs -- the ROM is set up in such a way that the toolbox calls can be superimposed by the System file.

QuickDraw is the graphics display toolbox -- in Performa Macs, it was already written to the ROM, so you'll find all the routines in the Performa ROM file you're using. For older Macs, they weren't 32-bit clean, and so all their toolbox calls were only 24 bits. Mini vMac, for example, only emulates 24 bit Macs.

So a major part of the System file on older Macs contains the 32-bit addressed version of Quickdraw, for those machines that can use it. With System 7.1, Apple split these hardware-dependent toolbox calls out into their own files, separate from the System file -- and called them System Enablers. So each hardware configuration got its own custom System Enabler file in the System folder, containing the correct toolbox extensions for that hardware, and none other.

With System 7.5, Apple rolled all those back into the System file, like was done with System 7.0.

So 32 bit Quickdraw doesn't really have to do with the system software you've got installed -- it has to do with whether the computer you're using is 32-bit clean. Basilisk II ONLY emulates 32-bit clean Macs. The emulation code was designed around one of the Performas (the one equivalent to the LC III I think), and then patched to also emulate one of the Quadras (650?). With this, it is emulating the hardware surrounding the Motorola 68030 (no FPU) and Motorola 68040 (FPU on chip) chipsets. Both are 32-bit clean. The 68000 chip (Mac 128k, 512k, 512ke, Plus) and the 68020 chip (Mac II series) come with 24-bit Quickdraw on ROM, and weren't 32-bit clean, so can't run PoP2. The Mac SE/30 was 32-bit clean, but came with 24-bit Quickdraw on ROM, so was patched via the System file once System 7 came along.

In general, extensions to the ROM toolbox can be stored in one of four places: the System file, the Extensions folder, the Control Panels folder, or right in the System folder. They need the correct type and creator to function in these places.

Load order is also important, and goes like this:
ROM
System file
System Enabler file
Special files in the System folder
Extensions folder
Control Panels folder

Anything lower down in the list that traps the same toolbox as anything higher up in the list will overwrite it.

In System 6, Control Panels and Extensions were stored directly in the System folder and called CDEVs and INITs (after their type codes).

So... now on to Quickdraw accelleration. Quickdraw accelleration came along with PPC macs, where the 68k Quickdraw code was patched with PPC code to enable faster drawing to the screen. SheepShaver can set the ROM bit to enable this, or disable it if you want to use 32-bit Quickdraw which is more compatible with older software.

What I'd really suggest is switching to a Quadra ROM and ensuring 68040 emulation is enabled, and that the emulator is reporting as a Quadra; beyond that, make sure that both the emulator and the OS are in 256 colour mode. This will give you the best setup for emulating software from the PoP2 era.

Oh, and one other thing: you might also have difficulties with older software and ROMs using screen resolutions that are non-standard for Mac hardware. I'd recommend 800x600, which has always worked for me. Some software that requires 256 colours will only work in 640x480. 1024x768 is non-standard for all Mac models (although I use that size myself to make video recording easy).

Thank you very much for your elaborate reply from which I learned a lot. I'm afraid I read it after my reply to Jorpho above, so forget about that.

I understand what you're saying, eventhough I'm by no means a system expert or software engineer. Some things are, of course, over my head. I took your tips to heart and did the following, using my previous OS 7.5.3 configured (virtual) hard disk drive. Here's what I did:

  • In the Graphics/Sound tab I set the resolution to 800 x 600. Unfortunately I cannot set color depth (to 256).
  • In the Memory/Misc tab I set the model ID to a Quadra (tried the MacIIci option too).
  • Tried to use a Quadra650 ROM and a Quadra900 ROM from Redundant Robot's site.
  • CPU type 86040 (tried a 86030 too).

This is what I see then. Forgive me for posting yet another screenshot. I don't know if the error says "No" or "n0" (as in the letter N and the number 0).
Image

However, I'm beginning to think more and more that it's a configuration problem by me, it's probably not BasiliskII. BII is made to emulate the 32 bit Macs so it should work w/ 32 bit Quickdraw. Sheepshaver probably has the option to set it on or off because it's made to emulate machines that have newer graphical API's as you explained (forgive me the layman's terms).


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu May 12, 2016 10:53 pm 
Offline
Master Emulator

Joined: Fri Sep 17, 2004 4:22 am
Posts: 339
MeneerJansen wrote:
Or maby BasiliskII for Linux was compiled from source code without support for Quickdraw 32. Who knows.
That would be an extremely mysterious change that probably would have caused a lot more problems for a lot more people before now.

Quote:
2. To get Prince2 running in Sheepshaver I indeed need to set the colors to 256. And then it works. I do the same in BasiliskII, so your assumption that I don't is not true.
Yes, you set colors to 256 in your Basilisk preferences – but nonetheless, you may still have to adjust colors in the Monitors control panel within MacOS after you start BasiliskII. I don't know why exactly this problem happens, but it's definitely a thing that has been known to happen. At times it is just a matter of switching it to 16 colors and then back to 256 again.

(In fact, this step is explicitly referred to on the site you linked to.)


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri May 13, 2016 1:49 am 
Offline
Master Emulator

Joined: Fri Sep 17, 2004 4:22 am
Posts: 339
I decided after saying all that I had no choice but to fire up Linux Mint in VMware and see for myself.

I ran "apt-get install Basilisk2" to retrieve whatever version of BasiliskII is currently in the Debian repositories. I set it up using the hard disk image from the site you linked to, as well as the emulation.rom. I disabled the cd-rom drive, set the screen size to 640x480, set the RAM to 32 MB, the machine type to Quadra, the CPU type to 68040, and set it to ignore illegal memory addresses.

Here's POP2 delivering the sad error message [before I realized I had to change the resolution]:
Image

Here's the Monitors & Sound control panel:
Image

And here is Prince of Persia 2, running in the Linux version of BasiliskII.
Image


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri May 13, 2016 3:01 pm 
Offline
Student Driver
User avatar

Joined: Mon May 09, 2016 3:04 pm
Posts: 22
Jorpho wrote:
I decided after saying all that I had no choice but to fire up Linux Mint in VMware and see for myself.

I ran "apt-get install Basilisk2" to retrieve whatever version of BasiliskII is currently in the Debian repositories. I set it up using the hard disk image from the site you linked to, as well as the emulation.rom. I disabled the cd-rom drive, set the screen size to 640x480, set the RAM to 32 MB, the machine type to Quadra, the CPU type to 68040, and set it to ignore illegal memory addresses.

Here's POP2 delivering the sad error message [before I realized I had to change the resolution]:
[cut]

Here's the Monitors & Sound control panel:
[cut]

And here is Prince of Persia 2, running in the Linux version of BasiliskII.
[cut]

Thank you for proving that BasiliskII for Linux indeed can run PoP2! I apologize for my insinuation that BasiliskII for Linux might have been compiled from source w/o Quickdraw support.

Finally found out what the problem was. I tried again to run the same version you ran. And lo and behold (no surprise to y'all) all of a sudden it worked. The trick was to set "Ignore illegal memory access" because without that the game crashes the whole emulator!

Then I tried it in "my my own" installation of MacOS 7.5.3 and it threw me the "N0 Game File" error again. That's probably a Prince2 error, not a general MacOS error. I re-unstuffed the Prince2 version that I downloaded from Macintosh Garden. And lo and behold: error gone. The .sit file was unpacked the wrong way! I don't know why. At first I suspected the Stuffit "standalone" version that's on the Stuffit Floppy Disk Image on the Wiki. That one worked for me to expand the installation disks. But expanding the Prince2.sit archive went wrong a few times (it didn't extract the game executable itself for instance). Tried it again on a fresh install of OS7.5.3 on a new empty virtual hard disk. Unpacking and running the game went just fine. Whaaaat? To make a long story short: unstuffing went wrong quite a few times. I don't know why. It's not the emulator nor the Prince2 archives I've downloaded: they all work.

However, it remains very important to check "Ignore illegal memory access". I've had the error message w/ the icon of a bomb too after executing the game if that option is not checked.

And now for the positive parts:

  • I've had a lot of help here from patient people. Thank you all.
  • Learnt things 'bout classic MacOS I never had the chance for back in the day: a Mac was far to expensive!
  • After all these years I've read somewhere that the Mac version of my favorite game of all time has twice the resolution of the PC version, the SNES version or the beta version for the Sega Megadrive.
  • Got to see (and hear) Prince2 in all its glory the way it was developed by Jordan Mechner and was meant to be experienced.
  • Got to run the game in BasiliskII which solves the music being to slow in Sheepshaver (!). Have to remark that the PC version's music still appears to run a bit faster, but that's nitpicking.
  • Got me some classic computer again to fiddle with! I love old stuff.

Image
Figure 1. Screenshot of the Mac version in BasiliskII.

Image
Figure 2. Screenshot of the PC version in DosBox. Notice the different resolution and different aspect ratio.

Image
Figure 3. Screenshot of the SNES version in DosBox. Notice the graphics being downgraded yet again and the backround even completely redrawn by an artist (look at the pilars).

Image
Figure 4. Screenshot of the beta version for the Sega Genesis (aka Mega Drive). Notice that the graphics of the SNES version were not used. The graphics look like the PC version bit it slightly altered for a downgrade.

Thank you all for the help an the patience! Might try to compile BasiliskII for my Raspberry Pi game center.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon May 23, 2016 2:04 pm 
Offline
Tinkerer

Joined: Wed Jan 27, 2016 12:25 pm
Posts: 99
MeneerJansen wrote:
After all these years I've read somewhere that the Mac version of my favorite game of all time has twice the resolution of the PC version, the SNES version or the beta version for the Sega Megadrive.

Image
Figure 1. Screenshot of the Mac version in BasiliskII.

Image
Figure 2. Screenshot of the PC version in DosBox. Notice the different resolution and different aspect ratio.



I noticed exactly the same thing with Spectre Supreme (which I first played on a 68040 Mac PB Duo in the 90s). I couldn't play my ancient copy on my iMac so I downloaded the DOS version and ran it in DOSBox. It looked awful! I thought to myself "Surely it was never as bad as this?"** Which led me to E-maculation and SheepShaver, where sure enough, Spectre Supreme played with all the resolution I remembered. It was only after that that I began to recreate my old Mac experiences more fully using SS. :smile:

**By the way - the difference between DOS and Mac versions of Spectre are far different than you see in PoP; the DOS version is truly awful, pixellated rubbish.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon May 23, 2016 5:04 pm 
Offline
Student Driver
User avatar

Joined: Mon May 09, 2016 3:04 pm
Posts: 22
TiddK wrote:
I noticed exactly the same thing with Spectre Supreme (which I first played on a 68040 Mac PB Duo in the 90s). I couldn't play my ancient copy on my iMac so I downloaded the DOS version and ran it in DOSBox. It looked awful! I thought to myself "Surely it was never as bad as this?"** Which led me to E-maculation and SheepShaver, where sure enough, Spectre Supreme played with all the resolution I remembered. It was only after that that I began to recreate my old Mac experiences more fully using SS. :smile:

**By the way - the difference between DOS and Mac versions of Spectre are far different than you see in PoP; the DOS version is truly awful, pixellated rubbish.

Maybe off topic: do you know of other classic games that are better on the Mac than on another platform? I'd like to try some more... :-)


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon May 23, 2016 8:05 pm 
Offline
Tinkerer

Joined: Wed Jan 27, 2016 12:25 pm
Posts: 99
MeneerJansen wrote:
Maybe off topic: do you know of other classic games that are better on the Mac than on another platform? I'd like to try some more... :-)

I'm afraid I don't. :sad: Nearly all my gaming has been on Mac. :smile:


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue May 24, 2016 11:28 am 
Offline
Tinkerer

Joined: Fri Nov 09, 2007 5:42 pm
Posts: 99
MeneerJansen wrote:
Maybe off topic: do you know of other classic games that are better on the Mac than on another platform? I'd like to try some more... :-)


I think a new thread with a list of games that had better or different mac versions would be a good idea.


Wolfenstein 3D has much better graphics and sound on Mac, only downside everything is a 2D Bitmap, so if you walk around a table you see how a flat picture always faces you.

Return to Zork had a MPEG Version for Mac (not sure if it was also released for other platforms)

I think the Lucas Arts games like Monkey Island had better Mac version too, but those are playable in ScummVM, no emulator needed.


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 2 of 2 [ 36 posts ]    Go to page Previous  1, 2


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
 

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group