New composite/S-video encoder for MSX

By Eugeny_Brychkov

Paragon (1172)

Eugeny_Brychkov's picture

17-06-2019, 16:05

Over last several weeks I had been scratching my head over the prototyping of the new encoder board for MSX. It is based on AD725ARZ chip. However prototyping does not go smooth, and I am still to decide if I dtop AD725 and reuse my old good CXA1645 design.

I was aiming high:
- design must have S-video as well as color composite outputs;
- must output good quality of composite signal;
- should work in both NTSC and PAL modes.

Some days ago I learnt that Alexey did already make an attempt to use AD725 before - his device is called Zefisha. I do think that he turned back to CXA1645 for the reason... Here're the issues I found out during development:

  1. AD725's RGB signals are max 0.741 Vpp. V99xx outputs signals max of 1 Vpp. While AD725 can cope with level above spec, I would say the picture is a kind of over-saturated, and in addition it is not clear is this overvoltage causes excessive power consumption or may cause premature damage to the chip. I was advised to use buffer chips, but I think that is not so simple as well as adds cost and board space;
  2. AD725 is very critical to the width of the HSYNC pulse. The issue described here costed me quite a time and effort to find root cause for. While VDP datasheet promises max 4.7 us for HSYNC pulse, it may be up to 5.something at the CSYNC output, and delayed/increased in time down the circuit. In my case CSYNC pulse was 6 us, and AD725 was going crazy;
  3. The worst issue with AD725 is dot crawl over composite signal. Tuning 14.31818 MHz oscillator to the frequency stops dot crawl, but there're still color artifacts on the screen. Interesting, I do not recall having such issues with CXA1645 - its image is a little worse than AD725, but does not exhibit these dynamic issues. Tried to clean up power to no positive outcome. Generally dot crawl happens because there's carrier phase misalignment between horizontal lines. I have thought of various ways to align the clock to the CSYNC pulse (to ensure clock is always aligned and not drifts away with temperature), and decided that it would be an overkill in terms of components and cost. In addition, VDP consumes 21.47727 MHz clock (6*NTSC), but AD725 wants 14.31818 MHz (4*NTSC), and the only operation of division by 1.5 to sync AD725 with V99xx adds several chips. If using CXA1645 I connect it directly to the CPUCLK of NTSC frequency.

You may ask why I use AD725 and not 24/23 which accept CPUCLK. Answer is simple: I thought that higher frequency will lead to better quality, and I simply did not find those chips available.

We had been testing with edoz yesterday on his PAL machines both NTSC and PAL modes, and 8280 cool monster he possessed appeared to be really cool machine. I looked into its circuit diagram, and while did not understand how it works, it seems it is capable of changing VDP frequency depending on the encoding mode selected. I also suspect that it has custom BIOS to set F7 register together with VDP register #9. Anyway I am not going to implement anything like this as it is real overkill, as well as Sony V70xx chipset most probably is not available any more.

Login or register to post comments

By Danjovic

Master (182)

Danjovic's picture

17-06-2019, 23:47

Thanks for sharing your experience with ad725 chip. This kind of information is precious and hard to find!

By mohai

Paladin (914)

mohai's picture

18-06-2019, 20:16

@ Eugeny:
You have mail !

Also, can help you:

By OeiOeiVogeltje

Paragon (1390)

OeiOeiVogeltje's picture

18-06-2019, 23:20

i sense another great piece of hardware in the making!!!!
i have no idea what it is but i want one!

By sd_snatcher

Prophet (3435)

sd_snatcher's picture

18-06-2019, 23:42

Tip1: The CXA2075 is the sucessor and has way better picture quality than the CXA1645.

Tip2: The AD722 and AD724 encoders seem to be much easier to use than the AD725

By Eugeny_Brychkov

Paragon (1172)

Eugeny_Brychkov's picture

19-06-2019, 00:09

sd_snatcher wrote:

Tip1: The CXA2075 is the sucessor and has way better picture quality than the CXA1645.
Tip2: The AD722 and AD724 encoders seem to be much easier to use than the AD725

Can not source any of these chips. Agree on the easiness of usage for AD724. Just today in the evening looked at composite image of CXA1645 again, and got disappointed. AD725 gives much better picture, but it is not stable - it suffers from this dot crawling effect. Maybe it does not like CSYNC pulse provided by the VDP, probably it also does not like 1Vpp level for RGB signals...

By sd_snatcher

Prophet (3435)

sd_snatcher's picture

19-06-2019, 00:43

UtSource has the CXA2075 on stock.

The AD724 is a newer ship and can be found on many suppliers. The same goes for the AD722. UtSource also has both of them at good prices.

By Eugeny_Brychkov

Paragon (1172)

Eugeny_Brychkov's picture

22-06-2019, 18:11

V9958: I think it must be remarkable that color 4 (pure blue) in screen 0 is having small green and red components in it - approximately 160 mV out of 1V (peak-to-peak)! This effect is very well seen on the grayscale screen (with luma only). I disconnected blue wire from the AD725, and expected to see black screen. This is not the case - I still see dark image of the screen (less blue component in the luma equation).
Color 1 (black) has all three colors at solid zero level.

Edit: it seems to be a crosstalk between the channels. If I set color 7 (cyan) with G and B components at max, I would expect R component to be at zero, but its level is 320 mV, exactly double of the case when only one color channel is active.

Edit 2: confirmed on my YIS503-3 machine with V9938. Previous measurement was made using GR8BIT.

By Grauw

Ascended (9683)

Grauw's picture

22-06-2019, 19:44

That seems normal. No colour in the default palette is pure except for white and black.

Use COLOR=(4,0,0,7) to get a pure blue.

By Eugeny_Brychkov

Paragon (1172)

Eugeny_Brychkov's picture

22-06-2019, 20:54

Bad thing that I am ashamed, good thing is that my harwdare is operating properly LOL!
Thank you!