I have found that for linux it is possible to use vga, hdmi and other video connector's ddc's i2c ports to program and communicate with periphial devices. I have also found that apparently no one has been able to do it for windows, with the exception to nicomsoft. Nicomsoft has software that I have verified can read the i2c ports and not just access edid registry. I have an accelerometer connected and when I run the software it can detect a device at it's address. So I know it is possible but I have no idea if it is possible to use windows to do it. I know windows video port driver can call the miniport driver and get pointers to i2c callback structure containing explicit controls of the clock and data lines. The problem is it does not seem to export any of these pointers to anything else, like a user api let alone another kernal mode driver. I have considered that it might be possible at a hardware level were I have found out the intrcacies of the hardware, I have even seen an example of a video miniport driver on this site. I have an amd laptop which uses the bolton fusion controller hub which has vga ddc i2c ports. If you search amd docs for bolton fch you can find the documentation. basically I know the hub's i2c ports physical pins which my guess are both strung out to the hdmi and vga port's on my lap top. I have alos looked up the hub's general pupose i/o registers and it appears that they correspond to the pins. For instance ddc_i2c_scline is gpin70 and the data gpin71. the gpio registers are numbered correspondingly except the decimal pin number is changed to hexidecimal for the register. I can find the memory offset. My question is now, can I call gdi's function to map video memory to the process virtual memory, then write to these registers, turning them on and off? It is difficult to tell just what perspective on the memory I will have. Also if this worked, it would not be platform independent and would only work for pc's with bolton fusion controller hubs. Nicomsoft's program seems to be platform independent so either it wrote drivers for all common hardwares or it is using windows video port driver somehow? I have been working on this for several months and if someone could please help it would be awsome. thanks.