5 ms·
Perhaps we should start using CardBus and PCI-E based FPGA cards and go for hardware simulation rather than software emulation? Performance is far easier to ac
by gouranga 14y ago
Perhaps we should start using CardBus and PCI-E based FPGA cards and go for hardware simulation rather than software emulation?
Performance is far easier to achieve there.
The devices aren't exactly expensive either.
- andrewguenther 14y agoFPGAs not expensive? Please let me know where you shop...
- simcop2387 14y agoWell for small sized dev boards you can usually find them for about $100-$150. What I don't know is if this would have enough capability to do anything like this with it. I'd imagine the 6502 would be doable, but i don't know about the snes.
- jacquesm 14y agoIt depends on the size. Big FPGA's are amongst the most expensive chips that you can buy ($10K and up), but small ones are affordable. The amount of logic in an 80's era game computer should be within the gate budget of a small to mid sized FPGA. See http://www.fpgaarcade.com/ http://www.fpgaarcade.com/ for many examples of this.
- gouranga 14y agoBack in '01 (the good old days), we had volume prices of $40 for Xilinx parts which were big enough to get a PowerPC CPU in it.
- radarsat1 14y agoThe DE0 Nano dev board is $86 on digikey.
- evan_ 14y agoif you're going to add hardware you might as well just get a real SNES from eBay and use a memory cart.
- Wilduck 14y agoThe issue is that buying an SNES becomes decreasingly viable as time goes on while using an FGPA becomes increasingly viable. I don't know if we've reached the point where the balance shifts yet, but presumably we will at some point.
- gouranga 14y agoAlso, the medium on which the software is delivered is not the problem either. It's just information after all. The problem is accurately emulating the software in software which is easier achieved by emulating the harware in hardware :)
- factorial 14y agoThe SNES is now close to 25 years old, and the older the hardware gets, the more serious the issue of "bit rot" will become. Among NES collectors, it's not rare to find people lamenting not being able to play their original cartridges anymore. Those cartridges don't last forever. Thus, emulation serves an important archival purpose, and without it, those games may be lost forever.
- rikthevik 14y agoAren't there a bunch of knock-off systems coming out of Asia these days? I thought I saw a box that could be play NES, SNES and Genesis original cartridges down at my local games shop.
- voltagex_ 14y agoIIRC these clones may not be able to play all games - especially ones with add-on chips (Super Mario RPG is the only example I can think of right now)
- joshAg 14y agoI think the fact that the SNES hardware is proprietary would make it very tough to catch all the corner cases (since we'd be reduced to tons of test and check cycles or using SEMs to examine the chip). Plus, many cartridges has supplementary chips, so the fpga would also have to include all the different chips used, and all these are proprietary as well.
- wtallis 14y agoBut all the hard work is done: bsnes emulates all of those chips. Sure, it's not trivial to convert bsnes to vhdl, but there's no need for further reverse-engineering unless you want to make pin-compatible replacements. The bsnes code and documentation contain all the information necessary to make an FPGA into a SNES-on-a-chip.
- byuu 14y agoYes, since the primary problem is trying to simulate dozens of unique processes that all run in parallel with a single CPU thread, modern processors are woefully inadequate for the task. Emulation is possible by way of sheer brute force, with processors being thousands of times faster than the original systems. Multi-core seems promising, but unfortunately even 4-8 threads aren't going to cut it here. Each emulated chip can have several logic units (eg a four-stage pipeline, an ALU, a DMA unit, etc.) And even then, CPUs aren't meant for this level of synchronization. You can only lock and unlock a mutex between two threads at about 100,000 times a second. And even if that were faster, what's going to be more a burden? Requiring a 3GHz single core CPU, or a 1GHz octa core CPU? FPGAs are great for writing emulators (although I wouldn't say as easy), but the problem with this is even worse than the octa core CPU. Until more people have the hardware than a 3GHz single core CPU, it will continue to be a worse solution for the number of people your software can reach.
- Karunamon 14y agoByuu himself! :D It's great to see you on here. I've read a lot of the writeups on your site and they're very, very fascinating stuff. BSNES/Accuracy has become my favorite emulator as well, when I can spare the clock cycles. So thanks for being awesome, and doubly thanks for your attention to detail when nobody else seems to think its important.