Jump to content
IGNORED

RGB/YPbPr Intellivision Thoughts


the_crayon_king

Recommended Posts

16 hours ago, YannAros said:

Hi,

 

I've studied a bit the CSYNC stuff, and ended doing 1XXX1 (V5 to V1) that seemed to work with my LCD TVs, then I've found another TV that wasn't syncing good horizontaly.

Feedling around I could obtain a stable image by "delaying" the sync signal adding a 47nF cap between sync and GND, however as you delay the sync signal the image gets shifted towards the left.

Playing further I've found that using 1XXXX is working on this LCD TV, but not on my other ones working with 1XXX1. Later on I've found another LCD TV that had the same behaviour requiring 1XXXX and some other users of the kit had to do the same.

So my PCB comes with a jumper allowing to select either one of these methods.

 

I'm also using V5 as OE input for blanking as you suggest.

I took a look at your schematic, that from a high level should work, I didn't look into the details.

Mine is using separate resistors for each RGB of each colour, allowing more control over the end result.

 

One thing also regarding component selection, I've done it so that I can get the full PCB assembled and SMD component mounted by JLCPCB, this way, even if the component is a bit more expensive, I have no complex soldering to do.

At the end we are not talking about huge costs (assembled PCB for a batch of 30 should be around 4$ without shipment cost and custom fees), I'm adding connectors for convenience but you can solder wires directly on PCB to.

 

This is what it is ooking like in the French Intellivision model that has embedded power supply, I designed it so that it can be mounted where the power supply PCB usually sits:

IMG_0932.thumb.JPG.3a6dba1896cfc76fbdab1189944a64dd.JPG

 

 

Ok so I looked into the whole 1XXXX thing:

853052481_1xxx1and1XXX0.thumb.png.1e559652a94e794169d5c269b369e678.png

 

1XXXX is basically sync, blanking and burst all in one. Image rolled on my CRT

1XX10 (burst) happens after hsync (1XXX1) and appears to have blank 1XX00 between it and hsync. This worked on my CRT to get video. There might be other instances of burst that happen too quickly for my CPLD to process.

1XXX1 is more or less what I have been using for sync.

1XXX1 + 1XX10 is combining HSYNC and Burst into one long pulse with blank in-between it. I could with some effort make this one long pulse. This worked on my TV as far as I could tell since I had to cut out alot of colors to make it fit.

 

So the question becomes really what length should hsync be?

When you are using 1XXXX you are basically using the blanking period for sync. Why the heck would any TV prefer that is another question.

 

I will have to do some more experiments at some point in the near future.

 

JLPCB is finally offering assembly? I might be able to do some more interesting things in the near future given that information. My poor eyeballs can't take much more hand soldering.

 

At any rate I like what you have done. Something that is mountable is far preferable to drilling into shells. I will eventually make something that replaces the RF modules.

 

Link to comment
Share on other sites

Well his board could only be used on Intellivisions that didn't need the internal power supply board. He didn't give specifics, but I'm assuming he has a replacement transformer that provides the needed voltages already and doesn't require the board as most North American ones likely would. I haven't figured out how I will do any of the mounting when I get to that point. I prefer to keep the RF in place as an additional video out for troubleshooting purposes whenever possible and have never been too fond of having to glue the AV connectors to the console. I might see if I can find a spot to solder my 9-pin AV outs (that I wil llikely be using instead) onto the mainboard of the Intelly itself. That would likely require that the larger black RF shield be permanently removed since it is kinda hard to cut through as compared to the much thinner RF shields I'm used to on the CV and Atari systems. Also where to mount the RGB boards is another question. I might just 3M velcro them to the PCB as I do with most of my AV boards. With that larger RF removed there would be plenty of room for that. 

Link to comment
Share on other sites

Let me try to explain the situation in France. France is using SECAM modulation for the RF signal. Initial Intellivisions where PAL models modified with a daughter board connecting in place of the LM1886n found on the PAL boards. For these boards you can use a simple 3 bit DAC per color as the conversion from Vx signals to digital RGB is already done.

