Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
meetpatty committed Mar 11, 2017
0 parents commit 2df9962
Show file tree
Hide file tree
Showing 599 changed files with 245,445 additions and 0 deletions.
67 changes: 67 additions & 0 deletions BasiliskII.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
%define name BasiliskII
%define version 1.0rc1
%define release 1

Summary: 68k Macintosh emulator
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Group: Applications/Emulators
Source0: %{name}_src_30062005.tar.gz
URL: http://www.uni-mainz.de/~bauec002/B2Main.html
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# While the data file path (/usr/share/BasiliskII) is compiled into the
# executable, the data files are not required for operation and their location
# can be overridden with prefs items, so I consider this package to be
# relocatable.
Prefix: %{_prefix}

%description
Basilisk II is an Open Source 68k Macintosh emulator. That is, it enables
you to run 68k MacOS software on you computer, even if you are using a
different operating system. However, you still need a copy of MacOS and
a Macintosh ROM image to use Basilisk II.

Some features of Basilisk II:
- Emulates either a Mac Classic (which runs MacOS 0.x thru 7.5)
or a Mac II series machine (which runs MacOS 7.x, 8.0 and 8.1),
depending on the ROM being used
- Color video display
- CD quality sound output
- Floppy disk driver (only 1.44MB disks supported)
- Driver for HFS partitions and hardfiles
- CD-ROM driver with basic audio functions
- Easy file exchange with the host OS via a "Host Directory Tree" icon
on the Mac desktop
- Ethernet driver
- Serial drivers
- SCSI Manager (old-style) emulation
- Emulates extended ADB keyboard and 3-button mouse
- Uses UAE 68k emulation or (under AmigaOS and NetBSD/m68k) real 68k
processor

%prep
%setup -q

%build
cd src/Unix
%configure
make

%install
rm -rf ${RPM_BUILD_ROOT}
cd src/Unix
%makeinstall

%clean
rm -rf ${RPM_BUILD_ROOT}

%files
%defattr(-,root,root)
%doc ChangeLog COPYING INSTALL README TECH TODO
%{_bindir}/BasiliskII
%{_mandir}/man1/BasiliskII.1*
%config %{_datadir}/BasiliskII/keycodes
%config %{_datadir}/BasiliskII/fbdevices
340 changes: 340 additions & 0 deletions COPYING

Large diffs are not rendered by default.

516 changes: 516 additions & 0 deletions ChangeLog

Large diffs are not rendered by default.

160 changes: 160 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
BASILISK II INSTALLATION INSTRUCTIONS
=====================================

System Requirements
-------------------

To use Basilisk II, you need either a 512K Mac Classic ROM image or a
512K or 1MB 32-bit clean Macintosh ROM image. You also need a copy of MacOS
(0.x thru 7.5 for Classic emulation, 7.x or 8.0/8.1 for Mac II emulation).
For copyright reasons, none of these items are included with Basilisk II.
MacOS 7.5.3 and earlier versions can be downloaded from Apple and various
other Internet sites. Mac ROM files are not freely available. You have to
own a real Mac and read out its ROM. No, I don't know where you can download
ROM files. No, I won't send you one.

Depending on the platform you use, Basilisk II has additional requirements:

BeOS:
You need BeOS R4 or later versions.
Basilisk II cannot do Mac Classic emulation.

Unix:
You need X11R6 and a "make" utility with the VPATH feature (e.g. GNU make).
For serial, ethernet and audio support, you need pthreads. To use the GUI
preferences editor, you also need GTK+ version 1.2 or better. On Linux, you
need glibc 2.0 or better.

AmigaOS:
You need at least a 68020 and AmigaOS 3.0 or better. To get the GUI
preferences editor, you need gtlayout.library V39 or later. To get sound
output, you need AHI V2 or later. Both items can be found on Aminet. You
also need the "PrepareEmul" utility that somes with ShapeShifter (or any
equivalent PrepareEmul substitute). The AmigaOS version of Basilisk II
cannot do Mac Classic emulation.

Windows:
You need at least Windows NT 4.0. Windows 95 and 98 can be used too, with a
somewhat reduced set of features. Basilisk II supports DirectX version 5 or
later, but version 3 may also work, depending on your graphics card.

Mac OS X:
Versions 10.0 thru 10.2 can be used, and 10.3 will probably be no problem.
(OS X public beta is not supported by the current executable or source code,
but if you really need to use it, I can provide versions that will work)

Installation
------------

BeOS:
If you have a binary distribution of Basilisk II for BeOS, there are
executables for BeOS/PPC and/or BeOS/x86 included. Basilisk II cannot run
concurrently with SheepShaver. Trying to do so will crash Basilisk II, or
SheepShaver, or both.

If you have the source distribution, do the following:

cd src/BeOS
make

This will produce an executable "BasiliskII" in the "obj.ppc" or "obj.x86"
directory. To use Ethernet, you also have to do:

cd SheepNet
make install

