win3x
« High Definition Audio »

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



« Previous Topic | Next Topic »
Pages: 1 ... 10 11 12  Reply Notify Send Topic Print
 veryhotthread  Author  Topic: High Definition Audio  (Read 2613 times)
deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #165 on: Jan 23rd, 2018, 5:02pm »
Quote

Thanks a lot for AHDA17M!

I am busy to make a full test, I will report when I am finished. rolleyes
User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #166 on: Jan 25th, 2018, 5:08pm »
Quote

I made a full test of AHDA17M with ALC662 on Windows 3.1

See my report. Enjoy!

First Test: Only Windows, no HDA driver, opening DRUMLOOP.WAV (44.1kHz/16-Bit). CORB for Verbs enabled

[PCI]
No changes,
(PCI) W20 0000 0000 Still 0000 instead 0002 !

[HDA]
No changes,
<Button 21>: still no function

[jds]
Changes:
<Start HDA> {necessary for meaningfull AC_VERB_PARAMETERS !!}
<AC_VERB_PARAMETERS>
AC_PAR_VENDOR_ID 10EC0662
VENDOR_ID $10EC
DEVICE_ID $0662
AC_PAR_SUBSYSTEM_ID 00000000

AC_PAR_REV_ID 00100101

AC_PAR_NODE_COUNT #0 $00010001
Total Nodes #1 $01
Starting Node #1 $01

AC_PAR_NODE_COUNT #1 $00020025
Total Nodes #1 $02
Starting Node #1 $25

AC_PAR_FUNCTION_TYPE #1 $00000101
Node function type $01
Audio Function Group
Unsolicited Capable $01

AC_PAR_STREAM #1 $00000001
Supports PCM

AC_PAR_CONNLIST_LEN #$0B $00000009
Connection List Length=9
Short Form

AC_PAR_PROC_CAP #32 00000C00
NumCoeff=12

AC_PAR_GPIO_CAP #1 40000002
NumGPIOs=2
NumGPOs=0
NumGPIs=0
GPIUnsol

$12 AC_PAR_AMP_OUT_CAP #3 00034040
Offset=64
NumSteps=64
StepSize=3

<AC_VERB_GET_CONFIG_DEFAULT> Still doesn't work

<AC_VERB_GET_CONNECT_LIST> Still doesn't work

[Nodules]
Changes:

<Enumerate nodes> after <Clear IC> & sending one <Immediate Command>, without this procedure some values remain $AAAAAAAA
Starting node $01
Total nodes $01

Function Group $01
AC_NODE_COUNT of node $01
Total Nodes (node $01)=$25
Starting Node (node $01)=$02
AC_PAR_FUNCTION_TYPE of node 1
Node function type $01= Audio Function Group
Unsolicited Capable $01
AC_PAR_AUDIO_FG_CAP of node 1
Optional Beep generator present.
Input Delay $F
Output Delay $F
AC_PAR_PCM of node 1 =$000E0160
Bit rates= 16-bit, 20-bit, 24-bit,
Sample rates= 44.1khz, 48.0khz,
AC_PAR_STREAM of $01= $00000001
Supports PCM
AC_PAR_GPIO_CAP of $01 =$40000002
NumGPIOs=$02
NumGPOs=$00
NumGPIs=$00
GPIUnsol
AC_VERB_GET_SUBSYSTEM_ID of node 1
Implementation Identification
Board Implementation ID (BID) 31:8=$184976
Board Manufacturer Identification (BMID) 31:16=$1849
Board SKU (BSKU)=$76
Assembly ID(AssyID)=$62

< plywave> Ready? <OK> < Print BDL Entries>
ADDRHI32=$00000000
ADDRLO32=$03000000
leng=$00020000
IOC=$00000000
ADDRHI32=$00000000
ADDRLO32=$03020000
leng=$00020000
IOC=$00000000
ADDRHI32=$00000000
ADDRLO32=$03000000
leng=$00020000
IOC=$00000000
ADDRHI32=$00000000
ADDRLO32=$03020000
leng=$00020000
IOC=$00000000

Many times the same, last lines are:

ADDRHI32=$00000000
ADDRLO32=$03020000
leng=$00020000
IOC=$00000000
ADDRHI32=$001F0500
ADDRLO32=$001F0500
leng=$001F0500
IOC=$001F0500

[Widgets]

<Examine All> Gives (the three to six $AAAAAAAA values are not always at the same Widgets the second or third time!!):

AC_PAR_AUDIO_WIDGET_CAP widget $02 ($0000001D)
Type=$00
Audio Output

AC_PAR_AUDIO_WIDGET_CAP widget $03 ($AAAAAAAA)
Type=$0A

AC_PAR_AUDIO_WIDGET_CAP widget $04 ($AAAAAAAA)
Type=$0A

AC_PAR_AUDIO_WIDGET_CAP widget $05 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $06 ($00000211)
Type=$00
Audio Output

AC_PAR_AUDIO_WIDGET_CAP widget $07 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $08 ($0010011B)
Type=$01
Audio Input

AC_PAR_AUDIO_WIDGET_CAP widget $09 ($0010011B)
Type=$01
Audio Input

AC_PAR_AUDIO_WIDGET_CAP widget $0A ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $0B ($0020010B)
Type=$02
Audio Mixer

AC_PAR_AUDIO_WIDGET_CAP widget $0C ($0020010B)
Type=$02
Audio Mixer

AC_PAR_AUDIO_WIDGET_CAP widget $0D ($0020010B)
Type=$02
Audio Mixer

AC_PAR_AUDIO_WIDGET_CAP widget $0E ($0020010B)
Type=$02
Audio Mixer

AC_PAR_AUDIO_WIDGET_CAP widget $0F ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $10 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $11 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $12 ($AAAAAAAA)
Type=$0A

AC_PAR_AUDIO_WIDGET_CAP widget $13 ($AAAAAAAA)
Type=$0A

AC_PAR_AUDIO_WIDGET_CAP widget $14 ($0040018D)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $15 ($0040018D)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $16 ($0040018D)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $17 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $18 ($0040018F)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $19 ($0040018F)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $1A ($0040018D)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $1B ($0040018F)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $1C ($00400001)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $1D ($00400000)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $1E ($00400300)
Type=$04
Pin Complex

AC_PAR_AUDIO_WIDGET_CAP widget $1F ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $20 ($00F00040)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $21 ($AAAAAAAA)
Type=$0A

AC_PAR_AUDIO_WIDGET_CAP widget $22 ($AAAAAAAA)
Type=$0A

AC_PAR_AUDIO_WIDGET_CAP widget $23 ($0020010B)
Type=$02
Audio Mixer

AC_PAR_AUDIO_WIDGET_CAP widget $24 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $25 ($00F00000)
Type=$0F
Vendor defined Widget

AC_PAR_AUDIO_WIDGET_CAP widget $26 ($00F00000)
Type=$0F
Vendor defined Widget

<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=64
StepSize=3
AC_VERB_GET_CONV_STR_CH #$02 =$00000000
Stream 3:0 =$00
Channel 3:0 =$00
AC_VERB_GET_STREAM_FORMAT #$02 =$00000020
TYPE (BIT15)=0;(PCM)
Sample Base Rate(BASE) (BIT14 R/W) =0
0 = 48kHZ
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 =2
010 =20 bits. The data will be packed in memory in 32-bit containers on 32-bit boundaries.
Channels(CHAN) 3:0 = 0

And so on..... (with some $AAAAAAAA, not always on the same spot)

<Audio Mixer>
AC_PAR_AUDIO_WIDGET_CAP widget $0B B(00000000001000000000000100001011)
Type=2
Delay=0
Chann Count Ext=0
CP Caps=False
L-R Swap=False
Power Cntrl=False
Digital=False
Conn List=True
Unsol Capable=False
ProcWidget=False
Stripe=False
Format Override=False
Amp Param Override=True
Out Amp Present=False
In Amp Present=True
Chan count=1
Total Channels-1=1
AC_PAR_AMP_IN_CAP 11 $80051F17
Offset=23
NumSteps=31
StepSize=5
Mute Capable
AC_PAR_CONNLIST_LEN 11 $00000009
Connection List Length=9
Short Form
AC_VERB_GET_CONNECT_LIST #$0B =$1B1A1918
Short Form
Connection List Entry N+3[31:24]=$1B
Connection List Entry N+2[23:16] Connectivity[23:16]=$1A
Connection List Entry N+1[15:8] Connectivity[15:6]=$19
Connection List Entry N+0[7:0] Connectivity[7:0]=$18

And so on..... (with some $AAAAAAAA, not always on the same spot)

< PIN 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.

And so on..... (with some $AAAAAAAA, not always on the same spot)

<Vendor>
AC_PAR_AUDIO_WIDGET_CAP widget $05 B(00000000111100000000000000000000)
Type=15
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=False
Amp Param Override=False
Out Amp Present=False
In Amp Present=False
Chan count=0
Total Channels-1=0

