Short introduction to Mac emulators and their history

Anything about Mac emulation that does not belong in the above categories.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
Stephen Coates
Expert User
Posts: 868
Joined: Sat Aug 30, 2003 4:15 pm
Location: UK
Contact:

Short introduction to Mac emulators and their history

Post by Stephen Coates »

A few months back I wrote a post for someone on another forum who wanted a summary of the different Mac emulators. Here is the response I posted. This is unedited so there are still some spelling mistakes, but it does provide a simple introduction to the different mac emulators, so I thought it might be of use to someone.

----------------
I have had quite a bit of experience with mac emulators.

The best one is BasiliskII. I think there was an update a few months ago. Apart from that, there hasn't been any updates for a few years. There are two versions to choose from. The noraml version and the Jit version. I think the Jit version is faster.

Because BasiliskII is a 68k emulator (uses the same 68k emulator as UAE), it will only run upto MacOS 8.1.

It has planty of settings, including floppy, CD, HD, Network, Memory. Everything you could need. And it's free and open source.

It also has a feature called My Computer. It displays an icon on the Mac Desktop that is similar to the my computer icon on the windows desktop. In the config programme, you can select which windows drives you want to show up in the Mac. These drives will show up as folders in the Mac's My Computer windows. You can also drag files into a folder located in your BII folder, and these files will automatically be displayed in the My Computer window.

BII is still in development, but is the best Mac emulator. It is fast, has planty of features, and is very reliable.

This is definately the best Mac Emulator. It runs on Windows (there are win98 and NT versions, but they are both included in one package), Linux, BeOS, and Amiga.

Fusion PC runs in DOS and is OK, but hasn't been updated for years, but it can be a bit tricky to understand some parts of it.

SoftMac is developed by the same company as Fusion PC, Emulators Inc. (Fusion PC was purchased by emulators from Microcode Solutions a while back). SoftMac is commercial, but the free version is the same as the paid for version, but contains less stuff I think. SoftMac has a nice interface, and supports virtual SCSI disks. The Virtual Hard Disks used in BasiliskII show up as HDs, but are really just HUGE floppies. The SCSI disks in SoftMac are proper disks, and support things like partitioning.

Another option is Executor. This is also commercial, but has a free trial. It is developped by a company called ARDI. ARDI has had a few problems over this last couple of years, because the owner (I think) went into hospital. There hasn't been any news on there website for a while, so I'm not sure what state they're in.
Executor doesn't require you to have a copy of the MacOS, or a ROM, because it uses it's own system that will run MacOS software. It will only run System 6 and some System 7 software. It is availible for Windows and DOS.

The best site to visit for information on these and the PPC emulators is http://www.emaculation.com, some of the info there is a little outdated, but there are active forums.

Now onto the PPC emulators.

You need a PPC emulator to run MacOS 8.5 or above.

There is one called SoftMac professional that started a few years ago, but it's release date kept getting further and further away, and lat year, it was cancelled, so that no longer exsists, but there MAY be a new one coming soon.

The only decent PPC emulators are SheepShaver x86 and PearPC.

Sheepshaver was designed to run on PPC BeOS and was written by the person who wrote ShapeShifter, Basilisk and BasiliskII. It then got ported to windows (in 2003) by the same person who made the JIT version of BasiliskII. I can run upto MacOS 9. It is a bit unstable (especially the windows version), but it does work, and will run quite a few programmes.

PearPC got relesed either last year or 2003. It was the first (released) emulator that will run MacOSX. It will run MacOSX only (including Darwin and a couple of PPC linux versions). When it started it was extremely slow, but has spead up a bit. It is reasnobly stable (less stable than heepshaver for windows), but from what I've heard, it's really good. It will run MacOSX 10.1 upto 10.4. It doesn't require as ROM like sheepshaver does, because it doesn't actually emulate a Mac, but it does require the MacOS.

Here are the sites for these emulators:

SoftMac - http://www.emulators.com
Fusion PC - http://www.emulators.com
BasilsikII - http://www.students.uni-mainz.de/bauec002/B2Main.html
BasiliskII JIT and sheepshaver x86 - http://gwenole.beauchesne.online.fr/index.html
Executor - http://www.ardi.com
PearPC - http://pearpc.sourceforge.net/
PearPC support site - http://www.pearpc.net
---------------


