Update sidplay to 1.36.35. Provided in pr 7846 by Antti Kantee.
* Don't allow SID to disable voice 3 if it has filters enabled. * Improved emulation of Galway Noise based on PlaySID's Extended SID registers. * Improved random number generator's bit 0. * Improved ASCII conversion of CHR$-strings in MUS file format. (Peter Weighill)
This commit is contained in:
parent
f1ae25b99f
commit
7491148363
8 changed files with 18 additions and 293 deletions
|
@ -1,14 +1,14 @@
|
|||
# $NetBSD: Makefile,v 1.2 1999/05/10 11:26:11 frueauf Exp $
|
||||
# $NetBSD: Makefile,v 1.3 1999/07/04 14:41:14 frueauf Exp $
|
||||
#
|
||||
|
||||
DISTNAME= sidplay-1_36_34
|
||||
PKGNAME= sidplay-1.36.34
|
||||
WRKSRC= ${WRKDIR}/sidplay-1.36.34
|
||||
DISTNAME= sidplay-1_36_35
|
||||
PKGNAME= sidplay-1.36.35
|
||||
WRKSRC= ${WRKDIR}/sidplay-1.36.35
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
||||
MAINTAINER= packages@netbsd.org
|
||||
MAINTAINER= pooka@iki.fi
|
||||
HOMEPAGE= http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
$NetBSD: md5,v 1.2 1999/05/10 11:26:11 frueauf Exp $
|
||||
$NetBSD: md5,v 1.3 1999/07/04 14:41:15 frueauf Exp $
|
||||
|
||||
MD5 (sidplay-1_36_34.tgz) = 7cc3356abb9a22ad4af7e1c524495587
|
||||
MD5 (sidplay-1_36_35.tgz) = 9b540cfbf28a3b2e619173f69680c33e
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
$NetBSD: patch-aa,v 1.2 1999/05/10 11:26:11 frueauf Exp $
|
||||
$NetBSD: patch-aa,v 1.3 1999/07/04 14:41:15 frueauf Exp $
|
||||
|
||||
--- configure.in.orig Mon Apr 5 14:20:03 1999
|
||||
+++ configure.in Mon Apr 5 14:20:50 1999
|
||||
@@ -1,7 +1,7 @@
|
||||
AC_INIT(libsidplay/sidtune.cpp)
|
||||
AC_CONFIG_HEADER(libsidplay/include/config.h)
|
||||
AC_CANONICAL_SYSTEM
|
||||
-AC_PREFIX_DEFAULT(/usr)
|
||||
+AC_PREFIX_DEFAULT(${PREFIX})
|
||||
--- console/Makefile.in.orig Thu Jun 17 08:59:51 1999
|
||||
+++ console/Makefile.in Wed Jun 23 23:50:39 1999
|
||||
@@ -25,7 +25,7 @@
|
||||
LIBM = @LIBM@
|
||||
LIBIOS = @LIBIOS@
|
||||
SIDLIB = -L$(TOPDIR)/libsidplay -lsidplay
|
||||
-LIBS = @LIBS@ $(LIBM) $(LIBIOS) $(SIDLIB)
|
||||
+LIBS = @LIBS@ $(LIBM) $(LIBIOS) $(SIDLIB) @LIBAUDIO@
|
||||
|
||||
#--------------------------------------------------------------
|
||||
|
||||
AC_PROG_CXX
|
||||
AC_LANG_CPLUSPLUS
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
$NetBSD: patch-ab,v 1.2 1999/05/10 11:26:11 frueauf Exp $
|
||||
|
||||
--- configure.orig Mon Apr 5 14:21:38 1999
|
||||
+++ configure Mon Apr 5 14:22:46 1999
|
||||
@@ -9,9 +9,7 @@
|
||||
|
||||
# Defaults:
|
||||
ac_help=
|
||||
-ac_default_prefix=/usr/local
|
||||
-# Any additions from configure.in:
|
||||
-ac_default_prefix=/usr
|
||||
+ac_default_prefix=${PREFIX}
|
||||
|
||||
# Initialize some variables set by options.
|
||||
# The variables have the same names as the options, with
|
|
@ -1,15 +0,0 @@
|
|||
$NetBSD: patch-ac,v 1.2 1999/05/10 11:26:11 frueauf Exp $
|
||||
|
||||
--- console/Makefile.in.orig Mon Nov 30 17:08:02 1998
|
||||
+++ console/Makefile.in Mon Apr 5 14:08:28 1999
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
LIBM = @LIBM@
|
||||
LIBIOS = @LIBIOS@
|
||||
-SIDLIB = -L$(TOPDIR)/libsidplay -lsidplay
|
||||
-LIBS = @LIBS@ $(LIBM) $(LIBIOS) $(SIDLIB)
|
||||
+SIDLIB = -L$(TOPDIR)/libsidplay -lsidplay
|
||||
+LIBS = @LIBS@ $(LIBM) $(LIBIOS) $(SIDLIB) @LIBAUDIO@
|
||||
|
||||
#--------------------------------------------------------------
|
||||
|
|
@ -1,194 +0,0 @@
|
|||
$NetBSD: patch-ad,v 1.3 1999/06/07 08:19:48 frueauf Exp $
|
||||
|
||||
--- console/audio/linux/audiodrv.cpp.orig Sun Mar 7 08:38:58 1999
|
||||
+++ console/audio/linux/audiodrv.cpp Wed Jun 2 20:06:29 1999
|
||||
@@ -1,8 +1,5 @@
|
||||
-//
|
||||
-// 1997/09/27 21:38:01
|
||||
-//
|
||||
// --------------------------------------------------------------------------
|
||||
-// ``Open Sound System (OSS)'' / Linux specific audio interface.
|
||||
+// ``Open Sound System (OSS)'' specific audio driver interface.
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
#include "audiodrv.h"
|
||||
@@ -21,6 +18,7 @@
|
||||
channels = 0;
|
||||
encoding = 0;
|
||||
precision = 0;
|
||||
+ swapEndian = false;
|
||||
audioHd = (-1);
|
||||
}
|
||||
|
||||
@@ -35,7 +33,8 @@
|
||||
{
|
||||
if ((audioHd=open(AUDIODEVICE,O_WRONLY,0)) == (-1))
|
||||
{
|
||||
- errorString = "AUDIO: Could not open audio device.";
|
||||
+ perror(AUDIODEVICE);
|
||||
+ errorString = "ERROR: Could not open audio device.";
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -47,34 +46,102 @@
|
||||
fragments = inFragments;
|
||||
fragSizeBase = inFragBase;
|
||||
|
||||
- // Set sample precision and type of encoding.
|
||||
- int dsp_sampleSize;
|
||||
- if (precision == SIDEMU_16BIT)
|
||||
- dsp_sampleSize = 16;
|
||||
- else // if (precision == SIDEMU_8BIT)
|
||||
- dsp_sampleSize = 8;
|
||||
- if (ioctl(audioHd,SNDCTL_DSP_SAMPLESIZE,&dsp_sampleSize) == (-1))
|
||||
+ int mask;
|
||||
+ // Query supported sample formats.
|
||||
+ if (ioctl(audioHd,SNDCTL_DSP_GETFMTS,&mask) == (-1))
|
||||
{
|
||||
- errorString = "AUDIO: Could not set sample size.";
|
||||
+ perror(AUDIODEVICE);
|
||||
+ errorString = "AUDIO: Could not get sample formats.";
|
||||
return false;
|
||||
}
|
||||
- // Verify and accept the sample precision the driver accepted.
|
||||
- if (dsp_sampleSize == 16)
|
||||
+
|
||||
+ // Assume CPU and soundcard have same endianess.
|
||||
+ swapEndian = false;
|
||||
+
|
||||
+ int wantedFormat;
|
||||
+ // Set sample precision and type of encoding.
|
||||
+ if (precision == SIDEMU_16BIT)
|
||||
{
|
||||
- precision = SIDEMU_16BIT;
|
||||
- encoding = SIDEMU_SIGNED_PCM;
|
||||
+#if defined(WORDS_BIGENDIAN)
|
||||
+ if (mask & AFMT_S16_BE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_S16_BE;
|
||||
+ encoding = SIDEMU_SIGNED_PCM;
|
||||
+ }
|
||||
+ else if (mask & AFMT_U16_BE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_U16_BE;
|
||||
+ encoding = SIDEMU_UNSIGNED_PCM;
|
||||
+ }
|
||||
+ else if (mask & AFMT_S16_LE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_S16_LE;
|
||||
+ encoding = SIDEMU_SIGNED_PCM;
|
||||
+ swapEndian = true;
|
||||
+ }
|
||||
+ else if (mask & AFMT_U16_LE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_U16_LE;
|
||||
+ encoding = SIDEMU_UNSIGNED_PCM;
|
||||
+ swapEndian = true;
|
||||
+ }
|
||||
+#else
|
||||
+ if (mask & AFMT_S16_LE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_S16_LE;
|
||||
+ encoding = SIDEMU_SIGNED_PCM;
|
||||
+ }
|
||||
+ else if (mask & AFMT_U16_LE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_U16_LE;
|
||||
+ encoding = SIDEMU_UNSIGNED_PCM;
|
||||
+ }
|
||||
+ else if (mask & AFMT_S16_BE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_S16_BE;
|
||||
+ encoding = SIDEMU_SIGNED_PCM;
|
||||
+ swapEndian = true;
|
||||
+ }
|
||||
+ else if (mask & AFMT_U16_BE)
|
||||
+ {
|
||||
+ wantedFormat = AFMT_U16_BE;
|
||||
+ encoding = SIDEMU_UNSIGNED_PCM;
|
||||
+ swapEndian = true;
|
||||
+ }
|
||||
+#endif
|
||||
+ else // 16-bit not supported
|
||||
+ {
|
||||
+ wantedFormat = AFMT_U8;
|
||||
+ precision = SIDEMU_8BIT;
|
||||
+ encoding = SIDEMU_UNSIGNED_PCM;
|
||||
+ }
|
||||
}
|
||||
- else if (dsp_sampleSize == 8)
|
||||
+ else // if (precision == SIDEMU_8BIT)
|
||||
{
|
||||
+ wantedFormat = AFMT_U8;
|
||||
precision = SIDEMU_8BIT;
|
||||
encoding = SIDEMU_UNSIGNED_PCM;
|
||||
}
|
||||
- else
|
||||
- {
|
||||
- errorString = "AUDIO: Could not set sample size.";
|
||||
- return false;
|
||||
- }
|
||||
|
||||
+ if ( !(mask&wantedFormat) )
|
||||
+ {
|
||||
+ errorString = "AUDIO: Desired sample encoding not supported.";
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ int format = wantedFormat;
|
||||
+ if (ioctl(audioHd,SNDCTL_DSP_SETFMT,&format) == (-1))
|
||||
+ {
|
||||
+ perror(AUDIODEVICE);
|
||||
+ errorString = "AUDIO: Could not set sample format.";
|
||||
+ return false;
|
||||
+ }
|
||||
+ if (format != wantedFormat)
|
||||
+ {
|
||||
+ errorString = "AUDIO: Audio driver did not accept sample format.";
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
// Set mono/stereo.
|
||||
int dsp_stereo;
|
||||
if (channels == SIDEMU_STEREO)
|
||||
@@ -83,6 +150,7 @@
|
||||
dsp_stereo = 0;
|
||||
if (ioctl(audioHd,SNDCTL_DSP_STEREO,&dsp_stereo) == (-1))
|
||||
{
|
||||
+ perror(AUDIODEVICE);
|
||||
errorString = "AUDIO: Could not set mono/stereo.";
|
||||
return false;
|
||||
}
|
||||
@@ -101,6 +169,7 @@
|
||||
int dsp_speed = frequency;
|
||||
if (ioctl(audioHd,SNDCTL_DSP_SPEED,&dsp_speed) == (-1))
|
||||
{
|
||||
+ perror(AUDIODEVICE);
|
||||
errorString = "AUDIO: Could not set frequency.";
|
||||
return false;
|
||||
}
|
||||
@@ -120,6 +189,7 @@
|
||||
audio_buf_info myAudInfo;
|
||||
if (ioctl(audioHd,SNDCTL_DSP_GETOSPACE,&myAudInfo) == (-1))
|
||||
{
|
||||
+ perror(AUDIODEVICE);
|
||||
errorString = "AUDIO: Could not get audio_buf_info.";
|
||||
return false;
|
||||
}
|
||||
@@ -145,6 +215,15 @@
|
||||
{
|
||||
if (audioHd != (-1))
|
||||
{
|
||||
- write(audioHd,pBuffer,bufferSize);
|
||||
+ if (swapEndian)
|
||||
+ {
|
||||
+ for (int n=0; n<bufferSize; n+=2)
|
||||
+ {
|
||||
+ ubyte tmp = pBuffer[n+0];
|
||||
+ pBuffer[n+0] = pBuffer[n+1];
|
||||
+ pBuffer[n+1] = tmp;
|
||||
+ }
|
||||
+ }
|
||||
+ write(audioHd,pBuffer,bufferSize);
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
$NetBSD: patch-ae,v 1.3 1999/06/07 08:19:48 frueauf Exp $
|
||||
|
||||
--- console/audio/linux/audiodrv.h.orig Sun Mar 7 08:38:58 1999
|
||||
+++ console/audio/linux/audiodrv.h Wed Jun 2 20:06:29 1999
|
||||
@@ -1,14 +1,16 @@
|
||||
-//
|
||||
-// 1997/09/27 21:38:01
|
||||
-//
|
||||
+// --------------------------------------------------------------------------
|
||||
+// ``Open Sound System (OSS)'' specific audio driver interface.
|
||||
+// --------------------------------------------------------------------------
|
||||
|
||||
#ifndef AUDIODRV_H
|
||||
#define AUDIODRV_H
|
||||
|
||||
|
||||
-#include <unistd.h>
|
||||
-#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
+#include <errno.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#include "compconf.h"
|
||||
#include "mytypes.h"
|
||||
@@ -107,6 +109,8 @@
|
||||
int encoding;
|
||||
int precision;
|
||||
int channels;
|
||||
+
|
||||
+ bool swapEndian;
|
||||
};
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
$NetBSD: patch-af,v 1.4 1999/06/07 08:19:48 frueauf Exp $
|
||||
|
||||
--- console/sidplay.cpp.orig Sat Feb 20 14:54:00 1999
|
||||
+++ console/sidplay.cpp Wed Jun 2 20:06:29 1999
|
||||
@@ -339,7 +339,10 @@
|
||||
// Print the relevant settings.
|
||||
if (verboseOutput)
|
||||
{
|
||||
- cout << "Frequency : " << dec << myEmuConfig.frequency << " Hz" << endl;
|
||||
+ cout << "Frequency : " << dec << myEmuConfig.frequency << " Hz"
|
||||
+ << " (" << ((myEmuConfig.bitsPerSample==SIDEMU_8BIT) ? "8" : "16")
|
||||
+ << "-bit " << ((myEmuConfig.channels==SIDEMU_MONO) ? "mono" : "stereo")
|
||||
+ << ")" << endl;
|
||||
cout << "SID Filter : " << ((myEmuConfig.emulateFilter == true) ? "Yes" : "No") << endl;
|
||||
if (myEmuConfig.memoryMode == MPU_PLAYSID_ENVIRONMENT)
|
||||
{
|
Loading…
Reference in a new issue