qbancoffee / imac_g3_ivad_board_init

iMac G3 IVAD board initialization with an arduino
GNU Lesser General Public License v3.0
146 stars 14 forks source link

Ivad sequence sent but display not showing anything #20

Open cardoric opened 1 year ago

cardoric commented 1 year ago

Hi, I finally got some time to delve into this project and wanted to ask for some help to get this working.

First of all, I would like to thank you for all your efforts in putting together these extremely detailed resources. It is super insightful and inspiring!

The reason for opening this issue is that, like others, I also got stuck on the step where I successfully managed to send the initialization sequence to the ivad board, but the display is still not showing any picture.

Just as a preamble, I'm using an iMac G3 (slot loading), and the screen works properly when connected to the original logic board. Also, I'm not sending the EDID sequence to the computer; however, I believe this shouldn't be a problem at this point.

Test 1:

To provide you with more details about my setup:

The result of the first test is that when I give power to the iMac, I can hear the static sound from the CRT followed by a click sound (sort of a relay sound) after a few seconds. If I remember correctly, this sequence of sounds occurred in the same way when using the iMac logic board. However, even after waiting for a long time, no picture was showing on the screen.

Test 2: I then made a second test where I tried to replicate a makeshift version of the power button input:

After giving power to the iMac, I can immediately hear the static of the CRT followed by the click, even before grounding the "power button" input. Shorting PD3 to ground for a short interval doesn't produce any effect, and as a result, I get the same result as in the previous test where no picture is shown on the display.

So my questions are: Is there something fundamentally wrong with my current MVP setup? If not, do you have any other suggestions on how to troubleshoot this?

Thanks

qbancoffee commented 1 year ago

Hi, thank you for the high praise!

I'm in between meetings at the moment so I'll fire off a quick response that will hopefully help you and if not I'll give you a more detailed response later on tonight.

Everything you've done to power the iMac is correct, including bypassing the power switch. However at least one of the I2C connections is necessary.

There are a pair of I2C buses we are dealing with in this project, the one that connects the arduino to the J20 connector (SDA_1 and SCL_1) and one that connects the arduino to the NUC via the VGA cable(SDA_2 and SCL_2).

The first one is absolutely necessary because that is the bus used to send the initialization sequence from the arduino to the IVAD board via the J20 connector.

The second one sends an EDID to the NUC via the VGA cable and is optional if you are willing to manually configure stuff on the NUC.

Without an EDID, the NUC has no way of knowing what the display capabilities of the iMac are so it's more than likely defaulting to a resolution and refresh rate that the iMac can't handle. If this is the issue, you can either connect a monitor to the NUC and manually force a resolution of 1024x768 @ 75Hz and then reconnect the NUC to the iMac or you can connect SDA, SCL and GND from the VGA cable to the arduino. Connecting the the second I2C bus is much easier.

Please let me know how it goes and good luck!

cardoric commented 1 year ago

Hey, thanks a lot for the quick response. Absolutely no rush in this!

Regarding the EDID sequence, i had tried already to force the NUC resolution to 1024x768 at 75hz with another monitor and then turned off the Nuc. So assuming that the NUC stores the last settings, it should be sorted on that side.

Related to the IVAD/ EDID buses, there is an interesting fact. Basically the IVAD bus is the only one i’ve connected from the arduino to the J20 connector. Although i’ve noticed a discrepancy: for this bus i used PC4 and 5 from the arduino (same as per the wiring diagram you have in the main page. However after looking at the schematic for the J20 board i noticed in there you’re using PC4 and 5 for the EDID sequence instead, and PD4 and 5 of the arduino for the IVAD sequence. This makes me think that currently i’m sending the EDID sequence to the IVAD board??

I’m not home at the moment, but i will try to switch to the other bus from the arduino to see if that was the problem.