VGA Wing (6 bit)


papry

Recommended Posts

Last night I ported my unfinished MC6847 emulator Verilog code from a Altera EPC4 board to my Papilio One. I have the small VGA wing, which has: hsync; vsync; and 2 bits each for R, G and B. When I found the schematic I was surprised to see that both resistors were the same value, which I believe will only allow my 3 levels of luminance for each colour, so only 27 colours in total. Why not use two different values for the resistors, similar to the scheme used on the other MegaWings? To be honest it isn't an issue for this particular project. I know that I could replace one of the resistors, but I am unable to work with that tiny size of SMD resistor.

Link to comment
Share on other sites

Sorry if I wasn't clear. All 3 VGA colour analogue inputs  connect to 2 FPGA pins via resistors of the exact same value (marked 271 - using a magnifying glass). I was expecting one resistor to be half the value of the other. So code 00 is black, code 11 is full intensity (luminance), but codes 10 and 01 result in the same luminance. On the bottom is appears to be make by Sparkfun.

On the MegaWing there are 3 resistors for the red and green channels (2k, 1k and 510 ohms). They form a potential divider with the 75 input impedance of the monitor. On the Altera board there are 5 resistors per channel (similarly 500, 1k, 2k, 4k and 8k ohms). I made a project which simply ramped the count from 0 to 31 and viewed the voltage on a scope. I was surprised to see that code 15 (01111 binary) was at a higher voltage than code 16 (10000 binary). In this simple scheme I suspect that the output impedance of the FPGA driver has not been taken into account, and has an impact. I tried different drive strengths and the ramp steps did change in the area of the 15 to 16 transition.

Link to comment
Share on other sites

Sparkfun must have made a mistake then... I didn't realize they were even still selling Papilio boards. 

I have a VGA wing here in front of me and R1, R2, R3 are 391 (390 ohm)  and R4, R5, R6 are 821 (820 ohm). So if all six resistors on the board you have are the same value then they made a mistake when they manufactured the boards...

We should get you a better board, are you in the United States?

Jack.

Link to comment
Share on other sites

Ah! OK. It is not a problem. I probably can get someone at work to replace the resistors. BTW I am in the UK.

The MC6847 chip which I am trying to emulate, only supported limited colours anyway. The project is part of emulating an old UK 6502 "Acorn Atom" computer. Someone has already done an excellent full port of this computer to the Papilio (known as Hoglet on the BBC/Acorn forum, and on this forum too). For me it is simply a for fun and learning project. I will connect the Papilio One to a real (3.3V) 65C02, and 64k bytes RAM, rather than emulate them in the FPGA. The only problem is that I will probably run out of FPGA pins (16 needed for the address and 8 for the databus, leaving only 8 for other 65C02 and RAM pins). The idea was to connect to a real (old) X,Y matrix keyboard which I have, but this could be a problem :-). I guess I might have to wait for the Papilio Pro Plus to be released which hopefully will have far more pins!

Link to comment
Share on other sites

OK Dave. I am not a prolific poster, but it did pass my mind to post some pictures once the project had developed. BTW I do have a habit of not finishing things off. If it is Papilio specific I will post here, otherwise I will post to Stardot (where I am user acory).

--Gary

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.