delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/04/21/09:23:56

Date: Thu, 21 Apr 94 15:20:30 CET
From: Piet=Mertens%users%LW AT cc3 DOT kuleuven DOT ac DOT be
Subject: re: SB, timer reprogramming
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Cc: kordmann AT ldv01 DOT uni-trier DOT de

> From:           kordmann AT ldv01 DOT Uni-Trier DOT DE (Gerhard Kordmann)
> 	I'm trying to find a way to use the soundblaster under djgpp
> 	without crashing the system (don't we all...)
> 	As interrupt programming turned out to be buggy, I tried the
> 	brute force method : Reset the clock speed, wait until it
> 	changes (the clock, that is) in a loop and then send the
> 	next byte. This is ugly, probably not very precise and it
> 	works perfectly. Under Turbo-C 2.0.
> 	Unfortunately it gives only unpredictable delays, sometimes
> 	a kind of slow motion playing or crashes as soon as I compile
> 	with djgcc :-(

> 	Does anyone see why this, again, does not work ? Will we ever
> 	be able to safely play sounds under djgcc ? Will I be
> 	saved from nervous breakdown ?

Hi,
I wrote an analog I/O routine (for a Metrabyte DASH-16) which also uses
polling. (I'm polling the clock on the board, and read/write a value after
each tick.) I had similar interruptions of the conversion, but they went
away by adding disable() and enable() resp. before and after the conversion 
loop. These functions are as in TC2.0, and a DJGPP version is given in the
file sb.c from the sblaster.zip contribution by David Baggett.
Hope this helps.

Piet

P.S. Does the SB have a programmable clock (sampling rate generator) ?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
P. Mertens                            tel: +32.16..28.47.63
Department of Linguistics             fax: +32.16..28.50.25
Centre for Computational Linguistics  email: pmertens AT cc3 DOT kuleuven DOT ac DOT be
K.U.Leuven                            NB: Please do not use "reply"-function 
Blijde-Inkomststraat 21                   Instead use email adress above.
3000 Leuven (Belgium)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019