I believe that for cost reduction a new PCB was created where the Vx signals are transformed to SECAM modulated signal without going through RGB signals. These boards also include the power supply, output of the transformer is going directly to the motherboard and redressing and regulation in done there.

It is for these boards mainly having a serial number starting with RH that I’ve created this mod. The form factor is just a very good fit for those.  A new layout with a new for factor can of course be done if there is enough interest.

Link to comment
Share on other sites

unknown.png

 

That is one way to restore the missing sync pulses lol

I only spent like 12 hours brute forcing this. Every pulse except for the very left one is re-timed from counting clock cycles against normal sync.

Like a ghetto PLL pretty much. It probably still needs some tweaking I just ballparked the cycle count. The idea was to restore the missing 9 pulses.

If there is any point to doing this IDK,.  The bad news is that nothing short of a FPGA will probably be able to use the code to do this. Also IDK if this is the right way to do it.

 

compare that to to old sync:

image.thumb.png.2a9a16311fcf5b0f68ab6077cfd2c2c8.png

 

 

Edited by the_crayon_king
Link to comment
Share on other sites

@the_crayon_king, it looks like the way to go but as you say it is quite complex and might even not work, nobody nows exactly if the missing pulses are the reason why OSSC is not syncing on any known RGB mod for the Intellivision.

 

My obervations with simple RGB input from modern TV is telling me that there is also a timing problem why does it work by simply adding a capacitor between sync and GND?

 

  • Like 1
Link to comment
Share on other sites

@Icelvlan

Unfortunatelly this will not help as composite and LUMA signal (if it exist as is) do not have these sync pulses either.

From start Intellivisions do not have a proper CSYNC signal, this wasn't an issue with older TV sets, it became with more modern flat screens.

Today we are faced with 2 issues:

- Modern TV do not have anymore analog demodulators, and when they have one it is not a good one

- SYNC signal is not "good" enough for some TV and other devices (OSSC) even when adding an RGB mod

 

@the_crayon_king is working on adding sync pulses in the signal that the STIC is generating in order to overcome the "design flow" of the original chip.

There is another way that many of us are using today, it is to find a TV or device that copes with Intellivision sync signal.

May be OSSC should be updated instead, it might help not only for Intellivisions but also for other retro devices.

Link to comment
Share on other sites

Yikes. Well there is a batch of these sent out before JAN 11th that might have bad code and not work with the XRGB. I was doing something to 'correct' sync that used to work but does not any longer. I edited my master file so I do not know for certain if I am just misremembering what I had. I rewrote what I had thought I had in my attempts at correcting sync further and that is when I noticed it wasn't working with the XRGB. Anyway, if you have bought one of these kits before JAN 11th and they are not working on the XRGB that is why. I also updated the page as of today to say that these are only for a CRT or an XRGB. If you bought these and have any issues feel free to return for me to reflash or for a refund.

 

Going forward I will test every one of these on a XRGB.

 

I might have mentioned before but these kits are a stopgap till I make another board revision that will have RGB, YPbPr, composite, and S-video. I didn't make it the first time because it will take 100+ resistors. Since JLPCB is offering assembly I will be able to make them this time.

 

I will build what I am talking about by hand and see what I get from it.

 

6 hours ago, YannAros said:

@Icelvlan

Unfortunatelly this will not help as composite and LUMA signal (if it exist as is) do not have these sync pulses either.

From start Intellivisions do not have a proper CSYNC signal, this wasn't an issue with older TV sets, it became with more modern flat screens.

Today we are faced with 2 issues:

- Modern TV do not have anymore analog demodulators, and when they have one it is not a good one

- SYNC signal is not "good" enough for some TV and other devices (OSSC) even when adding an RGB mod

 

@the_crayon_king is working on adding sync pulses in the signal that the STIC is generating in order to overcome the "design flow" of the original chip.

There is another way that many of us are using today, it is to find a TV or device that copes with Intellivision sync signal.

May be OSSC should be updated instead, it might help not only for Intellivisions but also for other retro devices.

 

 

Notes (none of this applies to the boards I am sending out atm):

 

AFAIK>

The width of hsync is about 4 point something us.

That width comes out to I think 16 clock pulses.

