diff --git a/.travis.yml b/.travis.yml index 27c17b7..d7e8681 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,15 +6,15 @@ matrix: dist: trusty sudo: required compiler: gcc - -addons: - apt: - packages: - - libsdl1.2-dev - - libgtk2.0-dev - -script: - - cd BasiliskII/src/Unix - - NO_CONFIGURE=1 ./autogen.sh - - ./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --disable-jit-compiler --with-x --with-gtk --with-mon - - make -j 4 + env: BADGE=linux + addons: + apt: + packages: + - libsdl1.2-dev + - libgtk2.0-dev + script: + - true + - os: osx + env: BADGE=osx + script: + - true diff --git a/SheepShaver/NEWS b/HISTORY.md similarity index 75% rename from SheepShaver/NEWS rename to HISTORY.md index 42719c1..6ec9e03 100644 --- a/SheepShaver/NEWS +++ b/HISTORY.md @@ -1,7 +1,7 @@ -SheepShaver NEWS -- history of user-visible changes. 2006-05-14 +# SheepShaver – history of user-visible changes Copyright (C) 1997-2006 Christian Bauer and Marc Hellwig -Version 2.3 (snapshot) - 14.May.2006 +## Version 2.3 (snapshot), 2006-05-14 * Handle up to 1 GB of Mac memory * Improve SLiRP network emulation performance * Fix Native QuickDraw acceleration @@ -12,24 +12,24 @@ Version 2.3 (snapshot) - 14.May.2006 * Fix extfs volume name to "Unix" (Toshimitsu Tanaka) * Fix unaligned accesses in SLiRP network emulation (Brian J. Johnson) * Initial port to IRIX/mips -* MacOS X: - o Port to MacOS X for Intel, including the JIT - o Add a primitive graphical preferences editor - o Add support for run-time CD-ROM auto-detection - o Fix clipboard (copy/paste of text from/to the host OS) - o Fix extfs to preserve native folder attributes - o Fix extfs to handle file/folder creation times - o Fix SLiRP network emulation (workaround MacOS X bugs) - o Improve overall performance on PowerPC (by a factor 2) -* Windows: - o Add SLiRP network emulation ("ether slirp") - o Add TAP-Win32 network emulation ("ether tap") - o Fix CD-ROM auto-detection ("pollmedia" now works) - o Fix idle sleep ("idlewait" now works) - o Fix native cursor to be updated as soon as MacOS modified it - o Improve GUI for network configuration +* **MacOS X:** + - Port to MacOS X for Intel, including the JIT + - Add a primitive graphical preferences editor + - Add support for run-time CD-ROM auto-detection + - Fix clipboard (copy/paste of text from/to the host OS) + - Fix extfs to preserve native folder attributes + - Fix extfs to handle file/folder creation times + - Fix SLiRP network emulation (workaround MacOS X bugs) + - Improve overall performance on PowerPC (by a factor 2) +* **Windows:** + - Add SLiRP network emulation ("ether slirp") + - Add TAP-Win32 network emulation ("ether tap") + - Fix CD-ROM auto-detection ("pollmedia" now works) + - Fix idle sleep ("idlewait" now works) + - Fix native cursor to be updated as soon as MacOS modified it + - Improve GUI for network configuration -Version 2.3 (snapshot) - 30.Nov.2005 +## Version 2.3 (snapshot), 2005-11-30 * Add fullscreen DGA mode via fbdev in Linux * Add "screen" prefs item a-la Basilisk II * Add missing lvsl/lvsr instructions in AltiVec emulation (Adobe FrameMaker) @@ -51,7 +51,7 @@ Version 2.3 (snapshot) - 30.Nov.2005 * Fix SDL/x11 native cursor acceleration * Fix sheep_net driver to properly work with Linux kernels up to 2.6.11 -Version 2.3 (snapshot) - 21.Mar.2005 +## Version 2.3 (snapshot), 2005-05-21 * Implement high-precision timings on POSIX systems * Add other SDL keysym translations * Add some SSE2 optimizations to the AltiVec emulation core @@ -63,7 +63,7 @@ Version 2.3 (snapshot) - 21.Mar.2005 * Fix crash in Apple Personal Diagnostics on MacOS 9 * Fix crash in Power Management on MacOS 9 -Version 2.3 (snapshot) - 07.Jul.2004 +## Version 2.3 (snapshot), 2004-07-07 * Add support for MacOS 9.0.4 * Add native port to MacOS X with SDL graphics * Fix timebase emulation. UpTime() is now more accurate @@ -72,7 +72,7 @@ Version 2.3 (snapshot) - 07.Jul.2004 * Fix video thread cancellation on MacOS X * Fix detection of PowerPC 750FX and 970 processors -Version 2.3 (snapshot) - 09.Jun.2004 +## Version 2.3 (snapshot), 2004-06-09 * Improve generic JIT engine to reach around 1/8-th of native speeds * Improve 68k audio processing with "reentrant" JIT generated code * Add Native QuickDraw acceleration for BitBlt (srcCopy) and FillRect @@ -82,12 +82,12 @@ Version 2.3 (snapshot) - 09.Jun.2004 * Fix ethernet support on little endian and 64-bit systems * Fix initialization of NVRAM on first-time use -Version 2.3 (snapshot) - 25.Feb.2004 +## Version 2.3 (snapshot), 2004-02-25 * Improved generic JIT, FPU instructions are now translated * Add AltiVec emulation, emulated CPU is now a PowerPC 7400 (G4) * Add initial port to MacOS X with an X11 server -Version 2.3 (snapshot) - 14.Jan.2004 +## Version 2.3 (snapshot), 2004-01-14 * Fix several CPU emulation bugs, extended testsuite * Fix FPU emulation, "scrollbar" & Graphing Calculator bugs are gone * Add support for 64-bit platforms, more precisely AMD64 with JIT @@ -97,9 +97,9 @@ Version 2.3 (snapshot) - 14.Jan.2004 * Better support for audio output (with pre-G3 PowerMac PCI ROMs) * Improve native Linux/PPC port -Version 2.3 (snapshot) - 25.Nov.2003 +## Version 2.3 (snapshot), 2003-11-25 * Initial public release with PowerPC CPU emulator for testing -Version 2.2 (release) - 04.Feb.2002 +## Version 2.2 (release), 2002-02-04 * Source released under GPL * Integrated code from Basilisk II diff --git a/SheepShaver/COPYING b/LICENSE similarity index 100% rename from SheepShaver/COPYING rename to LICENSE diff --git a/SheepShaver/Makefile b/Makefile similarity index 100% rename from SheepShaver/Makefile rename to Makefile diff --git a/README.md b/README.md index dba6c38..7aaea84 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ -# BasiliskII -[![Build Status](https://travis-ci.org/rickyzhang82/macemu.svg)](https://travis-ci.org/rickyzhang82/macemu) +# SheepShaver +MacOS run-time environment for BeOS and Linux + +Platform | CI Status| +---------|:---------------- +AmigaOS | Deprecate 💀 +BeOS | Deprecate 💀 +FreeBSD | [Costs 💰](https://cirrus-ci.org/pricing/) +Linux | [![Linux Build Status](http://badges.herokuapp.com/travis/emaculation/SheepShaver?env=BADGE=linux&label=build&branch=master)](https://travis-ci.org/emaculation/SheepShaver) +OSX | [![OSX Build Status](http://badges.herokuapp.com/travis/emaculation/SheepShaver?env=BADGE=osx&label=build&branch=master)](https://travis-ci.org/emaculation/SheepShaver) Null ⚠️ +Windows | [![Windows Build status](https://ci.appveyor.com/api/projects/status/pxw2cf78ls0ee3ff/branch/master?svg=true)](https://ci.appveyor.com/project/ianfixes/SheepShaver) Null ⚠️ + +Originally hosted at https://sheepshaver.cebix.net/ diff --git a/SheepShaver/doc/Linux/acknowledgements.html b/SheepShaver/doc/Linux/acknowledgements.html deleted file mode 100644 index 5d8c9fd..0000000 --- a/SheepShaver/doc/Linux/acknowledgements.html +++ /dev/null @@ -1,24 +0,0 @@ - - -Acknowledgements - - - -

Acknowledgements

- -The following persons/companies deserve special thanks from us as they -made a significant contribution to the development of SheepShaver: - -

-

- -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/contact.html b/SheepShaver/doc/Linux/contact.html deleted file mode 100644 index f8a640e..0000000 --- a/SheepShaver/doc/Linux/contact.html +++ /dev/null @@ -1,47 +0,0 @@ - - -Contact Information - - - -

Contact Information and Copyright

- -SheepShaver was brought to you by - - -

SheepShaver WWW Site:

-
-www.sheepshaver.com
-
- -

EMail:

-
-sheep@sheepshaver.com
-
- -

License

- -

SheepShaver is available under the terms of the GNU General Public License. -See the file "COPYING" that is included in the distribution for details. - -

© Copyright 1997-2004 Christian Bauer and Marc Hellwig - -

Names of hardware and software items mentioned in this manual and -in program texts are in most cases registered trade marks of the respective -companies and not marked as such. So the lack of such a note may not be -used as an indication that these names are free. - -

SheepShaver is not designed, intended, or authorized for use as a component -in systems intended for surgical implant within the body, or other applications intended -to support or sustain life, or for any other application in which the failure of SheepShaver -could create a situation where personal injury or death may occur (so-called "killer application"). - -


-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/history.html b/SheepShaver/doc/Linux/history.html deleted file mode 100644 index 2dc43c7..0000000 --- a/SheepShaver/doc/Linux/history.html +++ /dev/null @@ -1,25 +0,0 @@ - - -Revision History - - - -

SheepShaver Revision History

- -

V2.2 (04-Feb-2002)

- - -

V2.1 (31-Mar-2001)

- - -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/index.html b/SheepShaver/doc/Linux/index.html deleted file mode 100644 index 3fb408d..0000000 --- a/SheepShaver/doc/Linux/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - -The SheepShaver User's Guide - - - -

SheepShaver V2.2 Installation and User's Guide (Linux)

- -

Contents

- - - -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/installation.html b/SheepShaver/doc/Linux/installation.html deleted file mode 100644 index 75f588f..0000000 --- a/SheepShaver/doc/Linux/installation.html +++ /dev/null @@ -1,25 +0,0 @@ - - -Installation - - - -

Installation

- -You need at least a 2.2.x kernel, glibc 2.1 and GTK+ 1.2. Earlier versions will not work. - -
    -
  1. Unpack the SheepShaver archive (if you are reading this, you probably have already done this) -
  2. Even when running on a PowerMac, you need a copy of a PCI PowerMac ROM (4MB) in -a file called "ROM" in the same folder SheepShaver is in (but you can select a different location -in the settings window). SheepShaver can also use the "Mac OS ROM" file that comes with -MacOS 8.5/8.6 (look in the System Folder on your MacOS CD). In order to legally use SheepShaver, -you have to own the ROM the image file was taken from. -
- -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/introduction.html b/SheepShaver/doc/Linux/introduction.html deleted file mode 100644 index 42d78a4..0000000 --- a/SheepShaver/doc/Linux/introduction.html +++ /dev/null @@ -1,44 +0,0 @@ - - -Introduction - - - -

Introduction

- -SheepShaver is a MacOS run-time environment for Linux that allows you -to run MacOS applications at native speed inside the Linux multitasking -environment on PowerPC-based Linux systems. This means that both Linux -and MacOS applications can run at the same time and data can be exchanged -between them. - -

SheepShaver is neither a MacOS replacement nor an emulator. It runs an -unmodified PowerPC MacOS under control of Linux at full speed without any -kind of emulation. So it also uses the MacOS 68k emulator to run 68k -applications. In this way, SheepShaver is comparable to the "Blue Box" of -Apple's Rhapsody operating system. - -

Some of SheepShaver's features:

- - - -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/quickstart.html b/SheepShaver/doc/Linux/quickstart.html deleted file mode 100644 index 93a5ce5..0000000 --- a/SheepShaver/doc/Linux/quickstart.html +++ /dev/null @@ -1,39 +0,0 @@ - - -Quick Start - - - -

Quick Start

- -The following is a step-by-step guide that shows you how to get SheepShaver -up and running in the quickest possible way. We assume that you are running -on a PowerMac that already has MacOS installed on a partition of your hard drive -and that you have booted into Linux. - -

-

    -
  1. Start the "SheepShaver" program. The "SheepShaver Settings" window will appear. -
  2. Click on "Start". SheepShaver will try to detect on which partition MacOS is installed and should then start booting MacOS. -
  3. To quit SheepShaver, select "Shutdown" from the Finder's "Special" menu. -
- -When SheepShaver hangs or crashes in fullscreen mode, pressing Ctrl-Esc should -quit it and restore the display. - -

In fullscreen mode, press Ctrl-Tab to suspend SheepShaver and return to the -normal X11 destop. Press space inside the "SheepShaver suspended" window to -reactivate it. - -

One word of caution:

- -Volumes which are used by SheepShaver must not also be mounted under Linux -while SheepShaver is running. You will lose data and corrupt the -volume if you do this! - -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/settings.html b/SheepShaver/doc/Linux/settings.html deleted file mode 100644 index f33188b..0000000 --- a/SheepShaver/doc/Linux/settings.html +++ /dev/null @@ -1,117 +0,0 @@ - - -Setting up SheepShaver - - - -

Setting up SheepShaver

- -In the "SheepShaver Settings" window that pops up when you start SheepShaver, -you can configure certain features of SheepShaver. When you click on "Start", -the current settings are saved to disk and will be available next time you start -SheepShaver. - -

The settings are divided into four groups: Volumes, Graphics/Sound, Serial/Network and Memory/Misc. - -

Volumes

- - - -

The main part of the volumes pane is a list that contains all volumes to be mounted -by SheepShaver. If this list is empty, SheepShaver will try to detect and mount all -HFS partitions it can find. A CD-ROM drive is always automatically detected and used. - -

SheepShaver can use HFS partitions, whole HFS formatted drives, and it can also -emulate hard disks in single Linux files ("hardfiles"). - -

To add a Mac volume to the list, click on "Add...", go to the "/dev" directory -in the file panel, click once on the partition you want and click on "OK". The selected -partition device name should then appear in the volume list. After adding volumes to -the list, you should unmount them on the Linux side. To remove a Mac volume, select it -in the list and click on "Remove". - -

You can create a new, empty hardfile by clicking on "Create...". Enter the file -name and the size of the hardfile and click on "Create". The hardfile will be created (this may -take some seconds) and added to the volume list. The so-created hardfile will have to be -formatted under MacOS before you can store something in it. If you start up SheepShaver, -the Finder will display a message about an "unreadable" volume being found and give you the -option to format it. - -

Double-clicking on an entry in the volume list will add or remove a "*" in front of the -device name. Volumes marked with a "*" are read-only for the MacOS under SheepShaver. - -

SheepShaver will show a "Linux" disk icon on the Mac desktop that allows access to Linux -files from Mac applications. In "Linux Root" you specify which Linux directory will -be at the root of this virtual "Linux" disk. The default setting of "/" means that the -"Linux" icon in the MacOS Finder will correspond to your Linux root directory. The MacOS -will try to create files and folders like "Desktop", "Trash", "OpenFolderListDF" etc. -in the directory you specify as "Linux Root" (provided that you have access rights -to that directory). If they annoy you, you can delete them. - -

To boot from CD-ROM, set the "Boot From" setting to "CD-ROM". -The "Disable CD-ROM Driver" box is used to disable SheepShaver's built-in CD-ROM driver. -This is currently of not much use and you should leave the box unselected. - -

Graphics/Sound

- - - -

With "Window Refresh Rate" you can set the refresh rate of the MacOS window. -Higher rates mean faster screen updates and less "sluggish" behaviour, but also require more CPU time. - -

The "Enabled Video Modes" controls allow you to select which graphics modes -are available for displaying the MacOS desktop. You can, for example, disable the window modes -when you want to run some Mac programs in full-screen mode that would otherwise erroneously -switch to a window mode. If your X server doesn't support DGA you should disable the Fullscreen -mode. The actual mode to be used is selected in the "Monitors" control panel under MacOS. The -color depth is always that of the X11 screen and cannot be changed. - -

