First post, by retrocanada76
Hello guys, this is my last project I’ve been working this month:
a truly FPGA MDA/CGA/EGA to VGA Converter. And it will be open source.
First, few answers before watching the video:
1) No, I am not selling this. I am designing it. It will be available later as DIY and open source.
2) It’s a W.I.P. I need to add MDA support now
3) It’s purely DIGITAL. No, your Amiga, Apple GS won’t work
4) Being DIGITAL it’s tied up to the EGA-MDA and CGA pixel clocks: 16.257Mhz and 14.318Mhz. Anything different than that, like your ZX-Speccy 128 will look jagged and jittered. Not to mention the sync pulse polarity that must match the EGA/CGA.
5) It converts CGA and outputs as 640x400@70Hz (21.175Mhz). For EGA it uses 640x350@70Hz (21.175Mhz). These are VESA standard resolutions supported by a standard VGA monitor. Your fancy new HDMI monitor probably will give a middle finger to that.
6) For MDA it will use 720x350x70Hz another VESA.
7) There is no HDMI output and it won’t have it.
😎 There are no margins the signal is displayed in 640x350/400. Some programs like ChekIt changes the CGA 6845 registers and mess up with the borders. For that in CGA you can use a DIP switch to fine adjust the screen. This problem doesn’t seem to happen in EGA.
9) I’m testing with my boards. There could be variations
10) I still need to solve some race conditions in EGA that causes it to make very hard to add changes. Too many lines being written/read at same time. But the video is stable.
11) You will be able to change the resolutions like output in 800x600, provided you can change the FGPA design and add new pixel clocks and solve many *ISSUES* it may cause 😁 hey it’s fun! But there won’t be scale-up, unless you implement it in FGPA 😈 using linear interpolation. Right now the only scaling present is CGA where I double scan each line from 640x200 to 640x400.
Enjoy the video: