Changeset 595


Ignore:
Timestamp:
Apr 3, 2017, 3:35:13 PM (8 years ago)
Author:
David Azarewicz
Message:

Code cleanup

Location:
OCO/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • OCO/trunk/drv16/wavestrm.cpp

    r534 r595  
    218218                // the hardware buffer is a moving target and calling it more than once
    219219                // could keep us in this loop writing 4 or 8 bytes at a time.
    220                 // In extream cases we will stay stuck in this loop long enough to casue a trap rjj
     220                // In extreme cases we will stay stuck in this loop long enough to casue a trap rjj
    221221                if (pahw->GetSpace(StreamId, &_configinfo, &ulSpace) == FALSE) {
    222222                        rprintf(("WS::ABS GetSpace failed"));
     
    289289
    290290        // get the buffer pointer and amount of data remaining
    291         pDataBuf  = (ULONG)pTemp->pBuffptr + pTemp->ulBuffpos; /* points to the beginning of data in src buffer */
     291        pDataBuf = (ULONG)pTemp->pBuffptr + pTemp->ulBuffpos; /* points to the beginning of data in src buffer */
    292292        ulBuffLeft = pTemp->ulBuffsz - pTemp->ulBuffpos; /* amount of src data left to transfer */
    293         //dprintf(("WS::AddBuffer buf=%lx remain=%lx, space=%lx bp=%lx dp=%lx size=%lx", pTemp->pBuffptr, ulBuffLeft, ulSpace, pTemp->ulBuffpos, pTemp->ulDonepos, pTemp->ulBuffsz));
     293        //dprintf(("WS::AddBuffer buf=%lx remain=%lx, space=%lx bp=%lx dp=%lx size=%lx",
     294        //  pTemp->pBuffptr, ulBuffLeft, ulSpace, pTemp->ulBuffpos, pTemp->ulDonepos, pTemp->ulBuffsz));
    294295        ulBuffLeft = min(ulBuffLeft, ulSpace); /* the smaller of src data left or dst space available */
    295296
     
    379380        {
    380381                case STREAM_WRITE:
    381                         {
     382                {
    382383                        PSTREAMBUFFER pTemp;
    383384                        ULONG   ulBytes, ulDelta;
     
    407408                        _ulLastPosition = ulBytes;
    408409
     410      #if 0 /* DAZ 20170402 */
    409411                        if(!qhInProcess.IsElements() && !qhDone.IsElements()) {
    410                                 //Application underrun
    411412                                _vUnderrunStop("WS:Process");
    412413                                break;
    413414                        }
     415                        #endif
    414416                        if (qhInProcess.IsElements()) AddBuffers(1);
    415417                        // Return any buffers that have been completely written to uniaud32
     
    429431                        }
    430432                        break;
    431                         }
     433                }
    432434                case STREAM_READ:
    433                         {
     435                {
    434436                        ULONG ulDAZ;
    435437
     
    442444                        }
    443445                        break;
    444                         }
     446                }
    445447                default:
    446448                        break;
  • OCO/trunk/install/README.TXT

    r590 r595  
    552.0 Installation
    66   2.1 Upgrade
    7    2.2 Basic Installation: Common
    8    2.3 Installing HDA Support
    9    2.4 Device Driver Load Options
     7   2.2 Device Driver Load Options
    1083.0 Removal
     94.0 Support
    1110
    12111.0 About Uniaud
     
    1413
    1514Thank you for downloading Uniaud, the Universal Audio Support Driver for
    16 OS/2 and eComStation. Uniaud is still under development and we need your
    17 feedback to improve it. It is very important that you report your experiences,
    18 both for sound cards which work and for those which may have problems (see
    19 Supported Hardware).
    20 
    21 Uniaud was a project created by InnoTek Systemberatung GmbH, now hosted
    22 by Netlabs.
     15OS/2. Uniaud was a project created by InnoTek Systemberatung GmbH, now
     16hosted by Netlabs.
    2317
    2418Uniaud is based on the Linux ALSA project. Uniaud supports a broad range
     
    2822with integrated audio, built during or after 2004.
    2923
    30 Uniaud also supports some legacy audio hardware.
     24Uniaud also supports some older audio hardware.
    3125
    3226
     
    3428==================
    3529
    36   2.1 Upgrade
    37   -------------
    38 If Uniaud is already installed, it is safest to make a backup of your existing
    39 drivers located in x:\MMOS2 (where x: is your boot volume) and just copy
    40 uniaud32.sys and uniaud16.sys over them.
     302.1 Device Driver Load Options
     31--------------------------------
    4132
    42   2.2 Basic Installation: Common
    43   --------------------------------
    44 
    45 Uniaud installs using the built-in multimedia installer in OS/2 or
    46 eComStation. Therefore, once you have downloaded the file(s) mentioned above,
    47 simply unzip the package to a safe place and run install.cmd from that
    48 directory. This will launch the multimedia installer which will guide you
    49 through the process.
     33The Uniaud distribution comes in a self executing Warpin installer package.
     34Simply execute to install or update.
    5035
    5136Then simply reboot at the end of the installation. Restarting the desktop
    5237will not suffice, as the driver needs to be loaded from CONFIG.SYS.
    5338
    54   2.4 Device Driver Load Options
    55   --------------------------------
     392.2 Device Driver Load Options
     40--------------------------------
    5641
    5742The following options are supported in CONFIG.SYS:
    5843
    5944DEVICE=x:\MMOS2\UNIAUD32.SYS /V /C:CARDNAME
     45  - /A:n - Use audio adapter n where the first adapter is 0. (Really skip n adapters).
    6046  - /V - Verbose
    61   - /C:CARDNAME - Force detection of specified audio hardware
    62         Where CARDNAME is:
     47  - /C:DRIVER - Force audio hardware to *only* use the specified driver.
     48        Where DRIVER is:
    6349      - SBLIVE      : Sound Blaster Live!
    6450      - CS4281      : Cirrus Logic CS4281
     
    7561      - ALI5451     : ALI 5451
    7662      - TRIDENT     : Trident 4D Wave, SI7018
    77 
    78 Default: /V (verbose messages; card detected automatically)
     63Default: Fully automatic operation. Use of switch is not recommended.
    7964
    8065DEVICE=x:\MMOS2\UNIAUD16.SYS /V /C /M /L
     
    8368  - /M - Enable Microphone output
    8469  - /L - Enable Line-In output
    85 
    86 Default: /V /C ((verbose messages; CD output enabled)
     70Default: /C ((verbose messages; CD output enabled)
    8771
    8872
     
    10084from the Multimedia GUI tool will not work.
    10185
    102 4.0 Troubleshooting
    103 =====================
     864.0 Support
     87=============
    10488
    105   4.1 No Sound
    106   --------------
    107 This is typically caused by one of two different issues. Either the speaker
    108 output levels are set very low (or muted) or the audio device has not not been
    109 activated (incorrect identification, incorrect/incompatible IRQ, etc.)
     89Uniaud is provided as-is and is currently not supported.
    11090
    111 To eliminate the first possibility, download the latest LBMix mixer
    112 application from Hobbes:
    113  http://hobbes.nmsu.edu/h-search.php?key=lbmix&pushbutton=Search
    114 and install it. Try to adjust the volume from LBMix and/or the standard volume
    115 control object. Note that some devices need to have their output levels set at
    116 each reboot. If adjusting the output levels has no effect, then perhaps the
    117 hardware is not being properly identified. In that case, ensure that the /V
    118 option is specified on the DEVICE=x:\MMOS2\UNIAUD32.SYS line in CONFIG.SYS,
    119 reboot, and at the boot blob (square block in the upper left hand corner of
    120 the screen) press Alt-F4. This will allow you to step through the CONFIG.SYS
    121 processing, enabling you to read the output message from the device driver.
    122 Note the card which has been identified, the detected mixer, and the IRQ being
    123 used. Compare this information to the hardware you know to be installed, and
    124 if necessary, perform one of the following two actions:
    125       a) Force full hardware detection: Reboot, and at the boot blob press
    126          Alt-F1. At the "Recovery Choices" screen, select "F5 full hardware
    127          detection" and continue the boot sequence. Review the new output
    128          from the device driver details to see if your card has been properly
    129          identified. If that does not resolve the issue, then try the next
    130          option.
    131 
    132       b) Override auto-detection of your card (see _2.4 Device Driver Load
    133          Options_, above).
    134 
    135 Even if the card is being properly detected (or forced), it is possible that
    136 the IRQ which the system (or ACPI PSD) has assigned to it may be incompatible
    137 with the hardware. With ACPI systems, it may be necessary to adjust the IRQ in
    138 ACPI.CFG (see ACPI documentation for proper use of the REMAP directive). Some
    139 systems may allow the IRQ to be locked in BIOS setup; this may be worth trying.
    140 
    141 It is also possible that the proper information is not getting entered into
    142 MMPM.INI. In this case, follow the appropriate procedure:
    143 
    144       a) For eComStation 1.1 - 2.0, start the Multimedia Installer
    145          (MINSTALL.EXE) and select the option to reset your MMeCS settings.
    146          Reboot, and re-install Uniaud.
    147       b) For earlier releases of eComStation and for Warp, uninstall Uniaud
    148          (see _3.0 Removal_), reboot, and re-install.
    149 
    150   4.2 Distorted Sound
    151   ---------------------
    152 Distortion is usually caused in the output section of the audio device, due to
    153 the preamp circuit overdriving the signal, or due to extremely loud output
    154 settings causing the noise at the speakers themselves. In some cases, this
    155 overdrive condition may be addressed by the use of a good mixer application or
    156 judicious use of the volume control.
    157 
    158 Audio distortion may also be caused by device conflicts, typically with PS/2
    159 mice. USB devices may also cause these issues, and in both cases, the IRQ does
    160 not need to directly conflict with the audio hardware. Refer to the notes in
    161 _4.1 No Sound_ for suggestions on adjusting the IRQ. To test, try commenting
    162 out the mouse driver in CONFIG.SYS (caution: be sure that you are comfortable
    163 enough navigating your desktop without a mouse before disabling the device!)
    164 and rebooting. Try disconnecting all USB devices to determine the source of
    165 the conflict.
    166 
    167   4.3 Looping Sound
    168   -------------------
    169 
    170 Looping sound is defined as a very small fraction of a second of audio playing
    171 over and over very rapidly. If you have more than a fraction of a second of
    172 audio repeating, such as a whole system sound repeating, that is not a uniaud
    173 driver problem and is not covered here.
    174 
    175 Looping sound is a close cousin to the condition described in _4.2 Distorted Sound_,
    176 and in fact, is a particular type of distortion. Looping is usually caused by
    177 a card mis-detection or an IRQ conflict. Review the procedures outlined in
    178 _4.1 No Sound_ and _4.2 Distorted Sound_ to properly identify your hardware
    179 and to try to resolve IRQ conflicts.
    180 
    181   4.4 Hang at Boot
    182   ------------------
    183 
    184 This is most often seen with HDA hardware, and is typically caused by an IRQ
    185 conflict. Review the procedures outlined in _4.1 No Sound_ and _4.2 Distorted
    186 Sound_ to properly identify your hardware and to try to resolve IRQ conflicts.
    187 
    188   4.5 Hang at Desktop Start
    189   ---------------------------
    190 
    191 This is typically a problem in uniaud16.sys, and appears to happen more
    192 frequently when system sounds are enabled and startup events are occurring in
    193 rapid succession, seemingly" on top of each other." Try booting to a
    194 maintenance partition, from CD, or even to a command prompt via Alt-F1 (see
    195 _4.1 No Sound_ for more on Alt-F1), editing CONFIG.SYS to disable Uniaud (see
    196 _3.0 Removal_), rebooting, and disabling system sound. Edit CONFIG.SYS to
    197 un-comment the Uniaud device driver lines, and reboot.
    198 
    199 Note that when system sounds are disabled at startup, it is often possible to
    200 re-enable them afterward, however, once the same conditions exist as are
    201 present during startup (multiple events occurring almost simultaneously), the
    202 hang is likely to re-manifest itself.
    203 
    204   4.6 Hang During Playback
    205   --------------------------
    206 
    207 See the notes in _4.5 Hang at Desktop Start_ for some tips. Try limiting the
    208 number of audio streams attempting to be played at one time. Look for other
    209 sources of the condition (Flash, defective media, MPlayer codec, etc.)
    210 
    211   4.7 Traps
    212   -----------
    213 
    214 A typical trap involving Uniaud will be TRAP008, which indicates a direct IRQ
    215 conflict. Often, these are seen with HDA hardware in ACPI systems, and may
    216 occur right at system start, even after a complete power cycle (some data does
    217 not get cleared immediately between hard resets).
    218 
    219 Some suggested actions include forcing full hardware detection to ensure that
    220 Uniaud is indeed seeing the correct device (see _4.1 No Sound_ for
    221 procedures), or adjusting IRQ(s) to avoid conflicts (see _4.1 No Sound_ and
    222 _4.2 Distorted Sound_).
    223 
    224 To preserve the data from the trap screen, follow this procedure:
    225 
    226 N.B.: You should only do this if you have a floppy drive in your system or a
    227 memory dump partition. Support and directions for setting up the latter are
    228 beyond the scope of this document, but detailed instructions may be found at
    229 the following url:
    230 http://home.earthlink.net/~steve53/os2diags/TrapDumpRef.txt
    231 
    232       1. Press Ctrl-Alt-F10 twice (note never do this on a running system!!).
    233          You will be asked to insert a diskette (please note the complete
    234          diskette will be wiped!!). You _only_ need to fill up one diskette to
    235          get the trap screen.
    236       2. Insert the diskette.
    237       3. When prompted to insert the next diskette, reboot with Ctrl-Alt-Del,
    238          and either allow the system to boot normally, or follow one of the
    239          recovery procedures outlined above to temporarily disable Uniaud.
    240       4. Upon a successful boot, you may download and run this script:
    241          http://home.earthlink.net/~steve53/os2diags/DumpTrapScreen.zip to
    242          extract the trap screen from the diskette.
    243 
    244 Trap screen data is extremely helpful when raising a support ticket.
    245 
    246 5.0 Raising Support Tickets and Reporting Bugs
    247 ================================================
    248 
    249 Sometimes, the troubleshooting tips outlined above may not be enough to
    250 resolve a particular issue. In that case, you may raise a support ticket.
    251 Likewise, if you believe that you've found a bug, the Uniaud team is anxious
    252 to hear about it.
    253 
    254 The best option is to use the corresponding debug package for this version
    255 of Uniaud and UniLog.zip, both of which are available from the Netlabs ftp
    256 site:
    257 ftp.netlabs.org/pub/uniaud
    258 
    259 After replacing uniaud16.sys and uniaud32.sys with their debug counterparts,
    260 ensure that you copy the corresponding .sym files to x:\MMOS2. Reboot the
    261 system to load the debug builds.
    262 
    263 Extract UniLog.zip to a safe directory, and run UniLog.cmd from there. This
    264 will create a log file and will zip it into an archive. The archive will be
    265 located in the directory defined by your TMP environment variable. Attach
    266 this archive to your bug report.
    267 
    268 All bug reports should go to Uniaud Trac which may be found on:
    269 http://svn.netlabs.org/uniaud/report . If you do not have your own login
    270 credentials, you can request one at:
    271 http://www.netlabs.org/en/site/member/member.xml .
    272 
    273 Describe your bug briefly, but be as specific as possible. If your system has
    274 some exotic hardware which may or may not be involved, mention this in your
    275 report. Describe whatever steps you deem necessary to recreate the condition,
    276 whether the condition occurs sometimes, always, or very rarely. Mention any
    277 troubleshooting steps you have attempted prior to raising the ticket.
    278 
    279 Finally, per the above recommendation, attach the unilog zip archive to the
    280 ticket.
    281 
    282 
    283 6.0 FAQ
    284 =========
    285 
    286 Q. What is OS/2?
    287 
    288 A. If you ask this one, you probably don't need UniAud. Go to
    289  www.eComStation.com to get more information or to purchase a license.
    290 
    291 Q. What is Uniaud?
    292 
    293 A. Uniaud is the Universal Audio Support driver for OS/2 and eComStation,
    294    based on the Linux ALSA project (http://www.alsa.com ).
    295 
    296 Q. Uniaud detected my card successfully but I have no sound
    297 
    298 A. Follow the procedures outlined in _4.1 No Sound_.
    299 
    300 Q. Uniaud detected my card successfully but when I try to play something I got
    301    error: MCI Error 5134: No device driver found.
    302 
    303 A. Follow the procedures outlined in _4.1 No Sound_.
    304 
    305 Q. I installed MIDI support, but when I click on a Midi file I hear no music.
    306    What is happening ?
    307 
    308 A. Most audio cards don't support MIDI. So if there is no MIDI playback
    309    its most likely not support by Uniaud in conjunction with your chipset.
    310 
    311 Q. Where may I obtain the latest version of Uniaud?
    312 
    313 A. The latest version of Uniaud is available from Netlabs:
    314    ftp.netlabs.org/pub/uniaud
    315 
    316 Q. I want to assist in the development of Uniaud.
    317 
    318 A. See _7.0 Project Support_.
    319 
    320 
    321 7.0 Project Support
    322 =====================
    323 
    324 We need your feedback! Consider making a donation, and of course, report bugs.
    325 
    326 Talented developers are welcome to join the team, and others whose talents may
    327 lie elsewhere but who would also like to contribute may do so either by testing
    328 or by performing other tasks (website maintenance, documentation, education,
    329 etc.) For more information, stop by the Uniaud Trac Wiki:
    330 http://trac.netlabs.org/uniaud
    331 
    332 To make a financial contribution to the project, please visit the Mensys
    333 website: http://shop.mensys.nl/uk/netlabs
    334 
  • OCO/trunk/install/audfiles.scr

    r409 r595  
    1     8
     1    11
    22    0      17     2      0    "cardinfo.dll"
    33    0      17     7      0    "audhelp.hlp"
    44    0      17     0      0    "uniaud16.sys"
    55    0      17     0      0    "uniaud32.sys"
     6    0      17     4      0    "audplay.ico"
     7    0      17     4      0    "midiplay.ico"
     8    0      17     4      0    "VIDPLAY.ico"
    69    0      17     0      0    "unimix.exe"
    710    0      17     0      0    "closepcm.exe"
     11    0      17     0      0    "pcmunlock.exe"
    812    0      17     2      0    "uniaud.dll"
    9     0      17     0      0    "uninstal.exe"
     13
  • OCO/trunk/install/control.scr

    r590 r595  
    22codepage=437
    33filelist="audfiles.scr"
    4 groupcount=1
     4groupcount=2
    55munitcount=1
    66
     
    4444ssname="OS/2 Universal Audio: Wave"
    4545ssversion="1.9.6"
    46 sssize=680
     46sssize=785
    4747ssdll="genin.dll"
    4848ssdllentry="InitGenin"
    4949ssdllinputparms="178"
    5050ssselect="VERSION"
     51/* ssinich="updini.scr" */
    5152
     53
     54
     55/* OS/2 Universal Audio: FM Midi */
     56ssgroup=18
     57ssname="OS/2 Universal Audio: FM Midi"
     58ssicon="midiplay.ico"
     59ssversion="1.9.6"
     60sssize=22
     61ssdll="genin.dll"
     62ssdllentry="InitGenin"
     63ssdllinputparms="179"
     64ssselect="VERSION"
     65
  • OCO/trunk/makefile

    r238 r595  
    8181debug: .SYMBOLIC
    8282  @set DEBUG=1
    83   @wmake drv
     83  @wmake -h drv
    8484
    8585# clean rules
    8686clean: .SYMBOLIC
    8787  @%make alsasetup
    88   @wmake -f $(%UNIBASE16)\mif\fullclean.mif clean
     88  @wmake -h -f $(%UNIBASE16)\mif\fullclean.mif clean
    8989
    9090# big slam - get rid of all
    9191fullclean: .SYMBOLIC
    9292  @%make alsasetup
    93   @wmake -f $(%UNIBASE16)\mif\fullclean.mif fullclean
     93  @wmake -h -f $(%UNIBASE16)\mif\fullclean.mif fullclean
    9494
    9595# ***** end of build rules *****
     
    122122  # build uniaud16.sys
    123123  @echo **** BUILDING uniaud16.sys ****
    124   @wmake -f $(%UNIBASE16)\mif\drvmake.mif
     124  @wmake -h -f $(%UNIBASE16)\mif\drvmake.mif
    125125
    126126  # build install files
    127127  @echo **** BUILDING install ****
    128128  @cd $(%UNIBASE16)\install
    129   @wmake
     129  @wmake -h
    130130  @cd ..
    131131
  • OCO/trunk/uniaud.inc

    r590 r595  
    77# BUILDVERSION must be 3 parts, and only numbers like 5.44.108
    88# The first and second numbers must be 1 digit
    9 BUILDVERSION = 1.9.6
     9BUILDVERSION = 1.9.7
    1010
    1111# Fixpack version
Note: See TracChangeset for help on using the changeset viewer.