Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Can someone explain to me why old hardware its dificult to emulate?  (Read 4329 times)

0 Members and 1 Guest are viewing this topic.

abispac

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1625
  • Last login:July 15, 2025, 09:27:36 pm
I guess i dont care about the emulation, what amases me its that some hardware from the late 90's cant be well emulated with the latest hardware.Just to understand, could it be posible, that a Ps2 would have better than a i3 computer? or any of the 3d games that cant still run a full frame without any modificatios,like sammy or nahomi games? Is it posible that the gaming industries and goverment are years ahead on hardware than the general public? Hope someone understands my question  on mi poor english and helps me understand, thanks.

Jammin0

  • Guest
  • Trade Count: (0)
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #1 on: October 14, 2011, 03:33:41 pm »
As I understand hardware emulation, each new system has a different architecture and the software has to be configured in every way to specifically run on that software.  From a gaming standpoint, the way that game developers push the hardware on a console is amazing.  It's hard to compare this to the PC approach to gaming where most systems are over powered and software is under optimized.

An example of this would be the PC vs. Mac world.  Back in the day PC's and Macs ran a completely different architecture and it was extremely hard to emulate.  Now that Mac switched to an Intel architecture all sorts of people are able to run the same software cross platform.  Another example would be the backwards compatibility between systems that are from the same company.  PS3 or Xbox 360 and backwards compatibility in games is super tricky and it's kind of cool that the systems even have any backwards compatible games at all but some are not.

Anyway, emulation inherently has some problems too.  1st of all, it doesn't pay.  Anyone emulating older game software is probably doing it for fun, personal use, bragging rights, etc.  You're not going to the get the same level of commitment that someone being paid big bucks is going to be able to provide.

Also, the older it is, the trickier it gets.  It's like comparing apples to oranges, modern CPUs do things so incredibly different then were done in the past that usually the extra processing power is lost in trying to dumb things down or else recreate that same functionality.

Some of the faster systems can be emulated fairly well but it is usually on a game by game basis.  Since the games were created with a specific architecture in mind emulating each and every game becomes a singular task.

Finally, a lot of times the emulators are trying to reverse engineer what has been done in the past instead of having any kind of great source of information in order to run things.  If all the hardware specifics were public knowledge then it would be too easy for the chinese Playstasion 3 to come out and undersell the original developing company.

Anyway, try to think of it not as better but as different.  You can't run an unmodified classic car on high octane unleaded gas even though the gas is better than it used to be.

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #2 on: October 14, 2011, 04:12:58 pm »
It also helps to understand how an emulator works from a programming perspective. The following is a gross oversimplification and not a perfect analogy.

Let's think of it this way-- I am an American who speaks a particular dialect of English. In order to communicate with someone who speaks another language I need to translate both ways. An emulator works kind of like this. I want to emulate the ability to speak this foreign language. Let's call it Japanese. So a question is asked of me. First I have to understand the syntax of the sentence, then I have to look up every single word in a dictionary and figure out what that means in English. In a CPU, we kind kind of think of the words as 'op codes', the lowest level of instructions a processor can do. If I'm issued an opcode, or 'word' that means 'add A and B', first I have to look up what that means (which takes time), then I have to actually do the operation (which takes time), then i have to translate the result back into whatever the original processor expected (which also takes time). So suddenly where adding A and B took place in a single clock cycle on the original system, I'm suddenly taking 30 or 40 cycles to complete the same task in my emulator because of all the overhead of converting. With that sort of speed trade off, the original CPU that ran at 30Mhz suddenly needs 900Mhz - 1.2Ghz just to keep up, and that's assuming I've got 100% of the processors power.

So now what about variations in dialect? What if "add a to b, then c to a, then a to b" in my foreign language assumes that I know when I add a sequence of three like that I'm just suppose to know I need to also copy A to D. These are the kind of little oddities that make emulation not work. Things that the emulator's author didn't know about the original system, or that weren't clearly documented. Suddenly when I'm asked to add D and C, I have to stop because I didn't even know there was a D. There's been a mistranslation and misunderstanding.

