Page 1 of 13

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

Posted: Thu Feb 27, 2014 3:41 am
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

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

Posted: Thu Feb 27, 2014 4:49 am
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!

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

Posted: Thu Feb 27, 2014 6:35 am
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.

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

Posted: Thu Feb 27, 2014 6:10 pm
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.

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

Posted: Thu Feb 27, 2014 9:19 pm
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.

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

Posted: Fri Feb 28, 2014 2:06 am
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?

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

Posted: Fri Feb 28, 2014 7:23 am
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.

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

Posted: Sat Mar 01, 2014 7:04 am
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.)

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

Posted: Sat Mar 01, 2014 2:20 pm
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. :)

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

Posted: Sat Mar 01, 2014 10:23 pm
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.

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

Posted: Sat Mar 01, 2014 11:00 pm
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.

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

Posted: Sun Mar 02, 2014 3:51 am
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...

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

Posted: Sun Mar 02, 2014 4:33 am
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!

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

Posted: Sun Mar 02, 2014 9:43 am
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?

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

Posted: Mon Mar 03, 2014 4:05 am
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 :)

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

Posted: Mon Mar 03, 2014 4:50 pm
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.

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

Posted: Tue Mar 04, 2014 6:21 pm
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.

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

Posted: Tue Mar 04, 2014 8:15 pm
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 ?

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

Posted: Tue Mar 04, 2014 9:54 pm
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.

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

Posted: Tue Mar 04, 2014 10:08 pm
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

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

Posted: Tue Mar 04, 2014 10:18 pm
by pruten
Thanks! :)

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

Posted: Fri Mar 07, 2014 2:52 pm
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?

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

Posted: Fri Mar 07, 2014 6:00 pm
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

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

Posted: Sun Mar 09, 2014 1:19 pm
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.

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

Posted: Wed Mar 26, 2014 1:05 pm
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