Live data from Hacker News

Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

arstechnica.com

51–57 of 57 posts

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#51
Hm. The reason synchronization is needed is because the emulator must simulate the chip behaviours over time, and ensure that they act as if they are all behaving in real-time lock step. Might an alternative approach be to simply simulate each chip independently, in parallel, without synchronization, but "somehow" ensure that their behaviour is exactly corresponding to real time, so that time does not need to be "faked" by synchronization?

Yes, this is probably a recipe for disaster, and I have little idea what mechanism could be used to ensure time accuracy, but just a thought. (Perhaps an RTOS?) I also wonder what would be possible with FPGAs, whether programmable logic might provide a better approach to emulating these chips in synchrony.

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#52
post #37
post #35

What worries me is if future generations will be able to enjoy the games of today. Will it ever be feasible to emulate a PS3 to the level demanded here? Will my grandchildren in 50 years be able to play GTA 6 on a PS4 emulator? Processing power does not appear to scale to allow this, and there will barely by any of today's consoles still alive by then (also, I doubt 2060s television sets will have HDMI input).

Not to mention DRM.. it's a serious problem.

Not in the current generation of console optical media. In the future it will be a rotten travesty as no one will ever physically own their games.

Though DLC is locked up as future consoles' content is likely to be.

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#53
post #3

Or consider Air Strike Patrol, where a shadow is drawn under your aircraft. This is done using mid-scanline raster effects, which are extraordinarily resource intensive to emulate. So what's really going on here is that the emulator must emulate not only the SNES hardware, but also the television . Video game emulators have had to deal with this for a long time, to varying and increasing levels of accuracy. Televisio…

Is anyone else reminded of the "copper" effect people would do back in the day where they would cycle the colors of a screen in sync with the horizontal refresh of the monitor to create bars of color the oscillate up and down in really cool patterns?

The proper term for this effect is "raster bars", from how you traditionally did the effect by waiting for the raster line register to hit a certain vertical position on the screen, and then changing f.e. the background color of that scanline, then wait for the next line, change the color again etc. The name "copper bars" came out of the Amiga scene from how you could easily and without involving the CPU do this effect (and much more) on the Amiga using one of its co-processors, nicknamed the "Copper".

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#54
There are subtle bugs and issues with timing, but the worst, for me, is that the games are not accurate. I play a lot of 80s games on original hardware, but also (when i'm not at home) on my laptop/ipad/android in emulation. Games I have been playing for almost 30 years are locked solid in my mind; every enemy, path, timing has been set in my brain. I can play those games blindly on original hardware. But not on emulators. For people playing these kind of things for the first time this is not an issue; for me it's not being true to the original. The quirks which were in there are supposed to be in there. Horizontal shooters which had visual/audio issues in the original game because the end boss was actually too big for the poor Z80 + VDP to do fast enough, is now suddenly smooth in the emulator in case you lose the edge of attacking it when the computer is in pain. More fun or not is not the issue here; correct emulation is important to preserve all millions upon millions of carefully crafted assembler instructions on the platform of choice. Until we have this working well, I'll keep buying old computers for peanuts just to make sure.

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#55
post #22
post #15

Earlier quoted context omitted.

How about a SNES card for my PC with all the hardware on it? ;)

Have you heard of the "Amstrad Mega PC"? An Amstrad 'ibm compatible' with a Sega Mega Drive (US: Genesis) built in. ( http://en.wikipedia.org/wiki/Amstrad_Mega_PC ) £999 in 1993 is ridiculously expensive.

That's about what you expected to pay for a PC back then. My family bought a 486 DEC PC with a 15" monitor and no sound card for around a similar price (granted DEC computers had much higher build quality than amstrads)

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#56
post #20

Earlier quoted context omitted.

Is anyone else reminded of the "copper" effect people would do back in the day where they would cycle the colors of a screen in sync with the horizontal refresh of the monitor to create bars of color the oscillate up and down in really cool patterns?

Indeed. I did copper too, in DOS x86 assembly. Some programs used it to practical effect: you can exceed 256 colors in an 8-bit framebuffer by swapping palette values mid-screen or mid-scanline. In fact, every Atari 2600 game is a copper effect. The 2600's graphics chip is one-dimensional , working with only one scanline at a time. To display a picture, the software must run in lockstep as the electron beam traces do…

> Indeed. I did copper too, in DOS x86 assembly. Some programs used it to practical effect: you can exceed 256 colors in an 8-bit framebuffer by swapping palette values mid-screen or mid-scanline.

This was used on the BBC Master enhanced version of Elite (and some other games or the era) to get a best-of-both-worlds choice of the Beeb's display modes. The bottom third of the screen was in mode 2 (low res, 4 bit colour depth (well, 3 bit plus flash-or-not)) to get the higher colour variation for the control displays and the top two thirds were in mode 1 (twice the resolution but only 2-bit colour depth) to get the higher resolution for the wireframe graphics.

Re: Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

#57
post #4

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.

FPGAs not expensive? Please let me know where you shop...

The DE0 Nano dev board is $86 on digikey.
Post reply on HN