win3x
« High Definition Audio »

Welcome Guest. Please Login or Register.
Feb 18th, 2018, 02:57am



« Previous Topic | Next Topic »
Pages: 1 ... 9 10 11 12  Reply Notify Send Topic Print
 veryhotthread  Author  Topic: High Definition Audio  (Read 2615 times)
watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #150 on: Jan 2nd, 2018, 5:03pm »
Quote

Deomsh, it sounds like windows 98 needs a device manager. cheesy

For applications that do not use mmsystem, there should be no particular limit on the number of wave drivers.
What happens after 9?

If wave9= is the highest then wave0 should be the lowest.
Is wave= the same as wave0=?

A (number and $F) would indicate that the limit 10 was actually a hex limit of $10.
I would think that if there could be a tenth wave driver, it would it be waveA=.

Although I did not test 32-bit mplayer, I'm glad to hear that it works well for you.

The volume was perfect for SVSTP.

User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #151 on: Jan 4th, 2018, 1:48pm »
Quote

Watler, I tested wave-indexes with surprising results.
"wave0=" is NOT identical with "wave=" and "wave10=", "waveA=" and even "waveG=" are allowed.

The maximum number seemed not to be ten wave-drivers, I even installed HDA2.DLL seventeen times. All equally visible in Multimedia properties.

Although all "wave"-entries in SYSTEM.INI, [Drivers] appear sorted in the Registry key HKLM\System\..\Control\MediaResources\Wave\Wave[index] with index order: none;0;1;10;..;A;..;G, in Multimedia properties they are sorted in exactly the same way as in SYSTEM.INI, [Drivers]. tongue

I think I found a "Device Manager", up to ten existing "wave"-entries will be untouched with following:
-------------------------------------------------------------------
[HDA2.UpdateInis]
system.ini,drivers,"wave*=hda2.dll",,1 ; if exists, delete (when using UpdateInis second time)
system.ini,drivers,"wave1=*","~WaveTemp~=*",2 ; leaves existing "wave=*" allways unchanged
system.ini,drivers,,"wave1=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave1=*",2
system.ini,drivers,"wave2=*","~WaveTemp~=*",2
system.ini,drivers,,"wave2=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave2=*",2
system.ini,drivers,"wave3=*","~WaveTemp~=*",2
system.ini,drivers,,"wave3=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave3=*",2
system.ini,drivers,"wave4=*","~WaveTemp~=*",2
system.ini,drivers,,"wave4=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave4=*",2
system.ini,drivers,"wave5=*","~WaveTemp~=*",2
system.ini,drivers,,"wave5=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave5=*",2
system.ini,drivers,"wave6=*","~WaveTemp~=*",2
system.ini,drivers,,"wave6=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave6=*",2
system.ini,drivers,"wave7=*","~WaveTemp~=*",2
system.ini,drivers,,"wave7=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave7=*",2
system.ini,drivers,"wave8=*","~WaveTemp~=*",2
system.ini,drivers,,"wave8=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave8=*",2
system.ini,drivers,"wave9=*","~WaveTemp~=*",2
system.ini,drivers,,"wave9=hda2.dll"
system.ini,drivers,"~WaveTemp~=*","wave9=*",2
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave4=hda2.dll","wave3=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave5=hda2.dll","wave4=hda2.dll",3
system.ini,drivers,"wave4=hda2.dll","wave3=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave6=hda2.dll","wave5=hda2.dll",3
system.ini,drivers,"wave5=hda2.dll","wave4=hda2.dll",3
system.ini,drivers,"wave4=hda2.dll","wave3=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave7=hda2.dll","wave6=hda2.dll",3
system.ini,drivers,"wave6=hda2.dll","wave5=hda2.dll",3
system.ini,drivers,"wave5=hda2.dll","wave4=hda2.dll",3
system.ini,drivers,"wave4=hda2.dll","wave3=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave8=hda2.dll","wave7=hda2.dll",3
system.ini,drivers,"wave7=hda2.dll","wave6=hda2.dll",3
system.ini,drivers,"wave6=hda2.dll","wave5=hda2.dll",3
system.ini,drivers,"wave5=hda2.dll","wave4=hda2.dll",3
system.ini,drivers,"wave4=hda2.dll","wave3=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
system.ini,drivers,"wave9=hda2.dll","wave8=hda2.dll",3
system.ini,drivers,"wave8=hda2.dll","wave7=hda2.dll",3
system.ini,drivers,"wave7=hda2.dll","wave6=hda2.dll",3
system.ini,drivers,"wave6=hda2.dll","wave5=hda2.dll",3
system.ini,drivers,"wave5=hda2.dll","wave4=hda2.dll",3
system.ini,drivers,"wave4=hda2.dll","wave3=hda2.dll",3
system.ini,drivers,"wave3=hda2.dll","wave2=hda2.dll",3
system.ini,drivers,"wave2=hda2.dll","wave1=hda2.dll",3
-------------------------------------------------------------------
I discovered "Flag=3" works (partly?) as an IF-statement. tongue

I did many tests, maybe its fool-proof now. If you have some spare time, feel free to try.
« Last Edit: Jan 4th, 2018, 3:13pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #152 on: Jan 6th, 2018, 1:31pm »
Quote

Your *.inf files seem to work very well with 98.
Will the HDA driver work for ME also?
User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #153 on: Jan 6th, 2018, 6:19pm »
Quote

Thanks, I am working on a definitive inf-file.

I must have Windows ME somewhere lying around, I will try when I find it.

Stability in Windows 98SE
At the moment I am busy with video card problems related to DOS-boxes. Without HDA2.DLL I can open about 50 MS-DOS prompts with my PCIe-video card before windows crashes. With HDA2.DLL I am getting immediately a blue screen with an OE fault at address 0177:Bxxx, or a Runtime error 202. In case of the blue screen I can mostly continue. Only no sound anymore and the cursor in the MS-DOS window is no longer flickering, is there, but static.

With my onboard video I can only load standard vga-driver, but in that case I can open the 50 MS-DOS prompts while listening to Hotel California (mp3 with default Windows Media Player, uses Direct Sound and codec L3codec.ax).

All I can find on error 202 is a stack overflow error https://www.inner-smile.com/delphifaq.phtml#Stack.

I tried many memory-related settings in my configuration files, but without succes.

How are your DOS-boxes in win98?
« Last Edit: Jan 7th, 2018, 04:19am by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #154 on: Jan 6th, 2018, 9:33pm »
Quote

Do you want me to start a post about win3x video?

Does your problem occur while fewer than 50 virtual machines are running?
What program was playing the song (CD,wav,mp3,midi,mod.etc)?
Does the same thing happen while in Standard Mode?

Since I seldom use command prompt, I usually delete it from program manager.
Deomsh, I remember no computer on which Enhanced Mode DOS-boxes worked well.

« Last Edit: Jan 6th, 2018, 9:34pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #155 on: Jan 7th, 2018, 04:15am »
Quote

Sorry, not win3x, my DOS-boxes in Windows 3.1 are rock-stable since HDA2.DLL version 9i in case of standard mode/using temporary swapfile in case of Enhanced mode.

I ment stability test in win98se. I modified my former post.
« Last Edit: Jan 7th, 2018, 04:25am by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #156 on: Jan 7th, 2018, 4:29pm »
Quote

Does the same error occur with fifty GUI or console applications?

As Windows 98 moved on to WDM and directX drivers, the methods to be used for timers and interrupts may have changed.
If you change the hdacfg mytimer= value, does the same crash occur?

I saved this link to a page on windows 2.0 programming.
http://bearwindows.zcm.com.au/win2x.htm
The site also has a windows 98 video driver that might work for you.
User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #157 on: Jan 7th, 2018, 8:41pm »
Quote

With HDA2.DLL and my PCIe video card Windows 98SE crashes when opening the first MS-DOS prompt. I do not think that has anything to do with DirectX. Your driver seems too be compatible with DirectX, when I run DxDiag all sound tests are okay (software rendering only).

