Converting RGB to VGA using FPGA

Page 3/5
1 | 2 | | 4 | 5

By Grauw

Ascended (8508)

Grauw's picture

23-10-2014, 20:28

Ah, that’s cool. I thought you’d be buffering the 50Hz.

I think most VGA monitors will also operate with a 50Hz refresh?

By retrocanada76

Champion (463)

retrocanada76's picture

23-10-2014, 20:40

Just a statement here: I'm not cutting intentionally any border. This is a side effect of the clock: 114.545455 Mhz. By the time it digitizes 640 pixels this is exactly the MSX user area. The borders are outside this range. It's coincidence ? I don't know, you should ask Yamaha engineers. The MSX2 renders 512 pixels at the same time the Coco3 renders 640. I think this is some kind of specification, maybe. Anything outside this window would be overscan ?

I would need to digitize more than 640 pixels to get them and to do that I would need a faster clock pixel. The 114.545455Mhz is no arbitrary choice. It's 32 x 3.57954Mhz. In this speed I can slice a entire scanline in 909 pixels. For every pixel the clock ticks 8 times, the time needed to measure the 3-bit DAC voltages.

If you already have noticed the VDP's clock is 21.47724. Which is 6 x 3.57954. Now you start to understand that I must play with the NTSC color burst. Even in 50Hz mode. If I don't play at ntsc clock multiples I start beating the pixels at different clock phases and this would cause jittering.

What option do I have ? Maybe scale down the 909px, taking 800 pixels and making them to fit 640 ? That would be way more complicated. Don't even started to think how to do it in FPGA. Without linear interpolation maybe could be done but with linear ? Affff!

By retrocanada76

Champion (463)

retrocanada76's picture

23-10-2014, 20:42

There is no 50Hz here: http://martin.hinner.info/vga/timing.html

Most doesn't mean all and most probably your bad-ass 60" TV won't do it neither. I found TVs much more difficult than monitors.

By Grauw

Ascended (8508)

Grauw's picture

23-10-2014, 21:21

Might be nice to offer as an option though (just like the OCM does). If possible. Works on my Dell monitors Smile.

Nice explanation above btw, even if I understand only half of it Smile.

By edoz

Prophet (2179)

edoz's picture

23-10-2014, 21:58

Retrocanada76. Could you test how it looks with SymbOS ? (If you can run it with your storagedevice)

By retrocanada76

Champion (463)

retrocanada76's picture

23-10-2014, 22:04

last time I tried symbos I couldn't make it run from my IDE. don't know why and I gave up

By edoz

Prophet (2179)

edoz's picture

23-10-2014, 22:11

Did you tried the new installer (in symbos 2.1) it was improved a lot !! (symsetup.com) Which storage device you are using ?
2.1 version

By retrocanada76

Champion (463)

retrocanada76's picture

23-10-2014, 22:18

i'm using an brazilian IDE from tecnobytes and a 256Kb WSX

By edoz

Prophet (2179)

edoz's picture

23-10-2014, 22:25

I'm not sure if that one is compatible with the sunrise IDE..if so it must work. O don't know if it was 2.1 with symsetup.com you tried.. Anyway.. It's get a bit of topic Wink I really like this hardware project!

By NYYRIKKI

Enlighted (5396)

NYYRIKKI's picture

24-10-2014, 11:14

If we talk about MSX high resolution pixels (512 pixel wide screen in screen modes 6 & 7) I think your adapter displays currently about 480 pixels, but to run all MSX2 games without cutting problems you should be able to display 544 pixels.

First I thought that this is probably something easy to fix, but reading your description of the problem it seems that you have a major problem on your hands. :-( I start to understand now better why the modern LCD TV's tend to have this same very annoying problem.

If you type ie. SET ADJUST (-7,0) you will probably loose at least 2 characters from start on WIDTH 80. -> Not good. Even if you don't do that, many games adjust the display without asking user's opinion. Maybe you should try ignoring every 8th pixel on sampling? It does not sound very good, but neither does this cropped display.

Page 3/5
1 | 2 | | 4 | 5