Page 8 of 13

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

Posted: Mon Sep 15, 2014 8:44 pm
by emendelson
Will try later on and report. Thanks!

(Unfortunately, where I am now, I have only a wifi connection to my Mac unless I get one of those Thunderbolt-to-ethernet adapters, which I probably need for other purposes also.)

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

Posted: Mon Sep 15, 2014 10:26 pm
by neozeed
I can probably also do a libpcap port to networking, the only caveat is that the machine hosting the a/ux cannot communicate with the virtual A/UX.. But otherwise it'd appear on the LAN.

I would base it off of the networking code from SIMH...

Although there is all kinds of cool stuff one could do..

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

Posted: Tue Sep 16, 2014 12:57 am
by emendelson
pruten wrote:Try using A/UX 3.0.0 instead of 3.0.1. I was able to ping 3.0.1 at one point, but couldn't connect to any servers... they might just not be configured by default
Unfortunately, the only A/UX 3.0.0 disk image I can find has something wrong with it, and produces an error message when I give the newconfig command - and so it doesn't install the network card. I don't remember where I found it, but the zip has the name AUX_3_Use_in_Shoebill.zip.

Does anyone have a working 3.0.0 disk image that they might be wiling to let me know about in a PM, perhaps with a download location? I'm willing to return the favor with 3.0.1 to regular users of the forum, but it's easy to find the 3.0.1 CD Install disk that I've been using.

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

Posted: Tue Sep 16, 2014 1:24 am
by neozeed
emendelson wrote:
pruten wrote:Try using A/UX 3.0.0 instead of 3.0.1. I was able to ping 3.0.1 at one point, but couldn't connect to any servers... they might just not be configured by default
Unfortunately, the only A/UX 3.0.0 disk image I can find has something wrong with it, and produces an error message when I give the newconfig command - and so it doesn't install the network card. I don't remember where I found it, but the zip has the name AUX_3_Use_in_Shoebill.zip.

Does anyone have a working 3.0.0 disk image that they might be wiling to let me know about in a PM, perhaps with a download location? I'm willing to return the favor with 3.0.1 to regular users of the forum, but it's easy to find the 3.0.1 CD Install disk that I've been using.
PM sent :mrgreen:

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

Posted: Tue Sep 16, 2014 3:01 am
by neozeed

Code: Select all

Assertion failed: !"unknown fpu inst", file ../intermediates/fpu.post.c, line 346
the more usable shoebill gets the more I'm getting FPU errors.... Is there some kind of generic error I can pass back? I'm going to try to return -1 instead of crashing... Although I guess that'll screw things up, huh?

Does anyone know if there is a way to compile with cc or gcc to force soft float?

I know it's apples to oranges, but a Mac XX scored:

Code: Select all

Dhrystone 2 w/o register vars (loops per sec)	14206	14739
but they never mention what machine they ran it on

And Dhrystone 1.1 on Shoebill

Code: Select all

fluffy.root # gcc -O2 dhrystone.c -o dhrystone-gcc;./dhrystone-gcc
Dhrystone(1.1) time for 500000 passes = 18
This machine benchmarks at 27777 dhrystones/second
And I'm using a Xeon E3-1230 v3 @3.30Ghz

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

Posted: Tue Sep 16, 2014 3:38 am
by pruten
neozeed wrote:

Code: Select all

Assertion failed: !"unknown fpu inst", file ../intermediates/fpu.post.c, line 346
the more usable shoebill gets the more I'm getting FPU errors.... Is there some kind of generic error I can pass back? I'm going to try to return -1 instead of crashing... Although I guess that'll screw things up, huh?
Not necessarily - most FPU instructions are unimplemented, so they just return garbage. Although, they should all be *recognized* at least, so I'm not sure why that particular assert is firing...
neozeed wrote:

Code: Select all

Dhrystone 2 w/o register vars (loops per sec)	14206	14739
but they never mention what machine they ran it on

And Dhrystone 1.1 on Shoebill

Code: Select all

fluffy.root # gcc -O2 dhrystone.c -o dhrystone-gcc;./dhrystone-gcc
Dhrystone(1.1) time for 500000 passes = 18
This machine benchmarks at 27777 dhrystones/second
And I'm using a Xeon E3-1230 v3 @3.30Ghz
That's about what I've seen too on my i7-something, about 1-2x faster than a 33mhz 68040. I'm at a loss for how to make it any faster. MMU translations eat up about 50% of the CPU time, but I can't seem to shave off any more cycles. Great work on the slirp stuff, btw!

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

Posted: Tue Sep 16, 2014 4:04 am
by emendelson
Question for the experts:

What are the file sizes of the ROM files that can be used with Shoebill? I've added a feature to my AUXrunner wrapper that lets you drop a file named MacII.rom on the wrapper, and it will automatically be copied into the correct location in the bundle. I have a test for the correct file sizes, but the only one I know is 262,144 bytes. Are there other sizes?

Thanks for any help.

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

Posted: Tue Sep 16, 2014 4:14 am
by pruten
Currently, only 256KB (262144 bytes). (Only Macintosh II, IIx, and IIcx ROMs)

-- oh, happy 500th post, btw :)

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

Posted: Tue Sep 16, 2014 4:25 am
by neozeed
pruten wrote:Currently, only 256KB (262144 bytes). (Only Macintosh II, IIx, and IIcx ROMs)

-- oh, happy 500th post, btw :)
that makes you one away from 50.. :P

Oh and I updated my win32-slirp build, it's more stable now... and I cleaned the source code out this time so both archives are much smaller.

I also got gopher running on A/UX, irc clients keep screwing up the terminal though, and I'm having a bear of a time trying to turn on appletalk, but I think I'm on the right track...

Code: Select all

fluffy.root #  appletalk -s
AppleTalk interface: EtherTalk (ae0)
        Network Number .................. 65342 (0xff3e)
        Node ID ......................... 63 (0x3f)

        Bridge number ................... 0 (0x0)
        Bridge net ...................... 0 (0x0)
        Packets Transmitted ............. 14
        Bytes Transmitted ............... 494
        Best Router Cache used (pkts) ... 0
        Packets Received ................ 2312
        Bytes Received .................. 34979
        Packets for unregistered socket . 0
        Packets for out of range socket . 0
        Length errors ................... 0
        Checksum errors ................. 0
        Packets dropped (no buffers) .... 0

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

Posted: Tue Sep 16, 2014 1:21 pm
by emendelson
My first post-500 post (taking a modest bow):

More work on the AUXrunner wrapper:

https://dl.dropboxusercontent.com/u/271 ... er-0.5.zip

Now you can drop a file named MacII.rom on the icon, and the app will offer to copy the file into the correct folder inside itself.

Next - but probably not for a while - a way to drop a disk image and have it copied into the app and used as one of SCSI 0 to 6 (optionally replacing a disk image already present). A real Applescript expert could do this in five minutes. It will take me quite a bit longer.

EDIT: Also to be added: a test to make certain that there is only one file in each of the rom and disk0 etc. folders.

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

Posted: Tue Sep 16, 2014 1:57 pm
by neozeed
emendelson wrote:My first post-500 post (taking a modest bow):

More work on the AUXrunner wrapper:

https://dl.dropboxusercontent.com/u/271 ... er-0.5.zip

Now you can drop a file named MacII.rom on the icon, and the app will offer to copy the into the correct folder inside itself.

Next - but probably not for a while - a way to drop a disk image and have it copied into the app and used as one of SCSI 0 to 6 (optionally replacing a disk image already present). A real Applescript expert could do this in five minutes. It will take me quite a bit longer.
Cool work! as they say rome wasn't built in a day. I think it took me two weeks to get slirp running in SIMH. which started as a netware focused project to bring SIMH's libpcap support to Qemu, and it was there I noticed how easy (lol) it was to interface to slirp.

but the real master is pruten, I just mash things around like a kid hitting the square blocks into the round holes.

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

Posted: Tue Sep 16, 2014 2:03 pm
by neozeed
pruten wrote: That's about what I've seen too on my i7-something, about 1-2x faster than a 33mhz 68040. I'm at a loss for how to make it any faster. MMU translations eat up about 50% of the CPU time, but I can't seem to shave off any more cycles. Great work on the slirp stuff, btw!
In the old days we'd unroll loops, and inline CPU stuff, but I think it's all automatic these days....

but then people get fancy with register declarations, and compilers optimizing code out of existence breaking stuff, and having to set volatile if you really want to do something..

I dont think I like new compilers.

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

Posted: Wed Sep 17, 2014 7:55 am
by neozeed
In case anyone is having issues getting stuff on A/UX, I thought I'd make my /usr/local disk available.

Image

Code: Select all

 # ls -x
bison           flex            flex++          g++             gas
gcc             gopher          gopher-new.tar  gophfilt        gunzip
gzexe           gzip            irc             irc-4.4         ircbug
ircflush        ircio           lynx            md5             protoize
screen          screen-3.7.1    unprotoize      wget            wserv
zap             zcat            zcmp            zdiff           zforce
zgrep           zmore           znew
this includes gcc version 2.5.7, gopher/gopherd, httpd, lynx, ircII and nethack!


I added the following users to my system...
----/etc/passwd---------

Code: Select all

