Thanks waterwingz and microfunguy for the realistic expectations on any collaboration. I'll go it alone, no problem.
As far as general advice, which is all I'm really asking for from those who'd know best, where's the best place to start learning about the firmware for an absolute beginner. And, if it isn't any trouble or you know off the top of your head (seeing as how you've guys have been all through the firmware) what section deals with video- or is it scattered?
What I mean is this, when reverse engineering a device to use on a computer for example you'll have to find the section in the system table that deals with the correct device and re-code the id's and change some 1's to 0's among other things
ex.1
Name (_ADR, 0x00060001)
OperationRegion (P020, PCI_Config, 0x49, One)
Field (P020, AnyAcc, NoLock, Preserve)
{
U0WK, 1
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x05)
{
"AAPL,clock-id",
0x02,
"AAPL,device-internal",
0x20,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (One, U0WK)
}
Else
{
Store (Zero, U0WK)
}
-from a dsdt table for a hackintosh
This is somewhat easy to do because of terminal which allows you to see vendor id's and where everything is mapped to the memory/hardware. So for example if I wanted to use an unsupported wlan card I could get around any white/black lists by either tricking os/bios into thinking it's something else or adding my own support (new kext) which would be more difficult.
So to clarify, since I can't just lspci my camera to get info, how would I find the section dealing with video? Once I've found the section can I just change some values in DISKBOOT.BIN to enable the desired results , or would I need a lua script to either supress this function/enable that function to go on top of that?
Am I completely off here? Please, any advice just pointing me in the right direction is appreciated and will help advance the technology. I'm not asking anyone to take their time and make this happen that's my job but any off the top of the head info you would share/ link to either explaining unfamiliar concepts or pointing me to sections of interest would be more than helpful.
Apparently this won't be easy at all and you dev's and guru's know better than I do what I've just got myself into...
BTW microfunguy from what I understand you've done tremendous things to advance our state of knowledge and tech and I thank you for your contributions to the world.