diff options
author | dillo <dillo@pkgsrc.org> | 2006-06-29 22:56:34 +0000 |
---|---|---|
committer | dillo <dillo@pkgsrc.org> | 2006-06-29 22:56:34 +0000 |
commit | db642e6c0cfa1e02279d6411a12cb55045770934 (patch) | |
tree | c304e2a629b4b96647c1043375f96a2cd56adfa2 /emulators/vice/patches/patch-ac | |
parent | 503bb5bc9f7bc4056062d425f95790deafc5bfb9 (diff) | |
download | pkgsrc-db642e6c0cfa1e02279d6411a12cb55045770934.tar.gz |
Update to 1.19:
- Fixed "RESTORE key works only once" bug.
- Fixed compilation with GCC4.
- [C64] Fixed an opcode execute problem with the +60k expansion.
- [C64] New c64 256k expansion support.
- [VIC-II] Fixed switch from idle state to display state.
- [VIC-II] Added missing DEN bit scrolling feature.
- The experimental netplay feature has been extended to the Unix
platforms for testing.
- Added IPV6 support to netplay.
- Fixed crash if settings are saved.
- Fixed some Gnome1 annoyances (popup menus in status bar)
- Rework of gnome save media (screenshot) dialog
- Xaw Statusbar fixes and improvements (new buttons for recording).
- Added various new screenshot formats.
- Improved the image content lister to display at least the first part
of a circular directory listing.
- Made the tape routines able to cope with non-standard header sizes.
XXX: should use SUBST framework instead of home-grown code.
Updated during freeze to fix gcc4 compile problems, okayed by wiz.
Diffstat (limited to 'emulators/vice/patches/patch-ac')
-rw-r--r-- | emulators/vice/patches/patch-ac | 95 |
1 files changed, 20 insertions, 75 deletions
diff --git a/emulators/vice/patches/patch-ac b/emulators/vice/patches/patch-ac index 94263ea32fc..a93000fe57b 100644 --- a/emulators/vice/patches/patch-ac +++ b/emulators/vice/patches/patch-ac @@ -1,104 +1,49 @@ -$NetBSD: patch-ac,v 1.14 2005/12/11 22:46:50 dillo Exp $ +$NetBSD: patch-ac,v 1.15 2006/06/29 22:56:34 dillo Exp $ ---- src/sounddrv/soundsun.c.orig 2005-07-24 23:17:09.000000000 +0200 +--- src/sounddrv/soundsun.c.orig 2005-12-23 23:29:54.000000000 +0100 +++ src/sounddrv/soundsun.c -@@ -61,8 +61,11 @@ static int sun_bufferspace(void); - - static int sun_fd = -1; +@@ -63,7 +63,7 @@ static int sun_fd = -1; static int sun_8bit = 0; -+static int sun_channels = 1; + static int sun_channels = 1; static int sun_bufsize = 0; +-#if !defined(__NETBSD__) +#if !defined(__NetBSD__) static int sun_written = 0; -+#endif + #endif - static int toulaw8(SWORD data) - { -@@ -104,8 +107,10 @@ static int sun_init(const char *param, i +@@ -107,7 +107,7 @@ static int sun_init(const char *param, i int st; struct audio_info info; +-#if !defined(__NETBSD__) +#if !defined(__NetBSD__) /* No stereo capability. */ *channels = 1; -+#endif - - if (!param) { - if (getenv("AUDIODEV")) -@@ -118,7 +123,7 @@ static int sun_init(const char *param, i - return 1; - AUDIO_INITINFO(&info); - info.play.sample_rate = *speed; -- info.play.channels = 1; -+ info.play.channels = *channels; - info.play.precision = 16; - info.play.encoding = AUDIO_ENCODING_LINEAR; - st = ioctl(sun_fd, AUDIO_SETINFO, &info); -@@ -133,10 +138,14 @@ static int sun_init(const char *param, i - goto fail; - sun_8bit = 1; - *speed = 8000; -+ *channels = 1; + #endif +@@ -142,7 +142,7 @@ static int sun_init(const char *param, i log_message(LOG_DEFAULT, "Playing 8 bit ulaw at 8000Hz"); } sun_bufsize = (*fragsize)*(*fragnr); +-#if !defined(__NETBSD__) +#if !defined(__NetBSD__) sun_written = 0; -+#endif -+ sun_channels = *channels; - return 0; - fail: - close(sun_fd); -@@ -155,14 +164,16 @@ static int sun_write(SWORD *pbuf, size_t - total = nr; - } - else -- total = nr*sizeof(SWORD); -+ total = nr*sizeof(SWORD)*sun_channels; - for (i = 0; i < total; i += now) - { - now = write(sun_fd, (char *)pbuf + i, total - i); + #endif + sun_channels = *channels; +@@ -171,7 +171,7 @@ static int sun_write(SWORD *pbuf, size_t if (now <= 0) return 1; } +-#if !defined(__NETBSD__) +#if !defined(__NetBSD__) sun_written += nr; -+#endif - - while (sun_bufferspace() < 0) - usleep(5000); -@@ -172,7 +183,7 @@ static int sun_write(SWORD *pbuf, size_t + #endif - static int sun_bufferspace(void) - { -- int st; -+ int st, size; - struct audio_info info; - /* ioctl(fd, AUDIO_GET_STATUS, &info) yields number of played samples - in info.play.samples. */ -@@ -180,10 +191,11 @@ static int sun_bufferspace(void) - if (st < 0) - return -1; - #if defined(__NetBSD__) -- if (!sun_8bit) -- return sun_bufsize - (sun_written - info.play.samples / sizeof(SWORD)); --#endif -+ size = (sun_8bit ? 1 : 2) * sun_channels; -+ return sun_bufsize - info.play.seek / size; -+#else - return sun_bufsize - (sun_written - info.play.samples); -+#endif - } - - static void sun_close(void) -@@ -192,7 +204,10 @@ static void sun_close(void) +@@ -204,7 +204,7 @@ static void sun_close(void) sun_fd = -1; sun_8bit = 0; sun_bufsize = 0; +-#if !defined(__NETBSD__) +#if !defined(__NetBSD__) sun_written = 0; -+#endif -+ sun_channels = 1; - } - - + #endif + sun_channels = 1; |