Emulation vs hardware, talk some about your thoughts.

Discussion in 'General Gaming Discussion' started by FAST6191, May 7, 2018.

  1. Pandaxclone2

    Pandaxclone2 Pokemon Sprite Artist Hobbyist

    Aug 17, 2015
    Earth's Bottle of Death.
    I enjoy using hardware mixed in with some backups (if only to spare my discs/carts from additional wear for longer, though I'm not afraid of using original copies provided they aren't expensive to replace), and emulation is a good alternative too, especially for allowing convenient recording of gameplay. In the end it honestly just depends on what you want/need, rather than any inherently "right" way of playing your games.
  2. modbrain

    modbrain Advanced Member

    Apr 30, 2017

    Just look at it - a great old rally game - ugly as hell on a hdtv - but check out what emulation did to it:

    and this:

    Last edited by modbrain, May 8, 2018
    Psionic Roshambo likes this.
  3. CreeperdivoHomebrewer

    CreeperdivoHomebrewer My life is a trainwreck, but without the rails

    Jan 4, 2016
    About to put myself 6 feet underground
    Im kinda of a noob at emulation, But why does when you emulate on a more powerful console or system, why is there still lag and graphics and audio issues? Is it because the hardware built for the newer console isnt meant to play older games then its console famliy and meant for that one system. Is there not specific hardware to fully emulate games that that game's console had? Does the emulator used for a console, try to maximize the emulation by using the target console's hardware that it wants to emulate and try to link some hardware that that old console had for the newer console hardware to try to use for emulation? Idk if you guys know at all
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United Kingdom
    You are technically asking multiple things, even if you did not quite realise it.

    For the best accuracy you need a fully working model of a system inside another, if you want to get really insane you can model the transistors inside the chips or recreate the chips in programmable hardware (see the opening post as I linked a few things up there) but nobody really does that for end user things right now. You can however get useful results for some games if you sacrifice some accuracy. In sacrificing accuracy it can also be possible to gain some speed.

    Speed then. Emulating a single chip is usually doable enough. Most consoles are not just one chip though -- a CPU, possibly multiple CPUs, a graphics chip, some sound chips, in the case of the NES and SNES they often had chips on the carts themselves that enhanced the processing power of the system (see also why certain games pose problems for certain flash carts and emulators), some chips governing controllers/drive reads/the system itself... and they all have to be in sync as it were which itself is a nightmare -- not strictly for emulation but look up Amdahl's law for more on that. Many years ago we used to have a rule of thumb that you wanted a computer 10 times faster than the machine you are emulating to do it well, though it can get more extreme than that -- https://arstechnica.com/gaming/2011...-3ghz-quest-to-build-a-perfect-snes-emulator/

    An example of accuracy might be... saving. A while ago there was a thread from someone looking for some help to save their high scores in gameboy tetris between sessions (the base game technically lacks it, probably as it would be expensive to add that feature to however many millions of gameboy tetris carts were being made -- 20 cents x millions is still a lot of money). Fair enough, have a little hack that writes the data from the score table into the save section (it is only being emulated after all) and read it back out afterwards. Simple copy was employed. Worked fine on most emulators. Flash carts and super accurate emulators failed. The problem in the end? Most chips have a "write enable" command so you first have to tell it you want to write, then do the writing and then disable the writing mode. No normal game would ever write without it (give or take someone use it for anti piracy/anti emulator) so you just ignore the enable command and you have saved yourself some resources in emulating that functionality at no cost to any commercial game or homebrew. That is probably a small saving but make enough of those and it adds up.

    You may also notice that your host device has a similarity with the system being emulated. If you can use this inherent feature then you don't have to emulate -- if you are emulating the GBA on a 3ds then as they both have ARM processors you don't have to mess about reformulating say an ADD command as much as you would for a PC which also has ADD (despite what I will say below everything in computers is adding) but it works in a fairly different way. Accuracy can also come back here. A good example might be SNES emulation on the GBA -- graphics come in layers (backgrounds, a few sprites, some more sprites... see any tutorial on sprite animations really) and the GBA has layers but not the same as the SNES. As there are so few layers (4 of the things which is not many combinations when all is said and done, even fewer if you have some toggle switches) you can be expected to manage it yourself and not have to handle it in software, so the SNES emu devs on the GBA did just that.

    There are also other tricks. The first one most would suggest we look at is dynamic recompilation. Owing to a fundamental aspect of computing (the halting problem -- short version is much of computing boils down to "if this then that, otherwise do something else" and if you don't know what the conditions will be when it hits that if statement then you can't predict the outcome of a program. It also informs going backwards from compiled code the CPU runs to a human readable type of code, though you can recognise fragments. If you are running the code then you might well know what the conditions are in that instant and you can then predict what happens next. In doing this you can change emulation from being a thing where you have to simulate all the chips involved to something that runs like a normal program on that system which is so much faster. This is not very useful for older systems that for the most part saw games written in code like the CPU uses (a hard way of writing code but exceptionally fast if you can do it well) but for things like the PS1 and N64 on up it (which famously used higher level languages that more devs could handle) becomes very useful indeed.

    Lag is more that most consoles/things emulated work on frames. They do one frame, then they do another and another and another (varies but the usual suspects are 25,30,50 or 60 a second depending upon region). If your host system can't keep up then it is not going to be outputting the frames fast enough and you have slowdowns. Some emulators will employ a technique called frameskip where they skip rendering a few frames here and there. This allows your host machine to keep up (you hope anyway) but obviously if you are missing frames it is going to start to affect gameplay -- no great loss for a turn based game but possibly fatal for an action one.

    Your PC though is a computing monster, with the added benefit that some of the finest minds in computing have spent decades and probably trillions of dollars refining it, making tools for it and otherwise understanding what it is (even before computers took over designing themselves the implications of a given arrangement might still take years to understand fully).
    Your hacked console though is probably a bit less powerful than your PC, certainly will be if it is a handheld, and its tools are made by some very talented people in their free time ( https://devkitpro.org/ ) or stolen from the original developers and patched to get working (the GBA had some of this but most here would look at the original xbox), said original developers equally having only put it together on the cheap over a couple of years.
    Alternatively your hacked console might be using an emulator made by the console developers. As they sell one game at a time they can/only have to make the emulator work for only one game -- back to our save example from earlier then if the devs are selling classic GB tetris then they have no incentive at all to spend time making save support for it. Saves are not terribly important but if you found the original game did not use a fairly in depth part of the graphics hardware and you don't then have to spend a few hundred hours of dev time wrestling with it then you skip if, would be console hackers then trying to use that emulator will find it lacks support for that graphics feature and games that use it will fail.
    Psionic Roshambo likes this.
  5. Psionic Roshambo

    Psionic Roshambo GBAtemp Addict

    Aug 12, 2011
    United States
    I love original games and hardware... I have literally a metric ton of games and machines (not sure how many games I own but surely a thousand at least....) That being said I am an emulation junky when done right on the right hardware the experience can at time beat the original hardware and game in quality and in game play.... Some of the old systems controllers are awful NES had a great Day pad and buttons but the ergonomics of a torture device.... I am physically disfigured from the use of it as a child (Nintendo fingers) give me an emulator and a 360 gamepad any day of the week.

    On the flip side there are emulators I have tried and tried and tried and just get so upset with :( Dreamcast is a favorite system of mine I own just a ton of the stuff for it but I'd like to emulate it better. Also like Tom a Saturn emulator of quality is high on my wish list.Xbox I am good on it has composite and can run 720p and looks nice even on a modern TV although an emulator with a 360 pad would be lovely!

    So my opinion? Both yes please as long as I have fun either works fine for me!
    DarthDub likes this.
  6. Exaltys

    Exaltys GBAtemp Fan

    Nov 10, 2009
    United States
    higan w/ usb adaptor for an original SNES controller

  7. xpoverzion

    xpoverzion GBAtemp Regular

    Sep 18, 2017
    Gaza Strip
    Hardware all the way. Too many glitches and lag issues with emulation. I remember trying the rasberry pi gizmo a while for nintendo, atari, etc.. That things was a piece of crap. From what I have seen, emulation on a powerful PC is just as horrendous for the most part.
  8. starburst

    starburst GBAtemp Regular

    Apr 15, 2017
    For me, there is a trade between recreating the experience of playing an old console and convenience.

    For example, even if SNES emulation were perfectly accurate, playing it on a super ultra wide curved 7k OLED with a Triple Shock PS8 ergonomic controller has nothing to do with how I remember playing it; no matter how 'better' this 'enhanced' experience may be. Yet, one can 'calibrate' a modern TV to display the SNES games as faithfully as possible (or even purchase an old CRT TV) and use (replicas of) original controllers. I mean, using a SNES Classic already brings more memories than using a SNES emulator on a laptop (however accurate it may be.)

    A more difficult experience to recreate is playing arcade games; not only because of the cabinet, but because of the atmosphere at the venues themselves. Trying to relive playing in those public, colourful, noisy places is impossible. And when the past and present experiences are so different, for me it is only a matter of convenience on how to play those games; nothing I can do now is similar to what I used to do back then anyway.
    cvskid likes this.
  9. sergey3000

    sergey3000 GBAtemp Fan

    Sep 14, 2013
    emulators vs orginal hardware:
    emulation pros:
    +its free
    +you dont need to buy games, hack the system or worrying about firmware
    +easier to use cheats
    +save states
    +you can upscale the resolution up to 4 times of the original consoles
    +you have the freedom to use alomst any controller.
    hardware pros:
    +100% prefect compatibility and speed.
    no glitchs or games that not working.
    +you not depending on the development of the emulator.
    +you don't need powerful and expensive pc for high demanding emulators.
    +sometimes emulation is more expensive than the original hardware itself becuse of the reason above.
    +some games makes benefit from the accessories and hardware that available only on the orginal console.
    +better gaming experience on the original hardware.
    result: 6 vs 6.
    conclusion: it's a draw.
  10. Ziko

    Ziko GBAtemp Regular

    Nov 10, 2010
    United States
    I like the arcade versions of fighting games and it didn't dawn upon me till recently that most all of the games I still play today that I play home versions of are way better on MAME or NeoDS which I use for Neo-Geo games, and it's not the same at all! The home ports feel in a way like a completely different game. Is this why most tournaments don't use home versions of games at all?

    — Posts automatically merged - Please don't double post! —

    That's why I can't play Genesis games on my DS because the music is off or sounds awful. Also, the graphics in some of the games look like shit. I use a PC emulator for that stuff. Gens is really great as it emulates all of Sega's 16-bit stuff such as the Genesis, 32x, & even the Sega CD.
    B_E_P_I_S_M_A_N likes this.
  11. B_E_P_I_S_M_A_N

    B_E_P_I_S_M_A_N knows nothing

    Jun 7, 2016
    Pretty much, yeah. I occasionally play JoJo on FightCade, and because of this, the arcade version of the game is pretty much everyone's go-to. The Dreamcast version, despite being very close to the arcade version, still has a few key differences that prevent widespread competitive play on it. Shame, too, because that version of the game actually has some exclusive combos.

    It's like this with a lot of fighters. Often, because consoles are running different CPU architectures, different code has to be written in order to get the game to play the same. Entire frames of animation, and sometimes, in the more egregious cases, entire moves and game mechanics would be cut from the home console ports. The worst case I can think of would be MvC's PlayStation port totally ditching tag-team combat (unless it was a mirror match) due to memory constraints.

    Something similar happened Super Street Fighter II Turbo: none of the home ports played exactly like the arcade version. Even the Dreamcast and PS2 versions of the games suffered from slight delays and inaccuracies that affected high-level play. It's pretty funny how some millisecond-long differences in delays and animation can so heavily impact a fighting game. I guess, unless you're running pretty much the same code, you aren't getting the same game as far as fighters are concerned. That's where emulation comes in, so that you can run the game's original code, and supplement it with features far beyond the capabilities of the original hardware (cheats to recreate training mode, online play, etc.).
  12. Ziko

    Ziko GBAtemp Regular

    Nov 10, 2010
    United States
    Yeah no wonder everything I played on all the old consoles ran like hell. All of Capcom's fighters had issues to some degree. It's stuns me that I can play freaking Samurai Showdown on my DS and run it at 60fps with no slowdown, and yet you port the thing and it can't do nothing? The SNES port of the game had slowdown, music sounding like ass, and the characters all moved like they had hemorrhoids or something.
  13. SG854

    SG854 If It Bleeds, We Can Kill It

    Feb 17, 2017
    Emulation is so sexy. I likes it.
  14. Missingphy

    Missingphy Pokémon Master, Console Bricker, and more...

    Oct 7, 2018
    According to some law I saw in some place, an emulator is legal as long as it doesn’t use the original console code. So a dev can’t use the Wii code (for example) on Dolphin, but he can get very close to it.
    Darksabre72 likes this.
Quick Reply
Draft saved Draft deleted