And so on.....

Other buttons do not work, but that is right according to the specs of ALC662!

{Form 2}
[CORB]

No changes since last test earlier version.

Tests with HDA2.DLL loaded gives roughly the same results, except that [Widgets] <Examine All> is not working, but no problems with the other widget-button's. grin
« Last Edit: Jan 25th, 2018, 5:12pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #167 on: Jan 26th, 2018, 5:50pm »
Quote

Adjusted timing:
http://turkeys4me.byethost4.com/programs/AHDA17N.7z

User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


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

I tested AHDA17M, all $AAAAAAAA values are gone.

Great, thanks a lot! cheesy

Timings "10" is not high enough if I want sending verbs with Corb on form2. On my system Timings minimum must be 150 to give consistent response-values. But for form1 there is no problem.

In case sending verbs this is not a problem at all, simply adjust timings if necessary.

I tested AHDA17M again with different Corb-timings. With 300 all $AAAAAAAA values are gone in form1.
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #169 on: Jan 29th, 2018, 5:16pm »
Quote

I changed the default corb delay value to 150.
User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #170 on: Jan 30th, 2018, 10:06am »
Quote

Found it. Timings "10" is still great for the Widgets page. Realy fast. grin
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #171 on: Jan 30th, 2018, 6:41pm »
Quote

This might work:
http://turkeys4me.byethost4.com/programs/AHDA17O.7z
User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #172 on: Feb 7th, 2018, 11:13am »
Quote

I have tested AHDA17O, timings are excellent! cheesy

I noticed following difference with earlier versions: this version starts without a dialog asking for a wave-file. When I click the plywave-button, this dialog comes again. When I open a Wave-file, nothing seems to change. Or am I wrong?

Whats the purpose of this button?
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #173 on: Feb 7th, 2018, 5:18pm »
Quote

AHDA was my starting point for HDA testing.
The original hda.dll was based on the player found in AHDA.

AHDA's player was designed for my ASUS Sabertooth x58 motherboard.
I've not updated those functions since I started working on the Windows driver.
Playing sounds with AHDA would conflict with HDA2.dll.

User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #174 on: Feb 7th, 2018, 7:17pm »
Quote

Thanks, so I don't have to try that funtion anymore.

I will in this thread continue with my question about the maximum sample rate in connection withHDA2.DLL.

I have no plans to write drivers, I am only interested in the capabilities of HDA2.DLL.

In Windows 98SE I did some experiments with FOOBAR2000 0.8.3. In FOOBAR you can set the output sample rate / bitrate indepent of the file-rates. I was not really surprised that 24-bits output was not possible.
The maximum output sample rate that was possible with HDA2.DLL: 48000. When I tried 96000 there was an error-message. So I searched a bit about the Windows multimedia system.
« Last Edit: Feb 7th, 2018, 7:19pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #175 on: Feb 7th, 2018, 8:07pm »
Quote

The base output frequencies supported are 44.1 and 48khz.
Although the HDA standard supports 16,20,24 and 32-bit audio, the most common format is 16-bit.

The limits of runtime software conversion are neither realistic or practical.
However, you have a rather powerful computer. wink

If you want to experiment with software mixing/remixing and bit conversion, then polywave may be of interest to you.
http://win3x.conforums.com/index.cgi?board=Pascal&action=display&num=1502076806

« Last Edit: Feb 15th, 2018, 6:30pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 106
xx Re: High Definition Audio
« Reply #176 on: Feb 15th, 2018, 5:55pm »
Quote

I took a look at this driver, but I don't have that audio-card.

In the meantime I tested Windows ME with HDA2.DLL. After making ME dos-compatible (because I had to install HDATSR.EXE in AUTOEXEC.BAT) and with latest servicepack I had succes. Your HDA-driver is delivering sound in ME. shocked
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 161
xx Re: High Definition Audio
« Reply #177 on: Feb 15th, 2018, 6:43pm »
Quote

Glad to hear that Windows ME is working.

It was my intention to post a link to Polywave (Mixing wave driver).
I have corrected the link in my previous post.

If you want to play audio of a bit-rate or frequency that your sound hardware does not support, or if you want to play multiple sounds at once, Polywave may be of interest to you.
My second Windows 3.1 USB sound driver was based upon Polywave.



« Last Edit: Feb 15th, 2018, 6:44pm by watler » User IP Logged

Pages: 1 ... 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