lilshawn

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7513
  • Last login:Today at 10:52:31 am
  • I break stuff...then fix it...sometimes
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #3 on: October 15, 2011, 12:05:14 pm »
It also helps to understand how an emulator works from a programming perspective. The following is a gross oversimplification and not a perfect analogy.

Let's think of it this way-- I am an American who speaks a particular dialect of English. In order to communicate with someone who speaks another language I need to translate both ways. An emulator works kind of like this. I want to emulate the ability to speak this foreign language. Let's call it Japanese. So a question is asked of me. First I have to understand the syntax of the sentence, then I have to look up every single word in a dictionary and figure out what that means in English. In a CPU, we kind kind of think of the words as 'op codes', the lowest level of instructions a processor can do. If I'm issued an opcode, or 'word' that means 'add A and B', first I have to look up what that means (which takes time), then I have to actually do the operation (which takes time), then i have to translate the result back into whatever the original processor expected (which also takes time). So suddenly where adding A and B took place in a single clock cycle on the original system, I'm suddenly taking 30 or 40 cycles to complete the same task in my emulator because of all the overhead of converting. With that sort of speed trade off, the original CPU that ran at 30Mhz suddenly needs 900Mhz - 1.2Ghz just to keep up, and that's assuming I've got 100% of the processors power.

So now what about variations in dialect? What if "add a to b, then c to a, then a to b" in my foreign language assumes that I know when I add a sequence of three like that I'm just suppose to know I need to also copy A to D. These are the kind of little oddities that make emulation not work. Things that the emulator's author didn't know about the original system, or that weren't clearly documented. Suddenly when I'm asked to add D and C, I have to stop because I didn't even know there was a D. There's been a mistranslation and misunderstanding.

couldn't have explained it better myself.  :cheers: the processors run in arcade machines are very specialized. the code of the game is optimized to that specific processor and it's instruction set. the cpu in your desktop computer speaks a completely different "language" with it's own instruction set. therefore, the single simple command issued by the game program has to be translated into a very complex code sequence that your desktop CPU can understand YET still accomplishes the same thing.

just as an example, highly specialized game code can tell the processor in about 4 commands to draw a square on the screen and fill it in.

ready for a command mr. processor?
send "draw 1,1-8,14-1-13,45,C3" to processor (draw in the top left corner a square that starts at 1,1 and goes to 8,14 then fill it with color 13,45,C3)
done

highly simplified but you get it...

to accomplish the same thing with a desktop may take 100's of commands, including, but not limited to:

1 accessing the videocard bus
2 waiting until the bus is available
3 finding an available address for the information (repeat 2 and 3 as many times as needed)
4 waiting until the bus is available AGAIN
5 finding the correct memory address for the information
6 waiting until the bus is available AGAIN
7 writing the information for the position of the first corner of the square to the address
8 waiting until the bus is available
9 finding an available address for the information (repeat 7 and 8 as many times as needed)
10 waiting until the bus is available AGAIN
11 finding the correct memory address for the information
12 waiting until the bus is available AGAIN
13 writing the information for the position of the second corner of the square to the address

as you see we have now mapped 2 corners of the square, and haven't even connected the points yet or even filled it yet. we are already looking at 10x the commands for my simplified explanation.

as you see, it's not that the computers are not fast enough or the game companies are super coders, they just speak different languages. it's the translation that takes forever.

abispac

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1625
  • Last login:July 15, 2025, 09:27:36 pm
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #4 on: October 15, 2011, 04:14:31 pm »
So they where not super computer either? lets say sammy system its not more poerfull than a dual computer, but because they speak diferent lenguages, that makes it more dificult to emulate? i thin i understand  a bit now.

