c0pperdragon / Amiga-Digital-Video

Add a digital video port to vintage Amiga machines
295 stars 30 forks source link

Amiga Digital video not work in Amiga 500 Rev 3 #28

Open kipper2k opened 3 years ago

kipper2k commented 3 years ago

Hi all,

Have tested this with 2 different Amiga 500 Rev3s and neither will work with the adapter. The Pi splash screen will appear but the Rev3 refuses to display (black screen only) through HDMI. I have swapped Denise and the Agnus with no joy. I can't find a schematic on the Rev3 for comparison so not sure what the issue is.

philipkonkyl commented 3 years ago

@Bunta714

No I have the exact same experience as you. My "No Sync signal" despaired though, and I could see the OSD menu with the jumper set to Denise. Before it was total black screen on Denise jumper setting.

But I have not managed to get a signal yet.

Do you have any Idea what we are doing wrong @c0pperdragon ?

c0pperdragon commented 3 years ago

I have done some more research and reading of schematics. My hypothesis is now that you really have a board that is slightly different from what is commonly considered to be Rev.3 (the different location of the Oscillator is a sure hint). So the schematic from the original Amiga manual may not be 100% accurate.

I guess that the CSYNC signal is running through a different pin on either U40 or U41. This could have been a kind of "irrelevant" change and the Amiga developers did not bother providing a different schematic.

So what you actually can do to check this is to trace the _CSYNC signal from pin 80 of the Agnus chip to the input pins of the output buffers (U40 or U41). You can easily do that with just the continuity test of even the most basic multimeter (while the machine is switched off): When facing the top side of the board, Agnus pin 80 is the 6th from the left on the bottom edge. Check to which input pin (on the bottom row) of U40 or U41 this pin is connected. Chances are it is not pin 9 of U41, but some other pin (of U41 or U40). You need to attach the botch wire from Denise pin 32 to this one instead.

If I am correct, please let me know here.

Bunta714 commented 3 years ago

@c0pperdragon I'll try this out and report back with the results. Thank you for the suggestion!

hansliss commented 3 years ago

I have done some more research and reading of schematics. My hypothesis is now that you really have a board that is slightly different from what is commonly considered to be Rev.3 (the different location of the Oscillator is a sure hint).

I found a reference to the X1/Y1 option, at least. But the rest of the schematic look the same in all versions I've found. Still, who knows what variations may be out there.

A500_X1_Y1

philipkonkyl commented 3 years ago

@c0pperdragon

Could you point to pin 80 on the underside of the Agnus chip ? 106672963-e9ef7080-657e-11eb-8992-c83dfc57b3ec

:-)

c0pperdragon commented 3 years ago

I don't know what the pin assignment on the underside of the board is for these PLCC sockets. I wanted you to just proble continuity on the top side of the board. There it is much more clear, which pin is where. Agnus pin 80 is the 6th from the left on the bottom edge (when holding the board in the usual direction with all the writing upright and most of the chips upside down). Agnus itself is the only square IC, and there is a big "1" marker on the edge where also the pin 80 is located. agnus_pin_80

Bunta714 commented 3 years ago

This is the pin on the bottom and another point on the top. There are at least 2 other points that are connected as well if you just follow the traces. However, it seems to be going to the correct pin on U41 as shown by Kipper2k.

I also looked at the schematic for the Video Hybrid IC and found that pin 18 on that is marked as cysnc and that is connected to a different pin on U41. I will try that next. 20210508_140206

20210508_140229

Pin 18 on Video Hybrid goes to pin 11 on U41 I believe.

c0pperdragon commented 3 years ago

I still don't really know what is going. Do you by any change have access to an oscilloscope? Everything would be so much easier when just probing the two relevant Denise pins while the system is running.
Maybe you two even have completely different problems.

And yes, the Video Hybrid gets its _CSYNC from an output of the bus tranceiver U41 which would be pin 11 for the input pin 9. You can even try to take CSYNC from the Video Hybrid itself. I guess this should really be the same even if the board is slightly different otherwise.

Bunta714 commented 3 years ago

I actually just got an oscilloscope today. I have never used one before, however!

c0pperdragon commented 3 years ago

