Jump to content

Pin Config Patching VoodooHDA 0.2.7.2 Project OS X Branch


MacFaulty
 Share

54 posts in this topic

Recommended Posts

edit: Before you read this topic and you are just looking to a fast solution than download the newest OS X Branch VoodooHDA from the google code site, it's 2.7.3 (pkg install, easy-to-use). This package also solved my wrong port on GA-990FXA-UD3. But if you're interested in how to patch this universal codec, like me, go on and give yourself a good read through ;) I even got the full 192000Hz with the newest package without stuttering or buzzing!

 

Here's the link to this new 2.7.3 package: http://code.google.com/p/voodoohda/downloads/detail?name=VoodooHDA-2.7.3.pkg.zip&can=2&q=

Of course, all credits go to the VoodooHDA team for making this all possible to us hackintoshers!

 

Hi there,

 

As you may see in my signature I'm having a GA-870A-USB3 mobo, BUT... there's one thing that's a bit irritating / frustrating me. The Audio!

I have read today about pinpatching voodooHDA and I would like to learn how.

 

My education is IT (hardware / software namely) and would like to pinpatch my voodooHDA so I can also learn something new!

So I have moderate knowledge of MACs and PCs.

 

Problem: Audio is sometimes stuttering (especially if multiple programs are open at the same time) and I must use the front jack of my PC case, but I want green jack at the back of the case.

 

I already lowered the settings to minimum: 41000Khz and 16bit, but no go for the popping / scratching.

 

Hope somebody can help me with this little problem.

 

Greets from Holland!

 

Wcool

 

P.S. if this helps: I know PHP and MySQL quite well, Also the basics of boot.plist I understand. I post this because of the syntax used in some cases?

 

edit: The stuttering is more like trrrzzz for about 2 sec or less (randomly) and then goes away for a random period. Hope this info is any more help

Edited by Wcool
Link to comment
Share on other sites

With audio codecs, they have what are called nodes (these are your audio ports) and each node has four verbs. The problem is OS X doesn't have a complete knowledge of codec verbs, so we have to "trick" OS X to use your audio.

 

There are two dumps we need: one from Windows and one from OS X. If you only have OS X, that's fine; we'll just use the OS X dump. :)

 

From OS X, open Terminal (/Applications/Utilities) and type

 

cd ~/Desktop

getDump > codecdump.txt

 

You should have a file named codecdump.txt on your desktop.

 

From Windows, search for regedit. You should see Registry Editor (or similar; if you can't find anything you can go to Help & Support and search for registry)

 

Once in the registry editor, go to Edit > Find... and search for "PinConfig" (no quotes and no space). The first thing that should show up on the left is PinConfigOverrideVerbs; now to to File > Export... and save the PinConfigOverrideVerbs to a .txt file.

 

Upload both dumps when you have them and I'll give you further instructions. :)

  • Like 1
Link to comment
Share on other sites

Hey dude, sorry for being late. :( I was writing my guide and then my computer crashed....I'll write it up again.

 

I'm sorry to hear that, but don't worry. I've got plenty of patience ;)

I'll see it when the guide will be ready.

 

Again, many thanks for this!!

 

 

Greets from Holland

 

Wcool

Link to comment
Share on other sites

Working on it. ;) Been a little bogged down with schoolwork, though (and replacing iMac G5 capacitors for a friend :P). The guide will be up in a day or two.

Link to comment
Share on other sites

Working on it. ;) Been a little bogged down with schoolwork, though (and replacing iMac G5 capacitors for a friend :P). The guide will be up in a day or two.

 

You got an essay? Or just much homework?

I've got the Cisco CCNA Disc. 2 Final on friday. Keeping my fingers crossed :D (learned really hard, so hope I'll get certificate :D)

Link to comment
Share on other sites

Lots and lots of homework! Plus extra curricular activities, like band...

 

BTW, for the crackling, go to System Preferences, click the VoodooHDA pane, make sure your output is selected in the pop-up menu, and then ht the check box "Enable SSE2".

Link to comment
Share on other sites

Lots and lots of homework! Plus extra curricular activities, like band...

 

BTW, for the crackling, go to System Preferences, click the VoodooHDA pane, make sure your output is selected in the pop-up menu, and then ht the check box "Enable SSE2".

 

Thanks for this quick tip, but it doesn't work for a reason, I don't know :wacko:

Link to comment
Share on other sites

  • 3 weeks later...

I have. Here's part 1; part 2 will be coming in a little bit. ;)

 

 

Each part of your audio codec has four verbs that determine the properties of your audio ports; however, Mac OS has a limited knowledge of codec verbs (just like DSDT), so we need to correct the verbs so your ports are seen in Mac OS.

 

First, we need to modify your Windows codec dump; we need to byte flip each one of the hex strings (which are the codec verbs). Here's an example: if we look at your first verb, it looks like this:

Waarde 0
 Naam:		    0000
 Type:		    REG_BINARY
 Gegevens:		   
00000000   40 1c 17 01

When byte flipped, it looks like this:

Waarde 0
 Naam:		    0000
 Type:		    REG_BINARY
 Gegevens:		   
00000000   01 17 1c 40

See what changed? The fourth two characters (40) is first, the third two characters (1c) is second, the second two characters (17) becomes third, and the first two characters (01) is fourth. Now, I would actually condense the digits to a single string just to make it simpler.

Waarde 0
 Naam:		    0000
 Type:		    REG_BINARY
 Gegevens:           
00000000   01171c40

Do this to every one (I know, it's hard ;)) and continue.

 

Now, each of these characters has a purpose. The first character is the codec ID. Every operating system numbers the audio cards (with their respective codecs), so this will always be 0 (as it is here) unless you are working with an audio source that is not built-in (i.e. a PCI/PCIe audio card or HDMI).

 

The next two digits is the node ID. This is actually not a decimal number; it is actually hexadecimal. Why does one need to know that? Well, VoodooHDA uses decimal for it's node ID, so we need to convert it. Here's a table for converting the first 20 decimal numbers, hex listed first:

01=1 02=2 03=3 04=4 05=5 06=6 07=7 08=8 09=9 0a=10 0b=11 0c=12 0d=13 0e=14 0f=15 10=16 11=17 12=18 13=19 14=20

If you're confused, it will make more sense when we get to patching. :)

 

The next three digits after the node ID is the verb indicator. This simply means that then next two characters define something about the codec. What do they define? Well, that depends on the third character of the verb indicator. I'll explain:

 

71c: the first digit after 71c is the default association. This determines which audio jacks are grouped together as one (such as three or four port surround sound). The second digit is the sequence. This determines the order of the jacks in the particular default association. If it doesn't make sense it will later on. ;)

 

71d: the first digit after 71d is the color. This is cosmetic; it simply describes what color to display in System Preferences or audio programs, such as Line-out (Green). Here is a table for the numbers (in hex):

0=Unknown 
1=Black
2=Grey 
3=Blue 
4=Green  
5=Red 
6=Orange 
7=Yellow 
8=Purple 
9=Pink 
a-d=Reserved 
e=White 
f=Other

The second digit after 71d is miscellaneous. This simply defines whether or not the device supports jack detect; it is 0 if there is jack detect (such as Headphones and Mic) or 1-4 if there is no jack detect (such as internal speakers).

 

71e: the first digit after 71e is the default device. This defines whether the audio port is line-out or any other type of port. The key is as follows (in hex):

0=Line Out
1=Speaker
2=HP Out
3=CD (a.k.a. ATAPI)
4=S/PDIF Out
5=Digital Other Out
6=Modem Line Side
7=Modem Handset Side
8=Line In
9=AUX (a.k.a. auxiliary port)
a=Mic In
b=Telephony
c=S/PDIF In
d=Digital Other In
e=Reserved
f=Other

The second digit after 71e is the connection type. This defines what type of jack you have; the key is as follows (in hex):

0=Unknown
1=1/8" stereo/mono
2=1/4" stereo/mono
3=ATAPI internal
4=RCA
5=Optical
6=Other Digital
7=Other Analog
8=Multichannel Analog (DIN)
9=XLR/Professional
a=RJ-11 (Modem)
b=Combination
f=Other

 

71f: the digits after 71f are unique because both digits are dependent on each other! The reason is actually the two digits are determined in binary, but are seen by us as hexadecimal numbers. The first two bits are the port connectivity, which determines whether the ports have jacks (such as 1/8" or ATAPI; the two digits will be 00), no physical connections (01), a fixed function device (integrated speaker; 10), or both jack and internal device (11). The next two digits make up the first part of the location, 00 being external on primary chassis, 01 is internal, 10 is separate chassis, and 11 is other. The next four digits are the second part of the location dependent on the first part; if part 1 is 00, 0001 is Rear, 0010 is Front, 0011 is Left, 0100 is Right, 0101 is Top, 0110 is Bottom, 0111 is Special (Rear Panel), and 1000 is Special (Drive Bay). If part 1 is 01, 0111 is Special (Riser), 1000 is HDMI, and 1001 is ATAPI. If part one is 10, 0001 is Rear, 0010 is Front, 0011 is Left, 0100 is Right, 0101 is Top, and 0110 is Bottom. If part 1 is 11, 0111 is Inside Mobile Lid (i.e. mic), and 1000 is Outside Mobile Lid. If you want to see what the binary is for port connectivity and location, open Calculator (/Applications), go up to the menu Mode (or similar) and choose Programmer's Calculator. In hex, enter the two digits after 71f and compare the binary below it to the code above. All of this just went over your head? Don't worry; we may or may not need it. ;)

 

This is part 1 (explanation). Part 2 (application) will be coming a little bit later. ;)

  • Like 2
Link to comment
Share on other sites

Sorry, but I think you must pause the guide for a little while, 'cause I get the 990FXA-UD3 from gigabyte. Read a lot of probs, so I have to look whether OS X likes this board or not, this board will be RMA 'cause it doesn't work properly anymore (out of a sudden). It does have the same audio codec though, don't know if that makes any difference :/. Srry again, but maybe I can use this guide to patch them anyway :D

 

edit: Will update my signature xD

Edited by Wcool
Link to comment
Share on other sites

That's what part 1 is; general guidelines. Part 2 was going to be specifically for your mobo. If you give the regedit dump and the Voodoo dump I can write up part 2 for your new mobo. :)

 

Nice work on your lappy, BTW (just noticed it's a hackbook) ;)

Link to comment
Share on other sites

  • 2 weeks later...

You can; however, it is good to have the VoodooHDA dump as well because you want to be able to see what Voodoo already detects about your audio codec. It's very simple to do, you just open the OS X Terminal and type

 

getdump > codec_dump.txt

 

and then there will be a codec_dump.txt file with everything you need.

 

Post your dumps and I will post part 2. :)

Link to comment
Share on other sites

  • 4 weeks later...

Hey PookyMacMac, I was wondering if you could help me with my audio, I have an Asus G73jh laptop, it uses ALC269 codec and has 2.1 audio. I'm running Lion 10.7.3 I know this is the Snow Leopard forum, but this seems to be where I might be able to get this working. Mac sees all three speakers, with voodoohda 0.2.1 however the main speakers show as one device, and the sub shows as a third. I want to be able to have all three work at the same time. I've uploaded my Linux codec dump, VoodooHDA codec dump and my PinoutConfig from windows. Any help you could provide would be greatly appreciated

Linux_codec_dump.txt

VoodooHDA-codecdump.txt

PinConfigOverrider.txt

Link to comment
Share on other sites

 Share

×
×
  • Create New...