summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-09-15 22:04:03 +0000
committerjkh <jkh@FreeBSD.org>1995-09-15 22:04:03 +0000
commit00ca76f2e5f379e064149dc6f23ed8863c8650ee (patch)
treee5c3243a52e546b7abba156c505953d535ca6036
parentfff68644b8faafbab317d8690de623b685fd2af7 (diff)
downloadFreeBSD-src-00ca76f2e5f379e064149dc6f23ed8863c8650ee.zip
FreeBSD-src-00ca76f2e5f379e064149dc6f23ed8863c8650ee.tar.gz
Make dsp0 work for playback.
Submitted by: Alain Kalker <alain@Wit401402.student.utwente.nl>
-rw-r--r--sys/i386/isa/sound/gus_wave.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/i386/isa/sound/gus_wave.c b/sys/i386/isa/sound/gus_wave.c
index b131096..0f24596 100644
--- a/sys/i386/isa/sound/gus_wave.c
+++ b/sys/i386/isa/sound/gus_wave.c
@@ -2414,17 +2414,24 @@ gus_copy_from_user (int dev, char *localbuf, int localoffs,
int i;
len /= 4;
- localoffs /= 4;
+ localoffs /= 2;
out_left = (short *) &localbuf[localoffs];
out_right = out_left + (pcm_bsize / 2);
for (i = 0; i < len; i++)
{
+#ifdef __FreeBSD__
+ GET_SHORT_FROM_USER (*out_left++, userbuf, in_left);
+ in_left += 2;
+ GET_SHORT_FROM_USER (*out_right++, userbuf, in_right);
+ in_right += 2;
+#else
GET_SHORT_FROM_USER (*out_left++, (short *) userbuf, in_left);
in_left += 2;
GET_SHORT_FROM_USER (*out_right++, (short *) userbuf, in_right);
in_right += 2;
+#endif
}
}
}
OpenPOWER on IntegriCloud