On a PowerPC system, you also have to do:

cd SheepDriver
make install

Unix:
To compile Basilisk II, do the following:

cd src/Unix
./configure
make [or "gmake" if you have GNU make and "make" fails]
make install [optionally]

To use Ethernet networking under Linux, you either have to configure your
kernel for ethertap support or make and install the "sheep_net" driver
(this is explained in the README file, at the description of the "ether"
preferences item).

This is what Brian J. Johnson says about compiling for IRIX:
"I recommend compiling with "-Ofast". This requires changing "-g"
to "-Ofast" in the Makefile, and adding "-ipa" to LDFLAGS. This
turns on massive interprocedural optimization, and makes for much
better performance."

ATTENTION NetBSD/m68k USERS:
If you want to run Basilisk II natively (i.e. without CPU emulation), you
must NOT use a pthreads library. User-level threads libraries such as PTL
interfere with the signal handlers installed by Basilisk II and kernel-
level threads are not supported by NetBSD, so you will have to live without
pthreads, and thus without serial/ethernet/audio support (but the "UDP
tunnelling" network should work).

ATTENTION NetBSD/mac68k USERS:
Current (as of July 2000) versions of the NetBSD/mac68k kernel have a bug
that not only prevents Basilisk II from running properly but seems to even
cause kernel panics under certain conditions! Apply the following patch to
/sys/arch/mac68k/mac68k/macromasm.s, recompile and re-install the kernel
and reboot before using Basilisk II:

--- macromasm.s.orig Wed Jul 5 19:29:01 2000
+++ macromasm.s Wed Jul 5 19:12:34 2000
@@ -37,6 +37,8 @@

#include "opt_adb.h"
#include "assym.h"
+#include <machine/asm.h>
+#include <machine/trap.h>


/* Define this symbol as global with (v) value */
@@ -437,8 +439,9 @@
movw sp@(FR_HW + 4), d0 | retrieve status register
andw #PSL_S, d0 | supervisor state?
bne Lalnosup | branch if supervisor
- jbsr _mrg_aline_user | user a-line trap
- bra Lalrts
+ addql #4, sp | pop frame ptr
+ movql #T_ILLINST, d0 | user-mode fault
+ jra _ASM_LABEL(fault)
Lalnosup:
#define FR_PC (FR_HW+2)
movl sp@(FR_PC + 4), a0 | retrieve PC

AmigaOS:
If you have a binary distribution of Basilisk II for AmigaOS, there is an
executable included. You must also have the "PrepareEmul" utility installed
that comes with ShapeShifter (or any equivalent PrepareEmul substitute,
see the ShapeShifter docs). If you have the source distribution, do the
following:

cd src/AmigaOS
make

To recompile Basilisk II, you need the GeekGadgets development suite and
PhxAss (which can be found on Aminet).

Windows NT:
If you have a binary distribution of Basilisk II for Windows, there is a
Windows NT binary included. To access CD-ROMs under Windows NT, the driver
"cdenable.sys" must be copied to your "\WinNT\System32\drivers" directory.
To access CD-ROMs under Windows 9x, the driver "cdenable.vxd" must be copied
to the "\Windows\System" directory. To recompile Basilisk II, you need
MS Visual V++ 5.0 or later. Symantec C++ should work, too, with some
modifications. See the "sysdeps.h" file in the "Windows" directory.

Mac OS X:
If you have the prebuilt application, there is nothing to do.
If you have the developer tools installed, and want to built it yourself,
look in the file src/MacOSX/0_HOW_TO_BUILD.txt


The ROM file has to be named "ROM" and put in the same directory as the
Basilisk II executable but you can specify a different location for the ROM
file with the "rom" option in the preferences file (or with the preferences
GUI).
124 changes: 124 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# Makefile for creating Basilisk II distributions
# Written in 2002 by Christian Bauer <Christian.Bauer@uni-mainz.de>

VERSION := $(shell sed <BasiliskII.spec -n '/^\%define version */s///p')
RELEASE := $(shell sed <BasiliskII.spec -n '/^\%define release */s///p')
VERNAME := BasiliskII-$(VERSION)

SRCARCHIVE := $(shell date +BasiliskII_src_%d%m%Y.tar.gz)
AMIGAARCHIVE := $(VERNAME)-$(RELEASE).amiga.lzh
BEOSPPCARCHIVE := $(VERNAME)-$(RELEASE).beosppc.zip
BEOSX86ARCHIVE := $(VERNAME)-$(RELEASE).beosx86.zip
MACOSXARCHIVE := $(VERNAME)-$(RELEASE).tar.gz

TMPDIR := $(shell date +/tmp/build%M%S)
ISODATE := $(shell date "+%Y-%m-%d %H:%M")
DOCS := $(shell sed <BasiliskII.spec -n '/^\%doc */s///p')
SRCS := src

default:
@echo "This top-level Makefile is for creating Basilisk II distributions."
@echo "If you want to install Basilisk II V$(VERSION) on your system, please follow"
@echo "the instructions in the file INSTALL."
@echo "If you want to create a Basilisk II V$(VERSION) distribution, type \"make help\""
@echo "to get a list of possible targets."

help:
@echo "The following targets are available:"
@echo " tarball source tarball ($(SRCARCHIVE))"
@echo " rpm source and binary RPMs"
@echo " amiga AmigaOS binary archive ($(AMIGAARCHIVE))"
@echo " beosppc BeOS/ppc binary archive ($(BEOSPPCARCHIVE))"
@echo " beosx86 BeOS/x86 binary archive ($(BEOSX86ARCHIVE))"
@echo " macosx MacOS X binary archive ($(MACOSXARCHIVE))"

clean:
-rm -f $(SRCARCHIVE)
-rm -f $(AMIGAARCHIVE) $(BEOSPPCARCHIVE) $(BEOSX86ARCHIVE)

#
# Source tarball
#
tarball: $(SRCARCHIVE)

$(SRCARCHIVE): $(SRCS) $(DOCS)
-rm -rf $(TMPDIR)
mkdir $(TMPDIR)
cd $(TMPDIR); cvs export -D "$(ISODATE)" BasiliskII
cd $(TMPDIR)/BasiliskII/src/Unix && NO_CONFIGURE=1 ./autogen.sh
cd $(TMPDIR)/BasiliskII/src/Windows && NO_CONFIGURE=1 ../Unix/autogen.sh
rm $(TMPDIR)/BasiliskII/Makefile
mv $(TMPDIR)/BasiliskII $(TMPDIR)/$(VERNAME)
cd $(TMPDIR); tar cfz $@ $(VERNAME)
mv $(TMPDIR)/$@ .
rm -rf $(TMPDIR)

#
# RPMs (source and binary)
#
rpm: $(SRCARCHIVE)
rpmbuild -ta --clean $(SRCARCHIVE)

#
# Binary archive for AmigaOS
#
amiga: $(AMIGAARCHIVE)

$(AMIGAARCHIVE): $(SRCS) $(DOCS) src/AmigaOS/BasiliskII
-rm -rf $(TMPDIR)
mkdir $(TMPDIR)
mkdir $(TMPDIR)/$(VERNAME)
cp $(DOCS) $(TMPDIR)/$(VERNAME)
cp src/AmigaOS/BasiliskII $(TMPDIR)/$(VERNAME)
cp src/AmigaOS/BasiliskII.info $(TMPDIR)/$(VERNAME)
chmod 775 $(TMPDIR)/$(VERNAME)/BasiliskII
cd $(TMPDIR); lha a $@ $(VERNAME)
mv $(TMPDIR)/$@ .
rm -rf $(TMPDIR)

#
# Binary archive for BeOS/ppc
#
beosppc: $(BEOSPPCARCHIVE)

$(BEOSPPCARCHIVE): $(SRCS) $(DOCS) src/BeOS/obj.ppc/BasiliskII
-rm -rf $(TMPDIR)
mkdir $(TMPDIR)
mkdir $(TMPDIR)/$(VERNAME)
cp $(DOCS) $(TMPDIR)/$(VERNAME)
cp src/BeOS/obj.ppc/BasiliskII $(TMPDIR)/$(VERNAME)
mimeset -f $(TMPDIR)
cd $(TMPDIR); zip -ry $@ $(VERNAME)/
mv $(TMPDIR)/$@ .
rm -rf $(TMPDIR)

#
# Binary archive for BeOS/x86
#
beosx86: $(BEOSX86ARCHIVE)

$(BEOSX86ARCHIVE): $(SRCS) $(DOCS) src/BeOS/obj.x86/BasiliskII
-rm -rf $(TMPDIR)
mkdir $(TMPDIR)
mkdir $(TMPDIR)/$(VERNAME)
cp $(DOCS) $(TMPDIR)/$(VERNAME)
cp src/BeOS/obj.x86/BasiliskII $(TMPDIR)/$(VERNAME)
mimeset -f $(TMPDIR)
cd $(TMPDIR); zip -ry $@ $(VERNAME)/
mv $(TMPDIR)/$@ .
rm -rf $(TMPDIR)

#
# Binary archive for MacOS X
#
macosx: $(MACOSXARCHIVE)

$(MACOSXARCHIVE): $(SRCS) $(DOCS) src/MacOSX/build/BasiliskII.app
-rm -rf $(TMPDIR)
mkdir $(TMPDIR)
mkdir $(TMPDIR)/$(VERNAME)
cp $(DOCS) $(TMPDIR)/$(VERNAME)
cp -pr src/MacOSX/build/BasiliskII.app $(TMPDIR)/$(VERNAME)
cd $(TMPDIR); tar -czvf $@ $(VERNAME)/
mv $(TMPDIR)/$@ .
rm -rf $(TMPDIR)

0 comments on commit 2df9962

Please sign in to comment.