A good opportunity to learn, then! Try to probe what is comming in on pin 32 and on pin 34 of the Denise. Pin 34 should receive a simple 7.14 MHz rectangle signal (_CDAC). Pin 32 would be more complicatec (_CSYNC) and look something like this: https://static1.squarespace.com/static/51f517f0e4b01da70d01ca2a/t/5bd8dfbf1ae6cf1fcecfd38d/1540939711856/240p_flavors.png

Bunta714 commented 3 years ago

7.09Mhz on pin 34 and pin 32 looks like this: 20210509_074743

Bunta714 commented 3 years ago

A better shot of pin 32 20210509_075315

c0pperdragon commented 3 years ago

That is very, very interesting. So the _CSYNC signal actually just goes down to about 2.5V for the low pulse. (high pulse is about the correct level of 5V). With this input levels, it is clear why the mod board can not correctly detect the sync pulses.

The question is of course, what causes this stange in-between voltage level. Normally this is a sign that two output drivers try to drive the same line to a different level. Maybe this is caused by your botch wire between Denise and U41. Try to remove this one wire and probe both points independently. My guess is that then pin 9 on U41 will show clean 0V for the low sync level. And Denise pin 32 could actually be pulled to +5V by some yet unknown circuitry. If this is correct, please try to find out what is pulling this pin to +5V. As on the more common variants of Rev.3 (and the schematics in the user manual) this pin is completely unconnected.

bkodenkt commented 3 years ago

I have a custom-made adaptor board (mirrored, angled connector to get the case closed) for a CDTV that does work in one CDTV but in the other CDTV machine, it has the same problems as described in the first post: I get a very short Pi0 "rainbow" boot-up screen, then the HDMI loses signal. RGB output is fine all the way, though. Are there any known missing signals on the Denise chip on a rev2.2.1 CDTV board that could cause the same issues you see on a rev3 A500 board?

Am I right that, if I put this board into my rev5 A500, it should work just normally? And, in a swap, the known good board from the A500 should refuse to work in the CDTV as well?

c0pperdragon commented 3 years ago

@bkodenkt I have no special Information on the CDTV beyond what a quick search just gave me. It looks like the _CDAC and CSYNC signals should be delivered to the Denise pins as in the Amiga 500 boards from Rev.5 upwards. So this should actually not be an issue here.

c0pperdragon commented 3 years ago

@bkodenkt You could really try to swap the boards around. My guess is that something is not working correctly with your adapter/Pi in the non-working setup.

Bunta714 commented 3 years ago

Here is Denise pin 32 without the wire connecting it to pin 9 of U41. Denise Pin 32

Here is Hybrid Video IC Pin 18, U41 Pins 9 and 11 Hybrid Video IC Pin 18 + U41 Pins 9   11

c0pperdragon commented 3 years ago

That is totally strange! The CSYNC should be a normal signal switching between 5V (approx) and 0V. There must be something preventing it from going down to proper 0V. At least there is nothing funny going on with the Denise input pin itself.

When the schematics is also correct otherwise, the Agnus and the U41 ICs are the only ones connected here. So there must be something strange on either of these two. If you are lucky, only U41 is bad. You could do some more testing on this ICs and probe all its poins (including the power pins) and check what high and low levels you can see on them (should be either near 5V or proper 0V).

bkodenkt commented 3 years ago

@bkodenkt I have no special Information on the CDTV beyond what a quick search just gave me. It looks like the _CDAC and CSYNC signals should be delivered to the Denise pins as in the Amiga 500 boards from Rev.5 upwards. So this should actually not be an issue here.

I just found these schematics, but it is unclear which CDTV board revision it refers to:

Screenshot_20210510-114940~2

CDAC is delivered to Denise, yes, but CSYNC is blank on pin 32, although it had connection drawn to the CSYNC signal that later hits the Video Hybrid. I will keep investigating further. Maybe I can just hook the signal from somewhere else to Denise pin 32.

Bunta714 commented 3 years ago

It's really odd because the RGB out works perfectly fine via various means (OSSC, RGB CRT monitor, RGB -> VGA cable w/ 15Khz monitor, etc.), and that has a CSYNC signal on it on pin 10, doesn't it? This should be coming from Pin 18 on the Video Hybrid IC?

I am getting some more Pi Zeroes this week, so I will try with a brand new one and see if it has any effect.

That is totally strange! The CSYNC should be a normal signal switching between 5V (approx) and 0V. There must be something preventing it from going down to proper 0V. At least there is nothing funny going on with the Denise input pin itself.

When the schematics is also correct otherwise, the Agnus and the U41 ICs are the only ones connected here. So there must be something strange on either of these two. If you are lucky, only U41 is bad. You could do some more testing on this ICs and probe all its poins (including the power pins) and check what high and low levels you can see on them (should be either near 5V or proper 0V).

Bunta714 commented 3 years ago

Connected the Denise pin 32 directly to pin 18 of the Video Hybrid IC and it works!

c0pperdragon commented 3 years ago

Very good! So the U41 is somehow able to properly amplify this off-spec signal to send it to the video hybrid. Still a very strange behaviour, but if it now works for you, that is all that is needed. You could also have used pin 11 of U41 which is basically the same trace as the video hybrid input.

philipkonkyl commented 3 years ago

@Bunta714 or @c0pperdragon. That sounds awesome. could you send be a picture of where I should try to connect it to. Right now I have solder everything on the back of the motherboard ? :-)

kipper2k commented 3 years ago

For the CDTV i just redone the shape of the a500 version. I done similar to this as to the A600, basically made a signal breakout board for denise and trnsferred them to the 20 pin FFC cable, the cable length is 30cms (1,0mm pitch)

i'll find some pics

20210424_114013

20210424_150309

The case closes fine. I redone it to fit on the right side plate at the back and made the left plate for joy/serial mouse/usb mouse and a500 keyboard input. ( imade a little error on the back pcb that i had to run a jumper.

Also you can see that i used a 32 pin ffc header as i didnt have a 20 pin one handy at the time but the boards are set up for 20 pin FFC cable. Picture quality is awesome! The final version has only the 20 pin FFC headers on the pcb.

The hdmi connectors from the Pi were bought from https://www.buyapi.ca/search.php?search_query=diy%20hdmi&section=product

You don't need to buy the cable, any 20pin 0.5mm pitch cable will suffice.

I initially done this design with a 20 pin IDC through hole connectors. I got rid of them as there isn't enough space up top to close the case so only FFC is needed

c0pperdragon commented 3 years ago

@kipper2k This is a very neat solution for the HDTV.

I didn't know that it is quite possible to fit a FFC cable into a socket that has more pins. But probably this is just a matter of holding the tongue at the right angle while fitting the cable ;-)

c0pperdragon commented 3 years ago

@philipkonkyl I marked pin 11 of the U41 chip. This the trace were Bunta714 successfully took the CSYNC signal from. I have no idea if that will also work for you, but you can try. Solder the cable from Denise pin 32 to U41 pin 11 instead.

A500Rev3_CSYNC_wiring

bkodenkt commented 3 years ago

@bkodenkt I have no special Information on the CDTV beyond what a quick search just gave me. It looks like the _CDAC and CSYNC signals should be delivered to the Denise pins as in the Amiga 500 boards from Rev.5 upwards. So this should actually not be an issue here.

I just found these schematics, but it is unclear which CDTV board revision it refers to:

Screenshot_20210510-114940~2

CDAC is delivered to Denise, yes, but CSYNC is blank on pin 32, although it had connection drawn to the CSYNC signal that later hits the Video Hybrid. I will keep investigating further. Maybe I can just hook the signal from somewhere else to Denise pin 32.

Problem solved. It was NOT a missing signal. I accidentally swapped the microSD card with the card in my working rev5 A500 RGB2HDMI and it worked. Turns out that the new microSD I used on the CDTV RGB2HDMI was somewhat faulty. I used another card, same brand and size, and new as well, and that one works. Soooooo, even if a problem looks the same, it can have a totally different reason...

LejonD commented 3 years ago

For the CDTV i just redone the shape of the a500 version. I done similar to this as to the A600, basically made a signal breakout board for denise and trnsferred them to the 20 pin FFC cable, the cable length is 30cms (1,0mm pitch)

i'll find some pics

The case closes fine. I redone it to fit on the right side plate at the back and made the left plate for joy/serial mouse/usb mouse and a500 keyboard input. ( imade a little error on the back pcb that i had to run a jumper.

Also you can see that i used a 32 pin ffc header as i didnt have a 20 pin one handy at the time but the boards are set up for 20 pin FFC cable. Picture quality is awesome! The final version has only the 20 pin FFC headers on the pcb.

The hdmi connectors from the Pi were bought from https://www.buyapi.ca/search.php?search_query=diy%20hdmi&section=product

You don't need to buy the cable, any 20pin 0.5mm pitch cable will suffice.

I initially done this design with a 20 pin IDC through hole connectors. I got rid of them as there isn't enough space up top to close the case so only FFC is needed

I like the CDTV version you build, are the PCB layout available so I can duplicate a version for my CDTV.

ChrisFredriksson commented 2 years ago

I'm also wondering if the CDTV version is available somewhere? Would love to get me one of those!

bkodenkt commented 2 years ago

I'm also wondering if the CDTV version is available somewhere? Would love to get me one of those!

@solarmon sells some pieces on Amibay and Mateusz K on Facebook in the big Amiga group.

ChrisFredriksson commented 2 years ago

Would be great with some links if you know that they are being sold there? I would still love gerbers/KiCAD files/stl files and such if its available so I can make those myself.

solarmon commented 2 years ago

I'm also wondering if the CDTV version is available somewhere? Would love to get me one of those!

@solarmon sells some pieces on Amibay and Mateusz K on Facebook in the big Amiga group.

I don't have a specific CDTV version at the moment - but the Denise DIP FFC breakout hat version should obviously technically work, but won't quite be the correct form factor. I see @kipper2k already has a very nice CDTV version as shown above - https://github.com/c0pperdragon/Amiga-Digital-Video/issues/28#issuecomment-841678821

ChrisFredriksson commented 2 years ago

I know, but there is no contact information to the mysterious @kipper2k, his website is gone, he almost never replies in threads unless he needs help or has questions. I'm just hoping that he will respond or at least if someone else got the design off @kipper2k to share perhaps..?

solarmon commented 2 years ago

I know, but there is no contact information to the mysterious @kipper2k, his website is gone, he almost never replies in threads unless he needs help or has questions. I'm just hoping that he will respond or at least if someone else got the design off @kipper2k to share perhaps..?

See Amibay sales post for another option, but I don't know if there are still any left:

https://www.amibay.com/showthread.php?118447-RGBTOHDMI-Adapter-for-CDTV

I was thinking of doing a CDTV version myself, which would mean the KiCAD design files and gerbers will be freely available. Now that I have a (partially working) CDTV, I should probably do that.

ChrisFredriksson commented 2 years ago

Thanks for the link! Those seems to be the "normal" A500 version with an angled header, right? Doesn't seem to hard to modify. But would be awesome to see an expansion variant, like the kipper2k above.

But with all the designs already available, open source, I guess its not too difficult to create that myself either 😀

solarmon commented 2 years ago

That version has taken the 'normal' A500 and moved the Pi header the other side, and probably flipped the pinouts so that angled headers could be used.

I'm not aware of that design having the source design files (not gerbers) available.

bkodenkt commented 2 years ago

I can confirm that @solarmon 's solution works with the CDTV and allows to close the case. The flexcable has to be routed left, down and then the RGB2HDMI/Pi0 need to be placed between CD drive back and the upper mainboard shielding. https://www.amibay.com/showthread.php?118201-solarmon-RGBtoHDMI-boards-(for-A600-and-A500-)

Mateusz Kowalski is selling angled adaptors on Facebook. These work fine in the CDTV as well. You might ask him for the source files: https://www.facebook.com/groups/CDTVUG/posts/4227475423977658/

LejonD commented 2 years ago

@kipper2k , doesn't answer much, but i cant use these versions with the Pi on the richt side above the CIA's bacause there is an other project of mine. So i really are intrested in the @kipper2k version

solarmon commented 2 years ago

I'm now testing a RGBtoHDMI solution for the CDTV that fits straight in to the video slot.

image

image

image

It works nicely, but needs some further minor design tweaks.

janlugt commented 2 years ago

I have a rev 3 A500, and the two-wire solution on the bottom of the board offered by kipper2k works like a charm. Tested it before the extra wires were placed, and got a black screen, as expected. Thanks!

MKafke commented 1 year ago

Hi! I experience the same problem, but with the A500 Rev. 6a mainboard. Perhaps a similar problem? The rest of my setup is: RasPi Zero W 1.1, RGB2HMDI-Board set to Denise (not SuperDenise). The RasPi and my Mini-HDMI adapter work. I tried two different monitors and a flatscreen TV. The monitor says, that an HDMI signal is coming in, but it is just a black picture. The OSD cannot be opened. I don't even see the Pi splash screen.