c0pperdragon / Amiga-Digital-Video

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

A600 and other constrained installations #22

Open c0pperdragon opened 3 years ago

c0pperdragon commented 3 years ago

This thread is intended for discussions on how to get machines working with the generic small adapter board. I don't intend to actually build such boards, as it should be fairly easy for anyone experienced enough to also do the rest of the installation. I encourage the use of this thread as a means of communication to help each other with difficult installs and maybe to source parts or PCBs in a more cost-effective way.

Specifically for the A600, user @culexus8 made a very clear diagram on where the connect the various wires. This seems to be working quite nicely:

amiga600install

krug3rf commented 3 years ago

It is, there is no difference from 1.3 to 1.5 so Just follow the same steps. :)

thx Ok so the 3.3v for the Pi0 is not mandatory and we must use the 5v from R406 directly connected to the RGBtoiHDMI PCB.

solarmon commented 3 years ago

@solarmon: no chance that your design works with ANY A600 accelerator, unfortunately. Even any Fast Ram board I'm afraid as most of them clip on the 68000.

There is one that I'm aware of that should be compatible - the A608:

image

But yes, most of the others will not be suitable. This is more of a learning exercise for me.

culexus8 commented 3 years ago

It is, there is no difference from 1.3 to 1.5 so Just follow the same steps. :)

thx Ok so the 3.3v for the Pi0 is not mandatory and we must use the 5v from R406 directly connected to the RGBtoiHDMI PCB.

You can power the board just like you want :) you do not need to use the 5v from the R406, you can take 5V from some other place also. It is up to you. I even powered my board with an usb cable from the floppy connector. the 3.3 will be taken from the Pi0.

solarmon commented 3 years ago

It is, there is no difference from 1.3 to 1.5 so Just follow the same steps. :)

thx Ok so the 3.3v for the Pi0 is not mandatory and we must use the 5v from R406 directly connected to the RGBtoiHDMI PCB.

@culexus8

The RGBtoHDMI board needs to be fed 5V so that it can feed the Pi0. There is then a 5V to 3.3V regulator on the Pi0 which feeds the components on it. Asking "3.3V for the Pi0 is not mandatory" does not make sense.

culexus8 commented 3 years ago

@solarmon: no chance that your design works with ANY A600 accelerator, unfortunately. Even any Fast Ram board I'm afraid as most of them clip on the 68000.

There is one that I'm aware of that should be compatible - the A608:

image

But yes, most of the others will not be suitable. This is more of a learning exercise for me.

I might test this one day, :) just need some more ram and will be a perfect option. https://github.com/PR77/A600_ACCEL_RAM

krug3rf commented 3 years ago

Thanks all for your help 👍

2021-03-21_23 25 32 RGBtoHDMI_A600_v5 2021-03-21_19 46 06

Osmund commented 3 years ago

Thanks all for your help 👍

2021-03-21_23 25 32 RGBtoHDMI_A600_v5 2021-03-21_19 46 06

Looks great. Is the stl file available for download?

ryanm101 commented 3 years ago

Has there been a change? https://github.com/c0pperdragon/Amiga-Digital-Video/blob/master/smallkit/README.md mentions 3k3 res for R1/R2 but schematics say R2 should be 10K.

culexus8 commented 3 years ago

Has there been a change? https://github.com/c0pperdragon/Amiga-Digital-Video/blob/master/smallkit/README.md mentions 3k3 res for R1/R2 but schematics say R2 should be 10K.

I use 3k3 for R1 and 10K for R2 as the schematics say.

c0pperdragon commented 3 years ago

I just wanted to keep the number of different values down For the R2 the exact value is quite irrelevant. Just sone weak pull- up

ryanm101 commented 3 years ago

Ah fair enough

krug3rf commented 3 years ago

@Osmund

Looks great. Is the stl file available for download?

Thx :) Available here

kulamario commented 3 years ago

I have an amige 600, I made an adapter for denise, so I have signals straight from denise 166053202_291260685689380_5964301715953591819_n Unfortunately, the system does not work as it should at the beginning, everything jumped 166395810_3078999835753651_3019553194069666948_n So I disconnected the SYNC signal from denise and connected to the resistor as in the photo, which gave me a stable image, but the colors are not good 165851099_1168609620218570_5372073541754588332_n

do you have any advice for me?

Why is not possible get good screen from signals straight from denise? why we must use signals from U31 and U32 ? In A500 we take signals straight from denise please give me some solution because i not understand this behavior

c0pperdragon commented 3 years ago

The whole problem with all those jittery/sparkly artefacts for various solutions comes down to signal timing. The adapter needs to reliably capture the state of the color and CSYNC signals two times per system clock, basically on the rising and the falling edges of the clock line. With different denise versions you may or my not be able to cleanly capture these data.