The "Disable Sound Output" box allows you to disable all sound output by SheepShaver. -This is useful if the sound takes too much CPU time on your machine or to get rid of warning -messages if SheepShaver can't use your audio hardware. - -

Serial/Network

- - - -

You can select to which devices the MacOS modem and printer ports are redirected. -You can assign them to any serial ports you have (/dev/ttyS*), or even to parallel -ports (/dev/lp*, useful for printing if you have Mac drivers for parallel printers, -like the PowerPrint package from www.gdt.com). - -

With "Ethernet Interface" you select which Ethernet card is to be used for -networking. It can either be the name of a real Ethernet card (e.g. "eth0") or of an ethertap -interface (e.g. "tap0"). Using a real Ethernet card requires the "sheep_net" driver to be installed -and accessible. See Using SheepShaver for more -information about setting up networking. - -

Memory/Misc

- - - -

With "MacOS RAM Size" you select how much RAM will be available to the MacOS -(and all MacOS applications running under it). SheepShaver uses the Linux virtual memory system, -so you can select more RAM than you physically have in your machine. The MacOS virtual memory -system is not available under SheepShaver (i.e. if you have 32MB of RAM in your computer and -select 64MB to be used for MacOS in the SheepShaver settings, MacOS will behave as if it's running on -a computer that has 64MB of RAM but no virtual memory). - -

"ROM File" specifies the path name of the Mac ROM file to be used. If it is left -blank, SheepShaver expects the ROM file to be called "ROM" and be in the same directory as -the SheepShaver application. - -

The "Ignore Illegal Memory Accesses" option is there to make some broken Mac -programs work that access addresses where there is no RAM or ROM. With this option unchecked, -SheepShaver will in this case display an error message and quit. When the option is activated, -SheepShaver will try to continue as if the illegal access never happened (writes are ignored, reads -return 0). This may or may not make the program work (when a program performs an illegal access, -it is most likely that something else went wrong). When a Mac program behaves strangely or hangs, -you can quit SheepShaver, uncheck this option and retry. If you get an "illegal access" message, -you will know that something is broken. - -


-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/troubleshooting.html b/SheepShaver/doc/Linux/troubleshooting.html deleted file mode 100644 index 4dc3e29..0000000 --- a/SheepShaver/doc/Linux/troubleshooting.html +++ /dev/null @@ -1,65 +0,0 @@ - - -Troubleshooting - - - -

Troubleshooting

- -

SheepShaver doesn't boot

- -SheepShaver should boot all MacOS versions >=7.5.2, except MacOS X. However, -your mileage may vary. If it doesn't boot, try again with extensions disabled -(by pressing the shift key) and then remove some of these extensions: -"MacOS Licensing Extension", Speed Doubler, 68k FPU extensions and MacsBug. - -

The colors are wrong in 16 or 32 bit graphics modes

- -If you're running SheepShaver on a something other than a PowerMac, it may be -that 16 or 32 bit graphics modes show false colors due to the frame buffer being -little-endian. Apart from patching the X server, there's unfortunately nothing -that you or SheepShaver can do about this. - -

Full-screen mode doesn't work

- -Some X servers on Linux PPC don't support DGA and full-screen mode cannot be used -with these (in this case, you should disable it in the "Graphics" settings). If you -are seeing a message like "cannot map /dev/kmem (permission denied)", you have to -either run SheepShaver as root (not recommended) or give yourself appropriate access -rights to /dev/kmem if you can login as root. - -

Ethernet doesn't work

- - - -

SheepShaver crashes, but yesterday it worked

- -Try the "Zap PRAM File" item in the main menu of the SheepShaver preferences editor. -When you are using a ROM file and switching to a different ROM version, you have -to zap the PRAM file or SheepShaver might behave very weird. - -

Known incompatibilities

- - - -

Known bugs

- - - -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/Linux/using.html b/SheepShaver/doc/Linux/using.html deleted file mode 100644 index 9fbceec..0000000 --- a/SheepShaver/doc/Linux/using.html +++ /dev/null @@ -1,113 +0,0 @@ - - -Using SheepShaver - - - -

Using SheepShaver

- -

Changing the display mode

- -SheepShaver can display the MacOS user interface in an X11 window or full-screen -(much faster). You select the display mode as usual under MacOS in the "Monitors" -control panel (under System 7.x, click on "Options"). The "75Hz" modes are full-screen -modes, the "60Hz" modes are window modes (this doesn't mean that the video refresh -rate is 75 or 60Hz in the respective modes; the rate displayed has no meaning; it's -simply there to distinguish full screen modes from window modes). - -

Full-screen mode

- -The full-screen mode uses the whole X11 screen for displaying the MacOS user interface. -You can temporarily switch back to the X11 desktop by pressing Ctrl-Tab. The MacOS (and -all MacOS applications) will now be suspended. You can resume SheepShaver by activating -the "SheepShaver suspended" window and pressing the space key. Using full-screen mode -requires a DGA capable X server. - -

Networking

- -There are three approaches to networking with SheepShaver: - -
    -
  1. Direct access to an Ethernet card via the "sheep_net" driver. -In this case, the "ethernet card description" must be the name -of a real Ethernet card, e.g. "eth0". It also requires the "sheep_net" -driver to be installed and accessible. This approach will allow you -to run all networking protocols under MacOS (TCP/IP, AppleTalk, IPX -etc.) but there is no connection between Linux networking and MacOS -networking. MacOS will only be able to talk to other machines on -the Ethernet, but not to other networks that your Linux box routes -(e.g. a second Ethernet or a PPP connection to the Internet). - -
  2. Putting SheepShaver on a virtual Ethernet via the "ethertap" device. -In this case, the "ethernet card description" must be the name -of an ethertap interface, e.g. "tap0". It also requires that you -configure your kernel to enable routing and the ethertap device: -under "Networking options", enable "Kernel/User netlink socket" and -"Netlink device emulation", under "Network device support", activate -"Ethertap network tap". You also have to modify devices/net/ethertap.c -a bit before compiling the new kernel: - - - -

    -Next, see /usr/src/linux/Documentation/networking/ethertap.txt for -information on how to set up /dev/tap* device nodes and activate the -ethertap interface. Under MacOS, select an IP address that is on the -virtual network and set the default gateway to the IP address of the -ethertap interface. This approach will let you access all networks -that your Linux box has access to (especially, if your Linux box has -a dial-up Internet connection and is configured for IP masquerading, -you can access the Internet from MacOS). The drawback is that you -can only use network protocols that Linux can route, so you have to -install and configure netatalk if you want to use AppleTalk. Here is -an example /etc/atalk/atalkd.conf for a LAN: - -

    -eth0 -seed -phase 2 -net 1 -addr 1.47 -zone "Ethernet"
    -tap0 -seed -phase 2 -net 2 -addr 2.47 -zone "Sheepnet"
    -
    - -(the "47" is an arbitrary node number). This will set up a zone -"Ethernet" (net 1) for the Ethernet and a zone "Sheepnet" (net 2) -for the internal network connection of the ethertap interface. -MacOS should automatically recognize the nets and zones upon startup. -If you are in an existing AppleTalk network, you should contact -your network administrator about the nets and zones you can use -(instead of the ones given in the example above). - -
  3. Networking protocols for serial connections (PPP and SLIP, for example) -can be used provided that you have the appropriate MacOS system components -installed (e.g. Open Transport/PPP). -
- -

Using floppy disks

- -Floppy disks are not automatically detected when they are inserted. They have to be -mounted explicitly: after inserting a floppy disk, press Ctrl-F1. - -

Accessing Linux files

- -SheepShaver will display a "Linux" disk icon on the Mac desktop that allows you -to access any Linux files which are in the directory specified as "Linux Root" -in the "Volumes" pane of the SheepShaver settings. You can open and save files on the -"Linux" disk from Mac applications, copy, move or rename files from the Finder etc. -SheepShaver translates some file name extensions to MacOS types and vice versa, -so e.g. *.jpg and *.pdf files will show the correct icons in the Finder. MacOS -resources and Finder attributes are stored in hidden .rsrc and -.finf directories. - -

Copying text via the clipboard

- -SheepShaver tries to keep the Linux and MacOS clipboards synchronized. That means, -when you copy a piece of text under Linux, you can paste it into a MacOS application -and vice versa. - -
-
-SheepShaver User's Guide -
- - diff --git a/SheepShaver/doc/PowerPC-Testsuite.txt b/SheepShaver/doc/PowerPC-Testsuite.txt deleted file mode 100644 index 1025aee..0000000 --- a/SheepShaver/doc/PowerPC-Testsuite.txt +++ /dev/null @@ -1,28 +0,0 @@ -====== PowerPC Emulator Testsuite ====== - -The PowerPC Emulator Tester is a self-contained testsuite I wrote for the [[en:projects:sheepshaver|SheepShaver]] emulation engine. It was a very handy tool during the development of the SheepShaver PowerPC Emulator and considerably reduced debugging time when AltiVec emulation was added. I hope this would be useful to other PowerPC Emulator authors. The code is distributed under the terms of the [[http://www.gnu.org/copyleft/gpl.html|GNU General Public License]] (GPL). - -It's not terrific code and can largely be improved and cleaned up, but it provides reasonnable information to chase down a bug. - -See [[#links|links]] for other testsuites. As of **2006/07/04**, the current SheepShaver CVS branch contains a more accurate FPU emulation engine. It passes VEX tests with more precision & exception bits. All the following glibc tests pass on PPC: ''test-fenv'', ''test-arith{,f}'', ''test-{float,double}''. Almost all of them pass on x86-64 too (modulo a few errors in ''test-float''), provided that GCC >= 4.0.1 is used. The more accurate engine is enabled with ''PPC_ENABLE_FPU_EXCEPTIONS''. - -===== Features ===== - - * Self-contained. No guest OS nor any complicated run-time environment is required. Your CPU emulator simply needs to support a special opcode (''0x18000000'', OP=6) that terminates execution of the current basic block. - - * Supports several CPU cores: SheepShaver, [[http://microlib.org/projects/ppc750sim/|Microlib PPC 750 Simulator]], [[http://model3emu.sourceforge.net/|Sega Model 3 Arcade Emulator]], [[http://www.qemu.org/|QEMU]]. - - * Supports the AltiVec ISA. - - * Generates more than 2 million tests with specific values to trigger condition codes changes, unspecified results (matches a PowerPC 7410, aka my Powerbook G4). - -===== Downloads ===== - - * The primary source is available in SheepShaver CVS. - - * It is recommended that you first run the tester on a native PowerPC platform to generate a results file. For reference, here is the [[this>projects/ppctester/files/ppc-testresults.dat.bz2|PowerPC Emulator Tester results file]] I use for SheepShaver. This was generated with AltiVec tests enabled. This is for revision 1.30+ of the file. md5sum is: ''3e29432abb6e21e625a2eef8cf2f0840''. - -===== Links ===== - - * [[http://www.valgrind.org/|Valgrind]] contains an interesting testsuite for the VEX. - * [[http://perso.magic.fr/l_indien/qemu-ppc/|Qemu-PPC]] contains part of the original ALU tests used in VEX. \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..88624ee --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,18 @@ +install: + - set PATH=C:\cygwin\bin;C:\cygwin64\bin;%PATH% + - '%CYG_ROOT%\setup-%CYG_ARCH%.exe -qnNdO -R %CYG_ROOT% -s http://cygwin.mirror.constant.com -l %CYG_ROOT%/var/cache/setup -P autoconf -P automake -P bison -P libgmp-devel -P gcc-core -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ -P mingw-pthreads -P mingw-w32api -P libtool -P make -P gettext-devel -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl' + +environment: + matrix: + - CYG_ARCH: x86_64 + CYG_ROOT: C:/cygwin64 + +build: off + +before_test: + - gcc -v + - g++ -v + +test_script: + # https://help.appveyor.com/discussions/problems/5170-progresspreference-not-works-always-shown-preparing-modules-for-first-use-in-stderr + - ps: $ProgressPreference = "SilentlyContinue" diff --git a/SheepShaver/doc/BeOS/acknowledgements.html b/doc/BeOS/acknowledgements.html similarity index 100% rename from SheepShaver/doc/BeOS/acknowledgements.html rename to doc/BeOS/acknowledgements.html diff --git a/SheepShaver/doc/BeOS/contact.html b/doc/BeOS/contact.html similarity index 100% rename from SheepShaver/doc/BeOS/contact.html rename to doc/BeOS/contact.html diff --git a/SheepShaver/doc/BeOS/graphics.gif b/doc/BeOS/graphics.gif similarity index 100% rename from SheepShaver/doc/BeOS/graphics.gif rename to doc/BeOS/graphics.gif diff --git a/SheepShaver/doc/BeOS/history.html b/doc/BeOS/history.html similarity index 100% rename from SheepShaver/doc/BeOS/history.html rename to doc/BeOS/history.html diff --git a/SheepShaver/doc/BeOS/icon.gif b/doc/BeOS/icon.gif similarity index 100% rename from SheepShaver/doc/BeOS/icon.gif rename to doc/BeOS/icon.gif diff --git a/SheepShaver/doc/BeOS/iconsmall.gif b/doc/BeOS/iconsmall.gif similarity index 100% rename from SheepShaver/doc/BeOS/iconsmall.gif rename to doc/BeOS/iconsmall.gif diff --git a/SheepShaver/doc/BeOS/index.html b/doc/BeOS/index.html similarity index 100% rename from SheepShaver/doc/BeOS/index.html rename to doc/BeOS/index.html diff --git a/SheepShaver/doc/BeOS/installation.html b/doc/BeOS/installation.html similarity index 100% rename from SheepShaver/doc/BeOS/installation.html rename to doc/BeOS/installation.html diff --git a/SheepShaver/doc/BeOS/introduction.html b/doc/BeOS/introduction.html similarity index 100% rename from SheepShaver/doc/BeOS/introduction.html rename to doc/BeOS/introduction.html diff --git a/SheepShaver/doc/BeOS/memory.gif b/doc/BeOS/memory.gif similarity index 100% rename from SheepShaver/doc/BeOS/memory.gif rename to doc/BeOS/memory.gif diff --git a/SheepShaver/doc/BeOS/quickstart.html b/doc/BeOS/quickstart.html similarity index 100% rename from SheepShaver/doc/BeOS/quickstart.html rename to doc/BeOS/quickstart.html diff --git a/SheepShaver/doc/BeOS/serial.gif b/doc/BeOS/serial.gif similarity index 100% rename from SheepShaver/doc/BeOS/serial.gif rename to doc/BeOS/serial.gif diff --git a/SheepShaver/doc/BeOS/settings.html b/doc/BeOS/settings.html similarity index 100% rename from SheepShaver/doc/BeOS/settings.html rename to doc/BeOS/settings.html diff --git a/SheepShaver/doc/BeOS/troubleshooting.html b/doc/BeOS/troubleshooting.html similarity index 100% rename from SheepShaver/doc/BeOS/troubleshooting.html rename to doc/BeOS/troubleshooting.html diff --git a/SheepShaver/doc/BeOS/using.html b/doc/BeOS/using.html similarity index 100% rename from SheepShaver/doc/BeOS/using.html rename to doc/BeOS/using.html diff --git a/SheepShaver/doc/BeOS/volumes.gif b/doc/BeOS/volumes.gif similarity index 100% rename from SheepShaver/doc/BeOS/volumes.gif rename to doc/BeOS/volumes.gif diff --git a/doc/Linux/acknowledgements.html b/doc/Linux/acknowledgements.html new file mode 100644 index 0000000..41cde2b --- /dev/null +++ b/doc/Linux/acknowledgements.html @@ -0,0 +1,18 @@ + + + + +Acknowledgements + + +

Acknowledgements

+

The following persons/companies deserve special thanks from us as they made a significant contribution to the development of SheepShaver:

+ +
+

SheepShaver User's Guide

+ + diff --git a/doc/Linux/contact.html b/doc/Linux/contact.html new file mode 100644 index 0000000..8741ef5 --- /dev/null +++ b/doc/Linux/contact.html @@ -0,0 +1,30 @@ + + + + +Contact Information + + +

Contact Information and Copyright

+

SheepShaver was brought to you by

+ +

logo SheepShaver WWW Site:

+
+www.sheepshaver.com +
+

EMail:

+
+sheep@sheepshaver.com +
+

License

+

SheepShaver is available under the terms of the GNU General Public License. See the file "COPYING" that is included in the distribution for details.

+

© Copyright 1997-2004 Christian Bauer and Marc Hellwig

+

Names of hardware and software items mentioned in this manual and in program texts are in most cases registered trade marks of the respective companies and not marked as such. So the lack of such a note may not be used as an indication that these names are free.

+

SheepShaver is not designed, intended, or authorized for use as a component in systems intended for surgical implant within the body, or other applications intended to support or sustain life, or for any other application in which the failure of SheepShaver could create a situation where personal injury or death may occur (so-called "killer application").

+
+

SheepShaver User's Guide

+ + diff --git a/SheepShaver/doc/Linux/graphics.gif b/doc/Linux/graphics.gif similarity index 100% rename from SheepShaver/doc/Linux/graphics.gif rename to doc/Linux/graphics.gif diff --git a/doc/Linux/history.html b/doc/Linux/history.html new file mode 100644 index 0000000..219610a --- /dev/null +++ b/doc/Linux/history.html @@ -0,0 +1,21 @@ + + + + +Revision History + + +

SheepShaver Revision History

+

V2.2 (2002-02-04)

+ +

V2.1 (2001-03-31)

+ +
+

SheepShaver User's Guide

+ + diff --git a/SheepShaver/doc/Linux/icon.gif b/doc/Linux/icon.gif similarity index 100% rename from SheepShaver/doc/Linux/icon.gif rename to doc/Linux/icon.gif diff --git a/SheepShaver/doc/Linux/iconsmall.gif b/doc/Linux/iconsmall.gif similarity index 100% rename from SheepShaver/doc/Linux/iconsmall.gif rename to doc/Linux/iconsmall.gif diff --git a/doc/Linux/index.html b/doc/Linux/index.html new file mode 100644 index 0000000..8a429c2 --- /dev/null +++ b/doc/Linux/index.html @@ -0,0 +1,22 @@ + + + + +The SheepShaver User's Guide + + +

logo SheepShaver V2.2 Installation and User's Guide (Linux)

+

Contents

+ + + diff --git a/doc/Linux/installation.html b/doc/Linux/installation.html new file mode 100644 index 0000000..833acfc --- /dev/null +++ b/doc/Linux/installation.html @@ -0,0 +1,17 @@ + + + + +Installation + + +

Installation

+

You need at least a 2.2.x kernel, glibc 2.1 and GTK+ 1.2. Earlier versions will not work.

+
    +
  1. Unpack the SheepShaver archive (if you are reading this, you probably have already done this)
  2. +
  3. Even when running on a PowerMac, you need a copy of a PCI PowerMac ROM (4MB) in a file called "ROM" in the same folder SheepShaver is in (but you can select a different location in the settings window). SheepShaver can also use the "Mac OS ROM" file that comes with MacOS 8.5/8.6 (look in the System Folder on your MacOS CD). In order to legally use SheepShaver, you have to own the ROM the image file was taken from.
  4. +
+
+

SheepShaver User's Guide

+ + diff --git a/doc/Linux/introduction.html b/doc/Linux/introduction.html new file mode 100644 index 0000000..0ddc2d4 --- /dev/null +++ b/doc/Linux/introduction.html @@ -0,0 +1,23 @@ + + + + +Introduction + + +

Introduction

+

SheepShaver is a MacOS run-time environment for Linux that allows you to run MacOS applications at native speed inside the Linux multitasking environment on PowerPC-based Linux systems. This means that both Linux and MacOS applications can run at the same time and data can be exchanged between them.

+

SheepShaver is neither a MacOS replacement nor an emulator. It runs an unmodified PowerPC MacOS under control of Linux at full speed without any kind of emulation. So it also uses the MacOS 68k emulator to run 68k applications. In this way, SheepShaver is comparable to the "Blue Box" of Apple's Rhapsody operating system.

+

Some of SheepShaver's features

+ +
+

SheepShaver User's Guide

+ + diff --git a/SheepShaver/doc/Linux/memory.gif b/doc/Linux/memory.gif similarity index 100% rename from SheepShaver/doc/Linux/memory.gif rename to doc/Linux/memory.gif diff --git a/doc/Linux/quickstart.html b/doc/Linux/quickstart.html new file mode 100644 index 0000000..5936253 --- /dev/null +++ b/doc/Linux/quickstart.html @@ -0,0 +1,24 @@ + + + + +Quick Start + + +

Quick Start

+

The following is a step-by-step guide that shows you how to get SheepShaver up and running in the quickest possible way. We assume that you are running on a PowerMac that already has MacOS installed on a partition of your hard drive and that you have booted into Linux.

+
    +
  1. Start the "SheepShaver" program. The "SheepShaver Settings" window will appear.
  2. +
  3. Click on "Start". SheepShaver will try to detect on which partition MacOS is installed and should then start booting MacOS.
  4. +
  5. To quit SheepShaver, select "Shutdown" from the Finder's "Special" menu.
  6. +
+

When SheepShaver hangs or crashes in fullscreen mode, pressing Ctrl-Esc should quit it and restore the display.

+

In fullscreen mode, press Ctrl-Tab to suspend SheepShaver and return to the normal X11 destop. Press space inside the "SheepShaver suspended" window to reactivate it.

+

One word of caution

+

Volumes which are used by SheepShaver must not also be mounted under Linux +while SheepShaver is running. You will lose data and corrupt the +volume if you do this!

+
+

SheepShaver User's Guide

+ + diff --git a/SheepShaver/doc/Linux/serial.gif b/doc/Linux/serial.gif similarity index 100% rename from SheepShaver/doc/Linux/serial.gif rename to doc/Linux/serial.gif diff --git a/doc/Linux/settings.html b/doc/Linux/settings.html new file mode 100644 index 0000000..9c6a61c --- /dev/null +++ b/doc/Linux/settings.html @@ -0,0 +1,38 @@ + + + + +Setting up SheepShaver + + +

Setting up SheepShaver

+

In the "SheepShaver Settings" window that pops up when you start SheepShaver, you can configure certain features of SheepShaver. When you click on "Start", the current settings are saved to disk and will be available next time you start SheepShaver.

+

The settings are divided into four groups: Volumes, Graphics/Sound, Serial/Network and Memory/Misc.

+

Volumes

+ +

The main part of the volumes pane is a list that contains all volumes to be mounted by SheepShaver. If this list is empty, SheepShaver will try to detect and mount all HFS partitions it can find. A CD-ROM drive is always automatically detected and used.

+

SheepShaver can use HFS partitions, whole HFS formatted drives, and it can also emulate hard disks in single Linux files ("hardfiles").

+

To add a Mac volume to the list, click on "Add...", go to the "/dev" directory in the file panel, click once on the partition you want and click on "OK". The selected partition device name should then appear in the volume list. After adding volumes to the list, you should unmount them on the Linux side. To remove a Mac volume, select it in the list and click on "Remove".

+

You can create a new, empty hardfile by clicking on "Create...". Enter the file name and the size of the hardfile and click on "Create". The hardfile will be created (this may take some seconds) and added to the volume list. The so-created hardfile will have to be formatted under MacOS before you can store something in it. If you start up SheepShaver, the Finder will display a message about an "unreadable" volume being found and give you the option to format it.

+

Double-clicking on an entry in the volume list will add or remove a "*" in front of the device name. Volumes marked with a "*" are read-only for the MacOS under SheepShaver.

+

SheepShaver will show a "Linux" disk icon on the Mac desktop that allows access to Linux files from Mac applications. In "Linux Root" you specify which Linux directory will be at the root of this virtual "Linux" disk. The default setting of "/" means that the "Linux" icon in the MacOS Finder will correspond to your Linux root directory. The MacOS will try to create files and folders like "Desktop", "Trash", "OpenFolderListDF" etc. in the directory you specify as "Linux Root" (provided that you have access rights to that directory). If they annoy you, you can delete them.

+

To boot from CD-ROM, set the "Boot From" setting to "CD-ROM". +The "Disable CD-ROM Driver" box is used to disable SheepShaver's built-in CD-ROM driver. This is currently of not much use and you should leave the box unselected.

+

Graphics/Sound

+ +

With "Window Refresh Rate" you can set the refresh rate of the MacOS window. Higher rates mean faster screen updates and less "sluggish" behaviour, but also require more CPU time.

+

The "Enabled Video Modes" controls allow you to select which graphics modes are available for displaying the MacOS desktop. You can, for example, disable the window modes when you want to run some Mac programs in full-screen mode that would otherwise erroneously switch to a window mode. If your X server doesn't support DGA you should disable the Fullscreen mode. The actual mode to be used is selected in the "Monitors" control panel under MacOS. The color depth is always that of the X11 screen and cannot be changed.

+

The "Disable Sound Output" box allows you to disable all sound output by SheepShaver. This is useful if the sound takes too much CPU time on your machine or to get rid of warning messages if SheepShaver can't use your audio hardware.

+

Serial/Network

+ +

You can select to which devices the MacOS modem and printer ports are redirected. You can assign them to any serial ports you have (/dev/ttyS*), or even to parallel ports (/dev/lp*, useful for printing if you have Mac drivers for parallel printers, like the PowerPrint package from www.gdt.com).

+

With "Ethernet Interface" you select which Ethernet card is to be used for networking. It can either be the name of a real Ethernet card (e.g. "eth0") or of an ethertap interface (e.g. "tap0"). Using a real Ethernet card requires the "sheep_net" driver to be installed and accessible. See Using SheepShaver for more information about setting up networking.

+

Memory/Misc

+ +

With "MacOS RAM Size" you select how much RAM will be available to the MacOS (and all MacOS applications running under it). SheepShaver uses the Linux virtual memory system, so you can select more RAM than you physically have in your machine. The MacOS virtual memory system is not available under SheepShaver (i.e. if you have 32MB of RAM in your computer and select 64MB to be used for MacOS in the SheepShaver settings, MacOS will behave as if it's running on a computer that has 64MB of RAM but no virtual memory).

+

"ROM File" specifies the path name of the Mac ROM file to be used. If it is left blank, SheepShaver expects the ROM file to be called "ROM" and be in the same directory as the SheepShaver application.

+

The "Ignore Illegal Memory Accesses" option is there to make some broken Mac programs work that access addresses where there is no RAM or ROM. With this option unchecked, SheepShaver will in this case display an error message and quit. When the option is activated, SheepShaver will try to continue as if the illegal access never happened (writes are ignored, reads return 0). This may or may not make the program work (when a program performs an illegal access, it is most likely that something else went wrong). When a Mac program behaves strangely or hangs, you can quit SheepShaver, uncheck this option and retry. If you get an "illegal access" message, you will know that something is broken.

+
+

SheepShaver User's Guide

+ + diff --git a/doc/Linux/troubleshooting.html b/doc/Linux/troubleshooting.html new file mode 100644 index 0000000..354db2e --- /dev/null +++ b/doc/Linux/troubleshooting.html @@ -0,0 +1,37 @@ + + + + +Troubleshooting + + +

Troubleshooting

+

SheepShaver doesn't boot

+

SheepShaver should boot all MacOS versions >=7.5.2, except MacOS X. However, your mileage may vary. If it doesn't boot, try again with extensions disabled (by pressing the shift key) and then remove some of these extensions: "MacOS Licensing Extension", Speed Doubler, 68k FPU extensions and MacsBug.

+

The colors are wrong in 16 or 32 bit graphics modes

+

If you're running SheepShaver on a something other than a PowerMac, it may be that 16 or 32 bit graphics modes show false colors due to the frame buffer being little-endian. Apart from patching the X server, there's unfortunately nothing that you or SheepShaver can do about this.

+

Full-screen mode doesn't work

+

Some X servers on Linux PPC don't support DGA and full-screen mode cannot be used with these (in this case, you should disable it in the "Graphics" settings). If you are seeing a message like "cannot map /dev/kmem (permission denied)", you have to either run SheepShaver as root (not recommended) or give yourself appropriate access rights to /dev/kmem if you can login as root.

+

Ethernet doesn't work

+ +

SheepShaver crashes, but yesterday it worked

+

Try the "Zap PRAM File" item in the main menu of the SheepShaver preferences editor. When you are using a ROM file and switching to a different ROM version, you have to zap the PRAM file or SheepShaver might behave very weird.

+

Known incompatibilities

+ +

Known bugs

+ +
+

SheepShaver User's Guide

+ + diff --git a/doc/Linux/using.html b/doc/Linux/using.html new file mode 100644 index 0000000..9b74a24 --- /dev/null +++ b/doc/Linux/using.html @@ -0,0 +1,41 @@ + + + + +Using SheepShaver + + +

Using SheepShaver

+

Changing the display mode

+

SheepShaver can display the MacOS user interface in an X11 window or full-screen (much faster). You select the display mode as usual under MacOS in the "Monitors" control panel (under System 7.x, click on "Options"). The "75Hz" modes are full-screen modes, the "60Hz" modes are window modes (this doesn't mean that the video refresh rate is 75 or 60Hz in the respective modes; the rate displayed has no meaning; it's simply there to distinguish full screen modes from window modes).

+

Full-screen mode

+

The full-screen mode uses the whole X11 screen for displaying the MacOS user interface. You can temporarily switch back to the X11 desktop by pressing Ctrl-Tab. The MacOS (and all MacOS applications) will now be suspended. You can resume SheepShaver by activating the "SheepShaver suspended" window and pressing the space key. Using full-screen mode requires a DGA capable X server.

+

Networking

+

There are three approaches to networking with SheepShaver:

+
    +
  1. Direct access to an Ethernet card via the "sheep_net" driver. In this case, the "ethernet card description" must be the name of a real Ethernet card, e.g. "eth0". It also requires the "sheep_net" driver to be installed and accessible. This approach will allow you to run all networking protocols under MacOS (TCP/IP, AppleTalk, IPX etc.) but there is no connection between Linux networking and MacOS networking. MacOS will only be able to talk to other machines on the Ethernet, but not to other networks that your Linux box routes (e.g. a second Ethernet or a PPP connection to the Internet).
  2. +
  3. +

    Putting SheepShaver on a virtual Ethernet via the "ethertap" device. In this case, the "ethernet card description" must be the name of an ethertap interface, e.g. "tap0". It also requires that you configure your kernel to enable routing and the ethertap device: under "Networking options", enable "Kernel/User netlink socket" and "Netlink device emulation", under "Network device support", activate "Ethertap network tap". You also have to modify devices/net/ethertap.c a bit before compiling the new kernel:

    + +

    Next, see /usr/src/linux/Documentation/networking/ethertap.txt for information on how to set up /dev/tap* device nodes and activate the ethertap interface. Under MacOS, select an IP address that is on the virtual network and set the default gateway to the IP address of the ethertap interface. This approach will let you access all networks that your Linux box has access to (especially, if your Linux box has a dial-up Internet connection and is configured for IP masquerading, you can access the Internet from MacOS). The drawback is that you can only use network protocols that Linux can route, so you have to install and configure netatalk if you want to use AppleTalk. Here is an example /etc/atalk/atalkd.conf for a LAN:

    +
    +eth0 -seed -phase 2 -net 1 -addr 1.47 -zone "Ethernet"
    +tap0 -seed -phase 2 -net 2 -addr 2.47 -zone "Sheepnet"
    +
    +

    (the "47" is an arbitrary node number). This will set up a zone "Ethernet" (net 1) for the Ethernet and a zone "Sheepnet" (net 2) for the internal network connection of the ethertap interface. MacOS should automatically recognize the nets and zones upon startup. If you are in an existing AppleTalk network, you should contact your network administrator about the nets and zones you can use (instead of the ones given in the example above).

    +
  4. +
  5. Networking protocols for serial connections (PPP and SLIP, for example) can be used provided that you have the appropriate MacOS system components installed (e.g. Open Transport/PPP).
  6. +
+

Using floppy disks

+

Floppy disks are not automatically detected when they are inserted. They have to be mounted explicitly: after inserting a floppy disk, press Ctrl-F1.

+

Accessing Linux files

+

SheepShaver will display a "Linux" disk icon on the Mac desktop that allows you to access any Linux files which are in the directory specified as "Linux Root" in the "Volumes" pane of the SheepShaver settings. You can open and save files on the "Linux" disk from Mac applications, copy, move or rename files from the Finder etc. SheepShaver translates some file name extensions to MacOS types and vice versa, so e.g. *.jpg and *.pdf files will show the correct icons in the Finder. MacOS resources and Finder attributes are stored in hidden .rsrc and .finf directories.

+

Copying text via the clipboard

+

SheepShaver tries to keep the Linux and MacOS clipboards synchronized. That means, when you copy a piece of text under Linux, you can paste it into a MacOS application and vice versa.

+
+

SheepShaver User's Guide

+ + diff --git a/SheepShaver/doc/Linux/volumes.gif b/doc/Linux/volumes.gif similarity index 100% rename from SheepShaver/doc/Linux/volumes.gif rename to doc/Linux/volumes.gif diff --git a/doc/PowerPC-Testsuite.md b/doc/PowerPC-Testsuite.md new file mode 100644 index 0000000..b67ef4b --- /dev/null +++ b/doc/PowerPC-Testsuite.md @@ -0,0 +1,28 @@ +# PowerPC Emulator Testsuite + +The PowerPC Emulator Tester is a self-contained testsuite I wrote for the SheepShaver emulation engine. It was a very handy tool during the development of the SheepShaver PowerPC Emulator, and considerably reduced debugging time when AltiVec emulation was added. I hope this would be useful to other PowerPC Emulator authors. The code is distributed under the terms of the [GNU General Public License (GPL)](https://www.gnu.org/copyleft/gpl.html). + +It's not terrific code and can largely be improved and cleaned up, but it provides reasonable information to chase down a bug. + +See links for other testsuites. As of **2006-07-04**, the current SheepShaver CVS branch contains a more accurate FPU emulation engine. It passes VEX tests with more precision & exception bits. All the following glibc tests pass on PPC: `test-fenv`, `test-arith{,f}`, `test-{float,double}`. Almost all of them pass on x86-64 too (modulo a few errors in `test-float`), provided that GCC >= 4.0.1 is used. The more accurate engine is enabled with `PPC_ENABLE_FPU_EXCEPTIONS`. + +## Features + +- Self-contained. No guest OS nor any complicated run-time environment is required. Your CPU emulator simply needs to support a special opcode (`0x18000000`, `OP=6`) that terminates execution of the current basic block. +- Supports several CPU cores: + - SheepShaver + - [Microlib PPC 750 Simulator](https://web.archive.org/web/20070626045323/http://microlib.org/projects/ppc750sim/) + - [Sega Model 3 Arcade Emulator](https://web.archive.org/web/20081007020217/http://model3emu.sourceforge.net/) + - [QEMU](https://www.qemu.org/) +- Supports the AltiVec ISA. +- Generates more than 2 million tests with specific values to trigger condition codes changes, unspecified results (matches a PowerPC 7410, aka my Powerbook G4). + +## Downloads + +- The primary source is available in SheepShaver CVS. +- It is recommended that you first run the tester on a native PowerPC platform to generate a results file. For reference, here is the [[this>projects/ppctester/files/ppc-testresults.dat.bz2|PowerPC Emulator Tester results file]] I use for SheepShaver. This was generated with AltiVec tests enabled. This is for revision 1.30+ of the file. md5sum is: `3e29432abb6e21e625a2eef8cf2f0840`. **Caveat:** On 2019-03-02 the tests result file is not available in this GitHub repository. RK + +## Links + +- [Valgrind](http://www.valgrind.org/) contains an interesting testsuite for the VEX. +- [Qemu-PPC](https://web.archive.org/web/20080212093125/http://perso.magic.fr/l_indien/qemu-ppc/) contains part of the original ALU tests used in VEX. diff --git a/SheepShaver/src/BeOS/CreatePCIDrivers/Ethernet.cpp b/src/BeOS/CreatePCIDrivers/Ethernet.cpp similarity index 100% rename from SheepShaver/src/BeOS/CreatePCIDrivers/Ethernet.cpp rename to src/BeOS/CreatePCIDrivers/Ethernet.cpp diff --git a/SheepShaver/src/BeOS/CreatePCIDrivers/Makefile b/src/BeOS/CreatePCIDrivers/Makefile similarity index 100% rename from SheepShaver/src/BeOS/CreatePCIDrivers/Makefile rename to src/BeOS/CreatePCIDrivers/Makefile diff --git a/SheepShaver/src/BeOS/CreatePCIDrivers/Video.cpp b/src/BeOS/CreatePCIDrivers/Video.cpp similarity index 100% rename from SheepShaver/src/BeOS/CreatePCIDrivers/Video.cpp rename to src/BeOS/CreatePCIDrivers/Video.cpp diff --git a/SheepShaver/src/BeOS/CreatePCIDrivers/hexconv.cpp b/src/BeOS/CreatePCIDrivers/hexconv.cpp similarity index 100% rename from SheepShaver/src/BeOS/CreatePCIDrivers/hexconv.cpp rename to src/BeOS/CreatePCIDrivers/hexconv.cpp diff --git a/SheepShaver/src/BeOS/Makefile b/src/BeOS/Makefile similarity index 100% rename from SheepShaver/src/BeOS/Makefile rename to src/BeOS/Makefile diff --git a/SheepShaver/src/BeOS/NetPeek/Makefile b/src/BeOS/NetPeek/Makefile similarity index 100% rename from SheepShaver/src/BeOS/NetPeek/Makefile rename to src/BeOS/NetPeek/Makefile diff --git a/SheepShaver/src/BeOS/NetPeek/NetPeek.cpp b/src/BeOS/NetPeek/NetPeek.cpp similarity index 100% rename from SheepShaver/src/BeOS/NetPeek/NetPeek.cpp rename to src/BeOS/NetPeek/NetPeek.cpp diff --git a/SheepShaver/src/BeOS/SaveROM/Makefile b/src/BeOS/SaveROM/Makefile similarity index 100% rename from SheepShaver/src/BeOS/SaveROM/Makefile rename to src/BeOS/SaveROM/Makefile diff --git a/SheepShaver/src/BeOS/SaveROM/README b/src/BeOS/SaveROM/README similarity index 100% rename from SheepShaver/src/BeOS/SaveROM/README rename to src/BeOS/SaveROM/README diff --git a/SheepShaver/src/BeOS/SaveROM/SaveROM.cpp b/src/BeOS/SaveROM/SaveROM.cpp similarity index 100% rename from SheepShaver/src/BeOS/SaveROM/SaveROM.cpp rename to src/BeOS/SaveROM/SaveROM.cpp diff --git a/SheepShaver/src/BeOS/SaveROM/SaveROM.rsrc b/src/BeOS/SaveROM/SaveROM.rsrc similarity index 100% rename from SheepShaver/src/BeOS/SaveROM/SaveROM.rsrc rename to src/BeOS/SaveROM/SaveROM.rsrc diff --git a/SheepShaver/src/BeOS/SheepDriver b/src/BeOS/SheepDriver similarity index 100% rename from SheepShaver/src/BeOS/SheepDriver rename to src/BeOS/SheepDriver diff --git a/SheepShaver/src/BeOS/SheepNet b/src/BeOS/SheepNet similarity index 100% rename from SheepShaver/src/BeOS/SheepNet rename to src/BeOS/SheepNet diff --git a/SheepShaver/src/BeOS/SheepShaver.rsrc b/src/BeOS/SheepShaver.rsrc similarity index 100% rename from SheepShaver/src/BeOS/SheepShaver.rsrc rename to src/BeOS/SheepShaver.rsrc diff --git a/SheepShaver/src/BeOS/about_window_beos.cpp b/src/BeOS/about_window_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/about_window_beos.cpp rename to src/BeOS/about_window_beos.cpp diff --git a/SheepShaver/src/BeOS/audio_beos.cpp b/src/BeOS/audio_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/audio_beos.cpp rename to src/BeOS/audio_beos.cpp diff --git a/SheepShaver/src/BeOS/clip_beos.cpp b/src/BeOS/clip_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/clip_beos.cpp rename to src/BeOS/clip_beos.cpp diff --git a/SheepShaver/src/BeOS/ether_beos.cpp b/src/BeOS/ether_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/ether_beos.cpp rename to src/BeOS/ether_beos.cpp diff --git a/SheepShaver/src/BeOS/extfs_beos.cpp b/src/BeOS/extfs_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/extfs_beos.cpp rename to src/BeOS/extfs_beos.cpp diff --git a/SheepShaver/src/BeOS/main_beos.cpp b/src/BeOS/main_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/main_beos.cpp rename to src/BeOS/main_beos.cpp diff --git a/SheepShaver/src/BeOS/prefs_beos.cpp b/src/BeOS/prefs_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/prefs_beos.cpp rename to src/BeOS/prefs_beos.cpp diff --git a/SheepShaver/src/BeOS/prefs_editor_beos.cpp b/src/BeOS/prefs_editor_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/prefs_editor_beos.cpp rename to src/BeOS/prefs_editor_beos.cpp diff --git a/SheepShaver/src/BeOS/scsi_beos.cpp b/src/BeOS/scsi_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/scsi_beos.cpp rename to src/BeOS/scsi_beos.cpp diff --git a/SheepShaver/src/BeOS/serial_beos.cpp b/src/BeOS/serial_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/serial_beos.cpp rename to src/BeOS/serial_beos.cpp diff --git a/SheepShaver/src/BeOS/sys_beos.cpp b/src/BeOS/sys_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/sys_beos.cpp rename to src/BeOS/sys_beos.cpp diff --git a/SheepShaver/src/BeOS/sysdeps.h b/src/BeOS/sysdeps.h similarity index 100% rename from SheepShaver/src/BeOS/sysdeps.h rename to src/BeOS/sysdeps.h diff --git a/SheepShaver/src/BeOS/timer_beos.cpp b/src/BeOS/timer_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/timer_beos.cpp rename to src/BeOS/timer_beos.cpp diff --git a/SheepShaver/src/BeOS/user_strings_beos.cpp b/src/BeOS/user_strings_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/user_strings_beos.cpp rename to src/BeOS/user_strings_beos.cpp diff --git a/SheepShaver/src/BeOS/user_strings_beos.h b/src/BeOS/user_strings_beos.h similarity index 100% rename from SheepShaver/src/BeOS/user_strings_beos.h rename to src/BeOS/user_strings_beos.h diff --git a/SheepShaver/src/BeOS/video_beos.cpp b/src/BeOS/video_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/video_beos.cpp rename to src/BeOS/video_beos.cpp diff --git a/SheepShaver/src/BeOS/video_screen.h b/src/BeOS/video_screen.h similarity index 100% rename from SheepShaver/src/BeOS/video_screen.h rename to src/BeOS/video_screen.h diff --git a/SheepShaver/src/BeOS/video_window.h b/src/BeOS/video_window.h similarity index 100% rename from SheepShaver/src/BeOS/video_window.h rename to src/BeOS/video_window.h diff --git a/SheepShaver/src/BeOS/xpram_beos.cpp b/src/BeOS/xpram_beos.cpp similarity index 100% rename from SheepShaver/src/BeOS/xpram_beos.cpp rename to src/BeOS/xpram_beos.cpp diff --git a/SheepShaver/src/CrossPlatform/sigsegv.cpp b/src/CrossPlatform/sigsegv.cpp similarity index 100% rename from SheepShaver/src/CrossPlatform/sigsegv.cpp rename to src/CrossPlatform/sigsegv.cpp diff --git a/SheepShaver/src/CrossPlatform/sigsegv.h b/src/CrossPlatform/sigsegv.h similarity index 100% rename from SheepShaver/src/CrossPlatform/sigsegv.h rename to src/CrossPlatform/sigsegv.h diff --git a/SheepShaver/src/CrossPlatform/video_blit.cpp b/src/CrossPlatform/video_blit.cpp similarity index 100% rename from SheepShaver/src/CrossPlatform/video_blit.cpp rename to src/CrossPlatform/video_blit.cpp diff --git a/SheepShaver/src/CrossPlatform/video_blit.h b/src/CrossPlatform/video_blit.h similarity index 100% rename from SheepShaver/src/CrossPlatform/video_blit.h rename to src/CrossPlatform/video_blit.h diff --git a/SheepShaver/src/CrossPlatform/video_vosf.h b/src/CrossPlatform/video_vosf.h similarity index 100% rename from SheepShaver/src/CrossPlatform/video_vosf.h rename to src/CrossPlatform/video_vosf.h diff --git a/SheepShaver/src/CrossPlatform/vm_alloc.cpp b/src/CrossPlatform/vm_alloc.cpp similarity index 100% rename from SheepShaver/src/CrossPlatform/vm_alloc.cpp rename to src/CrossPlatform/vm_alloc.cpp diff --git a/SheepShaver/src/CrossPlatform/vm_alloc.h b/src/CrossPlatform/vm_alloc.h similarity index 100% rename from SheepShaver/src/CrossPlatform/vm_alloc.h rename to src/CrossPlatform/vm_alloc.h diff --git a/SheepShaver/src/EthernetDriver/.finf/Ethernet.mcp b/src/EthernetDriver/.finf/Ethernet.mcp similarity index 100% rename from SheepShaver/src/EthernetDriver/.finf/Ethernet.mcp rename to src/EthernetDriver/.finf/Ethernet.mcp diff --git a/SheepShaver/src/EthernetDriver/.finf/ethernet.ndrv b/src/EthernetDriver/.finf/ethernet.ndrv similarity index 100% rename from SheepShaver/src/EthernetDriver/.finf/ethernet.ndrv rename to src/EthernetDriver/.finf/ethernet.ndrv diff --git a/SheepShaver/src/EthernetDriver/.rsrc/ethernet.ndrv b/src/EthernetDriver/.rsrc/ethernet.ndrv similarity index 100% rename from SheepShaver/src/EthernetDriver/.rsrc/ethernet.ndrv rename to src/EthernetDriver/.rsrc/ethernet.ndrv diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/.finf/CWSettingsMacOS.stg b/src/EthernetDriver/Ethernet Data/.finf/CWSettingsMacOS.stg similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/.finf/CWSettingsMacOS.stg rename to src/EthernetDriver/Ethernet Data/.finf/CWSettingsMacOS.stg diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/.finf/PPC Debug MacOS Toolbox b/src/EthernetDriver/Ethernet Data/.finf/PPC Debug MacOS Toolbox similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/.finf/PPC Debug MacOS Toolbox rename to src/EthernetDriver/Ethernet Data/.finf/PPC Debug MacOS Toolbox diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/.finf/PPC Final MacOS Toolbox b/src/EthernetDriver/Ethernet Data/.finf/PPC Final MacOS Toolbox similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/.finf/PPC Final MacOS Toolbox rename to src/EthernetDriver/Ethernet Data/.finf/PPC Final MacOS Toolbox diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/CWSettingsMacOS.stg b/src/EthernetDriver/Ethernet Data/CWSettingsMacOS.stg similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/CWSettingsMacOS.stg rename to src/EthernetDriver/Ethernet Data/CWSettingsMacOS.stg diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.finf/TargetDataMacOS.tdt b/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.finf/TargetDataMacOS.tdt similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.finf/TargetDataMacOS.tdt rename to src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.finf/TargetDataMacOS.tdt diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.rsrc/TargetDataMacOS.tdt b/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.rsrc/TargetDataMacOS.tdt similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.rsrc/TargetDataMacOS.tdt rename to src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/.rsrc/TargetDataMacOS.tdt diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/TargetDataMacOS.tdt b/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/TargetDataMacOS.tdt similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/TargetDataMacOS.tdt rename to src/EthernetDriver/Ethernet Data/PPC Debug MacOS Toolbox/TargetDataMacOS.tdt diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.finf/TargetDataMacOS.tdt b/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.finf/TargetDataMacOS.tdt similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.finf/TargetDataMacOS.tdt rename to src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.finf/TargetDataMacOS.tdt diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.rsrc/TargetDataMacOS.tdt b/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.rsrc/TargetDataMacOS.tdt similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.rsrc/TargetDataMacOS.tdt rename to src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/.rsrc/TargetDataMacOS.tdt diff --git a/SheepShaver/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/TargetDataMacOS.tdt b/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/TargetDataMacOS.tdt similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/TargetDataMacOS.tdt rename to src/EthernetDriver/Ethernet Data/PPC Final MacOS Toolbox/TargetDataMacOS.tdt diff --git a/SheepShaver/src/EthernetDriver/Ethernet.cpp b/src/EthernetDriver/Ethernet.cpp similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet.cpp rename to src/EthernetDriver/Ethernet.cpp diff --git a/SheepShaver/src/EthernetDriver/Ethernet.mcp b/src/EthernetDriver/Ethernet.mcp similarity index 100% rename from SheepShaver/src/EthernetDriver/Ethernet.mcp rename to src/EthernetDriver/Ethernet.mcp diff --git a/SheepShaver/src/EthernetDriver/cpu_emulation.h b/src/EthernetDriver/cpu_emulation.h similarity index 100% rename from SheepShaver/src/EthernetDriver/cpu_emulation.h rename to src/EthernetDriver/cpu_emulation.h diff --git a/SheepShaver/src/EthernetDriver/debug.h b/src/EthernetDriver/debug.h similarity index 100% rename from SheepShaver/src/EthernetDriver/debug.h rename to src/EthernetDriver/debug.h diff --git a/SheepShaver/src/EthernetDriver/ether.cpp b/src/EthernetDriver/ether.cpp similarity index 100% rename from SheepShaver/src/EthernetDriver/ether.cpp rename to src/EthernetDriver/ether.cpp diff --git a/SheepShaver/src/EthernetDriver/ether.h b/src/EthernetDriver/ether.h similarity index 100% rename from SheepShaver/src/EthernetDriver/ether.h rename to src/EthernetDriver/ether.h diff --git a/SheepShaver/src/EthernetDriver/ether_defs.h b/src/EthernetDriver/ether_defs.h similarity index 100% rename from SheepShaver/src/EthernetDriver/ether_defs.h rename to src/EthernetDriver/ether_defs.h diff --git a/SheepShaver/src/EthernetDriver/ethernet.ndrv b/src/EthernetDriver/ethernet.ndrv similarity index 100% rename from SheepShaver/src/EthernetDriver/ethernet.ndrv rename to src/EthernetDriver/ethernet.ndrv diff --git a/SheepShaver/src/EthernetDriver/macos_util.cpp b/src/EthernetDriver/macos_util.cpp similarity index 100% rename from SheepShaver/src/EthernetDriver/macos_util.cpp rename to src/EthernetDriver/macos_util.cpp diff --git a/SheepShaver/src/EthernetDriver/macos_util.h b/src/EthernetDriver/macos_util.h similarity index 100% rename from SheepShaver/src/EthernetDriver/macos_util.h rename to src/EthernetDriver/macos_util.h diff --git a/SheepShaver/src/EthernetDriver/sysdeps.h b/src/EthernetDriver/sysdeps.h similarity index 100% rename from SheepShaver/src/EthernetDriver/sysdeps.h rename to src/EthernetDriver/sysdeps.h diff --git a/SheepShaver/src/EthernetDriver/xlowmem.h b/src/EthernetDriver/xlowmem.h similarity index 100% rename from SheepShaver/src/EthernetDriver/xlowmem.h rename to src/EthernetDriver/xlowmem.h diff --git a/SheepShaver/src/EthernetDriverFull.i b/src/EthernetDriverFull.i similarity index 100% rename from SheepShaver/src/EthernetDriverFull.i rename to src/EthernetDriverFull.i diff --git a/SheepShaver/src/EthernetDriverStub.i b/src/EthernetDriverStub.i similarity index 100% rename from SheepShaver/src/EthernetDriverStub.i rename to src/EthernetDriverStub.i diff --git a/SheepShaver/src/MacOSX/.gitignore b/src/MacOSX/.gitignore similarity index 100% rename from SheepShaver/src/MacOSX/.gitignore rename to src/MacOSX/.gitignore diff --git a/SheepShaver/src/MacOSX/AudioBackEnd.cpp b/src/MacOSX/AudioBackEnd.cpp similarity index 100% rename from SheepShaver/src/MacOSX/AudioBackEnd.cpp rename to src/MacOSX/AudioBackEnd.cpp diff --git a/SheepShaver/src/MacOSX/AudioBackEnd.h b/src/MacOSX/AudioBackEnd.h similarity index 100% rename from SheepShaver/src/MacOSX/AudioBackEnd.h rename to src/MacOSX/AudioBackEnd.h diff --git a/SheepShaver/src/MacOSX/AudioDevice.cpp b/src/MacOSX/AudioDevice.cpp similarity index 100% rename from SheepShaver/src/MacOSX/AudioDevice.cpp rename to src/MacOSX/AudioDevice.cpp diff --git a/SheepShaver/src/MacOSX/AudioDevice.h b/src/MacOSX/AudioDevice.h similarity index 100% rename from SheepShaver/src/MacOSX/AudioDevice.h rename to src/MacOSX/AudioDevice.h diff --git a/SheepShaver/src/MacOSX/Info.plist.in b/src/MacOSX/Info.plist.in similarity index 100% rename from SheepShaver/src/MacOSX/Info.plist.in rename to src/MacOSX/Info.plist.in diff --git a/SheepShaver/src/MacOSX/Launcher/AppController.h b/src/MacOSX/Launcher/AppController.h similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/AppController.h rename to src/MacOSX/Launcher/AppController.h diff --git a/SheepShaver/src/MacOSX/Launcher/AppController.mm b/src/MacOSX/Launcher/AppController.mm similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/AppController.mm rename to src/MacOSX/Launcher/AppController.mm diff --git a/SheepShaver/src/MacOSX/Launcher/DiskType.h b/src/MacOSX/Launcher/DiskType.h similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/DiskType.h rename to src/MacOSX/Launcher/DiskType.h diff --git a/SheepShaver/src/MacOSX/Launcher/DiskType.m b/src/MacOSX/Launcher/DiskType.m similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/DiskType.m rename to src/MacOSX/Launcher/DiskType.m diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/InfoPlist.strings b/src/MacOSX/Launcher/English.lproj/InfoPlist.strings similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/InfoPlist.strings rename to src/MacOSX/Launcher/English.lproj/InfoPlist.strings diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/classes.nib b/src/MacOSX/Launcher/English.lproj/MainMenu.nib/classes.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/classes.nib rename to src/MacOSX/Launcher/English.lproj/MainMenu.nib/classes.nib diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/info.nib b/src/MacOSX/Launcher/English.lproj/MainMenu.nib/info.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/info.nib rename to src/MacOSX/Launcher/English.lproj/MainMenu.nib/info.nib diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/keyedobjects.nib b/src/MacOSX/Launcher/English.lproj/MainMenu.nib/keyedobjects.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/keyedobjects.nib rename to src/MacOSX/Launcher/English.lproj/MainMenu.nib/keyedobjects.nib diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/designable.nib b/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/designable.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/designable.nib rename to src/MacOSX/Launcher/English.lproj/VMListWindow.nib/designable.nib diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/keyedobjects.nib b/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/keyedobjects.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/keyedobjects.nib rename to src/MacOSX/Launcher/English.lproj/VMListWindow.nib/keyedobjects.nib diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/designable.nib b/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/designable.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/designable.nib rename to src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/designable.nib diff --git a/SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/keyedobjects.nib b/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/keyedobjects.nib similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/keyedobjects.nib rename to src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/keyedobjects.nib diff --git a/SheepShaver/src/MacOSX/Launcher/Info.plist b/src/MacOSX/Launcher/Info.plist similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/Info.plist rename to src/MacOSX/Launcher/Info.plist diff --git a/SheepShaver/src/MacOSX/Launcher/LauncherPrefix.h b/src/MacOSX/Launcher/LauncherPrefix.h similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/LauncherPrefix.h rename to src/MacOSX/Launcher/LauncherPrefix.h diff --git a/SheepShaver/src/MacOSX/Launcher/SheepShaverLauncher.xcodeproj/project.pbxproj b/src/MacOSX/Launcher/SheepShaverLauncher.xcodeproj/project.pbxproj similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/SheepShaverLauncher.xcodeproj/project.pbxproj rename to src/MacOSX/Launcher/SheepShaverLauncher.xcodeproj/project.pbxproj diff --git a/SheepShaver/src/MacOSX/Launcher/VMListController.h b/src/MacOSX/Launcher/VMListController.h similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/VMListController.h rename to src/MacOSX/Launcher/VMListController.h diff --git a/SheepShaver/src/MacOSX/Launcher/VMListController.mm b/src/MacOSX/Launcher/VMListController.mm similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/VMListController.mm rename to src/MacOSX/Launcher/VMListController.mm diff --git a/SheepShaver/src/MacOSX/Launcher/VMSettingsController.h b/src/MacOSX/Launcher/VMSettingsController.h similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/VMSettingsController.h rename to src/MacOSX/Launcher/VMSettingsController.h diff --git a/SheepShaver/src/MacOSX/Launcher/VMSettingsController.mm b/src/MacOSX/Launcher/VMSettingsController.mm similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/VMSettingsController.mm rename to src/MacOSX/Launcher/VMSettingsController.mm diff --git a/SheepShaver/src/MacOSX/Launcher/main.m b/src/MacOSX/Launcher/main.m similarity index 100% rename from SheepShaver/src/MacOSX/Launcher/main.m rename to src/MacOSX/Launcher/main.m diff --git a/SheepShaver/src/MacOSX/MacOSX_sound_if.cpp b/src/MacOSX/MacOSX_sound_if.cpp similarity index 100% rename from SheepShaver/src/MacOSX/MacOSX_sound_if.cpp rename to src/MacOSX/MacOSX_sound_if.cpp diff --git a/SheepShaver/src/MacOSX/MacOSX_sound_if.h b/src/MacOSX/MacOSX_sound_if.h similarity index 100% rename from SheepShaver/src/MacOSX/MacOSX_sound_if.h rename to src/MacOSX/MacOSX_sound_if.h diff --git a/SheepShaver/src/MacOSX/PrefsEditor/English.lproj/InfoPlist.strings b/src/MacOSX/PrefsEditor/English.lproj/InfoPlist.strings similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/English.lproj/InfoPlist.strings rename to src/MacOSX/PrefsEditor/English.lproj/InfoPlist.strings diff --git a/SheepShaver/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/classes.nib b/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/classes.nib similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/classes.nib rename to src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/classes.nib diff --git a/SheepShaver/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/info.nib b/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/info.nib similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/info.nib rename to src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/info.nib diff --git a/SheepShaver/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/keyedobjects.nib b/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/keyedobjects.nib similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/keyedobjects.nib rename to src/MacOSX/PrefsEditor/English.lproj/MainMenu.nib/keyedobjects.nib diff --git a/SheepShaver/src/MacOSX/PrefsEditor/Info.plist b/src/MacOSX/PrefsEditor/Info.plist similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/Info.plist rename to src/MacOSX/PrefsEditor/Info.plist diff --git a/SheepShaver/src/MacOSX/PrefsEditor/PrefsEditor.h b/src/MacOSX/PrefsEditor/PrefsEditor.h similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/PrefsEditor.h rename to src/MacOSX/PrefsEditor/PrefsEditor.h diff --git a/SheepShaver/src/MacOSX/PrefsEditor/PrefsEditor.mm b/src/MacOSX/PrefsEditor/PrefsEditor.mm similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/PrefsEditor.mm rename to src/MacOSX/PrefsEditor/PrefsEditor.mm diff --git a/SheepShaver/src/MacOSX/PrefsEditor/SheepShaverPrefs.xcodeproj/project.pbxproj b/src/MacOSX/PrefsEditor/SheepShaverPrefs.xcodeproj/project.pbxproj similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/SheepShaverPrefs.xcodeproj/project.pbxproj rename to src/MacOSX/PrefsEditor/SheepShaverPrefs.xcodeproj/project.pbxproj diff --git a/SheepShaver/src/MacOSX/PrefsEditor/main.m b/src/MacOSX/PrefsEditor/main.m similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/main.m rename to src/MacOSX/PrefsEditor/main.m diff --git a/SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/InfoPlist.strings b/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/InfoPlist.strings similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/InfoPlist.strings rename to src/MacOSX/PrefsEditor/standalone_nib/English.lproj/InfoPlist.strings diff --git a/SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/classes.nib b/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/classes.nib similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/classes.nib rename to src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/classes.nib diff --git a/SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/info.nib b/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/info.nib similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/info.nib rename to src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/info.nib diff --git a/SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/keyedobjects.nib b/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/keyedobjects.nib similarity index 100% rename from SheepShaver/src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/keyedobjects.nib rename to src/MacOSX/PrefsEditor/standalone_nib/English.lproj/MainMenu.nib/keyedobjects.nib diff --git a/SheepShaver/src/MacOSX/SheepShaver.icns b/src/MacOSX/SheepShaver.icns similarity index 100% rename from SheepShaver/src/MacOSX/SheepShaver.icns rename to src/MacOSX/SheepShaver.icns diff --git a/SheepShaver/src/MacOSX/SheepShaver.xcodeproj/project.pbxproj b/src/MacOSX/SheepShaver.xcodeproj/project.pbxproj similarity index 100% rename from SheepShaver/src/MacOSX/SheepShaver.xcodeproj/project.pbxproj rename to src/MacOSX/SheepShaver.xcodeproj/project.pbxproj diff --git a/SheepShaver/src/MacOSX/SheepShaver_Xcode8.xcodeproj/project.pbxproj b/src/MacOSX/SheepShaver_Xcode8.xcodeproj/project.pbxproj similarity index 100% rename from SheepShaver/src/MacOSX/SheepShaver_Xcode8.xcodeproj/project.pbxproj rename to src/MacOSX/SheepShaver_Xcode8.xcodeproj/project.pbxproj diff --git a/SheepShaver/src/MacOSX/XcodeBuildHowTo.txt b/src/MacOSX/XcodeBuildHowTo.txt similarity index 100% rename from SheepShaver/src/MacOSX/XcodeBuildHowTo.txt rename to src/MacOSX/XcodeBuildHowTo.txt diff --git a/SheepShaver/src/MacOSX/audio_macosx.cpp b/src/MacOSX/audio_macosx.cpp similarity index 100% rename from SheepShaver/src/MacOSX/audio_macosx.cpp rename to src/MacOSX/audio_macosx.cpp diff --git a/SheepShaver/src/MacOSX/autorelease.h b/src/MacOSX/autorelease.h similarity index 100% rename from SheepShaver/src/MacOSX/autorelease.h rename to src/MacOSX/autorelease.h diff --git a/SheepShaver/src/MacOSX/clip_macosx.cpp b/src/MacOSX/clip_macosx.cpp similarity index 100% rename from SheepShaver/src/MacOSX/clip_macosx.cpp rename to src/MacOSX/clip_macosx.cpp diff --git a/SheepShaver/src/MacOSX/clip_macosx64.mm b/src/MacOSX/clip_macosx64.mm similarity index 100% rename from SheepShaver/src/MacOSX/clip_macosx64.mm rename to src/MacOSX/clip_macosx64.mm diff --git a/SheepShaver/src/MacOSX/config/config-macosx-ppc_32.h b/src/MacOSX/config/config-macosx-ppc_32.h similarity index 100% rename from SheepShaver/src/MacOSX/config/config-macosx-ppc_32.h rename to src/MacOSX/config/config-macosx-ppc_32.h diff --git a/SheepShaver/src/MacOSX/config/config-macosx-x86_32.h b/src/MacOSX/config/config-macosx-x86_32.h similarity index 100% rename from SheepShaver/src/MacOSX/config/config-macosx-x86_32.h rename to src/MacOSX/config/config-macosx-x86_32.h diff --git a/SheepShaver/src/MacOSX/config/config-macosx-x86_64.h b/src/MacOSX/config/config-macosx-x86_64.h similarity index 100% rename from SheepShaver/src/MacOSX/config/config-macosx-x86_64.h rename to src/MacOSX/config/config-macosx-x86_64.h diff --git a/SheepShaver/src/MacOSX/config/config.h b/src/MacOSX/config/config.h similarity index 100% rename from SheepShaver/src/MacOSX/config/config.h rename to src/MacOSX/config/config.h diff --git a/SheepShaver/src/MacOSX/extfs_macosx.cpp b/src/MacOSX/extfs_macosx.cpp similarity index 100% rename from SheepShaver/src/MacOSX/extfs_macosx.cpp rename to src/MacOSX/extfs_macosx.cpp diff --git a/SheepShaver/src/MacOSX/macos_util_macosx.h b/src/MacOSX/macos_util_macosx.h similarity index 100% rename from SheepShaver/src/MacOSX/macos_util_macosx.h rename to src/MacOSX/macos_util_macosx.h diff --git a/SheepShaver/src/MacOSX/prefs_macosx.mm b/src/MacOSX/prefs_macosx.mm similarity index 100% rename from SheepShaver/src/MacOSX/prefs_macosx.mm rename to src/MacOSX/prefs_macosx.mm diff --git a/SheepShaver/src/MacOSX/sys_darwin.cpp b/src/MacOSX/sys_darwin.cpp similarity index 100% rename from SheepShaver/src/MacOSX/sys_darwin.cpp rename to src/MacOSX/sys_darwin.cpp diff --git a/SheepShaver/src/MacOSX/utils_macosx.h b/src/MacOSX/utils_macosx.h similarity index 100% rename from SheepShaver/src/MacOSX/utils_macosx.h rename to src/MacOSX/utils_macosx.h diff --git a/SheepShaver/src/MacOSX/utils_macosx.mm b/src/MacOSX/utils_macosx.mm similarity index 100% rename from SheepShaver/src/MacOSX/utils_macosx.mm rename to src/MacOSX/utils_macosx.mm diff --git a/SheepShaver/src/SDL b/src/SDL similarity index 100% rename from SheepShaver/src/SDL rename to src/SDL diff --git a/SheepShaver/src/Unix/.gitignore b/src/Unix/.gitignore similarity index 100% rename from SheepShaver/src/Unix/.gitignore rename to src/Unix/.gitignore diff --git a/SheepShaver/src/Unix/Darwin/.gitignore b/src/Unix/Darwin/.gitignore similarity index 100% rename from SheepShaver/src/Unix/Darwin/.gitignore rename to src/Unix/Darwin/.gitignore diff --git a/SheepShaver/src/Unix/Darwin/lowmem.c b/src/Unix/Darwin/lowmem.c similarity index 100% rename from SheepShaver/src/Unix/Darwin/lowmem.c rename to src/Unix/Darwin/lowmem.c diff --git a/SheepShaver/src/Unix/Darwin/mkstandalone b/src/Unix/Darwin/mkstandalone similarity index 100% rename from SheepShaver/src/Unix/Darwin/mkstandalone rename to src/Unix/Darwin/mkstandalone diff --git a/SheepShaver/src/Unix/Darwin/pagezero.c b/src/Unix/Darwin/pagezero.c similarity index 100% rename from SheepShaver/src/Unix/Darwin/pagezero.c rename to src/Unix/Darwin/pagezero.c diff --git a/SheepShaver/src/Unix/Darwin/testlmem.sh b/src/Unix/Darwin/testlmem.sh similarity index 100% rename from SheepShaver/src/Unix/Darwin/testlmem.sh rename to src/Unix/Darwin/testlmem.sh diff --git a/SheepShaver/src/Unix/Irix/audio_irix.cpp b/src/Unix/Irix/audio_irix.cpp similarity index 100% rename from SheepShaver/src/Unix/Irix/audio_irix.cpp rename to src/Unix/Irix/audio_irix.cpp diff --git a/SheepShaver/src/Unix/Linux/NetDriver b/src/Unix/Linux/NetDriver similarity index 100% rename from SheepShaver/src/Unix/Linux/NetDriver rename to src/Unix/Linux/NetDriver diff --git a/SheepShaver/src/Unix/Linux/scsi_linux.cpp b/src/Unix/Linux/scsi_linux.cpp similarity index 100% rename from SheepShaver/src/Unix/Linux/scsi_linux.cpp rename to src/Unix/Linux/scsi_linux.cpp diff --git a/SheepShaver/src/Unix/Linux/sheepthreads.c b/src/Unix/Linux/sheepthreads.c similarity index 100% rename from SheepShaver/src/Unix/Linux/sheepthreads.c rename to src/Unix/Linux/sheepthreads.c diff --git a/SheepShaver/src/Unix/Makefile.in b/src/Unix/Makefile.in similarity index 100% rename from SheepShaver/src/Unix/Makefile.in rename to src/Unix/Makefile.in diff --git a/SheepShaver/src/Unix/NetBSD/sheepthreads.c b/src/Unix/NetBSD/sheepthreads.c similarity index 100% rename from SheepShaver/src/Unix/NetBSD/sheepthreads.c rename to src/Unix/NetBSD/sheepthreads.c diff --git a/SheepShaver/src/Unix/SheepShaver.1 b/src/Unix/SheepShaver.1 similarity index 100% rename from SheepShaver/src/Unix/SheepShaver.1 rename to src/Unix/SheepShaver.1 diff --git a/SheepShaver/src/Unix/about_window_unix.cpp b/src/Unix/about_window_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/about_window_unix.cpp rename to src/Unix/about_window_unix.cpp diff --git a/SheepShaver/src/Unix/audio_oss_esd.cpp b/src/Unix/audio_oss_esd.cpp similarity index 100% rename from SheepShaver/src/Unix/audio_oss_esd.cpp rename to src/Unix/audio_oss_esd.cpp diff --git a/SheepShaver/src/Unix/autogen.sh b/src/Unix/autogen.sh similarity index 100% rename from SheepShaver/src/Unix/autogen.sh rename to src/Unix/autogen.sh diff --git a/SheepShaver/src/Unix/bincue_unix.cpp b/src/Unix/bincue_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/bincue_unix.cpp rename to src/Unix/bincue_unix.cpp diff --git a/SheepShaver/src/Unix/bincue_unix.h b/src/Unix/bincue_unix.h similarity index 100% rename from SheepShaver/src/Unix/bincue_unix.h rename to src/Unix/bincue_unix.h diff --git a/SheepShaver/src/Unix/clip_unix.cpp b/src/Unix/clip_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/clip_unix.cpp rename to src/Unix/clip_unix.cpp diff --git a/SheepShaver/src/Unix/config.guess b/src/Unix/config.guess similarity index 100% rename from SheepShaver/src/Unix/config.guess rename to src/Unix/config.guess diff --git a/SheepShaver/src/Unix/config.sub b/src/Unix/config.sub similarity index 100% rename from SheepShaver/src/Unix/config.sub rename to src/Unix/config.sub diff --git a/SheepShaver/src/Unix/configure.ac b/src/Unix/configure.ac similarity index 100% rename from SheepShaver/src/Unix/configure.ac rename to src/Unix/configure.ac diff --git a/SheepShaver/src/Unix/cpr.sh b/src/Unix/cpr.sh similarity index 100% rename from SheepShaver/src/Unix/cpr.sh rename to src/Unix/cpr.sh diff --git a/SheepShaver/src/Unix/disk_sparsebundle.cpp b/src/Unix/disk_sparsebundle.cpp similarity index 100% rename from SheepShaver/src/Unix/disk_sparsebundle.cpp rename to src/Unix/disk_sparsebundle.cpp diff --git a/SheepShaver/src/Unix/disk_unix.h b/src/Unix/disk_unix.h similarity index 100% rename from SheepShaver/src/Unix/disk_unix.h rename to src/Unix/disk_unix.h diff --git a/SheepShaver/src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_32.hpp b/src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_32.hpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_32.hpp rename to src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_32.hpp diff --git a/SheepShaver/src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_64.hpp b/src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_64.hpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_64.hpp rename to src/Unix/dyngen_precompiled/basic-dyngen-ops-x86_64.hpp diff --git a/SheepShaver/src/Unix/dyngen_precompiled/basic-dyngen-ops.hpp b/src/Unix/dyngen_precompiled/basic-dyngen-ops.hpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/basic-dyngen-ops.hpp rename to src/Unix/dyngen_precompiled/basic-dyngen-ops.hpp diff --git a/SheepShaver/src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_32.hpp b/src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_32.hpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_32.hpp rename to src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_32.hpp diff --git a/SheepShaver/src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_64.hpp b/src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_64.hpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_64.hpp rename to src/Unix/dyngen_precompiled/ppc-dyngen-ops-x86_64.hpp diff --git a/SheepShaver/src/Unix/dyngen_precompiled/ppc-dyngen-ops.hpp b/src/Unix/dyngen_precompiled/ppc-dyngen-ops.hpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/ppc-dyngen-ops.hpp rename to src/Unix/dyngen_precompiled/ppc-dyngen-ops.hpp diff --git a/SheepShaver/src/Unix/dyngen_precompiled/ppc-execute-impl.cpp b/src/Unix/dyngen_precompiled/ppc-execute-impl.cpp similarity index 100% rename from SheepShaver/src/Unix/dyngen_precompiled/ppc-execute-impl.cpp rename to src/Unix/dyngen_precompiled/ppc-execute-impl.cpp diff --git a/SheepShaver/src/Unix/ether_unix.cpp b/src/Unix/ether_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/ether_unix.cpp rename to src/Unix/ether_unix.cpp diff --git a/SheepShaver/src/Unix/extfs_unix.cpp b/src/Unix/extfs_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/extfs_unix.cpp rename to src/Unix/extfs_unix.cpp diff --git a/SheepShaver/src/Unix/install-sh b/src/Unix/install-sh similarity index 100% rename from SheepShaver/src/Unix/install-sh rename to src/Unix/install-sh diff --git a/SheepShaver/src/Unix/keycodes b/src/Unix/keycodes similarity index 100% rename from SheepShaver/src/Unix/keycodes rename to src/Unix/keycodes diff --git a/SheepShaver/src/Unix/ldscripts b/src/Unix/ldscripts similarity index 100% rename from SheepShaver/src/Unix/ldscripts rename to src/Unix/ldscripts diff --git a/SheepShaver/src/Unix/m4 b/src/Unix/m4 similarity index 100% rename from SheepShaver/src/Unix/m4 rename to src/Unix/m4 diff --git a/SheepShaver/src/Unix/main_unix.cpp b/src/Unix/main_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/main_unix.cpp rename to src/Unix/main_unix.cpp diff --git a/SheepShaver/src/Unix/mkinstalldirs b/src/Unix/mkinstalldirs similarity index 100% rename from SheepShaver/src/Unix/mkinstalldirs rename to src/Unix/mkinstalldirs diff --git a/SheepShaver/src/Unix/paranoia.cpp b/src/Unix/paranoia.cpp similarity index 100% rename from SheepShaver/src/Unix/paranoia.cpp rename to src/Unix/paranoia.cpp diff --git a/SheepShaver/src/Unix/posix_sem.cpp b/src/Unix/posix_sem.cpp similarity index 100% rename from SheepShaver/src/Unix/posix_sem.cpp rename to src/Unix/posix_sem.cpp diff --git a/SheepShaver/src/Unix/ppc_asm.S b/src/Unix/ppc_asm.S similarity index 100% rename from SheepShaver/src/Unix/ppc_asm.S rename to src/Unix/ppc_asm.S diff --git a/SheepShaver/src/Unix/ppc_asm.tmpl b/src/Unix/ppc_asm.tmpl similarity index 100% rename from SheepShaver/src/Unix/ppc_asm.tmpl rename to src/Unix/ppc_asm.tmpl diff --git a/SheepShaver/src/Unix/prefs_editor_gtk.cpp b/src/Unix/prefs_editor_gtk.cpp similarity index 100% rename from SheepShaver/src/Unix/prefs_editor_gtk.cpp rename to src/Unix/prefs_editor_gtk.cpp diff --git a/SheepShaver/src/Unix/prefs_unix.cpp b/src/Unix/prefs_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/prefs_unix.cpp rename to src/Unix/prefs_unix.cpp diff --git a/SheepShaver/src/Unix/rpc.h b/src/Unix/rpc.h similarity index 100% rename from SheepShaver/src/Unix/rpc.h rename to src/Unix/rpc.h diff --git a/SheepShaver/src/Unix/rpc_unix.cpp b/src/Unix/rpc_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/rpc_unix.cpp rename to src/Unix/rpc_unix.cpp diff --git a/SheepShaver/src/Unix/semaphore.h b/src/Unix/semaphore.h similarity index 100% rename from SheepShaver/src/Unix/semaphore.h rename to src/Unix/semaphore.h diff --git a/SheepShaver/src/Unix/serial_unix.cpp b/src/Unix/serial_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/serial_unix.cpp rename to src/Unix/serial_unix.cpp diff --git a/SheepShaver/src/Unix/sigregs.h b/src/Unix/sigregs.h similarity index 100% rename from SheepShaver/src/Unix/sigregs.h rename to src/Unix/sigregs.h diff --git a/SheepShaver/src/Unix/sshpty.c b/src/Unix/sshpty.c similarity index 100% rename from SheepShaver/src/Unix/sshpty.c rename to src/Unix/sshpty.c diff --git a/SheepShaver/src/Unix/sshpty.h b/src/Unix/sshpty.h similarity index 100% rename from SheepShaver/src/Unix/sshpty.h rename to src/Unix/sshpty.h diff --git a/SheepShaver/src/Unix/strlcpy.c b/src/Unix/strlcpy.c similarity index 100% rename from SheepShaver/src/Unix/strlcpy.c rename to src/Unix/strlcpy.c diff --git a/SheepShaver/src/Unix/strlcpy.h b/src/Unix/strlcpy.h similarity index 100% rename from SheepShaver/src/Unix/strlcpy.h rename to src/Unix/strlcpy.h diff --git a/SheepShaver/src/Unix/sys_unix.cpp b/src/Unix/sys_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/sys_unix.cpp rename to src/Unix/sys_unix.cpp diff --git a/SheepShaver/src/Unix/sysdeps.h b/src/Unix/sysdeps.h similarity index 100% rename from SheepShaver/src/Unix/sysdeps.h rename to src/Unix/sysdeps.h diff --git a/SheepShaver/src/Unix/timer_unix.cpp b/src/Unix/timer_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/timer_unix.cpp rename to src/Unix/timer_unix.cpp diff --git a/SheepShaver/src/Unix/tinyxml2.cpp b/src/Unix/tinyxml2.cpp similarity index 100% rename from SheepShaver/src/Unix/tinyxml2.cpp rename to src/Unix/tinyxml2.cpp diff --git a/SheepShaver/src/Unix/tinyxml2.h b/src/Unix/tinyxml2.h similarity index 100% rename from SheepShaver/src/Unix/tinyxml2.h rename to src/Unix/tinyxml2.h diff --git a/SheepShaver/src/Unix/tunconfig b/src/Unix/tunconfig similarity index 100% rename from SheepShaver/src/Unix/tunconfig rename to src/Unix/tunconfig diff --git a/SheepShaver/src/Unix/user_strings_unix.cpp b/src/Unix/user_strings_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/user_strings_unix.cpp rename to src/Unix/user_strings_unix.cpp diff --git a/SheepShaver/src/Unix/user_strings_unix.h b/src/Unix/user_strings_unix.h similarity index 100% rename from SheepShaver/src/Unix/user_strings_unix.h rename to src/Unix/user_strings_unix.h diff --git a/SheepShaver/src/Unix/vhd_unix.cpp b/src/Unix/vhd_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/vhd_unix.cpp rename to src/Unix/vhd_unix.cpp diff --git a/SheepShaver/src/Unix/video_x.cpp b/src/Unix/video_x.cpp similarity index 100% rename from SheepShaver/src/Unix/video_x.cpp rename to src/Unix/video_x.cpp diff --git a/SheepShaver/src/Unix/xpram_unix.cpp b/src/Unix/xpram_unix.cpp similarity index 100% rename from SheepShaver/src/Unix/xpram_unix.cpp rename to src/Unix/xpram_unix.cpp diff --git a/SheepShaver/src/VideoDriverStub.i b/src/VideoDriverStub.i similarity index 100% rename from SheepShaver/src/VideoDriverStub.i rename to src/VideoDriverStub.i diff --git a/SheepShaver/src/Windows/Makefile.in b/src/Windows/Makefile.in similarity index 100% rename from SheepShaver/src/Windows/Makefile.in rename to src/Windows/Makefile.in diff --git a/SheepShaver/src/Windows/SheepShaver.ico b/src/Windows/SheepShaver.ico similarity index 100% rename from SheepShaver/src/Windows/SheepShaver.ico rename to src/Windows/SheepShaver.ico diff --git a/SheepShaver/src/Windows/SheepShaver.rc b/src/Windows/SheepShaver.rc similarity index 100% rename from SheepShaver/src/Windows/SheepShaver.rc rename to src/Windows/SheepShaver.rc diff --git a/SheepShaver/src/Windows/SheepShaverGUI.ico b/src/Windows/SheepShaverGUI.ico similarity index 100% rename from SheepShaver/src/Windows/SheepShaverGUI.ico rename to src/Windows/SheepShaverGUI.ico diff --git a/SheepShaver/src/Windows/SheepShaverGUI.rc b/src/Windows/SheepShaverGUI.rc similarity index 100% rename from SheepShaver/src/Windows/SheepShaverGUI.rc rename to src/Windows/SheepShaverGUI.rc diff --git a/SheepShaver/src/Windows/about_window_windows.cpp b/src/Windows/about_window_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/about_window_windows.cpp rename to src/Windows/about_window_windows.cpp diff --git a/SheepShaver/src/Windows/b2ether b/src/Windows/b2ether similarity index 100% rename from SheepShaver/src/Windows/b2ether rename to src/Windows/b2ether diff --git a/SheepShaver/src/Windows/cd_defs.h b/src/Windows/cd_defs.h similarity index 100% rename from SheepShaver/src/Windows/cd_defs.h rename to src/Windows/cd_defs.h diff --git a/SheepShaver/src/Windows/cdenable b/src/Windows/cdenable similarity index 100% rename from SheepShaver/src/Windows/cdenable rename to src/Windows/cdenable diff --git a/SheepShaver/src/Windows/clip_windows.cpp b/src/Windows/clip_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/clip_windows.cpp rename to src/Windows/clip_windows.cpp diff --git a/SheepShaver/src/Windows/configure.ac b/src/Windows/configure.ac similarity index 100% rename from SheepShaver/src/Windows/configure.ac rename to src/Windows/configure.ac diff --git a/SheepShaver/src/Windows/ether_windows.cpp b/src/Windows/ether_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/ether_windows.cpp rename to src/Windows/ether_windows.cpp diff --git a/SheepShaver/src/Windows/ether_windows.h b/src/Windows/ether_windows.h similarity index 100% rename from SheepShaver/src/Windows/ether_windows.h rename to src/Windows/ether_windows.h diff --git a/SheepShaver/src/Windows/extfs_windows.cpp b/src/Windows/extfs_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/extfs_windows.cpp rename to src/Windows/extfs_windows.cpp diff --git a/SheepShaver/src/Windows/kernel_windows.cpp b/src/Windows/kernel_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/kernel_windows.cpp rename to src/Windows/kernel_windows.cpp diff --git a/SheepShaver/src/Windows/kernel_windows.h b/src/Windows/kernel_windows.h similarity index 100% rename from SheepShaver/src/Windows/kernel_windows.h rename to src/Windows/kernel_windows.h diff --git a/SheepShaver/src/Windows/main_windows.cpp b/src/Windows/main_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/main_windows.cpp rename to src/Windows/main_windows.cpp diff --git a/SheepShaver/src/Windows/posix_emu.cpp b/src/Windows/posix_emu.cpp similarity index 100% rename from SheepShaver/src/Windows/posix_emu.cpp rename to src/Windows/posix_emu.cpp diff --git a/SheepShaver/src/Windows/posix_emu.h b/src/Windows/posix_emu.h similarity index 100% rename from SheepShaver/src/Windows/posix_emu.h rename to src/Windows/posix_emu.h diff --git a/SheepShaver/src/Windows/prefs_editor_gtk.cpp b/src/Windows/prefs_editor_gtk.cpp similarity index 100% rename from SheepShaver/src/Windows/prefs_editor_gtk.cpp rename to src/Windows/prefs_editor_gtk.cpp diff --git a/SheepShaver/src/Windows/prefs_windows.cpp b/src/Windows/prefs_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/prefs_windows.cpp rename to src/Windows/prefs_windows.cpp diff --git a/SheepShaver/src/Windows/router b/src/Windows/router similarity index 100% rename from SheepShaver/src/Windows/router rename to src/Windows/router diff --git a/SheepShaver/src/Windows/serial_windows.cpp b/src/Windows/serial_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/serial_windows.cpp rename to src/Windows/serial_windows.cpp diff --git a/SheepShaver/src/Windows/sys_windows.cpp b/src/Windows/sys_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/sys_windows.cpp rename to src/Windows/sys_windows.cpp diff --git a/SheepShaver/src/Windows/sysdeps.h b/src/Windows/sysdeps.h similarity index 100% rename from SheepShaver/src/Windows/sysdeps.h rename to src/Windows/sysdeps.h diff --git a/SheepShaver/src/Windows/timer_windows.cpp b/src/Windows/timer_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/timer_windows.cpp rename to src/Windows/timer_windows.cpp diff --git a/SheepShaver/src/Windows/user_strings_windows.cpp b/src/Windows/user_strings_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/user_strings_windows.cpp rename to src/Windows/user_strings_windows.cpp diff --git a/SheepShaver/src/Windows/user_strings_windows.h b/src/Windows/user_strings_windows.h similarity index 100% rename from SheepShaver/src/Windows/user_strings_windows.h rename to src/Windows/user_strings_windows.h diff --git a/SheepShaver/src/Windows/util_windows.cpp b/src/Windows/util_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/util_windows.cpp rename to src/Windows/util_windows.cpp diff --git a/SheepShaver/src/Windows/util_windows.h b/src/Windows/util_windows.h similarity index 100% rename from SheepShaver/src/Windows/util_windows.h rename to src/Windows/util_windows.h diff --git a/SheepShaver/src/Windows/xpram_windows.cpp b/src/Windows/xpram_windows.cpp similarity index 100% rename from SheepShaver/src/Windows/xpram_windows.cpp rename to src/Windows/xpram_windows.cpp diff --git a/SheepShaver/src/adb.cpp b/src/adb.cpp similarity index 100% rename from SheepShaver/src/adb.cpp rename to src/adb.cpp diff --git a/SheepShaver/src/audio.cpp b/src/audio.cpp similarity index 100% rename from SheepShaver/src/audio.cpp rename to src/audio.cpp diff --git a/SheepShaver/src/cdrom.cpp b/src/cdrom.cpp similarity index 100% rename from SheepShaver/src/cdrom.cpp rename to src/cdrom.cpp diff --git a/SheepShaver/src/disk.cpp b/src/disk.cpp similarity index 100% rename from SheepShaver/src/disk.cpp rename to src/disk.cpp diff --git a/SheepShaver/src/dummy/audio_dummy.cpp b/src/dummy/audio_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/audio_dummy.cpp rename to src/dummy/audio_dummy.cpp diff --git a/SheepShaver/src/dummy/clip_dummy.cpp b/src/dummy/clip_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/clip_dummy.cpp rename to src/dummy/clip_dummy.cpp diff --git a/SheepShaver/src/dummy/ether_dummy.cpp b/src/dummy/ether_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/ether_dummy.cpp rename to src/dummy/ether_dummy.cpp diff --git a/SheepShaver/src/dummy/prefs_dummy.cpp b/src/dummy/prefs_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/prefs_dummy.cpp rename to src/dummy/prefs_dummy.cpp diff --git a/SheepShaver/src/dummy/prefs_editor_dummy.cpp b/src/dummy/prefs_editor_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/prefs_editor_dummy.cpp rename to src/dummy/prefs_editor_dummy.cpp diff --git a/SheepShaver/src/dummy/scsi_dummy.cpp b/src/dummy/scsi_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/scsi_dummy.cpp rename to src/dummy/scsi_dummy.cpp diff --git a/SheepShaver/src/dummy/serial_dummy.cpp b/src/dummy/serial_dummy.cpp similarity index 100% rename from SheepShaver/src/dummy/serial_dummy.cpp rename to src/dummy/serial_dummy.cpp diff --git a/SheepShaver/src/emul_op.cpp b/src/emul_op.cpp similarity index 100% rename from SheepShaver/src/emul_op.cpp rename to src/emul_op.cpp diff --git a/SheepShaver/src/emul_ppc/emul_ppc.cpp b/src/emul_ppc/emul_ppc.cpp similarity index 100% rename from SheepShaver/src/emul_ppc/emul_ppc.cpp rename to src/emul_ppc/emul_ppc.cpp diff --git a/SheepShaver/src/ether.cpp b/src/ether.cpp similarity index 100% rename from SheepShaver/src/ether.cpp rename to src/ether.cpp diff --git a/SheepShaver/src/extfs.cpp b/src/extfs.cpp similarity index 100% rename from SheepShaver/src/extfs.cpp rename to src/extfs.cpp diff --git a/SheepShaver/src/gfxaccel.cpp b/src/gfxaccel.cpp similarity index 100% rename from SheepShaver/src/gfxaccel.cpp rename to src/gfxaccel.cpp diff --git a/SheepShaver/src/include/about_window.h b/src/include/about_window.h similarity index 100% rename from SheepShaver/src/include/about_window.h rename to src/include/about_window.h diff --git a/SheepShaver/src/include/adb.h b/src/include/adb.h similarity index 100% rename from SheepShaver/src/include/adb.h rename to src/include/adb.h diff --git a/SheepShaver/src/include/audio.h b/src/include/audio.h similarity index 100% rename from SheepShaver/src/include/audio.h rename to src/include/audio.h diff --git a/SheepShaver/src/include/audio_defs.h b/src/include/audio_defs.h similarity index 100% rename from SheepShaver/src/include/audio_defs.h rename to src/include/audio_defs.h diff --git a/SheepShaver/src/include/cdrom.h b/src/include/cdrom.h similarity index 100% rename from SheepShaver/src/include/cdrom.h rename to src/include/cdrom.h diff --git a/SheepShaver/src/include/clip.h b/src/include/clip.h similarity index 100% rename from SheepShaver/src/include/clip.h rename to src/include/clip.h diff --git a/SheepShaver/src/include/cpu_emulation.h b/src/include/cpu_emulation.h similarity index 100% rename from SheepShaver/src/include/cpu_emulation.h rename to src/include/cpu_emulation.h diff --git a/SheepShaver/src/include/debug.h b/src/include/debug.h similarity index 100% rename from SheepShaver/src/include/debug.h rename to src/include/debug.h diff --git a/SheepShaver/src/include/disk.h b/src/include/disk.h similarity index 100% rename from SheepShaver/src/include/disk.h rename to src/include/disk.h diff --git a/SheepShaver/src/include/emul_op.h b/src/include/emul_op.h similarity index 100% rename from SheepShaver/src/include/emul_op.h rename to src/include/emul_op.h diff --git a/SheepShaver/src/include/ether.h b/src/include/ether.h similarity index 100% rename from SheepShaver/src/include/ether.h rename to src/include/ether.h diff --git a/SheepShaver/src/include/ether_defs.h b/src/include/ether_defs.h similarity index 100% rename from SheepShaver/src/include/ether_defs.h rename to src/include/ether_defs.h diff --git a/SheepShaver/src/include/extfs.h b/src/include/extfs.h similarity index 100% rename from SheepShaver/src/include/extfs.h rename to src/include/extfs.h diff --git a/SheepShaver/src/include/extfs_defs.h b/src/include/extfs_defs.h similarity index 100% rename from SheepShaver/src/include/extfs_defs.h rename to src/include/extfs_defs.h diff --git a/SheepShaver/src/include/macos_util.h b/src/include/macos_util.h similarity index 100% rename from SheepShaver/src/include/macos_util.h rename to src/include/macos_util.h diff --git a/SheepShaver/src/include/main.h b/src/include/main.h similarity index 100% rename from SheepShaver/src/include/main.h rename to src/include/main.h diff --git a/SheepShaver/src/include/name_registry.h b/src/include/name_registry.h similarity index 100% rename from SheepShaver/src/include/name_registry.h rename to src/include/name_registry.h diff --git a/SheepShaver/src/include/pict.h b/src/include/pict.h similarity index 100% rename from SheepShaver/src/include/pict.h rename to src/include/pict.h diff --git a/SheepShaver/src/include/prefs.h b/src/include/prefs.h similarity index 100% rename from SheepShaver/src/include/prefs.h rename to src/include/prefs.h diff --git a/SheepShaver/src/include/prefs_editor.h b/src/include/prefs_editor.h similarity index 100% rename from SheepShaver/src/include/prefs_editor.h rename to src/include/prefs_editor.h diff --git a/SheepShaver/src/include/rom_patches.h b/src/include/rom_patches.h similarity index 100% rename from SheepShaver/src/include/rom_patches.h rename to src/include/rom_patches.h diff --git a/SheepShaver/src/include/rsrc_patches.h b/src/include/rsrc_patches.h similarity index 100% rename from SheepShaver/src/include/rsrc_patches.h rename to src/include/rsrc_patches.h diff --git a/SheepShaver/src/include/scsi.h b/src/include/scsi.h similarity index 100% rename from SheepShaver/src/include/scsi.h rename to src/include/scsi.h diff --git a/SheepShaver/src/include/serial.h b/src/include/serial.h similarity index 100% rename from SheepShaver/src/include/serial.h rename to src/include/serial.h diff --git a/SheepShaver/src/include/serial_defs.h b/src/include/serial_defs.h similarity index 100% rename from SheepShaver/src/include/serial_defs.h rename to src/include/serial_defs.h diff --git a/SheepShaver/src/include/sony.h b/src/include/sony.h similarity index 100% rename from SheepShaver/src/include/sony.h rename to src/include/sony.h diff --git a/SheepShaver/src/include/sys.h b/src/include/sys.h similarity index 100% rename from SheepShaver/src/include/sys.h rename to src/include/sys.h diff --git a/SheepShaver/src/include/thunks.h b/src/include/thunks.h similarity index 100% rename from SheepShaver/src/include/thunks.h rename to src/include/thunks.h diff --git a/SheepShaver/src/include/timer.h b/src/include/timer.h similarity index 100% rename from SheepShaver/src/include/timer.h rename to src/include/timer.h diff --git a/SheepShaver/src/include/user_strings.h b/src/include/user_strings.h similarity index 100% rename from SheepShaver/src/include/user_strings.h rename to src/include/user_strings.h diff --git a/SheepShaver/src/include/version.h b/src/include/version.h similarity index 100% rename from SheepShaver/src/include/version.h rename to src/include/version.h diff --git a/SheepShaver/src/include/video.h b/src/include/video.h similarity index 100% rename from SheepShaver/src/include/video.h rename to src/include/video.h diff --git a/SheepShaver/src/include/video_defs.h b/src/include/video_defs.h similarity index 100% rename from SheepShaver/src/include/video_defs.h rename to src/include/video_defs.h diff --git a/SheepShaver/src/include/xlowmem.h b/src/include/xlowmem.h similarity index 100% rename from SheepShaver/src/include/xlowmem.h rename to src/include/xlowmem.h diff --git a/SheepShaver/src/include/xpram.h b/src/include/xpram.h similarity index 100% rename from SheepShaver/src/include/xpram.h rename to src/include/xpram.h diff --git a/SheepShaver/src/kpx_cpu/dis-asm.h b/src/kpx_cpu/dis-asm.h similarity index 100% rename from SheepShaver/src/kpx_cpu/dis-asm.h rename to src/kpx_cpu/dis-asm.h diff --git a/SheepShaver/src/kpx_cpu/include/a.out-defs.h b/src/kpx_cpu/include/a.out-defs.h similarity index 100% rename from SheepShaver/src/kpx_cpu/include/a.out-defs.h rename to src/kpx_cpu/include/a.out-defs.h diff --git a/SheepShaver/src/kpx_cpu/include/basic-blockinfo.hpp b/src/kpx_cpu/include/basic-blockinfo.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/include/basic-blockinfo.hpp rename to src/kpx_cpu/include/basic-blockinfo.hpp diff --git a/SheepShaver/src/kpx_cpu/include/basic-cpu.hpp b/src/kpx_cpu/include/basic-cpu.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/include/basic-cpu.hpp rename to src/kpx_cpu/include/basic-cpu.hpp diff --git a/SheepShaver/src/kpx_cpu/include/basic-plugin.hpp b/src/kpx_cpu/include/basic-plugin.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/include/basic-plugin.hpp rename to src/kpx_cpu/include/basic-plugin.hpp diff --git a/SheepShaver/src/kpx_cpu/include/block-alloc.hpp b/src/kpx_cpu/include/block-alloc.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/include/block-alloc.hpp rename to src/kpx_cpu/include/block-alloc.hpp diff --git a/SheepShaver/src/kpx_cpu/include/elf-defs.h b/src/kpx_cpu/include/elf-defs.h similarity index 100% rename from SheepShaver/src/kpx_cpu/include/elf-defs.h rename to src/kpx_cpu/include/elf-defs.h diff --git a/SheepShaver/src/kpx_cpu/include/nvmemfun.hpp b/src/kpx_cpu/include/nvmemfun.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/include/nvmemfun.hpp rename to src/kpx_cpu/include/nvmemfun.hpp diff --git a/SheepShaver/src/kpx_cpu/include/task-plugin.hpp b/src/kpx_cpu/include/task-plugin.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/include/task-plugin.hpp rename to src/kpx_cpu/include/task-plugin.hpp diff --git a/SheepShaver/src/kpx_cpu/ppc-dis.c b/src/kpx_cpu/ppc-dis.c similarity index 100% rename from SheepShaver/src/kpx_cpu/ppc-dis.c rename to src/kpx_cpu/ppc-dis.c diff --git a/SheepShaver/src/kpx_cpu/sheepshaver_glue.cpp b/src/kpx_cpu/sheepshaver_glue.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/sheepshaver_glue.cpp rename to src/kpx_cpu/sheepshaver_glue.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/block-cache.hpp b/src/kpx_cpu/src/cpu/block-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/block-cache.hpp rename to src/kpx_cpu/src/cpu/block-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/amd64/dyngen-target-exec.h b/src/kpx_cpu/src/cpu/jit/amd64/dyngen-target-exec.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/amd64/dyngen-target-exec.h rename to src/kpx_cpu/src/cpu/jit/amd64/dyngen-target-exec.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/amd64/jit-target-cache.hpp b/src/kpx_cpu/src/cpu/jit/amd64/jit-target-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/amd64/jit-target-cache.hpp rename to src/kpx_cpu/src/cpu/jit/amd64/jit-target-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/amd64/jit-target-codegen.hpp b/src/kpx_cpu/src/cpu/jit/amd64/jit-target-codegen.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/amd64/jit-target-codegen.hpp rename to src/kpx_cpu/src/cpu/jit/amd64/jit-target-codegen.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp b/src/kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp rename to src/kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/basic-dyngen.cpp b/src/kpx_cpu/src/cpu/jit/basic-dyngen.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/basic-dyngen.cpp rename to src/kpx_cpu/src/cpu/jit/basic-dyngen.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/basic-dyngen.hpp b/src/kpx_cpu/src/cpu/jit/basic-dyngen.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/basic-dyngen.hpp rename to src/kpx_cpu/src/cpu/jit/basic-dyngen.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/cxxdemangle.cpp b/src/kpx_cpu/src/cpu/jit/cxxdemangle.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/cxxdemangle.cpp rename to src/kpx_cpu/src/cpu/jit/cxxdemangle.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/cxxdemangle.h b/src/kpx_cpu/src/cpu/jit/cxxdemangle.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/cxxdemangle.h rename to src/kpx_cpu/src/cpu/jit/cxxdemangle.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/dummy/jit-target-cache.hpp b/src/kpx_cpu/src/cpu/jit/dummy/jit-target-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/dummy/jit-target-cache.hpp rename to src/kpx_cpu/src/cpu/jit/dummy/jit-target-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/dyngen-exec.h b/src/kpx_cpu/src/cpu/jit/dyngen-exec.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/dyngen-exec.h rename to src/kpx_cpu/src/cpu/jit/dyngen-exec.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/dyngen.c b/src/kpx_cpu/src/cpu/jit/dyngen.c similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/dyngen.c rename to src/kpx_cpu/src/cpu/jit/dyngen.c diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/jit-cache.cpp b/src/kpx_cpu/src/cpu/jit/jit-cache.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/jit-cache.cpp rename to src/kpx_cpu/src/cpu/jit/jit-cache.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/jit-cache.hpp b/src/kpx_cpu/src/cpu/jit/jit-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/jit-cache.hpp rename to src/kpx_cpu/src/cpu/jit/jit-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/jit-codegen.hpp b/src/kpx_cpu/src/cpu/jit/jit-codegen.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/jit-codegen.hpp rename to src/kpx_cpu/src/cpu/jit/jit-codegen.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/jit-config.hpp b/src/kpx_cpu/src/cpu/jit/jit-config.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/jit-config.hpp rename to src/kpx_cpu/src/cpu/jit/jit-config.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/jit-target-dispatch.h b/src/kpx_cpu/src/cpu/jit/jit-target-dispatch.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/jit-target-dispatch.h rename to src/kpx_cpu/src/cpu/jit/jit-target-dispatch.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/mips/dyngen-target-exec.h b/src/kpx_cpu/src/cpu/jit/mips/dyngen-target-exec.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/mips/dyngen-target-exec.h rename to src/kpx_cpu/src/cpu/jit/mips/dyngen-target-exec.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/mips/jit-target-cache.hpp b/src/kpx_cpu/src/cpu/jit/mips/jit-target-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/mips/jit-target-cache.hpp rename to src/kpx_cpu/src/cpu/jit/mips/jit-target-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/ppc/dyngen-target-exec.h b/src/kpx_cpu/src/cpu/jit/ppc/dyngen-target-exec.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/ppc/dyngen-target-exec.h rename to src/kpx_cpu/src/cpu/jit/ppc/dyngen-target-exec.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/ppc/jit-target-cache.hpp b/src/kpx_cpu/src/cpu/jit/ppc/jit-target-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/ppc/jit-target-cache.hpp rename to src/kpx_cpu/src/cpu/jit/ppc/jit-target-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/x86/codegen_x86.h b/src/kpx_cpu/src/cpu/jit/x86/codegen_x86.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/x86/codegen_x86.h rename to src/kpx_cpu/src/cpu/jit/x86/codegen_x86.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/x86/dyngen-target-exec.h b/src/kpx_cpu/src/cpu/jit/x86/dyngen-target-exec.h similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/x86/dyngen-target-exec.h rename to src/kpx_cpu/src/cpu/jit/x86/dyngen-target-exec.h diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/x86/jit-target-cache.hpp b/src/kpx_cpu/src/cpu/jit/x86/jit-target-cache.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/x86/jit-target-cache.hpp rename to src/kpx_cpu/src/cpu/jit/x86/jit-target-cache.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/jit/x86/jit-target-codegen.hpp b/src/kpx_cpu/src/cpu/jit/x86/jit-target-codegen.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/jit/x86/jit-target-codegen.hpp rename to src/kpx_cpu/src/cpu/jit/x86/jit-target-codegen.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/genexec.pl b/src/kpx_cpu/src/cpu/ppc/genexec.pl similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/genexec.pl rename to src/kpx_cpu/src/cpu/ppc/genexec.pl diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-bitfields.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-bitfields.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-bitfields.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-bitfields.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-blockinfo.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-blockinfo.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-blockinfo.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-blockinfo.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-config.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-config.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-config.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-config.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-decode.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-decode.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-decode.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-decode.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-dyngen.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-dyngen.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-dyngen.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-dyngen.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-dyngen.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-dyngen.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-dyngen.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-dyngen.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-execute.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-execute.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-execute.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-execute.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-execute.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-execute.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-execute.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-execute.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-instructions.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-instructions.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-instructions.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-instructions.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-jit.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-jit.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-jit.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-jit.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-jit.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-jit.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-jit.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-jit.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-operands.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-operands.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-operands.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-operands.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-operations.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-operations.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-operations.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-operations.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-registers.hpp b/src/kpx_cpu/src/cpu/ppc/ppc-registers.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-registers.hpp rename to src/kpx_cpu/src/cpu/ppc/ppc-registers.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp b/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp rename to src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/spcflags.hpp b/src/kpx_cpu/src/cpu/spcflags.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/spcflags.hpp rename to src/kpx_cpu/src/cpu/spcflags.hpp diff --git a/SheepShaver/src/kpx_cpu/src/cpu/vm.hpp b/src/kpx_cpu/src/cpu/vm.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/cpu/vm.hpp rename to src/kpx_cpu/src/cpu/vm.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/ieeefp-i386.cpp b/src/kpx_cpu/src/mathlib/ieeefp-i386.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/ieeefp-i386.cpp rename to src/kpx_cpu/src/mathlib/ieeefp-i386.cpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/ieeefp-i386.hpp b/src/kpx_cpu/src/mathlib/ieeefp-i386.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/ieeefp-i386.hpp rename to src/kpx_cpu/src/mathlib/ieeefp-i386.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/ieeefp-mips.hpp b/src/kpx_cpu/src/mathlib/ieeefp-mips.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/ieeefp-mips.hpp rename to src/kpx_cpu/src/mathlib/ieeefp-mips.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/ieeefp.cpp b/src/kpx_cpu/src/mathlib/ieeefp.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/ieeefp.cpp rename to src/kpx_cpu/src/mathlib/ieeefp.cpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/ieeefp.hpp b/src/kpx_cpu/src/mathlib/ieeefp.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/ieeefp.hpp rename to src/kpx_cpu/src/mathlib/ieeefp.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/mathlib-i386.cpp b/src/kpx_cpu/src/mathlib/mathlib-i386.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/mathlib-i386.cpp rename to src/kpx_cpu/src/mathlib/mathlib-i386.cpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/mathlib-i386.hpp b/src/kpx_cpu/src/mathlib/mathlib-i386.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/mathlib-i386.hpp rename to src/kpx_cpu/src/mathlib/mathlib-i386.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/mathlib-ppc.hpp b/src/kpx_cpu/src/mathlib/mathlib-ppc.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/mathlib-ppc.hpp rename to src/kpx_cpu/src/mathlib/mathlib-ppc.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/mathlib-x86_64.hpp b/src/kpx_cpu/src/mathlib/mathlib-x86_64.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/mathlib-x86_64.hpp rename to src/kpx_cpu/src/mathlib/mathlib-x86_64.hpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/mathlib.cpp b/src/kpx_cpu/src/mathlib/mathlib.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/mathlib.cpp rename to src/kpx_cpu/src/mathlib/mathlib.cpp diff --git a/SheepShaver/src/kpx_cpu/src/mathlib/mathlib.hpp b/src/kpx_cpu/src/mathlib/mathlib.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/mathlib/mathlib.hpp rename to src/kpx_cpu/src/mathlib/mathlib.hpp diff --git a/SheepShaver/src/kpx_cpu/src/test/test-powerpc.cpp b/src/kpx_cpu/src/test/test-powerpc.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/test/test-powerpc.cpp rename to src/kpx_cpu/src/test/test-powerpc.cpp diff --git a/SheepShaver/src/kpx_cpu/src/utils/utils-cpuinfo.cpp b/src/kpx_cpu/src/utils/utils-cpuinfo.cpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/utils/utils-cpuinfo.cpp rename to src/kpx_cpu/src/utils/utils-cpuinfo.cpp diff --git a/SheepShaver/src/kpx_cpu/src/utils/utils-cpuinfo.hpp b/src/kpx_cpu/src/utils/utils-cpuinfo.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/utils/utils-cpuinfo.hpp rename to src/kpx_cpu/src/utils/utils-cpuinfo.hpp diff --git a/SheepShaver/src/kpx_cpu/src/utils/utils-sentinel.hpp b/src/kpx_cpu/src/utils/utils-sentinel.hpp similarity index 100% rename from SheepShaver/src/kpx_cpu/src/utils/utils-sentinel.hpp rename to src/kpx_cpu/src/utils/utils-sentinel.hpp diff --git a/SheepShaver/src/macos_util.cpp b/src/macos_util.cpp similarity index 100% rename from SheepShaver/src/macos_util.cpp rename to src/macos_util.cpp diff --git a/SheepShaver/src/main.cpp b/src/main.cpp similarity index 100% rename from SheepShaver/src/main.cpp rename to src/main.cpp diff --git a/SheepShaver/src/name_registry.cpp b/src/name_registry.cpp similarity index 100% rename from SheepShaver/src/name_registry.cpp rename to src/name_registry.cpp diff --git a/SheepShaver/src/pict.c b/src/pict.c similarity index 100% rename from SheepShaver/src/pict.c rename to src/pict.c diff --git a/SheepShaver/src/prefs.cpp b/src/prefs.cpp similarity index 100% rename from SheepShaver/src/prefs.cpp rename to src/prefs.cpp diff --git a/SheepShaver/src/prefs_items.cpp b/src/prefs_items.cpp similarity index 100% rename from SheepShaver/src/prefs_items.cpp rename to src/prefs_items.cpp diff --git a/SheepShaver/src/rom_patches.cpp b/src/rom_patches.cpp similarity index 100% rename from SheepShaver/src/rom_patches.cpp rename to src/rom_patches.cpp diff --git a/SheepShaver/src/rsrc_patches.cpp b/src/rsrc_patches.cpp similarity index 100% rename from SheepShaver/src/rsrc_patches.cpp rename to src/rsrc_patches.cpp diff --git a/SheepShaver/src/scsi.cpp b/src/scsi.cpp similarity index 100% rename from SheepShaver/src/scsi.cpp rename to src/scsi.cpp diff --git a/SheepShaver/src/serial.cpp b/src/serial.cpp similarity index 100% rename from SheepShaver/src/serial.cpp rename to src/serial.cpp diff --git a/SheepShaver/src/slirp b/src/slirp similarity index 100% rename from SheepShaver/src/slirp rename to src/slirp diff --git a/SheepShaver/src/sony.cpp b/src/sony.cpp similarity index 100% rename from SheepShaver/src/sony.cpp rename to src/sony.cpp diff --git a/SheepShaver/src/thunks.cpp b/src/thunks.cpp similarity index 100% rename from SheepShaver/src/thunks.cpp rename to src/thunks.cpp diff --git a/SheepShaver/src/timer.cpp b/src/timer.cpp similarity index 100% rename from SheepShaver/src/timer.cpp rename to src/timer.cpp diff --git a/SheepShaver/src/user_strings.cpp b/src/user_strings.cpp similarity index 100% rename from SheepShaver/src/user_strings.cpp rename to src/user_strings.cpp diff --git a/SheepShaver/src/video.cpp b/src/video.cpp similarity index 100% rename from SheepShaver/src/video.cpp rename to src/video.cpp diff --git a/SheepShaver/src/xpram.cpp b/src/xpram.cpp similarity index 100% rename from SheepShaver/src/xpram.cpp rename to src/xpram.cpp