/*************************************************************************** * NAME: VOLREAD.C ** COPYRIGHT: ** "Copyright (c) 1992, by FORTE ** ** "This software is furnished under a license and may be used, ** copied, or disclosed only in accordance with the terms of such ** license and with the inclusion of the above copyright notice. ** This software or any other copies thereof may not be provided or ** otherwise made available to any other person. No title to and ** ownership of the software is hereby transfered." **************************************************************************** * CREATION DATE: 11/18/92 *--------------------------------------------------------------------------* * VERSION DATE NAME DESCRIPTION *> 1.0 11/18/92 Original ***************************************************************************/ #include #include #include "forte.h" #include "gf1proto.h" #include "osproto.h" #include "gf1hware.h" #include "gf1os.h" extern ULTRA_DATA _gf1_data; unsigned int UltraReadVolume(int voice) { unsigned int volume; ENTER_CRITICAL; /* Make sure we are talking to proper voice */ outp(_gf1_data.voice_select,voice); /* select the proper voice */ outp(_gf1_data.reg_select,GET_VOLUME); volume = inpw(_gf1_data.data_low) >> 4; LEAVE_CRITICAL; return(volume); } void UltraVectorVolume(int voice,unsigned int end,unsigned char rate,unsigned char mode) // int voice; // unsigned int end; /* end volume to go to */ // unsigned char rate; /* 0 to 63 */ // unsigned char mode; /* mode to run the volume ramp in ... */ { unsigned int cur_vol; UltraStopVolume(voice); cur_vol = UltraReadVolume(voice); UltraRampVolume(voice,cur_vol,end,rate,mode); }