Shoebill is an all-new, BSD-licensed Macintosh II emulator designed

from the ground up with the singular goal of running A/UX.
This commit is contained in:
hauke 2016-03-23 14:21:03 +00:00
parent 4449e9e486
commit a84d8bb22c
8 changed files with 147 additions and 1 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.242 2016/01/17 20:47:34 wiz Exp $
# $NetBSD: Makefile,v 1.243 2016/03/23 14:22:14 hauke Exp $
#
COMMENT= Emulators for other operating systems
@ -128,6 +128,7 @@ SUBDIR+= qemu0
SUBDIR+= raine
SUBDIR+= realboy
SUBDIR+= retroarch
SUBDIR+= shoestring
SUBDIR+= simh
SUBDIR+= simulavr
SUBDIR+= ski

21
emulators/shoebill/DESCR Normal file
View file

@ -0,0 +1,21 @@
Shoebill is an all-new, BSD-licensed Macintosh II emulator designed
from the ground up with the singular goal of running A/UX, first
presented on
<http://www.emaculation.com/forum/viewtopic.php?f=7&t=8288>.
Shoebill requires a Macintosh II, IIx or IIcx ROM, e.g. from
<https://github.com/macmade/Macintosh-ROMs>, and a disk image with
A/UX installed.
Shoebill is different from other Macintosh emulators in how it
boots. Instead of booting directly into the Macintosh ROM, Shoebill
implements a bootloader and boots directly into A/UX
itself. Traditionally, A/UX is booted by first booting Mac OS, and
then running SASH/launch to mount the A/UX root partition, run fsck if
necessary, load the unix kernel, and then boot it. SASH provides the
ability to manipulate the A/UX filesystem while actually running in
regular Mac OS.
Shoebill cannot boot into regular Mac OS, although that's a future
goal. Instead, it replicates the functionality of Apple's bootloader,
and boots directly into A/UX.

View file

@ -0,0 +1,36 @@
# $NetBSD: Makefile,v 1.1 2016/03/23 14:21:03 hauke Exp $
GITHUB_PROJECT= shoebill
DISTNAME= 0.0.5
PKGNAME= ${GITHUB_PROJECT}-${DISTNAME}
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=pruten/}
DIST_SUBDIR= ${GITHUB_PROJECT}
MAINTAINER= hauke@NetBSD.org
HOMEPAGE= ${MASTER_SITE_GITHUB:=pruten/shoebill/}
COMMENT= Macintosh II emulator that runs A/UX
LICENSE= 2-clause-bsd
# Missing long double math functions
NOT_FOR_PLATFORM= NetBSD-[0-6]*-*
USE_TOOLS+= perl
WRKSRC= ${WRKDIR}/${PKGNAME}
DOCDIR= share/doc/shoebill
INSTALLATION_DIRS= bin ${DOCDIR}
do-build:
( cd ${WRKSRC}/sdl-gui && \
${ENV} CC=${CC:Q} CFLAGS=${CFLAGS:Q} LDFLAGS=${LDFLAGS:Q} \
${SH} ./lin_build.sh )
do-install:
${INSTALL_DATA} files/shoebill.usage ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_PROGRAM} ${WRKSRC}/sdl-gui/shoebill ${DESTDIR}${PREFIX}/bin
.include "../../devel/SDL2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

4
emulators/shoebill/PLIST Normal file
View file

@ -0,0 +1,4 @@
@comment $NetBSD: PLIST,v 1.1 2016/03/23 14:21:03 hauke Exp $
bin/shoebill
share/doc/shoebill/README.md
share/doc/shoebill/shoebill.usage

View file

@ -0,0 +1,8 @@
$NetBSD: distinfo,v 1.1 2016/03/23 14:21:03 hauke Exp $
SHA1 (shoebill/0.0.5.tar.gz) = 40b9ae839bbb9d065ca7d36363b1b4660d780010
RMD160 (shoebill/0.0.5.tar.gz) = 20143081d2418d6961f86626e3d994b2feda8a4b
SHA512 (shoebill/0.0.5.tar.gz) = cf8d7945943d6d7a505c233b5c99371f5d37d5d60dd5beeeadbe442ef43b9980e96d51f193d69a03eb58a0a2b13103b4dba311a53c939b633b20753a8c19a772
Size (shoebill/0.0.5.tar.gz) = 253877 bytes
SHA1 (patch-sdl-gui_lin_build.sh) = 024efbe3dbec708148bc205c01cddff4fd6d74e1
SHA1 (patch-sdl-gui_sdl.c) = ee433b37104dcccc700d1d08b97807689ed8da67

View file

@ -0,0 +1,37 @@
Shoebill v0.0.4 - http://github.com/pruten/shoebill - Peter Rutenbar (c) 2014
Arguments have the form name=value.
rom=<path to Mac II ROM>
Specifies the path to a Macintosh II ROM.
E.g. rom=/home/foo/macii.rom
disk0..disk6=<path to disk image>
Specifies the path to a disk image for the given SCSI ID. Shoebill
will always boot from disk0, so make sure disk0 points to a bootable
A/UX image. E.g. disk0=/home/foo/aux3.img disk1=/blah.img
ram=<megabytes of memory>
E.g. ram=16
height=<num pixels>
Specifies the height of the screen in pixels.
width=<num pixels>
Specifies the width of the screen in pixels.
pram-path=<path to PRAM file>
Defaults to ~/.shoebill_pram
verbose=<1 or 0>
Whether to boot A/UX in verbose mode. Best to leave it at default (1).
unix-path=<path to kernel on disk0>
Path to the kernel file on the root disk image. Best to leave it at
default (/unix).
Example:
./shoebill disk0=/aux3.img rom=/macii.rom width=1024 height=768 ram=64

View file

@ -0,0 +1,24 @@
$NetBSD: patch-sdl-gui_lin_build.sh,v 1.1 2016/03/23 14:21:03 hauke Exp $
Make build parameters settable from pkg Makefile
--- sdl-gui/lin_build.sh.orig 2015-09-14 02:11:18.000000000 +0000
+++ sdl-gui/lin_build.sh
@@ -1,6 +1,7 @@
-#!/bin/bash
+#!/bin/sh
-CC=gcc
+CC=${CC:-"gcc"}
+CFLAGS=${CFLAGS:-"-O2"}
files=""
for i in adb fpu mc68851 mem via floppy core_api cpu dis; do
@@ -17,6 +18,6 @@ $CC -O1 ../core/decoder_gen.c -o decoder
./decoder_gen dis .
-cmd="$CC -O3 -ggdb -flto $files sdl.c -lpthread -lm -lSDL2 -lGL -o shoebill"
+cmd="$CC ${CFLAGS} -ggdb -flto $files sdl.c -lpthread -lm -lSDL2 -lGL ${LDFLAGS} -o shoebill"
echo $cmd
$cmd

View file

@ -0,0 +1,15 @@
$NetBSD: patch-sdl-gui_sdl.c,v 1.1 2016/03/23 14:21:03 hauke Exp $
Fix #include path
--- sdl-gui/sdl.c.orig 2015-09-14 02:11:18.000000000 +0000
+++ sdl-gui/sdl.c
@@ -220,7 +220,7 @@ struct {
#if !((defined WIN32) || (defined _WIN64))
#include <sys/types.h>
#include <pwd.h>
-#include <uuid/uuid.h>
+#include <uuid.h>
#endif
static char* _get_home_dir (const char *terminal_element)