NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your PCB

The place for all discussion on gaming hardware
Post Reply
User avatar
mikejmoffitt
Posts: 629
Joined: Fri Jan 08, 2016 7:26 am
Location: Tokyo, Japan

NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your PCB

Post by mikejmoffitt »

I posted about this years ago on the Neo-Geo forums, but since I've picked up my slack and started building the damn thing I can maybe post about it here too.

You can see more details here: http://www.neo-geo.com/forums/showthrea ... VS-and-AES

In short, this began as an FPGA taking the pixel bus information from a Neo-Geo board, and digitally line doubling it to 480p over VGA. The advantage of the simple method here is that it does not lag - it operates in a very similar mode as the XRGB2, but the main difference is that rather than having an ADC with a fixed sampling rate (or with clock recovery) this is running in lockstep with the original system's pixel clock, so the resulting image is perfect.

SUPPORTED VIDEO MODES:
-480p VGA
-480p YPbPr / Component
-240p RGB (sync on pin 13 of the VGA plug)
-240p YPbPr

The system can switch between these on the fly. The board is designed to sit inside the AES console or MVS arcade machine, mounted gently on or near the motherboard.

This is it running on an old NEC 20" LCD monitor:
Image

Here it is on a PC CRT monitor (with one of my scanline settings):
Image

As you can see scanline generation is built-in. If you want some high-res CRT porn of how it looks on a nice CRT (like some of the Sony GDM series monitors) check this out:
Image

Anyway, since then, I've made a few alternate firmwares for it, including CPS1/2 (CPS3 might be possible?) and Williams arcade hardware (Robotron, Joust, etc). I am also working on a Sega Genesis variant, but that will be a lot more development work. I designed the PCB to have a bunch of 5V-tolerant IO ports on it so as I gain access to new arcade hardware I can see about adding support. Most of these old arcade games have the entire pixel bus just sitting there, waiting to be tapped in to. I would not be surprised if >80% of '90s and older arcade games could be supported with this.

I've just submitted my first PCB design to be fabricated for testing:
Image

I'll keep this thread and the old one updated as things progress.
Image
tacoguy64
Posts: 546
Joined: Tue Dec 30, 2014 12:42 am

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by tacoguy64 »

This thing looks pretty sweet.
Would love to connect this to both my fw900 and nec monitors using 480p VGA!
User avatar
Fudoh
Posts: 13015
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by Fudoh »

great project!

Your images don't show unless one's signed in on the NG board. Maybe you could try another hoster for this thread here ?
User avatar
BuckoA51
Posts: 3362
Joined: Sat Oct 02, 2010 10:08 am
Location: Ireland
Contact:

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by BuckoA51 »

Very nice! Don't suppose you could add in some kind of optional replacement clock crystal? As I recall, Neo Geos vertical sync was way off kilter and this caused issues with more modern TVs etc.
OSSC Forums - http://www.videogameperfection.com/forums
Please check the Wiki before posting about Morph, OSSC, XRGB Mini or XRGB3 - http://junkerhq.net/xrgb/index.php/Main_Page
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by Xyga »

Cool! A system-dedicated solution could be cheap, simple, and nice if it fits inside the casing, indeed.

Though plussing Bucko's post I've heard and read complaints about flat panel displays not welcoming the Neo Geo's signal frequency to be a common issue...
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
ryu
Posts: 1924
Joined: Mon May 31, 2010 6:43 pm
Contact:

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by ryu »

I've hooked up my MVS through two scalers and still got it showing perfectly. But it's probably precisely because of the scalers inbetween that I didn't have any trouble then.

Wasn't it so that current TVs no longer support VGA anyways?
blog - scores - collection
Don't worry about it. You can travel from the Milky Way to Andromeda and back 1500 times before the sun explodes.
User avatar
BuckoA51
Posts: 3362
Joined: Sat Oct 02, 2010 10:08 am
Location: Ireland
Contact:

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by BuckoA51 »

Doesn't really matter what scaler you use, if the vsync is too far out of spec then many monitors/TVs will either freak out or do a quick frame-rate conversion which introduces stuttering.
OSSC Forums - http://www.videogameperfection.com/forums
Please check the Wiki before posting about Morph, OSSC, XRGB Mini or XRGB3 - http://junkerhq.net/xrgb/index.php/Main_Page
User avatar
mikejmoffitt
Posts: 629
Joined: Fri Jan 08, 2016 7:26 am
Location: Tokyo, Japan

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by mikejmoffitt »

