Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 19:57 27 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Right Shifting VGA screen

Author Message
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 04:25pm 04 Jun 2013
Copy link to clipboard 
Print this post

Hi Lads/Lasses,

After discussing with Geoff about a desire (of mine) to move the VGA text approximately 1 character to the Right I think we have come up with a workable solution.

I can repeat it all here again but full details are included here in this PDF I have quickly knocked up.

2013-06-05_022155_Right_Shift_of_CMM_text.pdf

The end result is, based on tests with my 8" VGA screen, that 80 column text is now moved approximately 1 full character to the right which enables the full screen to be visible on the VGA monitor. In Mode 4 the result is even better as the Text seems to move so that the full screen is more or less fully centralised.

Anyway I am interested in hearing feedback or improvements to this design.

Regards,

Mick

Edited by bigmik 2013-06-06
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 06:57pm 04 Jun 2013
Copy link to clipboard 
Print this post

if you tied the bottom end of the capacitor to an IO pin that was capable of being tristated, then it may be possible, under program control, to switch the shifting effect on and off. this could be expanded upon to allow for a custom shift for each of the different video modes.
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 07:12pm 04 Jun 2013
Copy link to clipboard 
Print this post

  robert.rozee said   if you tied the bottom end of the capacitor to an IO pin that was capable of being tristated, then it may be possible, under program control, to switch the shifting effect on and off. this could be expanded upon to allow for a custom shift for each of the different video modes.


Hi Robert,

That should work just as well, although the real problem I see is that the effect is about 1 character width in 80 column mode and maybe 1 (wider) character in mode 4 (about twice the actual 80 column mode shift)... If you increase the delay the effect is ineffective and the whole screen is upset and blurred out...

What would be best is if the effect of the `hardware' delay could somehow be implemented in the C source but Geoff assures me that this would be quite a difficult feat and if HE thinks it would be difficult I would have NO chance at all.

Regards,

Mick


Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
Juri74

Senior Member

Joined: 06/02/2012
Location: Italy
Posts: 162
Posted: 11:07pm 04 Jun 2013
Copy link to clipboard 
Print this post

Hello Mick,
that's a great work! i've that problem on my GBS8200, now it's fixed!
thank you again!

Juri
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 02:35am 05 Jun 2013
Copy link to clipboard 
Print this post

What would the delay time be with those values?
If you heat the R and C or cool them does it change enough to scramble the picture?
if the time is short enough it might be doable with some gates or a counter ic.
It might also allow for a different delay for each mode.
Edited by TZAdvantage 2013-06-06
Microblocks. Build with logic.
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 11:33am 05 Jun 2013
Copy link to clipboard 
Print this post

  Juri74 said  
that's a great work! i've that problem on my GBS8200, now it's fixed!
Juri


Hi Juri,

I am glad it fixed your problem, but I am a little confused... I searched GBS8200 and it is a EGA/CGA/YUV to VGA converter.

And it has position adjustments as well... I must be missing something.. Is your GBS8200 a VGA to Composite converter?

Regards,

Mick



Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 11:45am 05 Jun 2013
Copy link to clipboard 
Print this post

Hi Tz,

  TZAdvantage said   What would the delay time be with those values?
If you heat the R and C or cool them does it change enough to scramble the picture?
if the time is short enough it might be doable with some gates or a counter ic.
It might also allow for a different delay for each mode.


My original idea was to do the delay through a gate/series of gates but I calculated that 1 character delay was 5.6uS and most of the gates I looked at were in the nS range for Propagation delays... Then I requested the source code so that I could `play around' and maybe add a simple delay here or there and shift things.. Geoff helped me to compile the code to a HEX file and kindly gave me some pointers of where to look at in the code but also said it wasn't going to be easy... Then he mentioned this method which I tried and it worked.

OK as for delay, if my calc of 5.6uS is accurate the delay would be around 5uS as I feel it is just under 1 character shift. As for heat and cold ... I cant answer that yet.

Heat and cold so far have had no affect for me but you could always change the CAP or resistor down a value or two to reduce the delay and minimise any possible impact of heat/cold. I didn't push it to the nth degree but I can tell you that a 1k Resistor causes the loss of sync problem so its max must be between 680R and 1k (or 5 to 7.5uS)

Regards,

Mick


Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
James_From_Canb

Senior Member

Joined: 19/06/2011
Location: Australia
Posts: 265
Posted: 12:14pm 05 Jun 2013
Copy link to clipboard 
Print this post

Would it be worthwhile using one of those small blue variable resistors? That way you could adjust the resistance for different modes and you could adjust to the resistance that gives the best result - which may not be available as a fixed resistor value. The downside is that they're bigger than a resistor and harder to fit onto a tight circuit board.

James

My mind is aglow with whirling, transient nodes of thought careening through a cosmic vapor of invention.

Hedley Lamarr, Blazing Saddles (1974)
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 12:22pm 05 Jun 2013
Copy link to clipboard 
Print this post

  James_From_Canb said   Would it be worthwhile using one of those small blue variable resistors?
James


Hi James,

Of course that would work as well... But I wasnt interested in pushing it anymore than I needed.. (well after I realised that I was near the max I could push it anyway) I have then posted my findings for all to see/praise/criticise (cross out what doesn't apply).

Regards,

Mick


Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1109
Posted: 08:29am 06 Jun 2013
Copy link to clipboard 
Print this post

Just mumbling out loud here, but what does the delayed pulse look like? Does a slow rise time result in the different SPI channels triggering differently and hence the loss of sync? Could a gate or transistor sharpen the edge to give cleaner signals?
Visit Vegipete's *Mite Library for cool programs.
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 02:08pm 06 Jun 2013
Copy link to clipboard 
Print this post

  vegipete said   Jwhat does the delayed pulse look like? Does a slow rise time result in the different SPI channels triggering differently and hence the loss of sync? Could a gate or transistor sharpen the edge to give cleaner signals?


Hi Pete,

I havent `scoped' the signal.. but it would put a parabolic curved slope on the leading and falling edges Similar to this cct




A gate would sharpen the pulse of course BUT as the SPI input triggers are tied tied together and they are in the same chunk of silicon you can assume that they will all trigger at exactly the same level..

The proof is that the signals still appear to be pixel perfect in alignment on my screen in 80 column and mode 4 (40col??) modes. Maybe other will have a different experience than me.. Time will tell I suppose

The bottom line is I am happy that it works, it just steals back a small bit of my lost display area and makes my small 8" (non-adjustable) screen very usable .

Regards,

Mick


Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 06:28am 07 Jun 2013
Copy link to clipboard 
Print this post

  Quote  A gate would sharpen the pulse of course BUT as the SPI input triggers are tied tied together and they are in the same chunk of silicon you can assume that they will all trigger at exactly the same level..


that might be a big hope, i'd certainly not be betting any money on it. in any production solution i'd certainly be adding in a schmitt trigger to ensure a sharp edge. a NC7WZ17 would do the trick nicely, smd in a 6-pin package, part of the 'TinyLogic' family.Edited by robert.rozee 2013-06-08
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 03:00pm 07 Jun 2013
Copy link to clipboard 
Print this post

The inputs that we are talking about already have schmitt trigger circuits on the PIC32 silicon. In fact most PIC32 inputs use schmitt trigger circuits.
Geoff Graham - http://geoffg.net
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 06:46pm 07 Jun 2013
Copy link to clipboard 
Print this post

yep, but they can still have small differences in input capacitance + series resistance, and internal delays. with a vga dot clock rate these may become relevant. the use of an external schmitt trigger gate is to ensure that the rising pulse delayed by the external RC becomes a single clean pulse, which then removes the internal variations of the three inputs from the equation.

it could be that the three inputs are close enough matched that today there isn't an issue, while next weeks revision of the silicon is just slightly different enough for it to become relevant. i've worked in a company where much the same as this happened - a switch to an identical second-source of a device caused the problem - and we ended up having to bring back many millions of dollars worth of product from the field.

an external schmitt trigger buffer represents good engineering practice.
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024