NeoVGA: Lagless, pixel-perfect line doubler for Neo-Geo MVS and AES

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
I'm having some very frustrating setbacks - for one interpreting Csync is a little more annoying than I thought it would be. The more important one is that somehow the FPGA is missing clocks here and there, causing weird image shifting and off by one errors to appear. It is not consistent but it sometimes fluctuates with quick changes of brightness on screen. I'm led to believe it is power related as the FPGA is a 3.3V device while the Neo-Geo is a 5V one. I have ordered some level shifters so I can interface with it properly, and hopefully that will help.
 

SGGG2

n00b
Joined
Dec 30, 2009
Posts
15
Great project! Are you considering DVI output?

The point is to bypass the need to decode analogue information and the sync line. Otherwise, what you'e described is an XRGB-3 in B0 mode.

B1 is linedoubling mode. B0 is upscaling mode.
 

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
Great project! Are you considering DVI output?



B1 is linedoubling mode. B0 is upscaling mode.
Yep, got them mixed up - I've never touched one before so it was bound to happen.

DVI output would be nice, I just don't know how complicated it would be to do the TMDS output from the FPGA. The timings should match up so it may be a possibility. Unfortunately HDMI is a no go because it's expensive to legally use it. A DVI to HDMI adapter would sidestep that issue, though.
 

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
I've made the nicer video of it working:

And here's a video showing the problem I'm dealing with sometimes:
 

grendelrt

Super Spy Agent
Joined
Apr 22, 2014
Posts
623
Any updates Mike, this is a great project! It could be invaluable in the future if tri mode monitors keep dying off, allowing people to hook up to 30khz and still run a mvs (unless I am misunderstanding).
 

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
Any updates Mike, this is a great project! It could be invaluable in the future if tri mode monitors keep dying off, allowing people to hook up to 30khz and still run a mvs (unless I am misunderstanding).

Yep, you've got it - that's exactly the intent. I've been very busy with work recently, but the project is also at a bit of a stand-still. I'm stuck dealing with a few stability issues, possibly due to the 3.3V <> 5V logic level differences. It appears to be missing clocks on occasion for reasons unclear. I have some level shifters on the way that will hopefully just solve it. I still am having trouble understanding all of what would need to go into designing a board for it in regards to getting the FPGA to be programmed on boot. If anyone who is experienced with this sort of thing would like to participate in it I'd be open to it.

I did recently get an XRGB-2, and it is a very nice device. I can confirm, however, that the image from my scaler is much sharper and doesn't require *any* sort of level configuration, AFC settings, and doesn't have random blips in the sync like a traditional scaler.
 

SGGG2

n00b
Joined
Dec 30, 2009
Posts
15
Mike, check out the modding and Neo-Geo forums over at Assemblergames.com, you may find some help there.

Also, XRGB-2 is old tech, lol. The XRGB Mini looks almost like an emulator and has none of the AFC issues and crap the older XRGB's suffer from.
 
Last edited:

DanAdamKOF

Iori's Flame
20 Year Member
Joined
Jun 15, 2002
Posts
8,250
As a video geek (especially for analog), I want to thank you for this thread. Fantastic opening post! I love learning about analog video (I actually worked for a capture card company for a few years and learned a ton about analog through it) and you've taught me a few things. Your explanation of line-doubling was perfect, I never have had it spelled out for me.

Typo in the OP btw: it's Schmitt Trigger not Schmidt :) Not to be a dick just letting you know!

I would imagine you program a standalone FPGA with some sort of chip on the board? If CF would work maybe you could have a small MicroSD slot in there and download the data, and if you ever update your load the user can just pop a new one on with any PC and card reader.

My old company's products sent the load into the FPGA over PCIe or PCI when Windows booted (more accurately when the driver initialized), rather than to something onboard that would then load. For what that's worth.
 
Last edited:

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
As a video geek (especially for analog), I want to thank you for this thread. Fantastic opening post! I love learning about analog video (I actually worked for a capture card company for a few years and learned a ton about analog through it) and you've taught me a few things. Your explanation of line-doubling was perfect, I never have had it spelled out for me.

Typo in the OP btw: it's Schmitt Trigger not Schmidt :) Not to be a dick just letting you know!

I would imagine you program a standalone FPGA with some sort of chip on the board? If CF would work maybe you could have a small MicroSD slot in there and download the data, and if you ever update your load the user can just pop a new one on with any PC and card reader.

My old company's products sent the load into the FPGA over PCIe or PCI when Windows booted (more accurately when the driver initialized), rather than to something onboard that would then load. For what that's worth.

I get how I'd do it from a high level standpoint, my questions are more things like:

-What sort of EEPROMs are compatible?
-Are there solutions just made for this?
-What support circuitry will be needed for the FPGA?

Right now I often load it off of the CF card, but really that's a separate IC (branded here as System ACE) that programs the FPGA after loading from CF. It looks like a MCU will be the easiest path, as it definitely will clock itself.

Once I have more time, and I'm no longer working from 9:00 to ~8:00, I can put a little more time into this sort of research.

EDIT: Atmel's writeup of this topic is actually very helpful here: http://www.atmel.com/Images/doc0508.pdf
 
