Shoebill - a Macintosh II + A/UX emulator for OS X

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Hi folks,

I've been working on an A/UX emulator for the past few years, and just released v0.0.1 on github:

https://github.com/pruten/shoebill

Shoebill is an all-new, BSD-licensed Macintosh II emulator designed from the ground up with the singular goal of running A/UX.

A/UX 1.x.x through 2.0.0 are supported currently, and 3.x.x support is in progress.

It's extremely buggy right now, very incomplete, and a little difficult to setup since you'll need to extract the A/UX kernel from your boot image (/unix).
Pro tip: (if you have an A/UX installation CD, you can boot directly from that.)

I'll work on getting up documentation in the near future. In the mean time, if anyone is so inclined and adventurous, you can try to get it running with a Macintosh II ROM, an A/UX installation CD image (v1 or v2), and the kernel from that CD.

Screencaps: https://github.com/pruten/Shoebill/wiki/Screenshots
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by ClockWise »

That's fantastic! Running A/UX has been one of my emulation dreams for more than a decade!

Are you emulating the MMU which is, I guess, the reason that Basilisk II and vMac cannot run that OS?

Please, please keep up informed about the progress of your work!
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Yeah, Shoebill emulates the Mac II's MC68851 PMMU coprocessor and NCR5380 SCSI controller.
I just started implementing hardware and instructions as necessary to get A/UX further along
in the boot process, so I don't know exactly why other emulators can't boot A/UX.

Booting regular Mac OS is a future goal, after getting A/UX 3 working.
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by adespoton »

Wow... if you're emulating the MMU... well, let's just say there are quite a number of emulators that could really use that code. If I can find the time, this might even get me interested in porting that code over to BII and MESS!

Please consider adding the MMU code to the MESS project as well; it would be good to have it documented there.
User avatar
UbuntuXP
Tinkerer
Posts: 68
Joined: Sat Feb 08, 2014 8:15 pm

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by UbuntuXP »

And if the MMU is emulated in Basilisk II, then it can be ported to SheepShaver. And if SheepShaver can emulate a MMU, it can run Mac OS 9.1 and later.
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

I'm trying to abstain from peeking at how other Mac emulators are implemented, so can't speak to exactly how difficult it would be. But decoupling the MMU from Shoebill would be a little tricky, since it's baked into the memory access primitives. The important chunk is this, for traversing page tables and doing the virtual address translation. The handful of PMMU instructions that A/UX actually uses are implemented in core/mc68851.c.

IIRC, there's an MMU patch for UAE floating around out there, so that'd be an easier way to add MMU support to Basilisk II.

As to MESS - doesn't it already have an MMU?
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by adespoton »

MESS has rudimentary MMU; but not an MMU that will run A/UX -- so you've obviously implemented a few things that aren't documented there. But if you're doing memory access shortcuts and not implementing the entire PMMU set, I'm not sure how useful merging will be. Definitely more work than I was originally thinking.
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Okay, it now has slightly better documentation

https://github.com/pruten/Shoebill/wiki/Getting-Started

Sorry I don't have better ideas for extracting the unix kernel from an A/UX install CD. I'm hesitant to post them online myself, even though Apple probably already did that back when they used to release A/UX minor version updates online. (If anyone has the A/UX 2.0.1 update, btw, I'd be very interested.)
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by 24bit »

Thanks for your labour of love and for sharing your work!
Anybody who owned one or more MacII´s (like me) will be eager to hear about your proceedings, I presume.

Could you eventually provide Shoebill´s ready made executables and GUI too?
I can´t seem to get things rolling easily with 10.8.5 and would rather not become too familiar with Terminal. :)
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Hey 24bit,

The releases page has a precompiled app. The emulator core is statically compiled into the GUI, so there are no other components you need to download.

Although, it is compiled against the 10.9 SDK... I'll look into switching to the 10.8 SDK, although I don't have a machine to test it on.
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by adespoton »

Any chance you could compile it against the 10.6 SDK? Supposedly 1 in 5 Mac users still uses 10.6, and a large number of them appear to frequent these forums :) Testing against 10.9 would probably still be fine, but at least it would be more likely to work under 10.6. Testing via VM would be fairly easy in VirtualBox if you can get your hands on a 10.6 DVD.
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Xcode 5 on Mavericks doesn't seem to support SDKs below 10.8, so I'm not sure how to build for 10.6 conveniently...
huntgr
Space Cadet
Posts: 1
Joined: Sun Mar 02, 2014 4:29 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by huntgr »

1. Are you just booting from the install image, or are you booting then installing the system to a blank image?

2. What are you doing to create disk images? I have tried to create many different types of blank disk images, but for some reason A/UX isn't mounting them.

3. Great job on this!
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by 24bit »

Thanks for caring pruten!
Seems I was too blind to see.

So I got the files, methinks:
A/UX 2.0 CD Image.toast
MacII.ROM
Shoebill.app
kernel: unix (From Protocol_7 Macintoshgarden)

Shoebill refuses to run on my 10.8.5 Hackintosh though. The app jumps in the dock but does nothing except for that.
Am I missing something obvious?
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

24bit,