The time between sync pulse to sync pulse is around 229 clock pulses or 64us

 

I have it set currently that after hsync count 213 and if hsync pulse go negative until 229 then loop..

 

image.thumb.png.77e5838f308fa66ccfb57ba528bdb6b8.png

 

The XRGB does not like this. So clearly I am doing something wrong.

If I remove the pulses from vsync and then it works then I know the issue is primarily with sync during vsync

 

I am using this for reference:

https://www.hdretrovision.com/blog/2018/10/22/engineering-csync-part-1-setting-the-stage

 

My falling edges are where hsync falling edges would be. Maybe my clock count is off someplace.

Link to comment
Share on other sites

Ok, this should be actually correct plus or minus a clock cycle.

Sync has been corrected with the following bits: 11001, 10101, and 11100.

11100 is not directly related to sync. I am using it to set/unset logic.

The clock is used basically like a counter to trigger pulses when they are missing.

There is so much combinational logic here I don't even know what I have done.

 

No other sync besides 11001 and 10101 should really be used for sync if possible.

11101 is the main example of this. It is still probably needed on the boards I am making because of the lack of many sync pulses and is still possibly close enough in most cases. Is it worse to be slightly out of time or missing like 20 something hsync pulses?

 

Now I have to test if this works, if it can be made to fit etc. If not then I should be able to handle this with a different board revision.

 

Compare to the older version of sync and this just looks so much more correct to me.

Vsync has been shifted to the right as a result of the fix.

I don't know which direction but this will shift the picture slightly left or right.

The issue with the way I was trying to write this was that not all my falling edges were lining up.

WN3x2Fw.png

 

 

 

Link to comment
Share on other sites

The issue with the missing sync is also why even on RF the image bouces up and down constantly on my modern TV even though it can tune into analog signals still. So it would be nice to find some way to completely take the input signals and just run them through a new encoder setup that can generate the right sync pulses.

 

@the_crayon_king would it help if I send my board back to you?

 

Link to comment
Share on other sites

17 hours ago, Icelvlan said:

Do you think this will fix issues with other devices outside of framemeister?

 

Anyway we can upgrade the current boards?

 

If you are using a counter to regenerate a pulse like I am and there are 20 pulses that need regenerated and your count is off by only 1 then by the end of it your sync pulse is out of time by 20 clock pulses. So my hsync was off by X amount of clock cycles which was where I had been stuck at this whole time. This shift is really subtle so it took me a while to find. TLDR I think I have Hsync actually fixed this time.

 

Vsync and the pulses inside of vsync is where I am at now. Something looks off about the width of vsync and the pulses when compared to other consoles.

 

I still need to get this to work on crappy scalers and then go from there.

I assume this still will not allow this to work on the OSSC or other line doublers.

It may correct it enough that line doublers may support it in the future.

 

Just give me a little more time and I think I may be able to at least confirm if this can be fixed with reflashing the old boards or if I will have to port over the code to a new design.

Link to comment
Share on other sites

I can now change the timing of hsync and move it forward and backward in time. Which moves the image left or right.

 

Vsync has still been a pain. I can make it wider by about 30 clock cycles or make it shorter by whatever but the end result still wont give me video on the crappy scaler I have. XRGB and CRTs still work the same except the centering is jacked on the CRT.

 

If I knew what the waveform should look like I could make it. It is possible that I already made the correct shape and timing (hsync compared to vsync) but that it is still not correct in timing compared to the video (c sync compared to video). If I had a better CPLD/FPGA this would be a non issue since I could have more counters and reproduce hsync/vsync/csync anywhere I want.

 

I will try some more things tomorrow. Like I want to remove the hsync pulses from vsync entirely and see what that does. Since the XRGB and CRT seem to take that regardless I want to see what only changing the width of Vsync does or delaying it does.

 

 

 

Link to comment
Share on other sites

Wow, this looks amazing!  Is the version on ebay the final version or the 'beta tester' version? 

 

Also, my Model I already has a composite mod in it (the one from Turkey), would that have to be removed to add this?  While the composite mod isn't the best (color issues and ghosting), it's nice to have options since my Intellivision may not always be connected to RGB.

