NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your PCB
-
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
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:
Here it is on a PC CRT monitor (with one of my scanline settings):
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:
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:
I'll keep this thread and the old one updated as things progress.
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:
Here it is on a PC CRT monitor (with one of my scanline settings):
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:
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:
I'll keep this thread and the old one updated as things progress.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
This thing looks pretty sweet.
Would love to connect this to both my fw900 and nec monitors using 480p VGA!
Would love to connect this to both my fw900 and nec monitors using 480p VGA!
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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 ?
Your images don't show unless one's signed in on the NG board. Maybe you could try another hoster for this thread here ?
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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
Please check the Wiki before posting about Morph, OSSC, XRGB Mini or XRGB3 - http://junkerhq.net/xrgb/index.php/Main_Page
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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...
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?!"
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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?
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.
Don't worry about it. You can travel from the Milky Way to Andromeda and back 1500 times before the sun explodes.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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
Please check the Wiki before posting about Morph, OSSC, XRGB Mini or XRGB3 - http://junkerhq.net/xrgb/index.php/Main_Page
-
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
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.
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.
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.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.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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.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.
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/
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?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.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
Should be applicable on the 3DO too.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
Very cool project.
| 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.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
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.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?
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
Please check the Wiki before posting about Morph, OSSC, XRGB Mini or XRGB3 - http://junkerhq.net/xrgb/index.php/Main_Page
-
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
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.
As for the 3DO, if it has an exposed pixel bus anywhere in there, then yeah it should be possible.
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
Great project
Are you still taking order ?
Email sent
Are you still taking order ?
Email sent
Re: NeoVGA: FPGA-based "native" 480p VGA and YPbPr from your
do you still develop this board? any chance for CPS3 support?