Jump to content

Pin Config Patching VoodooHDA 0.2.7.2 Project OS X Branch


  • Please log in to reply
52 replies to this topic

#1
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
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, 19 May 2012 - 09:21 PM.


#2
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
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. :)

#3
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
Here are the 2 files.

- codedump.txt from the MAC.
- regedit PinConfig from Windows.

Hope you can explain what to do :lol:

Thanks in advance!!

Attached Files



#4
dj_romeo

dj_romeo

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
I also hope in you because I have the same motherboard

#5
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
Alright, guys, I'll take a look at it. :)

#6
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
Would you also explain what you do in the files (if you post them ready-to-use)? I would like to learn how to pin config patch this codec :)

#7
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
Hey dude, sorry for being late. :( I was writing my guide and then my computer crashed....I'll write it up again.

#8
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)

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

#9
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
Any luck so far with the guide? :D

#10
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
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.

#11
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)

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)

#12
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
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".

#13
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)

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:

#14
jblaster

jblaster

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 posts
I have the same motherboard. I can get sound out of the front headphone jack, but not the rear plug. The sound coming out of the headphone jack is very bad with a background "hiss".
Have you had any progress on this?

Thanks,
John

#15
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
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. ;)

#16
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
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, 25 February 2012 - 06:11 PM.


#17
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
Your old board broke? That's too bad...

#18
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
Yeah, well, not quite broke. It just lost quite a bit speed and BIOS doesn't work normal :S I'll see what I can do with the guide as guidelines for my new board :)

#19
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
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) ;)

#20
MacFaulty

MacFaulty

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Netherlands
  • Interests:Programming, programming, programming... AND scripting :)
I'll get my new mobo somewhere this week ;)





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy