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:
frueauf 1999-07-04 14:41:14 +00:00
parent f1ae25b99f
commit 7491148363
8 changed files with 18 additions and 293 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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@
#--------------------------------------------------------------

View file

@ -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);
}
}

View file

@ -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;
};

View file

@ -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)
{