A lot of people say it's far out of spec and it gives them trouble, but from my experience I haven't been able to find any TV except for one that won't cooperate, and every monitor I tried was fine.

480p YPbPr is provided as most TVs still have 480p component support, even though VGA is dropped. Once I get the board I can record a list of every display I've tested.
BuckoA51 wrote:Very nice! Don't suppose you could add in some kind of optional replacement clock crystal? As I recall, Neo Geos vertical sync was way off kilter and this caused issues with more modern TVs etc.
This might be a possibility - it would only change the speed, audio pitch, etc. very slightly. The V-sync isn't "way off" though; when I get a chance I'll measure it on the scope.
Image
User avatar
RGB32E
Posts: 1400
Joined: Thu Nov 05, 2009 12:50 am

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by RGB32E »

BuckoA51 wrote:Doesn't really matter what scaler you use, if the vsync is too far out of spec then many monitors/TVs will either freak out or do a quick frame-rate conversion which introduces stuttering.
Yeah, the vsync of the AES/MVS causes all sorts of problems for XRGB-3 B1 (line double) users due to many HDTVs not wanting to sync that low. Perhaps the component inputs on a given HDTV are more timing tolerant (frame rate conversion stutters aside) than PC inputs.

The timing issues with the AES/MVS were brought up as well by a similar project - Charlie/charcole's Neo Geo HDMI that uses an Altera Cyclone II FPGA. The Altera EP2C5T144 dev board can be used for the project.

https://github.com/charcole/NeoGeoHDMI
http://hackaday.com/2015/02/13/hdmi-aud ... o-geo-mvs/
When he tested the HDMI with his monitor, it was out of spec but still worked. His TV, on the other hand, refused to play it at all. This was due to the Neo Geo outputting 59.1 fps – not the standard 60 fps. Using the FPGA, [Charlie] overclocked the NeoGeo by approximately 1% and used the 27Mhz pixel clock to change the FPGA output to a 720 x 480p signal.
mikejmoffitt, this appears to be what BuckoA51 is referring to. Any plans to share the project on OSHPark after you test the design? Which FPGA is this PCB for?
philexile
Posts: 424
Joined: Fri Feb 26, 2010 8:22 pm

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by philexile »

Wow - nice!
User avatar
yxkalle
Posts: 135
Joined: Sun Feb 16, 2014 4:32 am
Location: Stockholm, Sweden

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by yxkalle »

Should be applicable on the 3DO too.
User avatar
emphatic
Posts: 7921
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by emphatic »

Very cool project.
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
BuckoA51
Posts: 3362
Joined: Sat Oct 02, 2010 10:08 am
Location: Ireland
Contact:

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by BuckoA51 »

mikejmoffitt, this appears to be what BuckoA51 is referring to. Any plans to share the project on OSHPark after you test the design? Which FPGA is this PCB for?
Yeah exactly what I'm referring to. Of course there is also Micro's DFO (Dual Frequency Oscillator) project designed to combat this problem in various consoles.
OSSC Forums - http://www.videogameperfection.com/forums
Please check the Wiki before posting about Morph, OSSC, XRGB Mini or XRGB3 - http://junkerhq.net/xrgb/index.php/Main_Page
User avatar
mikejmoffitt
Posts: 629
Joined: Fri Jan 08, 2016 7:26 am
Location: Tokyo, Japan

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by mikejmoffitt »

On that note, if one switches out the main clock with another, the board won't care as its clock is derived from the CPU clock (master clock / 2), and it will change accordingly.

As for the 3DO, if it has an exposed pixel bus anywhere in there, then yeah it should be possible.
Image
Jontox
Posts: 1
Joined: Mon Aug 08, 2016 8:12 pm

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by Jontox »

Great project

Are you still taking order ?

Email sent
User avatar
modology
Posts: 32
Joined: Tue May 17, 2016 3:17 pm

Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your

Post by modology »

do you still develop this board? any chance for CPS3 support?
Post Reply