Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Oct 1997 01:07:51 -0700
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        multimedia@freebsd.org
Subject:   ftp://rah.star-gate.com/pub/guspnp20.tar.gz
Message-ID:  <199710020807.BAA00381@rah.star-gate.com>

next in thread | raw e-mail | index | archive | help

For 3.0-current users:

Bug fixes for this release:

1. utimeout does not compile with the most recent -current


lars@fredriks-1.pr.mcs.net said:
> *** sequencer.c.orig	Wed Oct  1 09:31:40 1997 --- sequencer.c	Tue Sep
> 30 20:43:35 1997 *************** *** 92,97 **** --- 92,99 ----
>   static void     seq_reset(void);
>   static int      pmgr_present[MAX_SYNTH_DEV] =
>   {0}; + static struct callout_handle sequencertimeout_ch +     =
> CALLOUT_HANDLE_INITIALIZER(&sequencertimeout_ch);
>      #if MAX_SYNTH_DEV > 15
>   #error Too many synthesizer devices enabled. *************** ***
> 115,121 ****
>       int             tmp = count;
>          if (count < 0) ! 	timeout(sequencer_timer, 0, -count);
>       else {
>      	if (count < current) --- 117,123 ----
>       int             tmp = count;
>          if (count < 0) ! 	sequencertimeout_ch = timeout(sequencer_time
> r, 0, -count);
>       else {
>      	if (count < current) *************** *** 125,131 ****
>   	current = tmp;
>   	if (!count)
>   	    count = 1; ! 	timeout(sequencer_timer, 0, count);
>       }
>       timer_running = 1;
>   } --- 127,133 ----
>   	current = tmp;
>   	if (!count)
>   	    count = 1; ! 	sequencertimeout_ch = timeout(sequencer_timer, 0,
> count);
>       }
>       timer_running = 1;
>   } *************** *** 134,140 ****
>   sound_stop_timer(void)
>   {
>       if (timer_running) ! 	untimeout( sequencer_timer, 0);
>       timer_running = 0;
>   }
>    --- 136,142 ----
>   sound_stop_timer(void)
>   {
>       if (timer_running) ! 	untimeout( sequencer_timer, 0,
> sequencertimeout_ch);
>       timer_running = 0;
>   }
>   


2 PAS 16 can now play quake 8)


shocking@mailbox.uq.edu.au said:
> 	This patch adds the TRIGGER capability to the PAS16 code, allowing
> one  to play quake!! I'll be following it up in a few days with a
> patch that allows  the sb clone on the PAS16 card to also be detected,
> allowing for a crude form  of full duplex sound.

> 	Stephen

> *** pas2_pcm.c.old	Tue Sep 23 12:09:46 1997 --- pas2_pcm.c	Wed Oct  1
> 20:40:37 1997 *************** *** 53,58 **** --- 53,59 ----
>   static u_long pcm_count = 0;
>   static u_short pcm_bitsok = 8;	/* mask of OK bits */
>   static int      my_devnum = 0; + static int	open_mode = 0;
>      int
>   pcm_set_speed(int arg) *************** *** 228,233 **** --- 229,235
> ----
>         	pcm_count = 0; + 	open_mode = mode;
>      	return 0;
>   } *************** *** 245,250 **** --- 247,254 ----
>   	pas_remove_intr(PAS_PCM_INTRBITS);
>   	pcm_mode = PCM_NON;
>    + 	open_mode = 0; + 
>   	splx(flags);
>   }
>    *************** *** 286,292 **** --- 290,298 ----
>   		pcm_count = count;
>   	}
>   	pas_write(pas_read(FILTER_FREQUENCY) | F_F_PCM_BUFFER_COUNTER |
> F_F_PCM_RATE_COUNTER, FILTER_FREQUENCY); + #ifdef NO_TRIGGER
>   	pas_write(pas_read(PCM_CONTROL) | P_C_PCM_ENABLE |
> P_C_PCM_DAC_MODE, PCM_CONTROL); + #endif
>      	pcm_mode = PCM_DAC;
>    *************** *** 329,340 **** --- 335,368 ----
>   		pcm_count = count;
>   	}
>   	pas_write(pas_read(FILTER_FREQUENCY) | F_F_PCM_BUFFER_COUNTER |
> F_F_PCM_RATE_COUNTER, FILTER_FREQUENCY); + #ifdef NO_TRIGGER
>   	pas_write((pas_read(PCM_CONTROL) | P_C_PCM_ENABLE) &
> ~P_C_PCM_DAC_MODE, PCM_CONTROL); + #endif
>      	pcm_mode = PCM_ADC;
>      	splx(flags);
>   } + #ifndef NO_TRIGGER + static void + pas_audio_trigger (int dev,
> int state) + { +   unsigned long   flags; +  +   flags = splhigh(); +
> +   state &= open_mode; +  +   if (state & PCM_ENABLE_OUTPUT) +
> pas_write (pas_read (0xF8A) | 0x40 | 0x10, 0xF8A); +   else if (state
> & PCM_ENABLE_INPUT) +     pas_write ((pas_read (0xF8A) | 0x40) &
> ~0x10, 0xF8A); +   else +     pas_write (pas_read (0xF8A) & ~0x40,
> 0xF8A); +  +   splx(flags); + } + #endif
>      static int
>   pas_pcm_prepare_for_input(int dev, int bsize, int bcount)
> *************** *** 363,369 ****
>   	pas_pcm_reset,
>   	pas_pcm_reset,
>   	NULL, ! 	NULL
>   };
>      void --- 391,400 ----
>   	pas_pcm_reset,
>   	pas_pcm_reset,
>   	NULL, ! 	NULL, ! 	NULL, ! 	NULL, ! 	pas_audio_trigger
>   };
>      void


Many Tnks to Lars and Steve for their patches!

	Enjoy,
	Amancio




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710020807.BAA00381>