Last edited:

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
Have you tried adding a level shifter circuit to bring the NeoGeo's 5V down to the 3.3V of the FPGA?

Yep, I already built a little board for this between the FPGA and the Neo-Geo. This weekend I was planning on adding the port to my MV-1FZS and continuing to work on this.
 

SeaWolf69

Haomaru's Blade Shiner
Joined
Jun 8, 2003
Posts
688
Wow this is amazing! I would love to be able to play my AES on a HDTV! Alas I no longer have analog tv to play on so my system has been sitting in a box for years. Please keep up the good work! I look forward to the day when you complete your project. You should seriously consider starting up a kickstarter campaign!
 
Joined
May 23, 2008
Posts
30
:drool:Well this is the kind of stuff that gets me going! I hope you succeed in this project so it's available for everyone who loves their neo! You should consider kickstarter to get it done faster, i would totally preorder or at least donante something :drool: keep up the good work, man!
 

massimiliano

&#12493;&#12458;&#12472;&#12458;,
20 Year Member
Joined
Feb 27, 2004
Posts
3,224
Yes, great project, please let us know if/when we can participate to make it happen!
 

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
:drool:Well this is the kind of stuff that gets me going! I hope you succeed in this project so it's available for everyone who loves their neo! You should consider kickstarter to get it done faster, i would totally preorder or at least donante something :drool: keep up the good work, man!

Not a bad idea, but I don't think it would get it done faster. I'd consider a kickstarter once I have a working prototype board, as right now everything just works on the FPGA dev board. the next step is designing a board, programming it, and showing that works. I don't want to go down the path of many failed hardware kickstarters that get going and collect funds before any working hardware is shown off.
 

Pasky

Fug:DDDDD,
Joined
May 5, 2013
Posts
2,844
Not a bad idea, but I don't think it would get it done faster. I'd consider a kickstarter once I have a working prototype board, as right now everything just works on the FPGA dev board. the next step is designing a board, programming it, and showing that works. I don't want to go down the path of many failed hardware kickstarters that get going and collect funds before any working hardware is shown off.

Why bother with a kickstarter? You can take the SD2SNES route, release all the source online and the bill of materials list.

This is assuming you're not trying to make a profit. If you are, that's totally cool as well
 

Sex Machine

Big Monkey Balls 20
Joined
Aug 22, 2003
Posts
732
Is this an rgb to vga encoder? that would be pretty epic since my tv does vga.
 

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
Why bother with a kickstarter? You can take the SD2SNES route, release all the source online and the bill of materials list.

This is assuming you're not trying to make a profit. If you are, that's totally cool as well

I will want to make some amount of profit to cover time and materials spent on it. Think of this as being in the same vein as the NESRGB kit.


Is this an rgb to vga encoder? that would be pretty epic since my tv does vga.

It is like that, but it is a much cleaner way of doing it. It is taking the digital RGB signal straight from the Neo-Geo, there's no analogue capturing being done. The result is an unbeatable sharp signal. The downside is that it will only work with a Neo-Geo as-is. I may migrate the project over to doing N64 as well.
 
Last edited:

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
I think I'm going to clean up the source a bit, write some more documentation, and just make the repository public. I don't think I'm going to have time to produce a proper board and go through everything needed to make and release an electronic project, especially when profits will be so low (not that many people will buy something like this honestly). This way others with knowledge and time can contribute.
 

Pasky

Fug:DDDDD,
Joined
May 5, 2013
Posts
2,844
Ya, it will be extremely hard to price as well. You'll need to charge for the board at some sort of profit and whoever wants it will need to have it installed, that's shipping 2 ways minimum + the cost of installation for them. A XRGB mini hovers around $310-360. At that point, might as well get a scaler that works with everything and not just the Neo.

I applaud your efforts and it's really an awesome thing you've created.
 
Last edited:

mikejmoffitt

Mickey's Coach
Joined
Feb 6, 2014
Posts
578
Ya, it will be extremely hard to price as well. You'll need to charge for the board at some sort of profit and whoever wants it will need to have it installed, that's shipping 2 ways minimum + the cost of installation for them. A XRGB mini hovers around $310-360. At that point, might as well get a scaler that works with everything and not just the Neo.

I applaud your efforts and it's really an awesome thing you've created.

I think the board could definitely be built for under $40 itself, so if anyone designed a board for it / helped touch it up to be a little more stable then it could definitely compete with the currently available scalers in price. The installation isn't difficult, it's just tedious. If I have some time this week I'll neaten up my code and make some more changes (I've learned a lot more about VHDL since I started this project!) and if someone wants to work on it then that's great.
 

GadgetUK

Ace Ghost Pilot
Joined
Sep 27, 2013
Posts
1,323
Wow, this looks mega promising!!! Great job, really great infact! Hope you get the bugs ironed out!

Certainly would love to buy 2 when and if you start selling them!
 

fluxcore

Another Striker
Joined
Nov 4, 2013
Posts
324
Having this as a freely available project to build would be really awesome, I reckon! Much kudos either way though, I'm definitely going to look into getting one or two.
 
Top