Blanka

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2248
  • Last login:January 25, 2018, 03:19:28 pm
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #5 on: October 15, 2011, 04:55:37 pm »
The old stuff is not harder to emulate, but the emulator-writers are hard to themselves. If you look at mame, mame 0.3x or so, runs most classics flawless. Yet they have tiny little aspects that don't satisfy the MAME devs. For example, the early MAMES used samples to generate the sounds, where the original hardware did not have a PCM circuit but discrete electronic sound circuits. So they started to simulate those circuits (emulation of discrete hardware is weird anyway), which resulted in more realistic sound, but also more hiccups. I don't mind the old approach, but the purists think the new approach is better. With newer hardware you see similar problems in the video section. Most modern games use OpenGL, DirectX or a game specific 3D language, and combined with the graphics chip used, this might result in different pixels on the screen. It has nothing to do with playability. So if you decide to go the 99% correct route, emulation is peanuts and smooth as sex, but if you want 100%, you are being snailed.

robertwillton

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 10
  • Last login:December 06, 2011, 10:49:35 pm
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #6 on: November 02, 2011, 07:00:08 am »
Except that AI always means artificial intelligence in any context related to computers. Always...!!Thanks

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #7 on: November 02, 2011, 09:43:39 am »
Except that AI always means artificial intelligence in any context related to computers. Always...!!Thanks

Except for when it means Adobe Illustrator?

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #8 on: November 02, 2011, 03:23:13 pm »
Anyway, emulation inherently has some problems too.  1st of all, it doesn't pay.  Anyone emulating older game software is probably doing it for fun, personal use, bragging rights, etc.  You're not going to the get the same level of commitment that someone being paid big bucks is going to be able to provide.

A large amount of the stuff said in this thread is true, the languages analogy is the exact one I'd use, but this just isn't true at all.

A lot of people are doing it for fun, and as a result you tend to get MORE commitment, if it were to be done as a paid project for big money it would be rushed, hacky, with as many corners cut as possible to get it out on time / under budget / to a certain level of performance.  The people doing the emulators have a genuine personal interest in emulation, and aren't just doing it for a paycheck.

Knowing that you can do things properly, in your own time is a big plus, and funnelling huge amounts of money into such a project won't improve understanding, or quality of the final project.

Jammin0

  • Guest
  • Trade Count: (0)
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #9 on: November 02, 2011, 04:30:16 pm »
Anyway, emulation inherently has some problems too.  1st of all, it doesn't pay.  Anyone emulating older game software is probably doing it for fun, personal use, bragging rights, etc.  You're not going to the get the same level of commitment that someone being paid big bucks is going to be able to provide.

A large amount of the stuff said in this thread is true, the languages analogy is the exact one I'd use, but this just isn't true at all.

A lot of people are doing it for fun, and as a result you tend to get MORE commitment, if it were to be done as a paid project for big money it would be rushed, hacky, with as many corners cut as possible to get it out on time / under budget / to a certain level of performance.  The people doing the emulators have a genuine personal interest in emulation, and aren't just doing it for a paycheck.

Knowing that you can do things properly, in your own time is a big plus, and funnelling huge amounts of money into such a project won't improve understanding, or quality of the final project.


I guess that there isn't really anything you have to compare this too except some of the more current gen consoles that have backwards compatibility.  I will say that xbox, PS3, and wii all have exceptional emulation on their older games without any software level tweaking that has to be done for any of those systems.  Xbox and PS2 emulation don't even really exist outside of what has been done by microsoft and sony.

I am a huge proponent of opensource everything but with the exception of only a few areas the homebrew solutions that people come up with are inferior to what can be done with good old fashioned $$$.  On the game emulation scene there are only a few brilliant minds doing all the work, I don't want to discredit what they are doing and some of the paid programmers should be ashamed at what is accomplished in peoples free time but I guess I don't understand your argument.

lilshawn

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7513
  • Last login:Today at 10:52:31 am
  • I break stuff...then fix it...sometimes
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #10 on: November 02, 2011, 05:24:46 pm »
Anyway, emulation inherently has some problems too.  1st of all, it doesn't pay.  Anyone emulating older game software is probably doing it for fun, personal use, bragging rights, etc.  You're not going to the get the same level of commitment that someone being paid big bucks is going to be able to provide.

A large amount of the stuff said in this thread is true, the languages analogy is the exact one I'd use, but this just isn't true at all.

