samersh94 Posted February 8, 2012 Share Posted February 8, 2012 Hi all, I have a XFX 9500 GT 1GB graphics card. I've extracted the ROM from it using NVFLASH and I want to calculate the NVCAP from it. I've used "NVCAP MAKER" but I failed after adding the result in the DSDT. Also I want to know how to calculate the buffer length in a DSDT Code, Should I count then add one then convert to hex? Link to comment Share on other sites More sharing options...
Cassio Posted February 8, 2012 Share Posted February 8, 2012 Add 0x before and , after each 2 digits, see example here http://Olarila.com/forum/viewtopic.php?f=19&t=609 Your method to calculate buffer size is correct (actually the "add one" part is only for strings), but you can just leave it blank and the compiler will count, see example in the link above. -Donations- PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com Premium Users HERE - Problems with Paypal HERE Link to comment Share on other sites More sharing options...
samersh94 Posted February 8, 2012 Author Share Posted February 8, 2012 Thanks for the quick reply but Is there a way to calculate the NVCAP from ROM directly? Link to comment Share on other sites More sharing options...
Cassio Posted February 8, 2012 Share Posted February 8, 2012 I have no idea. Isn't that what NVCAP Maker does? -Donations- PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com Premium Users HERE - Problems with Paypal HERE Link to comment Share on other sites More sharing options...
samersh94 Posted February 8, 2012 Author Share Posted February 8, 2012 I have no idea. Isn't that what NVCAP Maker does? It does but It's not working. So Should I use the NVEnabler's one ? What about the non-string values, I mean how the buffer size is calculated? Link to comment Share on other sites More sharing options...
Cassio Posted February 8, 2012 Share Posted February 8, 2012 It does but It's not working. So Should I use the NVEnabler's one ? You can try. There's some info about it in this topic http://www.insanelymac.com/forum/index.php?showtopic=215236 What about the non-string values, I mean how the buffer size is calculated? Just count, don't add one. Again, you don't need to calculate, just leave it blank, the compiler will count. Buffer () { ... } -Donations- PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com Premium Users HERE - Problems with Paypal HERE Link to comment Share on other sites More sharing options...
samersh94 Posted February 8, 2012 Author Share Posted February 8, 2012 Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, Zero) Name (_UID, One) Name (_BBN, Zero) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } Device (PEGP) { Name (_ADR, 0x00030000) Device (GFX0) { Name (_ADR, Zero) Name (_SUN, One) Method (_DSM, 4, NotSerialized) { Store (Package (0x1A) { "@0,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@0,device_type", Buffer (0x08) { "display" }, "@0,name", Buffer (0x0F) { "NVDA,Display-A" }, "@1,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@1,device_type", Buffer (0x08) { "display" }, "@1,name", Buffer (0x0F) { "NVDA,Display-B" }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "device_type", Buffer (0x0C) { "NVDA,Parent" }, "model", Buffer (0x10) { "GeForce 9500 GT" }, "", Buffer () { "" }, "NVPM", Buffer (0x1C) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, "NVCAP", Buffer () { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00 }, "rom-revision", Buffer (0x0F) { "62.94.4B.00.96" }, "vendor-id", Buffer (0x04) { 0xDE, 0x10, 0x00, 0x00 }, "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x40 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } I've made this code but it's not working at all, I don't know where the error comes from! NOTE: NVCAP obtained from NVEnabler 64.kext My IORegistryExplorer: http://imageshack.us/photo/my-images/804/ioreg.png/ Link to comment Share on other sites More sharing options...
Cassio Posted February 8, 2012 Share Posted February 8, 2012 _ADR of PEGP is wrong, should be 0x00010000 according to your ioreg (pci-bridge@1). You can remove this part "", Buffer () { "" }, Also delete the size of Package inside _DSM. -Donations- PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com Premium Users HERE - Problems with Paypal HERE Link to comment Share on other sites More sharing options...
samersh94 Posted February 8, 2012 Author Share Posted February 8, 2012 Working perfectly What about the "reg" entry should I fill it from IORegistry info or it is bumped automatically? Link to comment Share on other sites More sharing options...
Cassio Posted February 8, 2012 Share Posted February 8, 2012 Which "reg" entry? -Donations- PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com Premium Users HERE - Problems with Paypal HERE Link to comment Share on other sites More sharing options...
samersh94 Posted February 8, 2012 Author Share Posted February 8, 2012 like this one: "reg", Buffer (0x78) { /* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02, /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02, /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, /* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02, /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 }, Also what is the EDID? is it necessary? Link to comment Share on other sites More sharing options...
Cassio Posted February 8, 2012 Share Posted February 8, 2012 I don't think it's necessary. About EDID you can read this (I think you don't need to inject it) http://Olarila.com/forum/viewtopic.php?f=18&t=736 -Donations- PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com Premium Users HERE - Problems with Paypal HERE Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now