
Project VGA – Home of the Low Budget, Open Source, VGA Compatible Card (2008) - peter_d_sherman
http://wacco.mveas.com/
======
mntmn
It’s amazing to see this and the similarities to my Amiga VA2000 graphics card
that I did many years later, but I swear I didn’t see this before. VA2000 did
HDMI output and some very basic 2D acceleration. It’s now sold out.

I just completed the PCB design for ZZ9000 (firmware is in beta already), a
bigger follow-up based on ZYNQ and using the ARM cores for some graphics and
general purpose acceleration. It will be open sourced as well.

Do you think there is demand to spin an open HD framebuffer+ARM card for other
platforms as well?

ZZ9000: [https://shop.mntmn.com/products/zz9000-for-amiga-
preorder](https://shop.mntmn.com/products/zz9000-for-amiga-preorder) VA2000:
[https://github.com/mntmn/amiga2000-gfxcard](https://github.com/mntmn/amiga2000-gfxcard)

~~~
vardump
How much did the HDMI license cost? Been looking for HDMI output for a retro
system, but it DVI would incur no cost, while HDMI would require extra $5k.

~~~
MisterTea
You can output DVI using an HDMI connector and not pay the license fee. So
"DVI output via HDMI connector" gets you around the license fee. The fee comes
in when you use the actual HDMI spec and implement HDMI stuff like Audio, CEC
and actually calling it HDMI.

~~~
vardump
DVI is indeed my approach to get around the issue. Like you mentioned, the
downside is losing those nice extras, like audio.

------
aftbit
Can we get a [2008]? Interesting work but not a competitor for today's GPUs.

    
    
        PCI bus interface (32 bit, 33/66MHz, 3.3/5V compatible)
        Xilinx Spartan 3 s400 FPGA (aiming for ~100MHz)
        16MB SDRAM (aiming for ~166MHz)
        Onboard programmer with USB interface

~~~
RickSanchez2600
If it supported ISA for the old DOS PCs that didn't have PCI bus it would be a
good upgrade for the old school PCs out there. Monochrome MGA used a different
address than VGA/CGA/EGA uses. So you could have two monitors in old school
PCs.

~~~
neilv
Regarding the PC monochrome display adapter memory offset vs. CGA/etc.
offsets, I wrote some direct memory write display code in Turbo Pascal to take
advantage of that, which let me use two monitors in toy ways. But the only
real use I recall hearing of the second display was for a debugger (at
Microsoft).

~~~
allenbrunson
i was never a turbo pascal user, but my first real programming environment was
borland's turbo c, a close relative. it had a great debugger that would allow
you to run your app on your primary color monitor, and display the contents of
the turbo debugger on your monochrome display. turbo debugger was also great
for single-stepping your way through other people's programs in the same way.

back in the day, i wrote a VGA-based game that, if it detected a secondary
monochrome display, would put up a whole bunch of real-time-updating graphics
statistics on it. that made performance tuning a lot easier.

~~~
neilv
I loved Turbo C, too. When TC came out, it put a good C compiler in the hands
of some young programmers for whom the main Microsoft compiler was
prohibitively expensive. Same with Turbo Assembler and Turbo Debugger.

------
neilv
We should try to work towards having viable open source hardware, such as for
security, freedom to improve and share, and to prevent slippery slopes like
HDCP.

This particular project, for example, could be one piece of a usable open
source hardware PC.

------
duskwuff
(2008)

If the author ever got this project working, there's no sign of it here. One
of the last updates says that they got it to produce VGA _output_ , but not
under computer control. None of their HDL appears to be online either.

~~~
Fnoord
The whole opengraphics.org thing doesn't seem to be up either. I checked on
Archive.org [1] but couldn't find anything.

[1]
[https://web.archive.org/web/*/opengraphics.org](https://web.archive.org/web/*/opengraphics.org)

~~~
duskwuff
I dug a little deeper, and it actually looks as though the project got a bit
farther than I thought. Here's one of the less bit-rotted captures of their
site:

[https://web.archive.org/web/20110226000747/http://wiki.openg...](https://web.archive.org/web/20110226000747/http://wiki.opengraphics.org/tiki-
index.php)

Sadly, the source code still appears to be lost.

------
coryrc
I was thinking it was project back on slashdot a decade ago.

[https://hardware.slashdot.org/story/08/05/21/2136243/open-
so...](https://hardware.slashdot.org/story/08/05/21/2136243/open-source-
graphics-card-available-for-advance-orders)

------
rwmj
It turns out it's possible to drive VGA by "bit-banging", even from quite low-
end hardware. This is how the Gigatron drives its display
([https://gigatron.io/](https://gigatron.io/)), but it's been done a few other
times: [https://hackaday.com/2016/12/08/bitbanging-vga-fits-in-
under...](https://hackaday.com/2016/12/08/bitbanging-vga-fits-in-under-1-kb/)
[https://hackaday.com/2011/05/10/bit-banging-vga-from-an-
sd-c...](https://hackaday.com/2011/05/10/bit-banging-vga-from-an-sd-card-
slot/)

~~~
userbinator
No mention of bit-bang VGA is complete without a link to
[https://www.linusakesson.net/scene/craft/](https://www.linusakesson.net/scene/craft/)

He has also done something far more minimalistic:
[https://www.linusakesson.net/scene/bitbanger/index.php](https://www.linusakesson.net/scene/bitbanger/index.php)

------
Jonnax
Is it possible to make a modern one on commercial FPGAs?

Perhaps simplifying it with a HDMI chip rather than implementing the protocol.

~~~
duskwuff
HDMI is actually pretty straightforward to implement on a modern FPGA. I'm
currently working on such an implementation -- I've got low-resolution modes
working with fabric serializers; currently working on an OSERDES
implementation to make higher resolutions available.

~~~
lnsru
What chip are you using? Kintex or Artix?

~~~
duskwuff
Neither! Spartan-6. (Which I suppose isn't quite "modern" either, but it's a
big step up from the part being used by this project.) The relevant Xilinx
documents [1][2] suggest that it's even possible on Spartan-3A parts.

[1]:
[https://www.xilinx.com/support/documentation/application_not...](https://www.xilinx.com/support/documentation/application_notes/xapp495_S6TMDS_Video_Interface.pdf)

[2]:
[https://www.xilinx.com/support/documentation/application_not...](https://www.xilinx.com/support/documentation/application_notes/xapp460.pdf)

------
analognoise
Third sounds like a fun FPGA project, does anyone want to work on a similar
one today?

~~~
lnsru
Does it make sense? Xilinx AC701 or an older Altera Arria V dev Kit have all
the hardware for this. Writing code for them might be interesting learning
project, but there are more interesting stuff nowadays to learn.

~~~
metaphor
Not sure what Arria V dev kit you're referring to, but the AC701 retails for
~$1.3k and is overkill for the target application.

~~~
lnsru
What do you want to pay for it? Hardware alone might cost 300$, but you also
need somebody that wants work for free. 900$ is realistic price assuming low
demand for such niche application. Maybe even higher price like this one:
[https://numato.com/product/nereid-kintex-7-pci-express-
fpga-...](https://numato.com/product/nereid-kintex-7-pci-express-fpga-
development-board)

I am not related to Numato, but getting 4k@60Hz requires mid range chip like
this Kintex-7.

I also not sure, if somebody wants to open source more than schematics and
Gerbers after putting few hundred working hours in such project.

~~~
metaphor
Certainly not anything remotely close to $1k with unnecessary baggage. Where
did you pull this imaginary 4K@60Hz performance requirement from anyways?

The original article discussed analog VGA with PCI host control. The GP said
something _similar_. You're proposing high-bandwidth digital video and
suggesting native PCIe dev boards...completely out of scope.

Take a look at the i.MX6 Rex project[1] designed by Robert Feranec and Martin
Murin before presuming what people out there are willing to release.
Comparatively speaking, a VGA over PCI video card is solo undergrad EE fodder.

[1] [https://www.imx6rex.com/](https://www.imx6rex.com/)

------
patrickg_zill
Different for sure, but amazing that a $3-5 ESP8266 can output VGA
(monochrome) with hardly any additional hardware:
[https://forum.arduino.cc/index.php?topic=564673.0](https://forum.arduino.cc/index.php?topic=564673.0)

~~~
linker3000
The ESP32 can do VGA colour with a few resistors:

[https://github.com/fdivitto/fabgl](https://github.com/fdivitto/fabgl)