Link to comment
Share on other sites

12 hours ago, Tempest said:

Wow, this looks amazing!  Is the version on ebay the final version or the 'beta tester' version? 

 

Also, my Model I already has a composite mod in it (the one from Turkey), would that have to be removed to add this?  While the composite mod isn't the best (color issues and ghosting), it's nice to have options since my Intellivision may not always be connected to RGB.

Tempest, I had the same setup with the Turkey mod and did NOT have to remove that. However, as I only have the OSSC to use RGB in this fashion, I was unable to get my kit to produce anything at all on my setup. Even the component outputs produced nothing for me.

 

Link to comment
Share on other sites

On 1/23/2021 at 10:56 AM, Tempest said:

Wow, this looks amazing!  Is the version on ebay the final version or the 'beta tester' version? 

 

Also, my Model I already has a composite mod in it (the one from Turkey), would that have to be removed to add this?  While the composite mod isn't the best (color issues and ghosting), it's nice to have options since my Intellivision may not always be connected to RGB.

I will eventually make another version that has RGB, Component, S-Video and Composite. This mod is by no means perfect as it can only do whatever you give it. So if you give it poor video you will get out poor video.

 

22 hours ago, -^CrossBow^- said:

Tempest, I had the same setup with the Turkey mod and did NOT have to remove that. However, as I only have the OSSC to use RGB in this fashion, I was unable to get my kit to produce anything at all on my setup. Even the component outputs produced nothing for me.

 

I am still surprised component on a CRT did not work for you. You can always return it for a refund or I can swap it out when I go to the next version. I am really trying to solve the sync issue once and for all but I am not sure I can even do that with the current CPLD.

 

10 hours ago, Icelvlan said:

Looking forward to see if this fixes the issues. You should try to buy an OSSC or retrotink to see if the issue is fixed.

I do not think any line doubler will work with one of these even if sync is fixed. Unless someone can think of an instance of a line doubler supporting sub 240p then I do not think anything I am currently working on will work with a line doubler.

 

Below you can see what bits I am dealing with here.

Unless sync is meant to be wider like it is at V3 then I am still scratching my head.

 

10101 = should be hsync 4.6us. (datasheet says sync)
10110 = comes right after hsync is 2.5 us (datasheet says this is burst)
10111 = is never active

11100 = could be used to add wider pulses before and after vsync. I don't remember if the rising edge or falling edge is in line with sync but I think one of them is.

11101 = can be used to add sync like pulses to blank

11x01 = looks like vsync (datasheet says sync)

wUUBv8X.png

 

I can now transform sync pretty much anyway I want to a point. However, I need to know how many hsync pulses are supposed to happen between vsync pulses the specific width of the hsync pulses, vsync pulses. How they should align with one another. Then the 3 pulses before and 3 after vsync are they supposed to be wider than normal hsync pulses or what ?

 

I am thinking that maybe the correct sync might possibly be there already in the bits and it's just not in a format that I recognize.

 

Just a note but I see something now; the rising edge of V3 is the falling edge of hsync. That might be a simpler/more practical way to restore hsync.  So a counter off of 11100 would be enough to restore the missing pulses to the left and right of vsync.

 

For vsync some combination of 11101 will should give the correct hsync during vsync.

 

I will do one my good crack at this using the above information. I will do that tomorrow and if that doesn't do it then I will have to do some research.

Edited by the_crayon_king
Link to comment
Share on other sites

Hi @the_crayon_king

 

Some thoughts about your 240p concern.

I do not think this can be a problem, the timings must be NTSC or PAL compliant, so there must be the right number of line!

 

For PAL, VSYNC happens every 20ms (50 frame per second), HSYNC happens every 64µs (~15kHz), that make 20ms / 64µs : 312.5 lines per fram  that is according to spec for a non interlaced PAL signal

I imaginet timings for NTSC are 16.6ms per frame with same 64µs per line, and therefore around 260 lines / frame.

From this lines the intellivision is only able to draw 192, some are blank at the beginning and at the end.

 

These timings must be respected otherwise no CRT would be able to display anything.

 

