old-school Macintosh Emulator
Go to file
2010-11-11 16:34:23 -07:00
configs All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
docs All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
icons All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
inno_setup All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
lib All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
My Installations All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
opt All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
packages All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
rpm All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
splash All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
src This version compiles and limps under Mac OS X 10.6.5. 2010-11-11 16:34:23 -07:00
system All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
util Executor builds and runs on Fedora 10 x86_64 again. 2009-11-27 15:33:35 -07:00
var_opt make distcheck succeeds (but we still don't install the System Folder due to issues associated with spaces in filenames) 2009-07-02 17:30:02 -06:00
.gitignore src/README has instructions on how to build that appear to work on Fedora 9 2009-06-01 19:09:27 -06:00
COPYING All the Executor source as-is from the subversion tree it was last worked on. 2008-10-05 21:48:37 -06:00
README This version compiles and limps under Mac OS X 10.6.5. 2010-11-11 16:34:23 -07:00
README.64 make distcheck succeeds (but we still don't install the System Folder due to issues associated with spaces in filenames) 2009-07-02 17:30:02 -06:00
TODO make distcheck succeeds (but we still don't install the System Folder due to issues associated with spaces in filenames) 2009-07-02 17:30:02 -06:00

Mac OS X 10.6.5 notes:
Xcode: 3.2.3 64-bit Xcode IDE: 1688.0, Xcode Core: 1691.0, ToolSupport: 1591.0

The configure line I used was:

    CC='gcc -m32 -fno-stack-check -fno-stack-protector' OBJC='gcc -m32 -fno-stack-check -fno-stack-protector' ../../src/configure

I'm using the version of syn68k that I built from my ancient_hackage
branch.

========================================================================

Executor is a Macintosh emulator that is able to run many ancient Mac
OS 680x0 binaries (System 6 era, early System 7) without using any
intellectual property from Apple Computer.

Executor has not been actively worked on for many years.  It is more
of a curiousity than anything practical; it does not run PowerPC
binaries, nor did it even run most System 7 applications.  Unless you
have a particular application that you know works with Executor, or
just like emulation a lot, you probably don't want to spend any time
with Executor.

Included are a bunch of auxiliarly files and miscellaneous front-ends.

The DOS port required various other libraries that we had permission
to use, but that we did not necessarily have the permission to publish
the source for, so the source to some of the packages that the DOS
port requires is not present in the github repository.

If you want to try to build a version of Executor, try this:

  cd src
  autoreconf --install
  cd ..
  mkdir build
  cd build
  ../src/configure
  make
  make install

That should leave you with a binary called "executor" (at least on
32-bit x86 Linux systems, or a Mac (Intel or PowerPC) with XCode 3
installed) and a directory called "skel".  By default, executor will
be installed in "/usr/local/bin" and skel will be installed in
"/usr/local/share/executor".

skel itself isn't meant to be written to; it's meant to be copied
somewhere and for the copy to be read/write.  For example,

  cp -Rp /usr/local/share/executor/skel/volume /tmp/ExecutorVolume
  export SystemFolder="/tmp/ExecutorVolume/System Folder"
  executor

The environment variables that drive Executor including where Executor
looks for the system folder are a bit arcane and meant to fit together
with installers that we no longer use.  It may make sense to make it
so that Executor automatically copies the contents of skel/volume to a
users home-directory the first time Executor is run, but that's an
exercise left to the reader.

If you're on an x86_64 based machine and you have the ability to compile
32-bit binaries and you have these packages installed (where the ? is 3 for
Fedora 10, 5 for Fedora 11 and 6 for Fedora 12):

  SDL-devel.i?86
  libX11-devel.i?86
  db4-devel.i?86
  libXext.i?86
  libXrender.i?86
  libXrandr.i?86

you should be able to build a copy of Executor by overriding CC and
OBJC to be the 32-bit version and explicitly stating that you're
building on a 32-bit system (which is a little bit untrue, but works):

  mkdir -p build/debug-linux
  cd build/debug-linux
  CC='gcc -m32' OBJC='gcc -m32' ../../src/configure --build=i686-pc-linux
  make

The above works on Fedora 10, 11 and 12 x86_64.

Yes, the above is pretty messy.  Since the x86_64 bit native version of
Executor doesn't build and is likely to anytime soon, it probably makes
sense to make it so that by default we build the ix86 version of Executor
when compiling on x86_64, and that we complain if the various 32-bit
libraries aren't available.

In the past it was possible to cross-compile a version of Executor for
Windows using mingw32.  So far that port hasn't been tried since
putting the code on Github.  It probably doesn't work, but probably
could be made to work without much effort.

At one time we had Executor running on the Alpha, a 64-bit
environment.  We actually modified gcc to support "pointer bit-fields"
and were able to get Executor to run.  Now that 64-bit machines are
more popular, I've begun an experiment in supporting 64-bit machines
without modifying the compiler.  See README.64 for more info.

As I continue Executor's transition to a recent gnu build system I may
inadvertantly push versions that don't build when using the above
commands.  Don't hesitate to ask me if you're having trouble
compiling, linking or running any of the above platforms.

My email address is still <ctm@ardi.com>, although ARDI itself is
defunct.  I get a ridiculous amount of spam and will quite possibly
not see email addressed to me.  I'm ctm on github (http://github.com)
and typically check my email there once a day.

--Cliff Matthews