Using the signals on U31 and U32 seem to have just the right delay to nicely match up with the clock edges when you wire up everything as shown in the top picture of this thread. If you want to bypass the buffers U31 and U32, you may need to clock the board with a different signal. As the denise in your machine has a second clock input that is phase shifted by 90 degrees, you could try to use this one instead and see if that works.

The problem with the colors is probably unrelated and is either an unconnected/shorted pin or you just mixed up something in your PCB.

c0pperdragon commented 3 years ago

After a second look at your garbled screen, I now guess that you have just mixed up the CSYNC and G3 lines. This would explain the green background that is broken by this black parts, which are likely the horizontal sync pulses.

iokaravas commented 3 years ago

Thank you all for your awesome work, I think I'll be attempting to add the RGB HDMI to my A600 as well. I've 3d-printed the base, got my Pi ready and waiting for the parts. I'm bad at cabling so I prepared a few cable labels for myself, but you might find it useful too :)

Amiga_Digital_Video_Labels_A600.pdf

20210401_130855

krug3rf commented 3 years ago

Thank you all for your awesome work, I think I'll be attempting to add the RGB HDMI to my A600 as well. I've 3d-printed the base, got my Pi ready and waiting for the parts. I'm bad at cabling so I prepared a few cable labels for myself, but you might find it useful too :)

Prefer use 28 or 30 AWG wires, if you can ;)

img

iokaravas commented 3 years ago

Sure! Thanks :)

kulamario commented 3 years ago

The whole problem with all those jittery/sparkly artefacts for various solutions comes down to signal timing. The adapter needs to reliably capture the state of the color and CSYNC signals two times per system clock, basically on the rising and the falling edges of the clock line. With different denise versions you may or my not be able to cleanly capture these data.

Using the signals on U31 and U32 seem to have just the right delay to nicely match up with the clock edges when you wire up everything as shown in the top picture of this thread. If you want to bypass the buffers U31 and U32, you may need to clock the board with a different signal. As the denise in your machine has a second clock input that is phase shifted by 90 degrees, you could try to use this one instead and see if that works.

The problem with the colors is probably unrelated and is either an unconnected/shorted pin or you just mixed up something in your PCB.

Do you have plans for do properly a600 adapter ?

c0pperdragon commented 3 years ago

@kulamario
I would really like to know if my previous guess, that you just mixed up the CSYNC and G3 lines, was correct.

kulamario commented 3 years ago

@kulamario I would really like to know if my previous guess, that you just mixed up the CSYNC and G3 lines, was correct.

On multimeter beeper not show any short I check as well G3 and CSYNC all connections is correct

solarmon commented 3 years ago

@kulamario Can you share your Denise pinouts - the symbol and footprint. On my Denise PLCC hat design, I spent ages trying to get it right and had to revise it several times. But I've still to receive my PCB and to test it though.

image image

kulamario commented 3 years ago

1 170202624_565297311035989_2336838514472090369_n

kulamario commented 3 years ago

I have different library like you even numbers of pins is wrong 170126994_188617159565291_1121250590381587930_n

solarmon commented 3 years ago

@kulamario

Well, I've still to get my PCBs and test my design - so I can't say yet 100% that whether my pinouts are right or wrong. But there's a difference, so one of us is going to be wrong!

solarmon commented 3 years ago

@kulamario

I just tested my design and the pinouts seems to be correct and it is working, without any pixel sparkles or other issues.

image

image

kulamario commented 3 years ago

so my library in eagle is bad can you share this what you done?

solarmon commented 3 years ago

@kulamario

I use KiCAD. The schematic symbol and pinouts of Denise is not the issue. The problem is likely to be with the PLCC footprint in the board layout and the pin number used for it.

You probably just flipped the through hole pins, but there is a bit more to it to get the right pin numbering for the PLCC hat.

You can see in my picture of my PLCC footprint, the pin numbering I had calculated it to be. You need to change your footprint used in Eagle to match this and the pinouts should be then correct.

kulamario commented 3 years ago

@kulamario

I use KiCAD. The schematic symbol and pinouts of Denise is not the issue. The problem is likely to be with the PLCC footprint in the board layout and the pin number used for it.

You probably just flipped the through hole pins, but there is a bit more to it to get the right pin numbering for the PLCC hat.

You can see in my picture of my PLCC footprint, the pin numbering I had calculated it to be. You need to change your footprint used in Eagle to match this and the pinouts should be then correct.

I know I can change lib but dnt know how

krug3rf commented 3 years ago

@solarmon great job for the PCB ! Do you think to share it ?

solarmon commented 3 years ago

@krug3rf @kulamario I've put my KiCAD design files at:

https://github.com/solarmon/RGBtoHDMI

iokaravas commented 3 years ago

So managed to wire up everything as in the first picture! It works! Setting it to PALHiRes I'm getting garbled pixels / lines at various places on the screen...

I'm fairly new to electronics, could it be the wire length?

20210502_234825 20210502_234837 20210502_230942 20210503_001420