Otherwise your investigation is very interesting and you latest plots show that you should be able to get something soon.

I'd use V3 as a base for HSYNC, then recreate a pure VSYNC from maybe V1 and V4.

Once this is available CSYNC can be created by merging H and V SYNC using one of the conventional methods.

 

I need to free up some time on my side to investigate on this.

Link to comment
Share on other sites

I confirmed the width between vsync pulses is 16.6ms

16.6ms = 16600us

16600/63.5 = 261 - 9 missing pulses = 252

16600/64    = 259 - 9 missing pulses = 250

This is 4 different lines possible line counts. I used 63.5 because I think this is the width but I will have to measure that again.

 

I feel a solution is close at hand but I cannot gain much from these raw numbers.

Link to comment
Share on other sites

So that crappy scaler needs a 5V input to detect video inputs. That was why the code was working with the crappy scaler and then stopped working at some point. It wasn't because of code changes it was just because I didn't have that 5V hooked up. I will try other variations of the code I have written through this whole ordeal and confirm what exactly that scaler will tolerate.

 

Basically, I have spent a month thumbing around trying to fix something that isn't broken. Lol.

 

This is the scaler for reference.

 

I will try to do research and/or possibly buy a OSSC. I am trying to find information confirming it can work with sub 240 content. 

 

I will also convert the RGB to the other video formats and see if the composite will work on my flatscreen.

 

 

Edited by the_crayon_king
Link to comment
Share on other sites

12 hours ago, the_crayon_king said:

So that crappy scaler needs a 5V input to detect video inputs. That was why the code was working with the crappy scaler and then stopped working at some point. It wasn't because of code changes it was just because I didn't have that 5V hooked up. I will try other variations of the code I have written through this whole ordeal and confirm what exactly that scaler will tolerate.

 

Basically, I have spent a month thumbing around trying to fix something that isn't broken. Lol.

 

This is the scaler for reference.

 

I will try to do research and/or possibly buy a OSSC. I am trying to find information confirming it can work with sub 240 content. 

 

I will also convert the RGB to the other video formats and see if the composite will work on my flatscreen.

 

 

That scaler actually looks like it is better than the one I have on hand and was trying to use. Maybe I should get this one instead to try and retest. BTW I did have the +5 attached to my 9pin mini-din I was using for testing it. I just pulled the +5 from elsewhere off the board if I recall as I knew my scart switcher required it.

 

And ordered! Although my is coming via the slow boat method as I ordered mine for a little cheaper via AliExpress here:

 

Link is crazy long so just click on this instead...

 

Link to comment
Share on other sites

3 hours ago, -^CrossBow^- said:

That scaler actually looks like it is better than the one I have on hand and was trying to use. Maybe I should get this one instead to try and retest. BTW I did have the +5 attached to my 9pin mini-din I was using for testing it. I just pulled the +5 from elsewhere off the board if I recall as I knew my scart switcher required it.

 

And ordered! Although my is coming via the slow boat method as I ordered mine for a little cheaper via AliExpress here:

 

Link is crazy long so just click on this instead...

 

 

By crappy I mean they soften up the image a lot and not great latency. As far as I can tell they don't maintain a great aspect ratio or something either. By default it will try to stretch the screen and no matter what resolution setting you put, it still never quite hits 4:3. That means the pixels are not represented as perfect squares. Other than that it has taken every input I have ever thrown at it. However, I have never used them for any continuous length of time. I do believe they can burn up on TTL sync. I have 5 or more of these laying around maybe I could bundle them or something. Anyway, let me know how it goes.

 

Link to comment
Share on other sites

35 minutes ago, Icelvlan said:

Were you able to figure anything else out?

Well I am pretty sure I can make sync do whatever I want now. That has been true for some time.

All my personal devices work with this. I would need something that should work with this but doesn't then I can test the various different syncs I have made. IMO there is no point in fixing sync if it already works because of the room the fix takes up.

 

Once again AFAIK line doublers not supporting this is not an issue with the mod kit but an issue with linedoublers. It is just too low a resolution. If someone has information contrary to that then I have yet to hear it. I could eventually scale the output but that would be a whole 'nother project.

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...