A lot of people are doing it for fun, and as a result you tend to get MORE commitment, if it were to be done as a paid project for big money it would be rushed, hacky, with as many corners cut as possible to get it out on time / under budget / to a certain level of performance.  The people doing the emulators have a genuine personal interest in emulation, and aren't just doing it for a paycheck.

Knowing that you can do things properly, in your own time is a big plus, and funnelling huge amounts of money into such a project won't improve understanding, or quality of the final project.


I guess that there isn't really anything you have to compare this too except some of the more current gen consoles that have backwards compatibility.  I will say that xbox, PS3, and wii all have exceptional emulation on their older games without any software level tweaking that has to be done for any of those systems.  Xbox and PS2 emulation don't even really exist outside of what has been done by microsoft and sony.

I am a huge proponent of opensource everything but with the exception of only a few areas the homebrew solutions that people come up with are inferior to what can be done with good old fashioned $$$.  On the game emulation scene there are only a few brilliant minds doing all the work, I don't want to discredit what they are doing and some of the paid programmers should be ashamed at what is accomplished in peoples free time but I guess I don't understand your argument.


you'd be quite surprised to find an actual PS2 processor inside a first generation release day PS3 that does the "emulation" newer PS3's had the processor removed and software emulation was employed, then subsequently dropped all together...http://ps3.ign.com/articles/711/711242p1.html... and the Wii processor is nearly identical to the GameCube hardware only faster...http://www.joystiq.com/2006/10/04/wii-hardware-is-basically-a-gc-says-miyamoto/.. so no real shocker there....  as for the Xbox backwards compatibility... i can't speak for them since i don't have one, but i imagine they've dropped it too.

manufacturers employ backwards compatibility mostly because of the lack of games available on release day.  :dunno

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: Can someone explain to me why old hardware its dificult to emulate?
« Reply #11 on: November 02, 2011, 08:09:10 pm »
I guess that there isn't really anything you have to compare this too except some of the more current gen consoles that have backwards compatibility.  I will say that xbox, PS3, and wii all have exceptional emulation on their older games without any software level tweaking that has to be done for any of those systems.  Xbox and PS2 emulation don't even really exist outside of what has been done by microsoft and sony.

I am a huge proponent of opensource everything but with the exception of only a few areas the homebrew solutions that people come up with are inferior to what can be done with good old fashioned $$$.  On the game emulation scene there are only a few brilliant minds doing all the work, I don't want to discredit what they are doing and some of the paid programmers should be ashamed at what is accomplished in peoples free time but I guess I don't understand your argument.


The PS3 (early models) has the original PS2 chips in it for backwards compatibility, later models don't, and the compatibility is significantly worse, and non-existant on the later ones.

XBOX360 everything is manually tweaked and hacked to work, that's why games are added in batches, it's very high level emulation, per game, and has numerous issues, it's actually really really bad and some games are borderline unplayable in places due to the issues, I'm surprised you think otherwise.  In extreme cases their emulator (especially for popular games which pushed the hardware) actually just contains the original binaries reworked and recompiled for the modern hardware, and isn't really emulation at all.

Wii and Gamecube are basically the same hardware, so you get backwards compatibility automatically, and again the commercial emus (virtual console) and roms are very much hacked for individual cases...  Try throwing random SNES roms at it and you'll find a lot fail compared to the proper emulators.

none of the examples you cite are good examples of emulation at all....

Real emulators emulate the hardware, not the individual games.  Real emulators are software based and can be ported to any architecture and 'just work'.  Even by the cheap quick hack 95% compatibility emulator standards the commercial ones are abysmal and solely exist so that money can be made out of the back catalogue with no regard for fidelity at all.  For commercial interests that's fine, but to claim in any way that they're superior emulators is just wrong.

Beyond this argument you'll also find that most of the commercial solutions are built using the knowledge found in the open source emulators such as MAME, it's been said to us many times that without the project many of the releases done on modern hardware simply wouldn't have been possible because the original manufacturers have no original code and no idea how their original hardware worked.
« Last Edit: November 02, 2011, 08:19:05 pm by Haze »