GithubHelp home page GithubHelp logo

pruten / shoebill Goto Github PK

View Code? Open in Web Editor NEW
362.0 35.0 65.0 1.43 MB

A Macintosh II emulator that runs A/UX

License: BSD 2-Clause "Simplified" License

Makefile 0.34% C 93.88% Perl 1.16% Objective-C 4.44% Shell 0.09% Batchfile 0.06% Rich Text Format 0.04%

shoebill's Introduction

Shoebill

A Macintosh II emulator that runs A/UX (and A/UX only).

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

Shoebill requires a Macintosh II, IIx or IIcx ROM, and a disk image with A/UX installed.

Download the latest release, and then see the getting started wiki.
Also check out screenshots.

Update (March 29, 2023): About issues/pull requests

I just wanted to say that I appreciate some folks are still using Shoebill and submitting issues and pull requests. I wish I could continue working on this project, but there's a likely conflict of interest, and so I've mostly avoided pushing changes. I apologize for being unable to address the many, many bugs in this repo. (Also for anyone unaware, Qemu is now able now to run A/UX 3.x on its emulated Quadra 800.)

Update (Sept 13, 2015): Shoebill 0.0.5 is available

This will probably be the last release. I won't be able to work on Shoebill going forward (by contractual obligation), so I wanted to race out one last release. Only an OS X binary is available, sorry, and it's very unpolished. But the SDL GUI should still build on linux/windows.

Supports

  • A/UX 1.1.1 through 3.1 (and 3.1.1 a little)

Currently Implements

  • 68020 CPU (mostly)
  • 68881 FPU (mostly)
  • 68851 PMMU (just enough to boot A/UX)
  • SCSI
  • ADB
  • PRAM
  • Ethernet (via emulated Apple EtherTalk/DP8390 card)
  • A NuBus video card with 24-bit depth.

Does not implement (yet)

  • Sound
  • Floppy
  • Serial ports

shoebill's People

Contributors

mietek avatar pruten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shoebill's Issues

Error trying to build under Fedora 31 with lin.build.sh

Hi

It gives me this when trying to build ...

