VeriNES (FPGA-based NES) Updates

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
User avatar
jwdonal
Posts: 719
Joined: Sat Jun 27, 2009 11:05 pm
Location: New Mexico, USA
Contact:

VeriNES (FPGA-based NES) Updates

Post by jwdonal » Sat Mar 13, 2010 1:00 am

Hello all! I finally got around to posting another progress update for my NES emulator (which I am now calling "VeriNES" - see my 2010/03/11 blog post for the meaning). This latest one is in regards to my APU DMC module progress. Click my "WWW" link below to go directly to my site.

If anyone has any pointers/insights on the 3 itemized bugs that I am seeing (described in my blog) feel free to email me, leave a comment on my blog, or PM me here! And of course any other feedback at all is welcome.

This is also my very first attempt at some simple video editing/compilation. If something doesn't work or you think my method for posting videos is really bad please let me know. The way I am doing it now is the quickest and easiest way for me but if it doesn't work for most people I can change it.

Pz!

Jonathon :)

User avatar
Banshaku
Posts: 2398
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Post by Banshaku » Sat Mar 13, 2010 2:33 am

I just want to confirm what exactly you're doing since I didn't read all the details on your blog.

You're doing a nes emulator in hardware, right? But are you planing to make it like a machine that can play cartidges or just a machine that can run roms? From all you comments about "I need to make mappers work", I guess you're going for the later. Why is that so? Just curious.

User avatar
jwdonal
Posts: 719
Joined: Sat Jun 27, 2009 11:05 pm
Location: New Mexico, USA
Contact:

Post by jwdonal » Sat Mar 13, 2010 2:50 am

You're doing a nes emulator in hardware, right?
Yep!
But are you planing to make it like a machine that can play cartridges or just a machine that can run roms?
Great question! First I will be designing the system for ROMs only, and implementing the mappers directly inside the FPGA fabric. But I do plan on designing a daughter card for my ML505 board that will actually accept original NES cartridges. That won't be till muuuuch later though.
Why is that so?
Hmmm...I guess because it's just easier for me to re-create the HDL for all the mappers (and insanely more fun!) than to create a daughter board or some kind of interface to accept original cartridges. I think writing the code for the mappers and having them all available right inside the FPGA is a lot more kewl than just using carts - but that's just me. ;)

Pz!

Jonathon :)

User avatar
Banshaku
Posts: 2398
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Post by Banshaku » Sat Mar 13, 2010 3:44 am

I see. Me I would say the opposite: to have good replacement for your original nes would be a lot more useful than some hardware that can play nes rom. Most clone are crap so a real replacement would be great. By using real cart, you don't have to emulate any mappers at all and some mappers are not even emulated yet in the powerpak because of their complexity.

If your goal is only to play rom, a computer emulator or a nes + powerpak does exactly that but that's my opinion. I'm sure a lot more people would be grateful if it was a real clone that work like the real thing. Add the possibility to play famicom audio with famicom carts (meaning 1 slot for US-NES and one for famicom) and that' even better. Of course, it should be a top loader, not that horrible idea that was the toaster nes.

Edit:

Another point: if you can make a real clone and then make some real mappers with carts for homebrew then you just prolonged the nes life span even more. I would like the see a clone that is well made and not some junk that feels like it will break in your hands the minute you will use it. I'm sure many people would be looking forward to that.

User avatar
thefox
Posts: 3141
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: VeriNES (FPGA-based NES) Updates

Post by thefox » Sat Mar 13, 2010 7:12 am

jwdonal wrote:This is also my very first attempt at some simple video editing/compilation. If something doesn't work or you think my method for posting videos is really bad please let me know. The way I am doing it now is the quickest and easiest way for me but if it doesn't work for most people I can change it.
Yeah... I really wouldn't advocate using WMP plugin for this kind of thing. Why not just upload the video to Youtube (IIRC it can accept WMV) and embed the Youtube player on your page?
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi

User avatar
Dwedit
Posts: 4435
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Sat Mar 13, 2010 8:20 am

Flash is the worst video player out there. It periodically freezes video in fullscreen mode, requiring you to press ESC to get out of there.
With the modern codec packs, the Windows Media Player plugin will work perfectly when pointed at a FLV file, and play it much more smoothly than Flash ever could, and at a much lower CPU usage rate. If more people used Windows Media Player plugin pointed to a FLV file, I'd be much happier.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
thefox
Posts: 3141
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Post by thefox » Sat Mar 13, 2010 8:51 am

Dwedit wrote:Flash is the worst video player out there. It periodically freezes video in fullscreen mode, requiring you to press ESC to get out of there.
I don't really think that's every happened to me. Only complaint I have for Flash players is that whenever I go full screen on one monitor, I can't do anything on the other because it will automatically exit the full screen once I click on something on the other monitor.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi

User avatar
Near
Founder of higan project
Posts: 1553
Joined: Mon Mar 27, 2006 5:23 pm

Post by Near » Sat Mar 13, 2010 9:33 am

Me I would say the opposite: to have good replacement for your original nes would be a lot more useful than some hardware that can play nes rom.
The original NES cartridges are all 20+ years old. They are all going to succumb to bit-rot.

If you care enough to have actual NES cartridges for the games you are playing, then you should get an actual NES, which should last just as long as the cartridges.
If your goal is only to play rom, a computer emulator or a nes + powerpak does exactly that but that's my opinion.
Emulation is emulation, the NES portion is far more technically complex than the mappers. By emulating the NES, you really don't get that much more accuracy just because the mappers aren't emulated. So you may as well use a PC emulator.

I love these hardware emulators for the sake of documenting and trying to figure out minimal logic gates and such to perform operations. They serve as a sort of documentation of what a real NES would most likely look like in a way that C++ just can't. But they aren't practical at all and will remain extremely niche.

tepples
Posts: 22361
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Sat Mar 13, 2010 9:42 am

byuu wrote:The original NES cartridges are all 20+ years old. They are all going to succumb to bit-rot.
I thought only UVEPROMs and EEPROMs were subject to deterioration over time, and all (licensed) retail NES Game Paks were mask ROMs.
Emulation is emulation, the NES portion is far more technically complex than the mappers.
Even MMC5?
I love these hardware emulators for the sake of documenting and trying to figure out minimal logic gates and such to perform operations. They serve as a sort of documentation of what a real NES would most likely look like in a way that C++ just can't. But they aren't practical at all
Except perhaps as a prototype of a better NOAC.

User avatar
Near
Founder of higan project
Posts: 1553
Joined: Mon Mar 27, 2006 5:23 pm

Post by Near » Sun Mar 14, 2010 12:21 am

tepples wrote:I thought only UVEPROMs and EEPROMs were subject to deterioration over time, and all (licensed) retail NES Game Paks were mask ROMs.
MaskROMs never succumb to bit rot? That is very encouraging if true.
Even MMC5?
Yes, the NES system as a whole is more complex than the MMC5.

tepples
Posts: 22361
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Sun Mar 14, 2010 8:30 am

As I understand it, a mask ROM is a big fat decoder/mux/whatever to wires that are either connected or not connected. (The CIC reverse engineering thread tells more.) It would succumb to bit rot at the same rate that any other non-writable integrated circuit, such as the instruction decoder of a CPU, succumbs to bit rot.

ReaperSMS
Posts: 174
Joined: Sun Sep 19, 2004 11:07 pm
Contact:

Post by ReaperSMS » Mon Mar 15, 2010 12:31 pm

interfacing to an actual cart complicates the hell out of things, as most fpgas aren't 5V tolerant. It's a hell of a lot easier to keep everything in nice modern low voltage stuff.

User avatar
Jeroen
Posts: 1048
Joined: Tue Jul 03, 2007 1:49 pm

Post by Jeroen » Mon Mar 15, 2010 1:20 pm

I don't see it...so i'm gonna ask. What board are you using?

User avatar
jwdonal
Posts: 719
Joined: Sat Jun 27, 2009 11:05 pm
Location: New Mexico, USA
Contact:

Post by jwdonal » Sun Mar 28, 2010 8:16 pm

Yikes, sorry for not replying sooner. I never got an email that more replies were posted even though I am "watching" this topic...weird.
ReaperSMS wrote:most fpgas aren't 5V tolerant. It's a hell of a lot easier to keep everything in nice modern low voltage stuff.
True, but there's fairly easy ways to do it. For example, you can throw a cheap-o-rama 5V tolerant CPLD in between the cart and the FPGA. Done. And then you've even got a little bit of free logic you can play around with.
Jeroen wrote:I don't see it...so i'm gonna ask. What board are you using?
Xilinx ML505 (Virtex-5) and Xilinx XUPV2P (Virtex-II Pro). And eventually I will port it to the Virtex-4. Check out my site for all the details.

Pz!

Jonathon :)

Post Reply