I hacked together a universal build for 10.8, v0.0.1a. You can get it on the release page. I'll try to make future releases 10.8/universal compatible. Unfortunately, I don't have a convenient way to make 10.7 or earlier builds.

huntgr,

I'm generally booting from the install CDs directly. The disk images are presented to A/UX as real SCSI disks, so they do need partition maps. A/UX won't recognize a raw HFS volume on a disk image unless it's encapsulated in a partition. It seems that System 6 under A/UX 2.0.0 isn't capable of recognizing and formatting an unpartitioned disk, so I've been using System 7 under Basillisk II to partition my disk images.

I think there are CLI partitioning tools in A/UX 2.0.0, but I'm not sure what they are or how to use them.

Also, thanks :)
vasi
Tinkerer
Posts: 54
Joined: Mon Feb 23, 2009 11:46 pm

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by vasi »

You can install Xcode 3.2 on 10.9 (using some tricks), which allows you to build for 10.4-10.6. There are several guides for how to do this floating around, I think I used this one: http://lapcatsoftware.com/articles/xcod ... nlion.html . I recommend installing it in a custom prefix like /Xcode3 , so that it can't possibly interfere with your existing modern Xcode.

Another option is running 10.6 in a virtual machine, which is what I usually do.
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by uyjulian »

You can also download the 1.4, 1.5, 1.6 or 1.7 SDK somewhere on the internet (search engine) and put it in your SDKs directory.
vdb
Space Cadet
Posts: 2
Joined: Tue Mar 04, 2014 8:04 pm

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by vdb »

24bit wrote:Thanks for caring pruten!
Seems I was too blind to see.

So I got the files, methinks:
A/UX 2.0 CD Image.toast
MacII.ROM
Shoebill.app
kernel: unix (From Protocol_7 Macintoshgarden)

Shoebill refuses to run on my 10.8.5 Hackintosh though. The app jumps in the dock but does nothing except for that.
Am I missing something obvious?
Am I missing something obvious?[/quote]

When I use Protocol 7's kernel I end up with a black screen. When I use xunix extracted from the kernel archive img (cpio) in AUX_2.0_Install.sit_.hqx I can boot to the command line.

Is there any way to start an install (with System 6) to a new disk image ?
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Hey vdb,

What ROM are you using? IIci-and-newer ROMs paint the screen black (I think) because they have internal video chips that shoebill doesn't implement and that A/UX prefers to use. A/UX 2.0.0 and earlier don't support multiple monitors, so the second monitor is painted black. Shoebill should work with II/IIx/IIcx ROMs, (all of which are 256KB.)

It's interesting that the xunix will use the secondary screen, though.

There's currently no way to properly install A/UX. The only way for now is to create a new disk image, partition it (swap + svfs/ufs), and copy the contents of the CD to the new disk. Penelope used to have a procedure for doing this with A/UX 1.1.1 that should apply to 2.0.0 as well - but I've just been booting directly off the install CD.

If you do install A/UX onto another disk image, be sure to back it up! UFS/SVFS get corrupted really easily.
vdb
Space Cadet
Posts: 2
Joined: Tue Mar 04, 2014 8:04 pm

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by vdb »

With the Iici rom and xunix I only got a shell prompt.
with a Iicx rom and unix I now get a proper gui login screen.

Thanks for this great emulator. A/UX was my first 'real' Unix experience.
vdb
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Thanks! :)
User avatar
Amiganaut
Student Driver
Posts: 21
Joined: Fri Jul 24, 2009 2:44 pm

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by Amiganaut »

Thanks for working on this pruten! Never thought I'd see the day I could run a emulated A/UX. And this is on top of UAE being able to run AMIX.

There's a A/UX 0.7 archive on macintoshgarden that I've long been curious about. It's a tar archive of an installation so presumably it would have to be unpacked onto a disk image to boot. Have you any idea how I could go about doing this? Or would Shoebill be able to run it?
pruten
Tinkerer
Posts: 68
Joined: Thu Feb 27, 2014 3:10 am

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by pruten »

Shoebill 0.0.1 *currently* can't run it, because it expects there to be a Macintosh II video card (toby frame buffer) attached. I have a partly-emulated toby frame buffer card (core/toby_frame_buffer.c), but you can't currently access it via the GUI. I'll see what I can do for the next release :)

Btw, making progress getting A/UX 3.x.x to boot. Here's X11 kinda-sorta working http://i.imgur.com/EeiGQaa.png
User avatar
Amiganaut
Student Driver
Posts: 21
Joined: Fri Jul 24, 2009 2:44 pm

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by Amiganaut »

Nice! Looking forward to the next releases.

I have most of the A/UX 2.0.1 update but disk 3 is missing. Surely somebody must have a complete copy out there.
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: Shoebill - a Macintosh II + A/UX emulator for OS X

Post by Mominul »

Here you can find A/UX 2 and 3 update and others' -http://wdl2.winworldpc.com/Abandonware% ... Macintosh/
You can see Previous (A NeXT hardware emulator) -http://previous.alternative-system.com
Can you port Shoebill on windows and on Linux? You can use cmake a cross platform builder.

Mominul
Post Reply