• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Mini vMac gets FPU emulation!

macgeek417

Well-known member
September 19, 2009
Ross Martin has implemented FPU emulation for Mini vMac, for x86 linux. This is a major step towards a more complete Mac II emulation. He also implemented 32 bit color for the gtk port. I've uploaded his source code here.

I'll merge this into the Mini vMac 3.2.0 branch I've begun. This branch so far has mostly source code clean ups. This seemed a good a time as any for cleaning. I find it a good way to turn up for bugs. A few minor issues turned up, but not enough to warrant making a 3.1.3 beta. Then I received an anonymous report of 16 and 32 bit color not working (in the Mac II emulation) for Mac OS X on PowerPC, and patch to fix it. That is enough, along with the other issues, so I think I'll make a new beta.

Ryan Schmidt reports that the Mini vMac build system doesn't support XCode 3.2. I may need to obtain Snow Leopard after all before 3.1.x can be final.

Another anonymous contributor sent versions of David Sibley's Mini vMac OS X icons converted for Windows. I've uploaded the files here and here. I'm not very familiar with how custom icons are used in Windows. I'll need to investigate further, and then add them to the Mini vMac Extras.
 

Gorgonops

Moderator
Staff member
It looks like Mini vMac could become a serious contender to (buggy-as-hell) Basilisk II.
I'm impressed with the amount of hate BasiliskII seems to generate around here. ;^)

I've never had much of a problem with BasiliskII, at least in the sense that it's never seemed any more buggy and crashy then an actual 68k Mac with networking enabled. Assuming you get a good build, that is. Building it from scratch on Linux was always a black art. For some reason SheepShaver seems much more forgiving.

So far as Mini vMac goes, someone can wake me when it supports networking. At the very least it'd be nice if it would emulate serial ports as a UNIX socket so in principle at least you could fake Appletalk or PPP to it.

 

Mac128

Well-known member
So far as Mini vMac goes, someone can wake me when it supports networking. At the very least it'd be nice if it would emulate serial ports as a UNIX socket so in principle at least you could fake Appletalk or PPP to it.
I've never been a big fan of Bailisk II, SheepShaver is indeed much more forgiving and much easier to set up. Then again B-II runs much earlier systems, so I guess it all depends on how married one is to color System 7. I kind of glossed over the System 7 days and all the extension conflicts and embraced System 8 anyway ... so my interest is somewhat tainted.

As for Mini vMac ... I've never understood the need for networking in an old environment anyway, though I have occasionally used SheepShaver to pull files directly off an older Mac and download directly into the emulator from the web, which reduced the import process. With HFS write disabled in Snow Leopard and likely to got away completely in 10.7, its importance increases for getting files in an out. Will Basilisk II use AppleTalk AFP 2.x and earlier, or does it also rely on the host system's networking abilities?

I've made several appeals to Paul Pratt about adding serial port functionality and/or networking (as well as specifically to grab drivers for proprietary use of things like AppleTalk for interacting with vintage hardware). However, Paul has no interest in devoting resources to develop such functionality and no one else seems to either. His interest is more exclusively for emulating specific hardware as a platform to run vintage software. However, what Mini vMac offers is an ease of use that the other two do not. Setup and drag-and-drop disk images among those things. Plus it has one major thing going for it: ACTIVE DEVELOPMENT. Wake me when somebody starts working on Basilisk II and SheepShaver again ...

 

Byrd

Well-known member
Another big fan of Basilisk II here - over seven years ago I was able to boot off my old IIfx 160MB SCSI disk off a very generic PC (with SCSI card), running as I used to remember it (my IIfx died many moons ago). You can't do that with vMac or Sheepshaver.

I realise it hasn't been updated for several years either - perhaps it has become more buggy on newer hardware, but in it's day it was fantastic.

JB

 

protocol7

Well-known member
I realise it hasn't been updated for several years either - perhaps it has become more buggy on newer hardware, but in it's day it was fantastic.
Sadly, it has. At least the last time I tried it a couple of months ago.