Here is the link to the original topic that I posted it in:
http://invisionfree.com/forums/classica ... topic=1716


Hope it is of use to someone.

Steve
Stephen Coates
Expert User
Posts: 868
Joined: Sat Aug 30, 2003 4:15 pm
Location: UK
Contact:

Post by Stephen Coates »

I see this topic has had a lot of interest.

Would you all like me to refine this a bit and put it on the main emaculation site?
davidmsmall
Space Cadet
Posts: 2
Joined: Thu Dec 20, 2007 12:58 am
Location: Denver, Colorado, USA

Going even further back ...

Post by davidmsmall »

Coming to this website for the first time is quite a fun experience!

Let me see here ...

Let me run the history back some more. Why not?

In 1984 cameth the Mac, of course. I went and got one of the first 128K Macs, and later did the 512K RAM upgrade. (Am I really typing "K"? Wow.)

In Fall 1985 [October or so], at Comdex, the Atari ST (8 Mhz 68000) was shown, and some developer units were available. Got one. At that time their operating system wasn't done, and they had two ROMs and four empty sockets. I took the ROMs out of a Mac (the 64K ROMs, I don't think the 128K's existed yet), plugged them into the ever-so-convenient sockets in the ST (hey, why not?), and started disassembling and figuring out how to make the Mac ROMs run on the Atari ST hardware.
(The computer-copyright-act is very specific in what you're allowed to do to a program to get it to run ... durn near anything! I believe the language was there to allow runtime relocation and standard stuff, but it also allowed me to work on the ROMs. The DMCA, however, is different stuff; step carefully.)
Essentially, I was writing a new BIOS for the Mac -- keyboard, mouse, disk I/O, eventually sound, serial, and 87 things I've forgotten.
I had to spend some time and give myself a debugger, so I hacked one together in December. Then one day in January 86, a rounded rectangle popped up on the screen! I'd gotten enough right that the display code was starting to work. Um, basically I crashed my way forward ... make a little progress, crash, fix, repeat. Hey, there's a little Mac in the center of the screen. Hey, now it's smiling! Hey, look, there's a white bar at the top of the screen, and now there's an Apple menu, with File, Edit, and so forth on it!
I told Steve Mace over at Infoworld what I'd done, and he was tickled, so he ran a story on it. By then MacPaint was running ... a lot of things were running.
Showed it at 1986 West Coast Computer Faire as a proof-of-concept-demo that, well, worked. Man, did Apple attorneys want to talk to me! Where were my copies of Apple's ROMs? "What copies? These are originals, guys". I showed them. This seemed to stun them; they had not anticipated this idea.
But at the show I did get to meet Andy Hertzfeld, who wrote those ROMs, and Burrell Smith, who did the hardware, for the Mac, and they are great people. Andy had taught me elegance and tricks in his 68000 programming. (His recent book is well worth getting).
Spent spring and summer of 1986 taking the demo and whipping everything up into production status, and on September, it went on sale.
Eventually I learned how to read/write the Group-Coded Recording (GCR) old variable-speed Apple disks on a regular drive (like Atari or IBM's). Eventually made my own company, Gadgets by Small, and sold a little all-in-one thingo, a "Spectre GCR", which took 128K Apple ROMS and also was a disk controller.
Probably the most fun hack in the whole thing was teaching the 68000 to ignore the bus error that happened when Mac programs made memory pointer errors and stepped on location 0. On the Mac, 0 is RAM, no problem (well, immediately). On the ST, it's ROM, and bus errors. For awhile, I was patching programs on the fly, but I thought, "This is going to make me crazy".
I was looking at the stack one day after a bus error and found that the stack had the instruction word (IW); e.g., the 68000 opcode that had crashed it. Soooo, I thought, if you took the present program counter, backed it up, oh, 6 or 8 bytes (to fix prefetch), and scanned for that IW opcode, then, wrote a disassembler for that opcode that figured out how long the opcode ran in bytes, and set the PC to the beginning of the _next_ opcode (thus "skipping over" the crashing opcode), then treat the whole mess as an interrupt that we were returning from (setup the stack etc) ... it worked just fine.
And that paragraph is the secret to what made it all really fly. It just quit crashing. Eventually I caught *all sorts* of bus errors. People writing to the serial port. People trying to read the ROMs directly, or JMP to them.
Of course, the little part of the sentence that reads "write a disassembler" meant a whole world of pain, but it was finally worth it.
This takes us to 1990.
I eventually got to talk with the German guy who wrote a Mac emulator; the Atari ST was a much bigger computer overseas than in the US. It turned out that we both had had the key idea in the same month of the same year! It was a lot of fun to compare notes. They hadn't figured out the store-to-location-0 hack, so they'd had to (painfully) patch programs, and many versions of programs (see also: MacWrite). It really did make them crazy. However, they had a far better LaserWriter driver than I ever got. Ah well.
Eventually we did an Appletalk & SCSI board, then a 68030 board. A subtle problem in a memory controller chip kept us from shipping the 030 board. It turned out that rapidly switching banks of memory (each bank was 4 megabytes long, and there were two) caused the controller to lock up. Only rapid switching, like a stack going down, then up, would do it. Slow switching would not. 'Bout drove me crazy finding it!
Legalistic stuff ensued. I don't recommend this. Legal fees etc from this fun killed the company around '94; I decided to take some time off.

I had friends who were Amiga fiends (*grin*) but I never found a good Amiga developer to do a Mac-on-Amiga product. I had my hands plenty full with the Atari product. That's the only reason we never did an Amiga version. Certainly the Amiga had an excellent development suite. Later on, I heard of someone at Lake Havasu who had done one :-) [and more power to anyone who has]. There was at least one plug-in board for the PC that was a complete Mac done in FPGA's. I heard about the Executor, there was a nice Mac clone laptop made in Boulder (I have one). . .

And now, I come to this board, and I see there are a bunch of Mac emulators, and Mac-II's, and some are using the PowerPC processors.

What an amazing thing...

Let me see. It's December 2007. I started in (say) December 1985. That would make the Mac emulator (here I am counting on my fingers) 22 years old.

(And I was 27 when I started. Woah! )

I'm at davidmsmall /at/ gmail.com , or davetracer /at/ aol.com for those lively, spam-filled postings.

Thanks for the later history, Stephen; I enjoyed reading it.

Take care,

David Small
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Post by Cat_7 »

Hi,

Thanks for that great story. I didn't even know there was that much bare metal engineering going on in those days :lol: Nowadays it's all a software effort.

Any chance you would put those baffling programming skills into further developing SheepShaver? Many current Intel Mac OSX users are looking for a "classic" solution, but they soon run into the limitations of the current SheepShaver app.

A year ago a google search on SheepShaver gave you maybe three pages of results, today it produces 94.700 hits. So there is clear demand for the emulator....

Best wishes,
Cat_7
davidmsmall
Space Cadet
Posts: 2
Joined: Thu Dec 20, 2007 12:58 am
Location: Denver, Colorado, USA

Sheepshaver?

Post by davidmsmall »

I could certainly take a look.

As we used to say around the office, "What's it going to do, fail?".

It was our "What, me worry?" saying, because generally, it did fail.

thanks,

Dave
Stephen Coates
Expert User
Posts: 868
Joined: Sat Aug 30, 2003 4:15 pm
Location: UK
Contact:

Post by Stephen Coates »

Whilst I didn't understand it all (I'm probably not as claver as you), it was certainly interesting to read.
JeanJacquesCortes
Inquisitive Elf
Posts: 34
Joined: Sat Jan 05, 2008 10:14 pm
Location: 15 km de Bordeaux

Post by JeanJacquesCortes »

Hello Dave

I am very happy to see you are still alive and you continue to use computers.
I have some Atari ST (a 520 STF, A 520 STE extended to 4 MB and dual TOS 1.62/2.6, and a Mega STE extended to 4 MB and dual TOS 1.63/2.6, with a Megafile 30), a Spectre GCR 3.0 and your very funny chronicles which were translated in French by ST Magazine.
Post Reply