Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

DIY: FPGA MDA/EGA/CGA to VGA Converter :D

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    DIY: FPGA MDA/EGA/CGA to VGA Converter :D

    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.
    12) Why am I doing this instead of using a GBS8200 ? Have you ever used that board ?

    Enjoy the video:

    https://www.youtube.com/watch?v=8_fl28-o9tE

    #2
    Yeah, I'd like to take a look at this, just from a repair depot point of view.

    The less monitors I have on a work bench, the more computers can be worked on in a comfortable radius.

    The ones we've looked at, so far, are either really bad or really expensive.
    Legacy Computers and Parts

    Sales of, parts for, and repairs to, Vintage and Legacy computers.

    Comment


      #3
      Originally posted by Druid6900 View Post
      The less monitors I have on a work bench, the more computers can be worked on in a comfortable radius.
      That's why I use a NEC Multisync.
      PM me if you're looking for 3Ĺ" or 5ľ" floppy disks. EMail ď Ē For everything else, Take Another Step

      Comment


        #4
        Yes, I have an MDA/CGA/EGA capable monitor ( Taxan Multi-Vision 770) but, I have 6 workbenches and buying and having 5 more shipped would not be practical.
        Legacy Computers and Parts

        Sales of, parts for, and repairs to, Vintage and Legacy computers.

        Comment


          #5
          Sounds like a great project! It looks like your project is geared towards being able to easily use commodity monitors, based on this info:

          Originally posted by Retro Canada View Post
          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.
          6) For MDA it will use 720x350x70Hz another VESA.
          ...
          There are no margins the signal is displayed in 640x350/400.
          Offering a bounty for:
          - A working Sanyo MBC-775 or Logabax 1600
          - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

          Comment


            #6
            There is an error for the MDA: the 720x350 is 85Hz IIRC.

            Comment


              #7
              I want a 9 pin cable that I can blindly hook up, and it gets fed through to my LCD and capture hardware. I currently have this for VGA, so being able to go CGA/EGA/MDA to VGA is very helpful.

              Excellent work on the project, I was experimenting with this idea myself using the internal Dual Port RAM on a Xilinx Artix 7 but could never quite get my internal timings done right and it kind of got put to one side. Also glad to see it's not a BGA part.
              Looking forward to the MDA and the source/project files because I'd love to build one.

              From memory with MDA I ended up playing with 720x400 and 720x350, on my test LCD these basically looked the same with the 350 mode just having black bars top and bottom. I never tried a CRT or the capture stuff, but figured if there was any issues it'd be fixable with vertical height adjustment.
              Twitter / YouTube

              Comment


                #8
                Originally posted by SpidersWeb View Post
                I was experimenting with this idea myself using the internal Dual Port RAM on a Xilinx Artix 7 but could never quite get my internal timings done right and it kind of got put to one side. Also glad to see it's not a BGA part.
                Looking forward to the MDA and the source/project files because I'd love to build one.
                I guess you don't have enough RAM bits inside the FPGA (well maybe MDA using 2 bits per pixel you need 63K). but since I need 6-bits per color this is why I use an external SRAM chip of 8ns! I use the dual port ram only the for incoming and outcoming rows.

                You don't have to solder the FPGA Cyclone, you just buy the smal CoreEP4CE6 from ebay, it costs 25 dollars and it comes ready to use. You just need to build the daugherboard I designed to use with it.

                Comment


                  #9
                  Originally posted by Druid6900 View Post
                  Yes, I have an MDA/CGA/EGA capable monitor ( Taxan Multi-Vision 770) ...
                  No VGA capability?
                  PM me if you're looking for 3Ĺ" or 5ľ" floppy disks. EMail ď Ē For everything else, Take Another Step

                  Comment


                    #10
                    I believe a "Shut up and take my money!" is appropriate here
                    http://scalibq.wordpress.com/just-ke...o-programming/

                    Comment


                      #11
                      Originally posted by Retro Canada View Post
                      I guess you don't have enough RAM bits inside the FPGA (well maybe MDA using 2 bits per pixel you need 63K). but since I need 6-bits per color this is why I use an external SRAM chip of 8ns! I use the dual port ram only the for incoming and outcoming rows.

                      You don't have to solder the FPGA Cyclone, you just buy the smal CoreEP4CE6 from ebay, it costs 25 dollars and it comes ready to use. You just need to build the daugherboard I designed to use with it.
                      You can get the Artix 7 with up to 2,700kbit of internal memory (mine was the 1,800kbit model), but with it being BGA and a little pricey per chip, I think the SRAM solution is much better. My issue wasn't hardware limited but mostly a lack of time, knowledge and skill.
                      Twitter / YouTube

                      Comment


                        #12
                        The screens look a lot better than those I get using my C128 DCA /Gonbes 8220 combination and it sounds like it may be slightly cheaper. Very cool.
                        PCjr, DTK PC-XT Turbo, 386DX 33, 486 laptop, Pentium 120, Pentium III 500, various old laptops, Commodore Colt, all working. I also have a 286 that I need to see if I can repair.

                        Comment


                          #13
                          I bought a Gonbes about 5 years ago and it never worked right. So I'm looking forward to this

                          Comment


                            #14
                            Cool project, I assume it's compatible with Tandy & IBM PCjr enhanced CGA too?
                            My Retro Collection:
                            CBM: C64, Amiga 500 x2, 600 & 1200
                            Apple's: IIc, Mac SE, LCII, LC630 & Power Mac G3/233 Desktop
                            PC's: K6-III+ 500 System + Roland MT-32 & Tandy 1000 EX 640kb, 3.5" FDD, CF-IDE 4GB HDD
                            Visit my Tindie store for Tandy 1000 Adapters for EX, HX, SX, SL, TX & TL etc

                            Comment


                              #15
                              Originally posted by dJOS View Post
                              Cool project, I assume it's compatible with Tandy & IBM PCjr enhanced CGA too?
                              I would assume so, since they use the same 16-colour RGBI interface to the same monitor (640x200 resolution).
                              The enhancements are only in the display circuitry, which can display 16 colours at a time, where CGA is limited to 4. EGA is the same, in 320x200 mode, it can be used on a regular CGA monitor.
                              http://scalibq.wordpress.com/just-ke...o-programming/

                              Comment

                              Working...
                              X