VOGONS


Reply 20 of 36, by jesolo

User metadata
Rank l33t
Rank
l33t

Just a noob question (I'm not an expert in this field).
Any particular reason why the output is 70Hz vertical refresh and not 60Hz?
As I recall, most (if not all) CRT and LCD monitors supports 60Hz as well.

But, great work - looking forward to it

Reply 22 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member
jesolo wrote:
Just a noob question (I'm not an expert in this field). Any particular reason why the output is 70Hz vertical refresh and not 60 […]
Show full quote

Just a noob question (I'm not an expert in this field).
Any particular reason why the output is 70Hz vertical refresh and not 60Hz?
As I recall, most (if not all) CRT and LCD monitors supports 60Hz as well.

But, great work - looking forward to it

Because there is no 640x400@60Hz / 640x350@60Hz or 720x350@60Hz

http://martin.hinner.info/vga/timing.html

Reply 23 of 36, by keropi

User metadata
Rank l33t++
Rank
l33t++

have you considered the possibility of using 640x480@60hz and have the 400 and 350 modes centered in it? Wouldn't that work better since it's 60hz?

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 24 of 36, by Joey_sw

User metadata
Rank Oldbie
Rank
Oldbie
retrocanada76 wrote:

Cool!!
Since mda port is pin compatible with hercules,
how about adding 'color select function' to simulate various monochrome monitor phospor such as green or amber or white?

-fffuuu

Reply 25 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member
keropi wrote:

have you considered the possibility of using 640x480@60hz and have the 400 and 350 modes centered in it? Wouldn't that work better since it's 60hz?

the aspect ratio will not be good. But hey you will be able to do it by yourself. Let's all learn FPGA.

Reply 26 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member
Joey_sw wrote:
Cool!! Since mda port is pin compatible with hercules, how about adding 'color select function' to simulate various monochrome m […]
Show full quote
retrocanada76 wrote:

Cool!!
Since mda port is pin compatible with hercules,
how about adding 'color select function' to simulate various monochrome monitor phospor such as green or amber or white?

There is not much color resolution for the amber, I'm using 3 bits. You can get the CGA Brown with it but not 2 shades of it. Green and white are good. Anyway I have only 4 dip switches one is for MDA, other for SCANLINES and I will probably have to use another one for 16Mhz MDA clones. This will leave just one dip switch left you can't choose more than 2 colors.

Reply 28 of 36, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
retrocanada76 wrote:
keropi wrote:

have you considered the possibility of using 640x480@60hz and have the 400 and 350 modes centered in it? Wouldn't that work better since it's 60hz?

the aspect ratio will not be good. But hey you will be able to do it by yourself. Let's all learn FPGA.

Just tell us where to start 😀

Regarding keropi's comment, the original VGA monitor had fixed horizontal frequency, but vertical frequency could be 50 to 70 Hz.
I wonder if this is the case with modern LCDs still.
I would not count on it with modern displays, but that could solve the issue if they support more total lines per frame, but can still use sync polarities to have 350 or 400 lines visible.
That way also there will be no tearing as it's frame locked.

Reply 29 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member
Jepael wrote:
Just tell us where to start :) […]
Show full quote
retrocanada76 wrote:
keropi wrote:

have you considered the possibility of using 640x480@60hz and have the 400 and 350 modes centered in it? Wouldn't that work better since it's 60hz?

the aspect ratio will not be good. But hey you will be able to do it by yourself. Let's all learn FPGA.

Just tell us where to start 😀

Regarding keropi's comment, the original VGA monitor had fixed horizontal frequency, but vertical frequency could be 50 to 70 Hz.
I wonder if this is the case with modern LCDs still.
I would not count on it with modern displays, but that could solve the issue if they support more total lines per frame, but can still use sync polarities to have 350 or 400 lines visible.
That way also there will be no tearing as it's frame locked.

Would not count on that. NTSC frame rate is 59.939Hz and not 60Hz as the VGA monitor. You can check here which resolutions are 60Hz: 640x480, 800x600 and 1024x768:

http://martin.hinner.info/vga/timing.html

I played Commander Keen in my 5150 and I didn't see any tearing...

Also in my converter the vga output is not locked to the genlock (they can't they run at different speeds, that the design), so even if the output and input was the same they would be at random positions each. They run in parallel, it's hardware...

Reply 30 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member

Take a look in my analog RGB2VGA, it's similar, the difference this one is digital and multisync:

https://sites.google.com/site/tandycocoloco/rgb2vga

The framebuffer is the bridge between the genlock and the the vga video generator

Reply 31 of 36, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
retrocanada76 wrote:

Would not count on that. NTSC frame rate is 59.939Hz and not 60Hz as the VGA monitor. You can check here which resolutions are 60Hz: 640x480, 800x600 and 1024x768:

http://martin.hinner.info/vga/timing.html

But VGA 640x480 is not designed to be 60Hz, it's designed to approximate NTSC rate (very near but not exactly equal) just for the reason to make line-based VGA to NTSC scan converters easier.

NTSC : 60 / 1.001 = 59.940
VGA 640x480 : 25175000 / (800*525) = 59.940
800x600 : 40000000 / (1056*628) = 60.317
1024x768 : 65000000 / (1344*806) = 60.004

Analog monitors and TVs will sync with some reasonable amount of tolerance and still think it's the same format. It's more complicated with DVI and HDMI though.

Reply 32 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member

Right, but this is not a line converter. And it does Hercules (50Hz, 16.000Mhz) pixel perfect as well, what would be impossible for a line converter...

https://www.youtube.com/watch?v=dXUh4QoPmbk

Reply 33 of 36, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

That is very impressive. So your device has only room for one single frame, so it can't double-buffer a frame? (I know that would cause more delay and/or jerkiness, but would not have any tearing)

Yes Hercules will be difficult. I've thought a bit about it in the past and came into conclusion that it can be done in frame-sync/line-conversion method by doubling pixels and tripling the lines into 1080p50 format.
Not all countries have TVs that support 1080p50, but we have them here.

But I like how your device works around it so that won't be a problem and works with computer monitors. They have less delay/lag than TVs, even when TVs are set to low latency game mode.

Reply 34 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member

It is a 256K x 16-bits chip. The lines take up to 800 overscan pixels. So for every line 1024 bytes are taken. So this leaves me with 512 lines maximum. It could be used for the CGA 200 lines to double buffer it, you can change it if you want that's the fun. But not for 350 resolutions.

But... the pixel clock for VGA is locked on 25.2Mhz ( it can't be locked to 25.175Mhz together the 14.318Mhz CGA on the same PLL) so they will get out of sync eventually... This FPGA has ony 2 PLLs one is taken for EGA and the other for CGA. The VGA is a derivative from CGA.

Reply 35 of 36, by retrocanada76

User metadata
Rank Member
Rank
Member

Maybe you can put a sync between then and only trigger next VGA frame after the NTSC completes the first.. who know there is a lot of things you can do, like strip all EGA/MDA modules and clock and lock the 2nd PLL to VGA 25.175 and make it to sync with the incoming CGA NTSC...