mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-18 22:06:04 +01:00
system/kegs: Fix audio issues.
This commit is contained in:
parent
bbaae0b294
commit
dfec940e00
5 changed files with 85 additions and 24 deletions
|
@ -5,25 +5,5 @@ IIgs was the most powerful computer in the Apple II line. It first was
|
|||
sold in 1986. An Apple IIgs has the capability to run almost all Apple
|
||||
II, Apple IIe, and Apple IIc programs.
|
||||
|
||||
KEGS requires a ROM image dumped from an Apple IIgs. This will typically
|
||||
be called either "rom01" (131072 bytes) or "rom03" (262144 bytes),
|
||||
and will often be distributed in zip files called apple2g1.zip and
|
||||
apple2gs.zip (for use with MESS). This package can optionally include
|
||||
the ROM file. To do this, place the ROM image in the slackbuild
|
||||
directory before running the script. The image will be installed
|
||||
as /usr/share/kegs/rom03 (or rom01). If you do not include the ROM
|
||||
in the package, you will need to manually copy the rom03 image to
|
||||
/usr/share/kegs/rom03 before the emulator will work properly.
|
||||
|
||||
Optional dependency: If you intend to run Apple's GS/OS in
|
||||
the emulator, you will need macutils to extract the .sea.bin
|
||||
archives from Apple's website. Download disk image(s) from
|
||||
http://www.info.apple.com/support/oldersoftwarelist.html and then
|
||||
run e.g.:
|
||||
|
||||
$ macunpack -d Disk_2_of_7-System.Disk.sea.bin
|
||||
$ mv Disk_2_of_7-System.Disk.data system_disk.dsk
|
||||
|
||||
Mount system_disk.dsk on slot 5 using the config menu within xkegs,
|
||||
set slot 5 as the default startup device in the IIgs control panel,
|
||||
and you should be booting into the IIgs native GUI environment.
|
||||
See README.Slackware for information about ROM images, audio, and
|
||||
disk images.
|
||||
|
|
51
system/kegs/README.Slackware
Normal file
51
system/kegs/README.Slackware
Normal file
|
@ -0,0 +1,51 @@
|
|||
ROM Images
|
||||
==========
|
||||
|
||||
KEGS requires a ROM image dumped from an Apple IIgs. This will typically
|
||||
be called either "rom01" (131072 bytes) or "rom03" (262144 bytes),
|
||||
and will often be distributed in zip files called apple2g1.zip and
|
||||
apple2gs.zip (for use with MESS). This package can optionally include
|
||||
the ROM file. To do this, place the ROM image in the slackbuild
|
||||
directory before running the script. The image will be installed
|
||||
as /usr/share/kegs/rom03 (or rom01). If you do not include the ROM
|
||||
in the package, you will need to manually copy the rom03 image to
|
||||
/usr/share/kegs/rom03 before the emulator will work properly.
|
||||
|
||||
Audio
|
||||
=====
|
||||
|
||||
kegs uses OSS for audio. To get sound working, you have 3 options:
|
||||
|
||||
1. Run kegs as "aoss xkegs", or launch it from your desktop's application
|
||||
menu (which does the same thing).
|
||||
|
||||
2. Enable ALSA OSS emulation:
|
||||
# chmod +x /etc/rc.d/rc.alsa-oss
|
||||
# /etc/rc.d/rc.alsa-oss
|
||||
|
||||
However, this may interfere with other applications' use of the
|
||||
sound card.
|
||||
|
||||
3. If you already use OSSv4 (audio/oss from slackbuilds.org), kegs
|
||||
should be able to use it. It's not recommended to switch to OSSv4
|
||||
just to get audio working in kegs, though.
|
||||
|
||||
GS/OS Disk Images
|
||||
=================
|
||||
|
||||
If you intend to run Apple's GS/OS in the emulator, you will need
|
||||
macutils to extract the .sea.bin archives. Download disk image(s) from
|
||||
one of the sites listed below and then run e.g.:
|
||||
|
||||
$ macunpack -d Disk_2_of_7-System.Disk.sea.bin
|
||||
$ mv Disk_2_of_7-System.Disk.data system_disk.dsk
|
||||
|
||||
Mount system_disk.dsk on slot 5 using the config menu within xkegs,
|
||||
set slot 5 as the default startup device in the IIgs control panel,
|
||||
and you should be booting into the IIgs native GUI environment.
|
||||
|
||||
The GS/OS disk images used to be hosted on Apple's site, but have been
|
||||
removed. They can be found on various archive sites, including:
|
||||
|
||||
ftp://ftp.muleslow.net/apple2/
|
||||
http://mirrors.apple2.org.za/ftp.info.apple.com/Apple_IIGS_System_6.0.1/
|
15
system/kegs/allow_sound_open_fail.diff
Normal file
15
system/kegs/allow_sound_open_fail.diff
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff -Naur kegs.0.91/src/sound.c kegs.0.91.patched/src/sound.c
|
||||
--- kegs.0.91/src/sound.c 2004-12-06 19:42:47.000000000 -0500
|
||||
+++ kegs.0.91.patched/src/sound.c 2015-06-21 17:48:21.000000000 -0400
|
||||
@@ -363,9 +363,9 @@
|
||||
|
||||
ret = read(read_fd, &tmp, 4);
|
||||
if(ret != 4) {
|
||||
- printf("parent dying, could not get sample rate from child\n");
|
||||
+ printf("parent could not get audio sample rate from child, disabling sound.\n");
|
||||
printf("ret: %d, fd: %d errno:%d\n", ret, read_fd, errno);
|
||||
- exit(1);
|
||||
+ g_audio_enable = 0;
|
||||
}
|
||||
close(read_fd);
|
||||
|
|
@ -6,9 +6,16 @@
|
|||
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
# 20150621 bkw: bump BUILD to 2
|
||||
# - fix link to GS/OS images in README
|
||||
# - split up huge README, move most of it to README.Slackware
|
||||
# - add allow_sound_open_fail.diff
|
||||
# - add instructions on getting OSS audio to work on modern Slack
|
||||
# - "Exec=aoss xkegs" in .desktop file
|
||||
|
||||
PRGNAM=kegs
|
||||
VERSION=${VERSION:-0.91}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -55,6 +62,14 @@ find -L . \
|
|||
# I've sent this upstream, maybe it'll get integrated in future versions.
|
||||
patch -p1 < $CWD/allow_window_close.diff
|
||||
|
||||
# Matthew Miller pointed out this patch to me. Since kegs uses OSS for
|
||||
# audio, and modern Slackware has ALSA OSS emulation disabled by default,
|
||||
# sound won't work unless xkegs is run via aoss, or OSS modules are
|
||||
# loaded. This patch allows the emulator to start with sound disabled if
|
||||
# it can't open the OSS audio device (instead of it being a fatal error).
|
||||
# I've also updated the README to explain how to get audio to work.
|
||||
patch -p1 < $CWD/allow_sound_open_fail.diff
|
||||
|
||||
cd src
|
||||
rm -f vars
|
||||
ln -s vars_x86linux vars
|
||||
|
|
|
@ -3,7 +3,7 @@ Version=1.0
|
|||
Name=KEGS
|
||||
GenericName=Apple IIgs Emulator
|
||||
Type=Application
|
||||
Exec=xkegs
|
||||
Exec=aoss xkegs
|
||||
Icon=kegs
|
||||
Terminal=true
|
||||
StartupNotify=false
|
||||
|
|
Loading…
Reference in a new issue