Around 2000 I was using BasiliskII regularly in Windows. Had a pretty sweet setup. With the SCSI "emulation" I could even burn discs on my PC's CDRW using Toast. Fast forward to a couple of months ago and I wanted to try it again. Couldn't even get it to boot into MacOS. Black screen. Apparently it's a problem with nvidia cards or something. In any case, after trying a few possible fixes, I gave up and just ran the OS X version to do what I wanted to do. Sheepshaver, on the other hand, is pretty good here.

 

Mac128

Well-known member
Another big fan of Basilisk II here - over seven years ago I was able to boot off my old IIfx 160MB SCSI disk off a very generic PC (with SCSI card) ... You can't do that with vMac or Sheepshaver.
Gorgonops theorizes in this post that something very similar can be done with SheepShaver using a SCSI-to-Firewire adapter.

 

Watchsmart

Active member
Here's a build from 2008 that doesn't have the black screen:

http://www.open.ou.nl/hsp/downloads/BasiliskII_27_08_2008.zip

It is based on the older versions that you used, and is thus a bit slower (but on a modern system, the speed doesn't really matter).

I realise it hasn't been updated for several years either - perhaps it has become more buggy on newer hardware, but in it's day it was fantastic.
Sadly, it has. At least the last time I tried it a couple of months ago.

Around 2000 I was using BasiliskII regularly in Windows. Had a pretty sweet setup. With the SCSI "emulation" I could even burn discs on my PC's CDRW using Toast. Fast forward to a couple of months ago and I wanted to try it again. Couldn't even get it to boot into MacOS. Black screen. Apparently it's a problem with nvidia cards or something. In any case, after trying a few possible fixes, I gave up and just ran the OS X version to do what I wanted to do. Sheepshaver, on the other hand, is pretty good here.
 
SheepShaver is terrible as well. I had nothing but terrible luck with that program.

All I wanted to do was play SimTower. I set up a Mac OS 8.6 install, something like that, and I loaded up SimTower and it will only play for 10 minutes before it freezes. A few times SheepShaver even caused Leopard to freeze! I had to reboot the entire Mac!

 

Gil

Well-known member
SheepShaver's networking support is the worst. I actually got mine to work once, for about an hour, and then I've never been able to get it to work since

 

protocol7

Well-known member
I think I tried that 2008 Basilisk II build as well and it failed for some reason or other. Even went right back to the old 2000 or 2001 builds. Back in the good old days I was running 2000 and then XP. Now it's 7 and 64-bit to boot, so there's probably a few gremlins added to the mix.

As for SheepShaver it works fine for what I need in most cases. The only networking I use is the router emulation so I can get it online.

 

Watchsmart

Active member
The black screen, at least, doesn't happen in the older build. The bug was introduced along with the JIT code which is wholly unpresent in the 2008 build.

 

Gorgonops

Moderator
Staff member
Surveying the complaints people have about BasiliskII and SheepShaver I think what's really going on with them falls into two categories:

1: They're too complicated, and

2: Bad luck with OS-specific ports or builds.

In reference to #1, SheepShaver and BasiliskII (BasiliskII in particular) are flexible pieces of software. They work with numerous ROM images, they have oodles of run-time configurable options, and they support *much more* functionality then vMac ever did. (Serial port emulation, SCSI manager, direct drive access...) Most of the development work for these emulators goes toward improving the functionality or performance of them, not towards making them simple to use. And the fact that it's illegal to "bundle" them with known-reliable-and-tested ROM and operating system images means that no matter how good a GUI you slap on top they're always going to have something of a steep learning curve, and will work better for some people then others.

vMac, by contrast, has nearly every option set at compile time. A given binary emulates a single machine, supporting a single ROM image, and emulating a very limited set of peripherals. It's nowhere near as ambitious, and thus it's worlds simpler. It's the difference between flying an F-15 Eagle and a Piper Cub. The fact that the Cub is easier to fly doesn't necessarily make it a better airplane.

With reference to point #2, I started using BasilikII *way back* in 1999 on Linux. (The original non-JIT processor emulation managed somewhere in the ballpark of LC II-level performance on the 133Mhz Cyrix machine I ran it on. Those were the days.) It was hard to compile (this problem got much worse in the months after the JIT compiler debuted), the methods for dealing with HFS images were primitive at best, if you wanted to use networking you had to go through some positively baroque processes manually... basically, all the sort of things that'd make your average Mac user's head implode. Lately, however, the Linux versions have gotten *very good*. I've had basically zero problems since they ported BasiliskII to use SDL for video output (there were some long-running annoyances prior to that), and Sheepshaver is likewise trouble-free.

The software was originally focused on UNIX/Linux platforms with X11. The Windows version was always something of an afterthought, and although it seems like OS X is where the most *user* interest lies now the quality of the code going into the OS X conversions just don't seem that great. (I get the feeling that some of the most competent core developers either don't care about non-Linux platforms or have moved on.) It's a pity, but I'd still say it's a bit unfair to say that SheepShaver/BasiliskII "suck". It's more accurate to say that the quality control of the released binaries for those OS'es ports suck. :^b

