Index: uspace/drv/audio/sb16/dsp.c
===================================================================
--- uspace/drv/audio/sb16/dsp.c	(revision dce7e416c651e4c6f2d7d6345fa3b88ad8ab24fb)
+++ uspace/drv/audio/sb16/dsp.c	(revision 962ef67c74d218ae4fa7753691b9f92a906c57ae)
@@ -114,5 +114,5 @@
 		dsp->buffer.position = buffer;
 		dsp->buffer.size = BUFFER_SIZE;
-		memset(buffer, 0x8f, BUFFER_SIZE);
+		bzero(buffer, BUFFER_SIZE);
 		dma_prepare_channel(SB_DMA_CHAN_16, false, true, BLOCK_DMA);
 		/* Set 8bit channel */
@@ -196,6 +196,6 @@
 		sb_dsp_write(dsp, SINGLE_DMA_16B_DA);
 		sb_dsp_write(dsp, dsp->playing.mode);
-		sb_dsp_write(dsp, remain_size & 0xff);
-		sb_dsp_write(dsp, remain_size >> 8);
+		sb_dsp_write(dsp, (remain_size - 1) & 0xff);
+		sb_dsp_write(dsp, (remain_size - 1) >> 8);
 		return;
 	}
@@ -262,6 +262,6 @@
 	sb_dsp_write(dsp, AUTO_DMA_16B_DA_FIFO);
 	sb_dsp_write(dsp, dsp->playing.mode);
-	sb_dsp_write(dsp, play_size & 0xff);
-	sb_dsp_write(dsp, play_size >> 8);
+	sb_dsp_write(dsp, (play_size - 1) & 0xff);
+	sb_dsp_write(dsp, (play_size - 1) >> 8);
 
 	return EOK;
