...source code to put it on a legitimate service? I've always wondered this. Unpaid talented devs >>>>>>>>>>>>>>> paid untalented devs.
They don't. But they would need a license from the emulator author that allows the sale of their game. But emulation at a flawless level is rare, as it often brings unintended issues which makes it far from flawless. It likely wouldn't be cost effective to write their own emulator either.
Most of developers just use emulators. Like the official Sony POPS emulator or HUDSON emulator for Playstation Portable. I doubt any system is perfectly emulated. But its not really necessary, people still playing ZSNES and someone is enjoying the really horrible Nintendo 64 emulation of Virtual Console (frameskip ftw).
Its the legal crap: a lot of games are in a gray area, the original owners no longer exist and its not clear who owns the rights, and when it is sometimes they dont give a shit about making a few bucks off nostalgia by rereleasing it Of course if someone is making those bucks they do bother to sue his ass off
Not everybody can be M2. For every 3D Space Harrier or Galaxy Force II, there's got to be several more that developers can't find the money or build-from-scratch resources to "perfectly" emulate a game.
There's always the Taxman and his faithful Sonic CD ports which came to be licensed and published by Sega. Of course, he is the exception and not the rule.
This question really stands out when it comes to re-released Saturn games. There's either a lack of source code or demand for individual ports (excluding Guardian Heroes, Radiant Silvergun, Panzer Dragoon, and NiGHTS), and a lack of either talent, resources, documentation, money, or interest to make the portable commercial emulator that can run Panzer Dragoon Saga, Shining Force III, and Fighters Megamix on PS4/Xbox One. There have been a few attempts to make this a reality like when SEGA bought out GiriGiri, but it was in an era when a vast majority of consumer hardware couldn't handle proper Saturn emulation. Now that consoles are mostly based around an architecture that already emulates the Saturn well, it has never been easier. Sega would do a lot of fan service while making a lot of money if they could license an emulator like SSF.
What game or system are we talking about? While developers have the right to their own product they might not have a license to distribute emulator for the system needed to play the game. Especially if it needs a BIOS image to operate. While it's not illegal, selling emulators without manufacturer's approval will surely start some lawsuits flowing (check out CVGS and Bleem). In Bleem's case they actually won but because of the legal fees they went out of business which is not something developers strive to do.
I think it's going to be a while before anyone ever manages to emulate a console "flawlessly". We're already at a point where many emulators are advanced enough that the inaccuracies aren't noticeable to most people. However, there are still inaccuracies, and to completely eliminate them you'd need either a huge amount of processing power (which will eventually happen), or more accurate code. It's probably inevitable that emulators (ones with enough demand) will become progressively more accurate over time, and eventually they will be virtually "perfect". But I don't think that's going to happen tomorrow.
Today's fastest desktops could conceivably emulate a Saturn with *absolute* accuracy in real-time, using optimizations. They certainly can for the slow-clocked 2D systems. It's emulator authors who at this time, cannot. -authors hit an accuracy wall when all they have are software tests and documentation for hardware insight, particularly timing -most can't use/access/afford test equipment (which might not reveal much insight anyway) -very few can decap and study chips (if feasible at all and they're familiar with logic and IC layout) -fewer can design timing-accurate RTL from scratch for very complex systems and write a real-time emulator for it -few authors even seem aware of the DSP necessary to accurately resample audio and video Really it takes a new generation of programmer to do all that. As an aside, it's rather easy to make an inaccurate but fairly well-performing emulator with a modest understanding of computer architecture. In some cases it can be easier than a port, especially if you're working with an old system. The reason commercial emulators particularly suck is because they're contracted out to small, unambitious and perhaps lazy studios to whom emulators are a product. That said, the "unpaid talented devs" are for the most part writing inaccurate emulators as well, they're just a little less noticeably bad.
There have been a few official emulators. I remember reading that Nintendo had an SNES emulator that ran on PCs. I think Sony had something similar for the PS1, and then of course they had a PS1 emulator that ran on all versions of the PS3. Speaking of computers rather than consoles, Apple has made various emulators in order to add backwards compatibility for newer systems. When they switched from the 68000 to the PowerPC architecture, they created a 68000 emulator. Later, when they switched from PPC to x86, they created a PPC emulator called Rosetta. I think there might've been a 6502 emulator at one point as well. It's hard to know exactly how accurate those emulators were, but considering that they were probably developed in-house by the companies that developed the hardware themselves, you would think they'd be almost perfect.
Apple's emulators are similar to N64 emulators--they both dynamically recompile code, have little concern for timing and high-level emulate every API function to avoid the overhead of emulating the low-level hardware. This is a terrible way to emulate old consoles, but probably the best way for GC on up. Starting with 360 and PS3 at their clock speeds it will literally be the only way possible to emulate them, but fortunately that's OK. I don't know about Nintendo and Sony software emulators, seems kinda hard to believe until the PSP and DS (neither of which require extreme accuracy). In the old days "emulator" referred to the obsolete "In-Circuit Emulator" hardware debuggers, so maybe that's it. Emulating the hardware perfectly would even be difficult for Nintendo and Sony unless they still had the designs for each chip, and also implementations for the processors (which is extra doubtful). AFAIK Nintendo did write the Virtual Console emulators themselves, and they're pretty sloppy, especially the audio. It's clear they're even highly influenced by hobby emulators, they even use headered ROMs. Perhaps They have real debugging tools so the need for a software emulator, particularly at a is very low.
We don't need "100% machine accurate" emulation. All we need really is an emulator that will work with specific games on a game by game basis that accurately recreates the game with no game breaking issues. Sony's PoPs emulator for the PS1 is probably far from perfect but it runs so many games so well that you'd be hard pressed to notice the difference. (Just look at the amount of PS1 games available on the JPN PSN)