Setting mytimer=0 in HDACFG.INI gives no crash, but is no solution. No sound anymore. In a player there is no "movement" when opening a sound-file. HDARUN.EXE cannot run, crashes Windows 98SE.

I have tried my old S3 TRIO 64v PCI card, no problems with DOS-boxes in highest video mode (800x600, 16-bits colour). This card supports Direct Draw only.

In the past I have used the Universal VBE/VESA video driver, but there is no video acceleration, so my old PCI card would give a better performance.

BTW: I tested HDA2.DLL with Windows ME. My inf-file is compatible with Windows ME, files are copied and everything is there in Device Manager etc. Sound works great with Windows Media Player 7, unless you do anything else. Even copying a file gives the blue screen with unspecified OE fault and 0177:BFF79BDB . In case I can continue, sound is gone. In Windows ME it is not possible to load a real-mode driver, HDATSR.EXE is ignored in AUTOEXEC.BAT.

HDACFG.INI gives no busmastering memory address. Giving the standard one in the driver-properties does not make things better.

What did you exactly mean with a free (physical) memory address "out of the range of windows" in your readme-file in HDADRV?
« Last Edit: Jan 7th, 2018, 8:48pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #158 on: Jan 8th, 2018, 3:59pm »
Quote

I uploaded an adjusted version of hdadrv9i to the watlers_world yahoo group.
http://turkeys4me.byethost4.com/programs/index.htm


The program I created for Standard Mode (/activate/hdarun) should allow you to play sounds without the use of a system timer.
Remember to press the "Loop" button.

Any memory location that the windows does not use might be a good location for the driver's buffer.
You could limit Windows memory to 1gb and then set the buffer to an address in within the second gigabyte of RAM.


« Last Edit: Jan 8th, 2018, 7:23pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #159 on: Jan 9th, 2018, 5:35pm »
Quote

Hello Watler, thanks a lot for HDA2.DLL version 9J!

I have already did some testing in Windows 3.1 and in Windows 98SE.

Windows 3.1
In Enhanced mode the driver is fully stable with "Mytimer=1" in HDACFG.INI. Sound is great, I play MP3's with WinPlay3! Multitasking is fine.

With "Mytimer=0" and using HDARUN.EXE (in the way you teached me kiss), sound seems to be good, but even moving the mouse gives distortions/delays in the music. Maybe an "interrupt-thing"?

Windows 98SE
With "Mytimer=1" music sound is very good. This evening I tested WinAmp. Even DirectSound output-setting works (I tested software rendering only, I do not really like the heavy crashes in Windows). Multitasking is not bad. Only heavy file operations must be avoided. I had a crash when adding a few files to a big ZIP-archive while listening to Iggy Pop singing "In the Death-Car" ("Arizona Dream" OST).

Setting "Mytimer=0" restores the possibility to open MS-DOS prompts. I opened all 64 DOS-windows, the maximum that is said to be possible. With HDARUN active I can play sound again. It is really nice to hear the startup sound at once , I suppose it must be residing somewhere in a buffer.
Same problems as in Windows 3.1 Enhanced mode; multitasking is mostly not possible, crashes Windows in a very bad way.

For the time being I prefer losing MS-DOS boxes. I modified a batch file I made 12 years ago when testing USBDOS-drivers on Windows 95OSR1.

Following batch-file can be used to get a HDA-free session if needed (also with/without loading HDATSR.EXE).
-------------------------------------------------------------------
HDAUDIO.BAT
-------------------------------------------------------------------
@echo off
choice /c:y,n /t:n,30 Do you want to use 16-bits High Definition Audio Driver?
cls

if errorlevel 2 goto win32
if exist c:\WINDOWS\SYSTEM\hda2.dl_ goto win16
if exist c:\WINDOWS\SYSTEM\hda2.dll goto hdatsr
if not exist c:\WINDOWS\SYSTEM\hda2.dl_ goto win32

:win16
ren c:\WINDOWS\SYSTEM\hda2.dl_ hda2.dll
if exist c:\WINDOWS\SYSTEM\hda2.dll goto hdatsr