viktormadarasz@fedoraws sdl-gui]$ ./lin_build.sh
gcc -O3 -ggdb -flto adb.post.c fpu.post.c mc68851.post.c mem.post.c via.post.c floppy.post.c core_api.post.c cpu.post.c dis.post.c ../core/SoftFloat/softfloat.c ../core/atrap_tab.c ../core/coff.c ../core/exception.c ../core/macii_symbols.c ../core/redblack.c ../core/scsi.c ../core/video.c ../core/filesystem.c ../core/alloc_pool.c ../core/toby_frame_buffer.c ../core/ethernet.c ../core/sound.c sdl.c -lpthread -lm -lSDL2 -lGL -o shoebill
fpu.post.c: In function ‘_native_tentox’:
fpu.post.c:821:9: warning: type of ‘a’ defaults to ‘int’ [-Wimplicit-int]
821 | double _native_tentox(a) {
| ^~~~~~~~~~~~~~
/usr/bin/ld: /tmp/shoebill.lkIeQb.ltrans0.ltrans.o: in function main': /home/viktormadarasz/shoebill/sdl-gui/sdl.c:494: warning: sys_errlist' is deprecated; use strerror' or strerror_r' instead

libtool unknown option

libtool -static -v -o ../intermediates/libshoebill_core.a.x86_64 ../intermediates/atrap_tab.o ../intermediates/coff.o ../intermediates/exception.o ../intermediates/macii_symbols.o ../intermediates/redblack.o ../intermediates/scsi.o ../intermediates/video.o ../intermediates/filesystem.o ../intermediates/alloc_pool.o ../intermediates/toby_frame_buffer.o ../intermediates/sound.o ../intermediates/ethernet.o ../intermediates/SoftFloat/softfloat.o ../intermediates/adb.o ../intermediates/mc68851.o ../intermediates/mem.o ../intermediates/via.o ../intermediates/floppy.o ../intermediates/core_api.o ../intermediates/fpu.o ../intermediates/cpu.o ../intermediates/dis.o
libtool: unrecognized option `-static'
libtool --version
libtool (GNU libtool) 2.4.2
Written by Gordon Matzigkeit [email protected], 1996

Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

http://lists.gnu.org/archive/html/bug-libtool/2001-09/msg00015.html

This suggests that the libtool used was probably a BSD version.

Linking with Xcode 7 fails due to “undef: _objc_readClassPair”

Symptoms:

Ld build/Shoebill.build/Release/Shoebill.build/Objects-normal/i386/Shoebill normal i386
    cd /Users/mietek/Projects/Forks/Features/shoebill/gui
    export MACOSX_DEPLOYMENT_TARGET=10.8
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/mietek/Projects/Forks/Features/shoebill/gui/build/Release -L../intermediates -F/Users/mietek/Projects/Forks/Features/shoebill/gui/build/Release -filelist /Users/mietek/Projects/Forks/Features/shoebill/gui/build/Shoebill.build/Release/Shoebill.build/Objects-normal/i386/Shoebill.LinkFileList -mmacosx-version-min=10.8 -fobjc-link-runtime -framework QuartzCore -lshoebill_core -framework Cocoa -framework OpenGL -Xlinker -dependency_info -Xlinker /Users/mietek/Projects/Forks/Features/shoebill/gui/build/Shoebill.build/Release/Shoebill.build/Objects-normal/i386/Shoebill_dependency_info.dat -o /Users/mietek/Projects/Forks/Features/shoebill/gui/build/Shoebill.build/Release/Shoebill.build/Objects-normal/i386/Shoebill
Running ld for i386 ...

Ld build/Shoebill.build/Release/Shoebill.build/Objects-normal/x86_64/Shoebill normal x86_64
    cd /Users/mietek/Projects/Forks/Features/shoebill/gui
    export MACOSX_DEPLOYMENT_TARGET=10.8
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/mietek/Projects/Forks/Features/shoebill/gui/build/Release -L../intermediates -F/Users/mietek/Projects/Forks/Features/shoebill/gui/build/Release -filelist /Users/mietek/Projects/Forks/Features/shoebill/gui/build/Shoebill.build/Release/Shoebill.build/Objects-normal/x86_64/Shoebill.LinkFileList -mmacosx-version-min=10.8 -fobjc-link-runtime -framework QuartzCore -lshoebill_core -framework Cocoa -framework OpenGL -Xlinker -dependency_info -Xlinker /Users/mietek/Projects/Forks/Features/shoebill/gui/build/Shoebill.build/Release/Shoebill.build/Objects-normal/x86_64/Shoebill_dependency_info.dat -o /Users/mietek/Projects/Forks/Features/shoebill/gui/build/Shoebill.build/Release/Shoebill.build/Objects-normal/x86_64/Shoebill
Running ld for x86_64 ...
undef: _objc_readClassPair
Undefined symbols for architecture x86_64:
  "_objc_readClassPair", referenced from:
      __ARCLite__load() in libarclite_macosx.a(arclite.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **


The following build commands failed:
    Ld build/Shoebill.build/Release/Shoebill.build/Objects-normal/x86_64/Shoebill normal x86_64
(1 failure)

Apparently, Xcode 7 introduces a new build setting, “Implicitly Link Objective-C Runtime Support”, or CLANG_LINK_OBJC_RUNTIME, which defaults to YES.

Switching this to NO fixes the issue.

More information:
“Undefined symbols: "_objc_readClassPair" when opening existing project in Xcode 7”

Take over the Shoebill Project?

Let me start off by saying sad it will be that you won't be able to work on Shoebill going forward. I really like the idea of Shoebill. I guess what I'm trying to say is can I take over the Shoebill project. I'm currently teaching myself how to code with the help of my uncle who is a computer teacher and some friends who code so I have help if I need it. so as I was saying can I take over the Shoebill project since you won't be able to work on Shoebill going forward.

Thanks,
Huntman616

Assertion failed: (ctx->tap_fd >= 0), function nubus_ethernet_init, file ethernet.c, line 493.

Trying the lastest code (Thu Sep 11 03:40:20 2014 -0400) I get a crash quite instantly after choosing File > Run or Preferences > Apply and Run:

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x000000000000000c, 0x0000000000000000

Application Specific Information:
Performing @selector(runMenuItem:) from sender NSMenuItem 0x6000000b2960
Assertion failed: (ctx->tap_fd >= 0), function nubus_ethernet_init, file ethernet.c, line 493.


Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff8af3bd9a sigprocmask + 10
1   libsystem_c.dylib               0x00007fff843a1aee abort + 81
2   libsystem_c.dylib               0x00007fff8436b9bf __assert_rtn + 321
3   org.shoebill.Shoebill           0x000000010074edd0 shoebill_install_ethernet_card + 640
4   org.shoebill.Shoebill           0x0000000100741dda -[shoeApplication startEmulator] + 313 (shoeApplication.m:377)
5   com.apple.AppKit                0x00007fff82535260 -[NSApplication sendAction:to:from:] + 327
6   com.apple.AppKit                0x00007fff825501c8 -[NSMenuItem _corePerformAction] + 394
7   com.apple.AppKit                0x00007fff8254ff04 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 117
8   com.apple.AppKit                0x00007fff8254f07c -[NSMenu performKeyEquivalent:] + 289
9   com.apple.AppKit                0x00007fff8254b8e1 -[NSApplication _handleKeyEquivalent:] + 822
10  com.apple.AppKit                0x00007fff824baacc -[NSApplication sendEvent:] + 3293
11  org.shoebill.Shoebill           0x00000001007416b7 -[shoeApplication sendEvent:] + 426 (shoeApplication.m:202)
12  com.apple.AppKit                0x00007fff8230a9f9 -[NSApplication run] + 646
13  com.apple.AppKit                0x00007fff822f5783 NSApplicationMain + 940
14  libdyld.dylib                   0x00007fff872c75fd start + 1

How am I gonna partition disks?

Hey, as I said in the last issue, that Apple HD SC doesn't work, but just one question, Is there any other way I can partition my disks?

ShoeBill won't boot from floppy image

I compiled v0.0.5 on Xubuntu 18.04.
I tried to install A/UX 3.0.1 downloaded from winworldpc.

ShoeBill give me the error: partition index 0 has bad magic dada.
The image seems to be working. BasiliskII launch it without problem.

assertion failed when SCSI read returns EOF

Shoebill 0.0.3, A/UX 2.0.7

I'm trying to copy some files in to A/UX by presenting a virtual disk with a 232960-byte tar archive on it. I select the tar archive as the "disk" for SCSI ID 1, then inside the A/UX environment try to read the data from /dev/dsk/c1d0s31. Shoebill crashes, with the following message in the error report:

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
Assertion failed: (fread(shoe.scsi.buf, len * 512, 1, dev->f) == 1), function scsi_buf_set, file scsi.c, line 357.

The error occurs even when I read less data than is present in the disk file (ie. using dd to explicitly read less data than is present in the disk image file), but does not occur if I pad the file with an extra 10MB of zeros. However if I pad out the disk image file and then read the entire content using dd (with a 512-byte block size) I get the same crash.

It looks like A/UX is issuing reads larger than 512-bytes to the SCSI device, which can try to read past EOF on the disk backing file if it's not a correct multiple of the block size.

mouse is very weird

The only Mac in my house is a Mac Mini I'm using as a server, so I'm using that to use this app via VNC, and when I boot it up and capture the mouse, the mouse in the OS has the acceleration too high and when I switch direction, it's delayed to when it switches direction, it's almost as if the cursor is drunk in the emulator

Crash when doing /etc/fs/ufs/mkfs

First: amazing work you have done with Shoebill. Running A/UX in an emulator is fascinating!

I encountered an error though when doing /etc/fs/ufs/mkfs /dev/rdsk/c1d0s0 1000000. c1d0s0 is an Apple_UNIX_SVR2 partition. Shoebill crashes during or at the end of the super-block creation. Running A/UX 3.0.0.

I'm using Shoebill compiled from sources. Latest commit was at Sat Apr 19 12:12:15 2014 -0400. Let me know if you need more information or testing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.