c0pperdragon commented 3 years ago

Your wires look really extremely long. This might easily be the cause of signal corruption.

iokaravas commented 3 years ago

Yup! seeing how the noise/garbled pixels do not happen all the time , I think I agree :D Too excited to get it working that I totally forgot about the length and just tied it up. Still waiting on a button to put on it so I'll be revisiting soon! Thanks for the awesome work.

dtheodor79 commented 3 years ago

Just in case anyone interested, I also created a small PCB that reads directly the RGB signals and delivers them to the adapter. https://github.com/dtheodor79/A600-RGB2HDMI

Hope you find it useful!

boonexpert commented 3 years ago

Hi guys, I have some green pixels flickering, mostly at the top of the screen, what the problem could be? Thanks!

c0pperdragon commented 2 years ago

Flickering effects in the topmost pixel row sometimes disappear when slightly overclocking the Pi so the data transfer gets a bit more reliable. There is a option for this in the settings menu. You need to have the push button installed to get access to that.

boonexpert commented 2 years ago

Flickering effects in the topmost pixel row sometimes disappear when slightly overclocking the Pi so the data transfer gets a bit more reliable. There is a option for this in the settings menu. You need to have the push button installed to get access to that.

Thank you, will try that.

luwii commented 2 years ago

Newbie debugging question - I built V1.3 of this board, and having some problems. I'm not getting any screen output from the Pi (the monitor is blank, does not flash anything) The Amiga boots fine and I can see the green Pi led flash twice when I turn it on.

I'm trying to work out where to look for the problem more than anything else. How can I check if my Pi is working correctly vs something on the board/ connections? (I've not configured anything on the SD card, it has bootcode.bin and looks like a 17 Sept 2021 version of the software)

krug3rf commented 2 years ago

Newbie debugging question - I built V1.3 of this board, and having some problems. I'm not getting any screen output from the Pi (the monitor is blank, does not flash anything) The Amiga boots fine and I can see the green Pi led flash twice when I turn it on.

I'm trying to work out where to look for the problem more than anything else. How can I check if my Pi is working correctly vs something on the board/ connections? (I've not configured anything on the SD card, it has bootcode.bin and looks like a 17 Sept 2021 version of the software)

hi :) I have made many 1.1 version without problem. I think you must ask help into jockel71's Github.

luwii commented 2 years ago

Thanks, I did consider that, but as my question is relatively generic and relates more to how I can know if the Pi side of things are working, rather than the specific implementation, this seems to be the better option. Guess I can add it there with some more detail.

solarmon commented 2 years ago

@luwii To test the Pi - install Raspbian OS on it and test that it works on its own.

Also, try different micro SD cards, as some seems to work and some don't.

IanSB commented 2 years ago

@luwii

First try holding the menu button down during power up which will force the output to 60Hz in case your monitor can't display 50Hz (Can also just short out the two pin header with a link)

If that doesn't help, connect the debug serial output of the Pi zero on pin 8 of the GPIO connector to the RX input of a USB to serial TTL converter (GND on Pin 6 of GPIO) and display the debug log on a serial terminal program (115200 baud, 8 data bit, no parity).

luwii commented 2 years ago

Thanks, did not think of the card. - I tested Rasbian OS and it works fine, reformatted the same card to FAT32 and copied all the files on. Seems to behave the same, two flashes from the green LED, nothing on HDMI. (NO changes to cables or monitor) Noticed that the monitor flashes the correct HDMI input port number when it boots, so it is detecting something. The button hold down did not seem to make a difference. Will try the debug output next .. I assume this is enabled by default?

IanSB commented 2 years ago

@luwii

I assume this is enabled by default?

Yes, it's always output, no need to change anything.

luwii commented 2 years ago

Thanks for the help - I looked at the serial output, it detected that it's an Amiga, found some screen resolutions etc. Nothing seems to indicate an error so I'm suspecting I need to delve more into the board.

luwii commented 2 years ago

Read somewhere, no menu likely means no clock, traced it and found a short on the board. (And thought I checked for shorts) Works now! Image quality is exceptional.

krug3rf commented 2 years ago

Read somewhere, no menu likely means no clock, traced it and found a short on the board. (And thought I checked for shorts) Works now! Image quality is exceptional.

well done ^^ On mine I select Amiga's profile "Amiga Blk-Scanlines" from the menu :)

solarmon commented 2 years ago

Read somewhere, no menu likely means no clock, traced it and found a short on the board. (And thought I checked for shorts) Works now! Image quality is exceptional.

@luwii There was nothing in the serial output that suggested that it could not find a clock signal?

xvortex commented 2 years ago

Anybody consider this FPGA board https://www.cnx-software.com/2021/08/18/tang-nano-4k-fpga-board-hdmi-camera/ as stadalone stolution for the Amiga’s rgb to HDMI? This will allow us to get away from the raspberry pi and make the output more «hardware» :)