:win32
if exist c:\WINDOWS\SYSTEM\hda2.dl_ goto choice
if not exist c:\WINDOWS\SYSTEM\hda2.dll goto choice
ren c:\WINDOWS\SYSTEM\hda2.dll hda2.dl_

:hdatsr
choice /c:y,n /t:n,30 Do you want HDATSR?
if errorlevel 2 goto notsr
if exist c:\WINDOWS\COMMAND\hdatsr.exe goto tsr
if not exist c:\WINDOWS\COMMAND\hdatsr.ex_ goto nodriver
ren c:\WINDOWS\COMMAND\hdatsr.ex_ hdatsr.exe
if not exist c:\WINDOWS\COMMAND\hdatsr.exe goto nodriver

:tsr
echo HDATSR.EXE will be installed now
C:\WINDOWS\COMMAND\hdatsr.exe
goto choice

:notsr
ren c:\WINDOWS\COMMAND\hdatsr.exe hdatsr.ex_
if not exist c:\WINDOWS\COMMAND\hdatsr.ex_ goto nodriver
echo HDATSR.EXE is disabled
goto choice

:nodriver
echo HDATSR is not in C:\WINDOWS\COMMAND

:choice
choice /c:y,n /t:n,30 Do you want to stay in MSDos?
if errorlevel 2 goto win
goto msdos

:win
C:\WINDOWS\WIN.COM

:MSDos
echo You are in Real Mode now!
-------------------------------------------------------------------
Last choice works only when setting BootGUI=0 in MSDOS.SYS!
The batchfile is maybe not fully fool-proof! Adding HDA2.DLL when HDA2.DL_ exists is NOT allowed. Of cause I can be outperformed by a real programmer. smiley

I am running this batchfile from AUTOEXEC.BAT (last line).
I use it (modified) too in my Windows 3.1 installation. Watch your own PATH grin
« Last Edit: Jan 9th, 2018, 5:48pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #160 on: Jan 9th, 2018, 8:31pm »
Quote

Both Windows 95 and 98 run in Enhanced Mode.
You could try an RS232 mouse and use himemx to limit RAM to 512mb.
For Win98 Virtual Machines (DOS programs) you may have to adjust Virtual Memory settings.


Did USB devices cause the crashes?
« Last Edit: Jan 9th, 2018, 8:44pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #161 on: Jan 10th, 2018, 8:31pm »
Quote

I switched video cards. With GF 7950GT all my problems with DOS-boxes seems to be history.

Thanks a lot for all help! cheesy

I noticed last version of HDA2.DLL is much smaller. What did you change?
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #162 on: Jan 11th, 2018, 12:49pm »
Quote

The source code did not change. rolleyes
I simply disabled some debugging features.


I'm glad to hear that you found a solution.
Perhaps synchronous multimedia will work now.

Perhaps you might like to try my Win3x Video Benchmark.
http://win3x.conforums.com/index.cgi?board=Opensource&action=display&num=1502076198
« Last Edit: Jan 11th, 2018, 1:30pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #163 on: Jan 20th, 2018, 7:48pm »
Quote

Today I did some testing of AHDA17L in Windows 3.1, because I am still wondering why HDA2.DLL recognize ALC662's widget $14 as Volume-widget (it is $02 actually).

I used the widget-page of form 1. Everything on this page works very well. There is lots of information about various groups of widgets, so far as they exist in my codec ALC662.

I selected the following output for widgets $02 en $14 and made some comments.

AHDA17L

Widgets: Function Nodes:

<Audio Output>
AC_PAR_AUDIO_WIDGET_CAP widget $02 B(00000000000000000000000000011101)
Type=0
Delay=0
Chann Count Ext=0
CP Caps=False
L-R Swap=False
Power Cntrl=False
Digital=False
Conn List=False
Unsol Capable=False
ProcWidget=False
Stripe=False
Format Override=True
Amp Param Override=True
Out Amp Present=True
In Amp Present=False
Chan count=1
Total Channels-1=1
AC_PAR_PCM of node 2 =$000E0160
Bit rates= 16-bit, 20-bit, 24-bit,
Sample rates= 44.1khz, 48.0khz,
AC_PAR_STREAM of $02= $00000001
Supports PCM
AC_PAR_AMP_OUT_CAP 2 $00034040
Offset=64
NumSteps=0
StepSize=0
AC_VERB_GET_CONV_STR_CH #$02 =$00000010
Stream 3:0 =$01
Channel 3:0 =$00
AC_VERB_GET_STREAM_FORMAT #$02 =$00004011
TYPE (BIT15)=0;(PCM)
Sample Base Rate(BASE) (BIT14 R/W) =1
1 = 44.1kHZ
RW Sample Base Rate Multiple (MULT) 13:11 =0
000 = 48kHz/44.1kHz or less
Sample Base Rate Divisor (DIV) 10:8 =0
000 = Divide by 1(48kHz,44.1kHz)
Bits per Sample(BITS) 6:4 =1
001 =16 bits. The data will be packed in memory in 16-bit containers on 16-bit boundaries.
Channels(CHAN) 3:0 = 1

[Other two not copied]

[Comments deomsh]:
AC_PAR_AMP_OUT_CAP 2 $00034040
Offset=64
NumSteps=0 => not 64 too?
StepSize=0 => 3x0.25-steps?



<laughIN Comp>
AC_PAR_AUDIO_WIDGET_CAP widget $14 B(00000000010000000000000110001101)
Type=4
Delay=0
Chann Count Ext=0
CP Caps=False
L-R Swap=False
Power Cntrl=False
Digital=False
Conn List=True
Unsol Capable=True
ProcWidget=False
Stripe=False
Format Override=False
Amp Param Override=True
Out Amp Present=True
In Amp Present=False
Chan count=1
Total Channels-1=1
AC_PAR_PIN_CAP 20 $0001003C
Presence Detect Capable
Headphone Drive Capable
Output Capable
Input Capable
VRef Control=0
EAPD Capable
AC_PAR_AMP_OUT_CAP 20 $80000000
Offset=0
NumSteps=0
StepSize=0
Mute Capable
AC_PAR_CONNLIST_LEN 20 $00000001
Connection List Length=1
Short Form
There is only one hard-wired input possible (read it from the list)
AC_VERB_GET_CONNECT_LIST #$14 =$0000000C
Short Form
Connection List Entry N+3[31:24]=$00
Connection List Entry N+2[23:16] Connectivity[23:16]=$00
Connection List Entry N+1[15:8] Connectivity[15:6]=$00
Connection List Entry N+0[7:0] Connectivity[7:0]=$0C
AC_VERB_GET_CONNECT_SEL #$14 =$00000000
Connection Index currently set=$00
AC_VERB_GET_CONFIG_DEFAULT #$14 =$01014010
Port Connectivity[31:30]=$00
The Port Complex is connected to a jack (1/8",ATAPI,etc.)
Location[29:24]=$01
Rear
External
Main chassis
Default Device[23:20]=$00
Line Out
Connection Type[19:16]=$01
1/8 stereo/mono
Color[15:12]=$04
Green
Misc[11:8]=$00
Default Association (For Grouping)[7:4]=$01
Sequence (Index in Group)[3:0]=$00
AC_VERB_GET_PIN_SENSE #14 =$80000000
Connector Presence Detected on this pin.

[Other ones not copied]

[Comments deomsh]:
AC_PAR_AMP_OUT_CAP 20 $80000000
Offset=0
NumSteps=0
StepSize=0
Mute Capable

This should be all correct, but why is widget $014 identified as the volume-widget in HDACFG.INI in case of ALC662 huh
« Last Edit: Jan 20th, 2018, 7:51pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #164 on: Jan 21st, 2018, 8:05pm »
Quote

I've not added volume widget detection.
The number $14 is the default value.


http://turkeys4me.byethost4.com/programs/AHDA17M.zip
User IP Logged

Pages: 1 ... 9 10 11 12  Reply Notify Send Topic Print
« Previous Topic | Next Topic »

Donate $6.99 for 50,000 Ad-Free Pageviews!

| |

This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls