samersh94 Posted February 8, 2012 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?
Cassio Posted February 8, 2012 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. -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
samersh94 Posted February 8, 2012 Author Posted February 8, 2012 Thanks for the quick reply but Is there a way to calculate the NVCAP from ROM directly?
Cassio Posted February 8, 2012 Posted February 8, 2012 I have no idea. Isn't that what NVCAP Maker does? -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
samersh94 Posted February 8, 2012 Author 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?
Cassio Posted February 8, 2012 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 () { ... } -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
samersh94 Posted February 8, 2012 Author 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/
Cassio Posted February 8, 2012 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. -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
samersh94 Posted February 8, 2012 Author Posted February 8, 2012 Working perfectly What about the "reg" entry should I fill it from IORegistry info or it is bumped automatically?
Cassio Posted February 8, 2012 Posted February 8, 2012 Which "reg" entry? -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
samersh94 Posted February 8, 2012 Author 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?
Cassio Posted February 8, 2012 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 -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
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