win3x
« High Definition Audio »

Welcome Guest. Please Login or Register.
Feb 22nd, 2018, 10:43pm



« Previous Topic | Next Topic »
Pages: 1 2 3 4 5  ...  12 Reply Notify Send Topic Print
 veryhotthread  Author  Topic: High Definition Audio  (Read 2664 times)
deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 109
xx Re: High Definition Audio
« Reply #30 on: Oct 2nd, 2017, 5:03pm »
Quote

Watler, Thanks a lot. I modified the batchfile according to my directories. First I tried the JP.EXE from your file. The program identifies itself as Judas version 2.10b and asks for DOS/4GW. With DOS/4GW the program starts, but no sound in real mode MS-DOS... Without the -d switch I can see the music play by the movement of the VU-meters.

I have Judas version 2.10c (found somewhere with the Wayback-machine) and version 2.10d (from Rayer's website). These versions gave me sound in DOS (with CWSDPMI.EXE).

When I started Windows with help of your Batchfile after interrupting Judas 2.10d with <Esc>, I could hear some noise in my headphones while starting Windows. One time I could hear some music fragments in Sound Recorder!!! In that case I could also exit Windows normally.

Mostly I got error dialogs I described in Reply 8#.
« Last Edit: Oct 2nd, 2017, 5:04pm by deomsh » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #31 on: Oct 2nd, 2017, 6:19pm »
Quote

Although I do not have access to an Asrock 960GM-GS3 FX,
I was able to test a friends Gateway GT5694.

Since the HDA sound buffer is rather large.
I had to play the short wave several times before the buffer filled up.
After it kicked in, I was able to play wave and MP3 files very clearly.

I remember that on my on my old Dell Insprion 570
playing a file in MPXPLAY before JP and windows seemed to help.

User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #32 on: Oct 4th, 2017, 2:59pm »
Quote

For those who can not compile my files, I have created a
reconfigurable startup command file.

When HDA2.DLL loads, it will load a text file called hdaicout.hda;
Each line of hdaicout.hda beginning with $ will be sent as a single 32-bit Immediate HDA command.

Hdaicout.hda should be placed in the main windows directory.
An example hdaicout.hda is included for refrence.

http://turkeys4me.byethost4.com/files/HDADRV8Q.7z

Deomsh, driver timing is slightly different now.
Please list your new hdacfg.ini.
User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 109
xx Re: High Definition Audio
« Reply #33 on: Oct 4th, 2017, 6:12pm »
Quote

Thanks, I will test tomorrow.

This evening I tried version 8o with mpxplay and Judas first before starting windows. Only the error dialogs in Sound Recorder and Media Player.

I found old versions of Judas, 210a and 210b. They both work in real mode for my chipset. Very difficult to find. In case someone is interested, this is the link:

https://web.archive.org/web/20121109163845/http://www.piotrkn22.republika.pl/judas/index.html

Downloads are working!
« Last Edit: Oct 4th, 2017, 6:15pm by deomsh » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 109
xx Re: High Definition Audio
« Reply #34 on: Oct 5th, 2017, 4:56pm »
Quote

Hello Watler,

I tried 8q, HDACFG is exactly the same as 8o.

When starting first mpxplay and judas before windows, I only hear a loud grumpy sound, but no music.

Your HDAICOUT.HDA looks promising, I will try to find out the appropriate values for 10EC:0662. Next days I don't have time, so will take a while.
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #35 on: Oct 6th, 2017, 11:36am »
Quote

Volume controls work somewhat better now.
http://turkeys4me.byethost4.com/files/HDADRV8S.zip

A custom volume control widget can now be set in hdacfg.ini.

Example:
VolumeWidget=$0C

User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #36 on: Oct 8th, 2017, 10:51am »
Quote

Now you can choose what widget number is used as the output converter widget.

A custom widget can now be set in hdacfg.ini under
OutputWidget=$02

Changing the OutputWidget value may cause sounds to play on different audio jacks.

http://turkeys4me.byethost4.com/HDADRV8U.zip

« Last Edit: Oct 8th, 2017, 12:22pm by watler » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #37 on: Oct 9th, 2017, 6:41pm »
Quote

When your card is properly detected and enabled,
windows sounds should play.
Even if the driver fails to unmute output, windows sounds should still play silently.

As long as the Clock Counter spins (while Reset is toggled on "GCTL")
windows should move wave data to the HDA buffer.


Deomsh, at least one hdadrv version was working on your computer: (Reply #21)

Please point me to the HDAdrv versions that play silently on your computer.
When testing this time, do not start any DOS HDA players before windows.



Although each play sounds on different ports, these ALC662 computers work.
[HDA_03F010DE,0D14105B]
PCI_BUS=$00
PCI_DEVICE=$05
PCI_FUNCTION=$0
GCTL=00000001
CODEC BITMAP=00000001
CODEC_VID=$10EC
CODEC_DID=$0662
CODEC_REV=$100101
CODEC_NODEINFO=$010001
VolumeWidget=$02
OutputWidget=$02

[HDA_03F010DE,837F1043]
PCI_BUS=$00
PCI_DEVICE=$05
PCI_FUNCTION=$0
GCTL=00000001
CODEC BITMAP=00000001
CODEC_VID=$10EC
CODEC_DID=$0662
CODEC_REV=$100101
CODEC_NODEINFO=$010001
VolumeWidget=$0C
OutputWidget=$02

Since NVIDIA is working,
I asume that either the AMD chipset or the ASROCK BIOS are different.

Deomsh:
[HDA_43831002,76621849]
PCI_BUS=$00
PCI_DEVICE=$14
PCI_FUNCTION=$2
GCTL=00000001
CODEC BITMAP=00000001
CODEC_VID=$10EC
CODEC_DID=$0662
CODEC_REV=$EC0662
CODEC_NODEINFO=$EC0662
VolumeWidget=$04
OutputWidget=$04

It seems unlikly that the CODEC_VID/CODEC_DID are the same as CODEC_NODEINFO.




HDAdrv uses the "Immediate Command" ports to acquire the CODEC_ data found in HDACFG.ini.

$60 is the data being sent.
$64 is the data being received.
$68 holds two bits that indicate when data is sent and received.

If you write $000F0004 to $60
and then set $68 to 1
usually, $64 will fill with the CODEC node count.

(Enter $000F0004 into edit1 of AHDA and press the "Codec Vendor" button)
« Last Edit: Oct 9th, 2017, 8:02pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 109
xx Re: High Definition Audio
« Reply #38 on: Oct 10th, 2017, 6:22pm »
Quote

I tested again versions 8g/j/k/o/q/s/u with windows driver install and remove and without play in DOS first. All mentioned versions play without sound, so you are absolutely right! When exit Windows 8j/o/q/ gave a GPF in 0002:1781, other versions seems to be okay. Playing in DOS first seems to give the "Device is in use by another application" error and stalling Windows when trying to exit.

By the way, I cannot say which DOS-player had the best sound quality, because Judas cannot play WAV and Mpxplay/Mplayer cannot play XM. Comparing the first two there is no real difference. Judas sound is not very good, but I don't know what the impact is of the XM-compression.

I tested 8u with different values for OutputWidget, but no succes.

Entering $000F0004 into edit1 of AHDA17c and pressing the "Codec Vendor" button gives:

Codec Vendor $10EC
Codec Device $0662
1_10EC0662
2_10EC0662
3_10EC0662

I tried some other values, its strange that values $000F0000-$000F0059 (I tried all!) gives exactly the same output, in big steps I found that this behaviour continues up to $000FFFFF.
Other values give zero's in the last three sentences.

Editing HDACFG.INI with other values for CODEC_REV/CODEC_NODEINFO is not possible, after a reboot they are again $EC0662. Looks to me that is by design.

User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #39 on: Oct 10th, 2017, 7:16pm »
Quote

When you set and sent those values in AHDA17c, what message dialogs did you receive?

As you play with those values, you can see the results under the HDA tab.
Your values should appear at the IC Immediate Command index.


In the AHDA17 HDA tab:

Do the values you enter show up at $60? (IC Immediate Command DWORD)

What values does $68 display?



If you click on a $ value in the HDA tab, you can change that value.

Setting $68 to $0001 will tell the codec to send the value in $60.

When a result is finally sent, $68 will turn to $0002 and your return value will be placed in $64.

When $68 is set to $0002, you can clear that by writing a 2 back to it.


Click on the text description of the values to update the entire display.
« Last Edit: Oct 10th, 2017, 7:23pm by watler » User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #40 on: Oct 11th, 2017, 11:02am »
Quote

/windows/HDAicOUT.HDA

It might be nice to have some return data from HDAicOUT.HDA;

The results of HDAicOUT.HDA Immediate Commands will be printed into a file in the main windows folder (HDAicgot.wri).

http://turkeys4me.byethost4.com/HDADRV8V.zip

A delay has been added for CODECS that respond slowly.
« Last Edit: Oct 11th, 2017, 11:05am by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 109
xx Re: High Definition Audio
« Reply #41 on: Oct 11th, 2017, 5:27pm »
Quote

Thanks for 8V, I will test soon.

I have followed your directions inside AHDA17C.

[HDA]
Clicking
<HDA Pci Mem>
Values first:
60 $0000 IC Immediate Command
62 $0000
64 $0000 IR Immediate Response
66 $0000
68 $0002 IRS Immediate Command Status

Its possible to edit some registers, but NOT registers $60-$68

=>>

[Nodules]

<Codec Vendor>, after typing in box: $000F0004 2x "OK" in dialog's ICS=0002 and ICB clear. Gives:

CODEC Vendor $10EC
CODEC Device $0662
1_10EC0662
2_10EC0662
3_10EC0662

=>>

[HDA}
Clicking on value $68 gives:

$68 $0000
$64 $0662
$66 $10EC

$60 stays zero.

Still not possible to edit values in $68

<Reset Toggle> and clicking on value $68 gives only zero's in $60-$68


=>>

<Codec Vendor> second click gives only zero's, in dialog "ICS=0000" and "IBC clear"

Close and restart AHDA doesn't change anything. Normal exit Windows no longer possible, only forcing full reboot, than [HDA] values as earlier after opening AHDA17C.
User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #42 on: Oct 11th, 2017, 7:14pm »
Quote

Everything looks good in ahda17c.

You should only see three values for $68;

$68=$0000 means you can write to $60 - $62;

$68=$0001 Codec is supposed be reading the command in $60- $62.

$68=$0002 means that your $60 data was received by the CODEC.

Rather than changing $68 to another number, you tell it $0002 again to clear it.

Only the CODEC gets to write to $64-$66;


Since I am displaying all values as 16-bit, larger values will be represented by two slots.

$60 will be the lower part of a 32-bit value;
the next line will be the upper 16-bits;

A value like $000F0000 will appear more like:
$60 $0000 IC Immediate Command DWORD
$62 $000F

I adjusted the command delay once again:
http://turkeys4me.byethost4.com/HDADRV8W.zip
A new HDAicOUT.HDA is included.

Once you copy HDAicOUT.HDA to the windows folder, remember to check there for a HDAicgot.wri.

The general format of Immediate Verb commands is:
$F0000000; Codec ID is the highest part
$0FF00000; Node ID is next byte down
$000FFF00; Verb is in the center.
$000000FF; Data is the lowest byte.


The VIA HDA reads and clears $60 values even before you set $68 to $0001.
If you write:
$000F to $62
The VIA Codec will instantly give you the VID/DID in $64-$66 and Set $68 to $0002;



Deomsh, I appreciate your help in testing the driver.

I do not mean to waste your time, it is clear that
my hda driver does not work on your AMD SB600.

If you enjoy learning about HDA and programming,
you may be enjoying this experience.

However, if you are not having fun, I do not wish to torture you.

User IP Logged

watler
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 164
xx Re: High Definition Audio
« Reply #43 on: Oct 12th, 2017, 1:33pm »
Quote

Updated HDAicOUT.HDA operations
and increased HDAicgot.wri detail;
http://turkeys4me.byethost4.com/HDADRV8W.zip

When adding commands to HDAicOUT.HDA,
remember that your codec may have an index greater than one.

$000F0000;
$200F0000;

Check STATESTS for details.
« Last Edit: Oct 12th, 2017, 1:35pm by watler » User IP Logged

deomsh
Moderator
ImageImageImageImageImage


member is offline

Avatar




PM


Posts: 109
xx Re: High Definition Audio
« Reply #44 on: Oct 12th, 2017, 4:01pm »
Quote

Thank you Walter for 8W, I will try to test.

I am still interested, only a bit afraid you are running out of version characters laugh

I have just tried 8V, but I didn't find HDAicgot.wri, only HDALOG.TXT in \SYSTEM.

Same as usual, WAV is playing in Sound Recorder and HDACFG.INI is unchanged. What bothers me is that sometimes after starting Windows and without playing WAV in DOS first, when I try to play a WAV in Sound Recorder I get the "Device is in use (...)" error. After a full reboot thing are mostly alright again.

This is HDALOG.TXT:
$000F0000
$000F0002
$000F0004
$014707C0
$0143B000
$015707C0
$0153B000
$016707C0
$0163B000
$017707C0
$0173B000
$018707C0
$0183B000
$019707C0
$0193B000
$01A707C0
$01A3B000
$01B707C0
$01B3B000
$00224011
$00270610
$0143A07F
$0143907F

Can you tell me a bit about what these values mean?
User IP Logged

Pages: 1 2 3 4 5  ...  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