games:*:1001:2:NetHack acct,dungeon,,:/users/games:/bin/false
http:*:1002:1:HTTPD Daemon,,,:/users/http:/bin/false
and to get it to mount correctly I added an entry into the /etc/fstab
----/etc/fstab-----------
/dev/dsk/c0d0s0 / ignore rw 1 1
rhost_1:/filesystem /mnt ignore rw 0 0
/dev/dsk/c1d0s0 /usr/local 4.2 rw 1 2
/dev/dsk/c2d0s0 /usr/src 4.2 rw 1 2
/dev/dsk/c3d0s0 /users 4.2 rw 1 3

Something like this.

Then of course add in /usr/local/bin into your path, and you've got all the stuff. For Nethack you may want to do a symlink

Code: Select all

ln -s /usr/local/games/nethack /usr/games
And that'll make it appear somewhat normal.

I also run gopherd & httpd!
To start them automatically add to the end of /etc/rc

----/etc/rc--------------

Code: Select all

/usr/local/etc/gopherd -c -C
/usr/local/etc/httpd/httpd -d /usr/local/etc/httpd
Maybe it'll be of use someone.

Download it here!! (http://vpsland.superglobalmegacorp.com/install/MacOS/shoebill/usr-local.dmg.7z)

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

Posted: Wed Sep 17, 2014 1:26 pm
by emendelson
While waiting to try out Neozeed's disk image, I've uploaded another version of the AUXrunner shoebill launcher:

https://dl.dropboxusercontent.com/u/271 ... er-0.6.zip

Summary of features (revised):

1. Drop a file named MacII.rom on the app and it will be copied inside the app where it's needed.

2. Ctrl-click the app, click Show Package Contents, and navigate to Contents -> Resources -> Files. You'll find seven folders named disk0, disk1, etc. Put a bootable disk image in the disk0 folder, and any other disks you want to use in the other folders, but you don't need to have an image in any folder except disk0. If you put more than one file in any of the folders, the script will warn you when you launch it.

Close the window and run the app.

The script will warn you if you haven't installed the TunTap driver, and will offer to install the SDL2 framework if needed.

Under Mavericks, a notification will report success in making a tap0 connection with with AU/X. Under earlier versions, a dialog box will appear (and go away by itself). If you want to turn off the notification do this at a terminal:

Code: Select all

defaults write org.wpdos.auxrunner Notify false
If you don't use the default tap address in OS X (192.168.2.1) you can change it either by editing the Applescript or

Code: Select all

defaults write org.wpdos.auxrunner OSXip nnn.nnn.nnn.nnn
If you change the AU/X ip, you need to do that in AU/X itself, but you can set the correct address in the notification from AUXrunner this way:

Code: Select all

defaults write org.wpdos.auxrunner AUXip nnn.nnn.nnn.nnn
At the moment, it reads your ram and window size from the Shoebill prefs, and defaults to 64MB and 1024x768 if it can't find anything in the Shoebill prefs. I'll add the ability to set the defaults from the command line later.

Next up: the ability to add disk images by dropping them on the app, or the ability to remove disk images by holding down Option while launching the app and using a menu to select the image to remove.

Expert users can avoid entering their password every time by editing the Applescript (search the net for the syntax) and exporting the script as run-only, and then moving the run-only version of the script back into the app so that the password won't be readable. I don't recommend this, as it's a bit clunky, but it should work, and I think no one has let figured out how to disassemble a run-only Applescript. But that's just a guess.

When it's possible to drop disk images on the app, I think it will be a feature-complete self-contained Shoebill system. Is there anything that's missing that I haven't thought of?

EDIT: I originally posted a test version by mistake. The right one is there now, I hope.

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

Posted: Wed Sep 17, 2014 4:06 pm
by emendelson
Shoebill and AU/X mouse question:

Is it my imagination, or does the mouse tend to get lost in Shoebill in the window size is 1024x768?

It seems to be easier to manage the mouse with 800x600 resolution.

Or is that just accidental?

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

Posted: Wed Sep 17, 2014 4:23 pm
by Cat_7
Yes, it seems the mouse sometimes gets lost. A right click frees the mouse. Afterwards you can realign it by clicking at the pointer left in the A/UX window.

Best,
Cat_7

ps: you last version of the runner doesn't have disk1 through 7 in the files folder ;-)

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

Posted: Wed Sep 17, 2014 4:25 pm
by emendelson
Cat_7 wrote:ps: you last version of the runner doesn't have disk1 through 7 in the files folder ;-)
Argh - I forgot to add them to the public version. Will post a fix soon and report it here. Thanks! (Meanwhile, if you're impatient, you can create the folders disk1 through disk6.

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

Posted: Wed Sep 17, 2014 4:35 pm
by emendelson
AUXrunner 0.7:

https://dl.dropboxusercontent.com/u/271 ... er-0.7.zip

Has all the required folders.

Now defaults to 800x600 (but will use whatever size you specified earlier when running Shoebill itself.)

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

Posted: Wed Sep 17, 2014 4:37 pm
by neozeed
I got some tcp/ip redirects going...

http://fluffy.superglobalmegacorp.com/!

And on gopherspace!.

My upstream bandwidth sucks, so I'm just keeping this simple. But this is a VPS in europe tunneled to home (hong kong) with apache reverse proxy and xinetd port forwarding. So far so good.

I'll have to update my usr-local.dmg later on.

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

Posted: Wed Sep 17, 2014 4:39 pm
by neozeed
emendelson wrote:Shoebill and AU/X mouse question:

Is it my imagination, or does the mouse tend to get lost in Shoebill in the window size is 1024x768?

It seems to be easier to manage the mouse with 800x600 resolution.

Or is that just accidental?
I'm using the windows/sdl version and it seems fine to me. when I ran it on a mac it seemed ok there too... what depth do you have it set to? what is your cpu utilization on the physical machine?

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

Posted: Wed Sep 17, 2014 5:01 pm
by emendelson
neozeed wrote:
emendelson wrote:Shoebill and AU/X mouse question:
Is it my imagination, or does the mouse tend to get lost in Shoebill in the window size is 1024x768?
It seems to be easier to manage the mouse with 800x600 resolution.
I'm using the windows/sdl version and it seems fine to me. when I ran it on a mac it seemed ok there too... what depth do you have it set to? what is your cpu utilization on the physical machine?
I'm running it in b/w because I can't get the color setting to "stick" and I'm too lazy to change it. It shows a pretty consistent 15% CPU in the Activity Monitor.

By the way, the AUXrunner sometimes seems to show the spinning beach ball for a long time before it shuts down and lets you work in Shoebill. I'll try to figure out what's going wrong and will fix it.

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

Posted: Wed Sep 17, 2014 10:10 pm
by adespoton
One other option that would be useful in the script: back up the drive images when run, with an option to restore from backup (overwrite) on next run....

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

Posted: Wed Sep 17, 2014 11:42 pm
by emendelson
adespoton wrote:One other option that would be useful in the script: back up the drive images when run, with an option to restore from backup (overwrite) on next run....
Interesting idea, and should be very easy to implement. It would slow things down a bit (a lot, actually), but could be very useful. I'm not clear how the options would work:

Overwrite every time? Restore from backup only after a "defaults write" command (or starting with Option down or something similar)? Set up a kiosk option that always restores from backup? Have an option to backup only the boot drive or specific drives?

It would help to know exactly how people here might want to use a feature like this (or if they would want to).

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

Posted: Thu Sep 18, 2014 12:13 am
by neozeed
If anyone wants to run A/UX as a server, if you logon to the 'text mode' (options change session type), session the CPU utilization drops to 1-2% on my machine. Apparently just running the MacOS UI gives a 1.0 workload.

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

Posted: Thu Sep 18, 2014 12:19 am
by neozeed
emendelson wrote:
adespoton wrote:One other option that would be useful in the script: back up the drive images when run, with an option to restore from backup (overwrite) on next run....
Interesting idea, and should be very easy to implement. It would slow things down a bit (a lot, actually), but could be very useful. I'm not clear how the options would work:

Overwrite every time? Restore from backup only after a "defaults write" command (or starting with Option down or something similar)? Set up a kiosk option that always restores from backup? Have an option to backup only the boot drive or specific drives?

It would help to know exactly how people here might want to use a feature like this (or if they would want to).
I would assume this is from disk corruption.?

I've crashed out hard a bunch of times and on boot get a 'dup alloc error'. However booting off the CD, and running a fsck manually solved the problem. Maybe an alternative boot option, or rescue?

I've also found in the /etc/sysinitrc putting a -y in the fsck makes life so much easier, as it may prompt 50+ times on a good crash.

Code: Select all

/etc/fsstat $fs
if [ $? -ne 0 ] ; then
    /etc/macquery -c /etc/fsck 131 $fs
    if [ $? -ne 2 ] ; then      # Macintosh environment is running
        /bin/sync
        /bin/sync
        /etc/reboot
    else                        # Macintosh environment is not running
        /etc/fsck -y $fs
    fi
fi
Also I've been up over 12 hours!

Code: Select all

fluffy.root # uptime
 12:18am  up 12:22,  4 users,  load average: 0.00 0.07 0.05
fluffy.root # netstat -ni
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
ae0   1500  10.0.2      10.0.2.15          29397     0    21509     0     0
lo0   1536  127         127.0.0.1           2006     0     2006     0     0
Although I'll probably take it down later today to back it up, open some more ports, and transfer in more source code.