Page 1 of 1

Merging LED matrix driver into mister cores?

Posted: Fri Jun 21, 2024 10:22 pm
by Maytricks

I have found the right version of Quartus, sorry about my stupid post earlier :D

So my goal here is to take a project that was coded for the DE0-Nano and make whatever changes need to be made to adapt it to the DE10-nano and incorporate it into a few console cores, but I don't know much VHDL which is what they're both written in. The project drives LED matrices with the FPGA which gives an exceptional picture, and is easy enough to match a low resolution console like SNES or NES. I currently have a Gameboy fork working that has this feature (Gearboy) and it looks awesome, but it's in the raspberry pi and doesn't achieve the hertz that the FPGA would, so I'm going for this instead. The pi achieves like a 1-2 frame delay so it's right on par with HDMI, the Mister would probably be the same if not better.

It's pretty old code but it is still the same language, and it's already written so it should hopefully just need some minor changes. I know the pin numbers are different on the DE10, and I would be using GPIO 1 instead of 0 (the ram is using GPIO 0), but this is also coded for the Cyclone IV so I'm not 100% sure how easy it would be.

Basically I'm asking, would it be easy as changing some values and adding those files to the SNES core project

I attached a few images of examples, one is the Space Invaders Frenzy which looks insane it pops out among all the other games. Other pics are of the Gameboy emulator on my build which is 256x192 but soon to be 256x256. I'll also link a video to show the near zero frame lag.

https://youtu.be/DwdWmKyvfgE?si=XLOQ2F6lPBk7NxP0

Image
Image Image


Re: Merging LED matrix driver into mister cores?

Posted: Fri Jun 21, 2024 10:23 pm
by Maytricks

Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 12:10 am
by Maytricks

I'll explain the build:

64x64 RGB LED matrices arranged in a 4:3 pattern. I am adding 4 more to make. 4:4 pattern, equaling 256x256 pixels. This should cover NES Super Nintendo and a couple game boys as well. The panels cost between $15 and $50 depending on where you look, and I know that's a big range but do your homework is all I can say. The power supply is a 5 volt 40 amp AC to DC converter with screw terminals for the cables, I think I paid like $20 for it. The frame is built from 2020 extrusion rails, using flat t-nuts and screws to attach the panels to the rails; this hardware equaled about $100, so the whole thing can be done for around $350 minimum, Plus the cost of the mister but I assume you have one anyway... One more thing is longer ribbon cables than what they give you with the panels, so let's say $400 because you'll also need brackets to attach the rails. You want everything perpendicular/parallel, no stacking rails. Also these little plastic nubs on the panels that were in the way, I broke them off with pliers but it didn't affect the panel at all. Just the bracket side.

I am currently driving with a raspberry pi 4 with an add on board for controlling the matrix, but the project I posted deals with individual jumper cables to connect to the panel hub directly.

The logic within the VHDL files allows you to change the configuration of the rows/columns and the configuration of panels as well, however, it is written for 64x32 panels and I'm aiming to use 64x64 panels that use a 5 pin addressing setup. The coding for the original project uses a 3 pin addressing system, so there will be changes that need to be made.


Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 8:58 am
by FPGA64

The SNES core is one of the biggest cores and using space for an extremely niche display that very few will ever use seems to be a waste of space. Having it in your own private branch is fine but I would not like to see this in the main distribution.


Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 11:05 am
by kenpachi

As a big fan of low latency and CRTs, and disappointed with OLEDs, I'm very keen to see what an FPGA driven LED array can do!!


Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 11:58 am
by kcmastrpc
FPGA64 wrote: Sat Jun 22, 2024 8:58 am

The SNES core is one of the biggest cores and using space for an extremely niche display that very few will ever use seems to be a waste of space. Having it in your own private branch is fine but I would not like to see this in the main distribution.

There's only room for optimization at this point. Are there new features or capabilities on the older cores that are going to need this space (outside of what OP is suggesting)?

This seems like a cool project and being able to drive LED walls with the MiSTer seems pretty legit. (Have you played some of these games in the arcade? They're a lot of fun)


Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 12:17 pm
by Maytricks
FPGA64 wrote: Sat Jun 22, 2024 8:58 am

The SNES core is one of the biggest cores and using space for an extremely niche display that very few will ever use seems to be a waste of space. Having it in your own private branch is fine but I would not like to see this in the main distribution.

Really just looking to make a custom core. Didn't realize the super Nintendo one was so big. I hope it can be implemented and still retain performance


Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 3:19 pm
by Maytricks
kenpachi wrote: Sat Jun 22, 2024 11:05 am

As a big fan of low latency and CRTs, and disappointed with OLEDs, I'm very keen to see what an FPGA driven LED array can do!!

I linked a quick YouTube video of the Gameboy above


Re: Merging LED matrix driver into mister cores?

Posted: Sat Jun 22, 2024 3:35 pm
by Maytricks
FPGA64 wrote: Sat Jun 22, 2024 8:58 am

The SNES core is one of the biggest cores and using space for an extremely niche display that very few will ever use seems to be a waste of space. Having it in your own private branch is fine but I would not like to see this in the main distribution.

Also, just wanted to add that the raspberry Pi is handling this at about 180 HZ with game boy. That's right around the threshold you want to be, If you go much lower then the eye starts to pick up the flicker. Maybe if we can't get Super Nintendo we could get game boy advance or something a little bit more advanced than original game boy/ game boy color. Gba has several ports from Super Nintendo that look pretty much as good. Even if just the boy worked for the mister would be cool because I can't get the sound to work on the raspberry Pi for some reason

There were also issues with the controls when I first found the repo, but I've forked it and made some fixes. If I can't get into vhdl then I'll have to get back into C and try and make this work for the raspberry Pi 5 future release. I spent a lot on the panels through a reseller so there's no turning back now 😅

https://github.com/sub-zerohm/Gearboy-r ... led-matrix