Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some HDA chips need forcing the output amplifier bit 7 to zero #100

Open
vanfanel opened this issue Apr 22, 2024 · 12 comments
Open

Some HDA chips need forcing the output amplifier bit 7 to zero #100

vanfanel opened this issue Apr 22, 2024 · 12 comments
Labels
bug Something isn't working compatibility drivers

Comments

@vanfanel
Copy link

Hello there,

Based on this partially fixed bug on VSBHDA (Baron-von-Riedesel/VSBHDA#8) it seems that some HDA chips need forcing the output amplifier bit 7 to zero, so it's no longer possible for the program to mute the amplifier "accidentally".

Can it please be done in SBEMU or added as an option? My DOS notebook (Compaq Mini CQ10-500) was working great with SBEMU initial version, and now it is totally silent with current SBEMU versions...

@crazii
Copy link
Owner

crazii commented Apr 25, 2024

Yes of course, I'll check it. Thanks for the feedback.

@crazii crazii added bug Something isn't working compatibility drivers labels Apr 25, 2024
@crazii
Copy link
Owner

crazii commented Apr 27, 2024

I checked the code, there's no accidental muting happens (the muting might be caused by changes in VSBHDA), but the init code seems having problem after using a double reset, so the initial unmute doesn't work.

can you test if this build works? I'm not sure it will work, but there're problems definitely and I will get it fixed.
sbemu.zip

@crazii
Copy link
Owner

crazii commented Apr 27, 2024

Here's another experimental fix for O2 and LTO:
sbemu_mmio_volatile.zip

@vanfanel
Copy link
Author

@crazii I tested those two builds but they are silent on my computer.

@crazii
Copy link
Owner

crazii commented Apr 27, 2024

Thanks for your fast reply (and sorry I can't reply in time).
I'll investigate more. please wait. I'll upload a build with HDA init log so that it can be checked.

@crazii
Copy link
Owner

crazii commented Apr 27, 2024

Please run SBEMU > log.txt and paste/upload the log file, thanks.
sbemu_HDALOG.zip

@vanfanel
Copy link
Author

@crazii Of course! Here's the log:

LOGG.TXT

@crazii
Copy link
Owner

crazii commented Apr 27, 2024

The log seems OK, and Sorry it took a while, as I'm not really familiar with all the codes and its log. the DAC node is parsed and unmuted, I doubt there are other problems, but to make sure it DOES have muted problem, I changed the code to force unmute when setting volumes:
sbemu_FORCE_UNMUTE.zip

And if it doesn't work, I guess there's some other problems, I can give you some release builds that is working/notworking after code changes.
The code changes in HDA is little, only 1) CORB/PIO related, and 2) interrupt related, and 3) power states. I think it's easy to find the cause.

@crazii
Copy link
Owner

crazii commented Apr 27, 2024

Sorry, use this one instead, just mask all the cases of amplifiers bit 7 to make sure every sets of volume is not muted.
sbemu_FORCE_UNMUTE.zip

@vanfanel
Copy link
Author

@crazii That version works! It sounds as good as it used to sound! :)
Mask all the cases of amplifiers bit 7 was the solution!!! Thanks!!!!

@crazii
Copy link
Owner

crazii commented Apr 28, 2024

@crazii That version works! It sounds as good as it used to sound! :) Mask all the cases of amplifiers bit 7 was the solution!!! Thanks!!!!

Good, but really strange, as I checked code, none of them mutes the amplifier, but it's possible that it got muted itself somehow. and because the mixer will read the original before setting new volume, so all volume sets afterwards will have the bit 7 set.

@vanfanel
Copy link
Author

vanfanel commented Jul 4, 2024

@crazii Please merge this into new releases.
I tried the new 1.1BETA and it's silent again :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compatibility drivers
Projects
None yet
Development

No branches or pull requests

2 participants