(You do have to consider that when you download a binary build off a forum, which seems to be the way to get Sheepshaver these days, you're looking at something someone compiled out of CVS, fired up for long enough to verify that it doesn't choke *immediately*, and then unleashed on the world with hopes that the last dozen fixes checked in for obscure problems actually worked. To get tested bug-free software you have to pay beta-testers, which means you have to pay for the software. With free open-source projects like this it's not really free: You *are* paying for it with your beta-testing time.)

If vMac does everything you want it to do use it. It is *simpler*. I just have my doubts that if vMac were to actually grow to cover even a subset of the feature territory that BasiliskII does that its quality will be any better.

It would be interesting if vMac were to try harder to be a full cycle-accurate "all-hardware" emulator with its Mac II support, with the ultimate goal being to emulate an MMU-equipped MacII-family machine well enough to run A/UX. (edit, not OS X, duh) But honestly, I'd almost bet on MESS beating them to it.

 

MacJunky

Well-known member
Now it's 7 and 64-bit to boot, so there's probably a few gremlins added to the mix.
One of the bigger annoyances I have with it is a lack of a way to access physical optical discs. :/ Now when I want to get files off CDs in 64bit win 7 and 64bit vista I use a real Mac to put the files on an image and copy that image to the PC. It may work most of the time but it is far from ideal.

Also HFwhateverExplorer under vista and win 7 seems to trash the resource forks of files if you try to copy from image to image, it works fine in XP however. -_-

 

protocol7

Well-known member
One of the bigger annoyances I have with it is a lack of a way to access physical optical discs. :/ Now when I want to get files off CDs in 64bit win 7 and 64bit vista I use a real Mac to put the files on an image and copy that image to the PC. It may work most of the time but it is far from ideal.

Also HFwhateverExplorer under vista and win 7 seems to trash the resource forks of files if you try to copy from image to image, it works fine in XP however. -_-
Yeah, the loss of cdenable.sys is annoying. I wish someone would try to build a 64-bit version. The driver signing wouldn't an issue for me as I override it for other drivers. But iso images work, so at least there's a way around it. BTW, you can image the CDs in Windows just fine.

As for HFVExplorer, I haven't noticed any problems with trashed resource forks, but then I mostly do any moving between images inside SheepShaver. I did use HFVExplorer to copy files from images to floppies on occasion and didn't notice any trouble there. But I'll pay closer attention next time.

 

Watchsmart

Active member
There is a further (small) update to Mini vMac now available:

http://minivmac.sourceforge.net/

"There is now a Mini vMac 3.1.3 beta, with a few small bug fixes. (The Variations service is also updated.) Thanks to an anonymous bug report and patch, 16 and 32 bit color will now work in Intel OS X (to the extent that the incomplete Mac II emulation works at all).

I've noticed that if Mini vMac is in Stopped Mode, mouse and keyboard events are no longer discarded, but saved in the Mini vMac event queue and played back upon leaving Stopped Mode. This might not be quite what is expected, but I've not changed this, since it turns out to be a good way to test that the new event queue code works as expected. Which it didn't. I've fixed several bugs in it. (The new event queue code is supposed to ensure that mouse and key events are handled accurately, even if emulation is not getting time to run regularly.) Also fixed is a bug where if Mini vMac for OS X was in Stopped Mode, error messages such as for failing to open a disk image would not be displayed."

If you feel strongly about the project, you can also donate a few bucks (I did):

http://www.gryphel.com/c/minivmac/help.html

 
Top