Post subject: An emulator the emulates more than one game system
Joined: 5/30/2005
Posts: 98
Instead of having one emulator for each system what if you combined the code of bunch of emulators together to make one emulator (with some modifications to make them compatable). I am not sure how difficult this would be but it should be possible. This should make developing new tools for emulators easier since you only have to modify the source code of one emulator instead of multiple ones when designing the tool. I have a feeling there might be some other advantages to this idea as well.
Former player
Joined: 12/27/2006
Posts: 532
Location: Göteborg, Sweden
Remember though - no one here actually make the emulators, coders only make the re-recording versions. So I think you'll have to take this elsewhere to get it through. For that matter, I'd imagine the idea is impossible. As far as I know, all emulators emulate their respective game system in different ways. They do this because they have to; no game system work exactly the same way, now do they?
My published movies [03:45:05] <Naohiro19> Soulrivers: ... [03:45:19] <Soulrivers> ? [03:46:35] <Naohiro19> <Soulrivers> No! <Naohiro19> So? <Soulrivers> Yes! [03:46:48] <Naohiro19> joke
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
Look at MESS. It's a total mess. Let's say you wanted to emulate a NES and an Apple 2. Both systems use a 6502 processor, except the NES's 6502 is different. It lacks Binary Coded Decimal mode, and has a built in audio generator. The video hardware is completely different and has nothing in common. Then there are a few systems which actually would share a significant amount of code: The Colecovision, Sega SG1000, and Sega Master System are very similar, and with some ASM hacks you can port games between the Colecovision and SG1000. Sega Master System just also happens to have the 'crappy graphics mode' for downward compatibility with the SG1000. It might make sense to integrate those into one emulator, as well as other systems which use the same graphics chip, sound chip, and processor. But if you tried to combine a bunch of dissimilar emulators, you'd end up with MESS. MESS does a poor job of emulating each system it supports.
Experienced player (822)
Joined: 11/18/2006
Posts: 2426
Location: Back where I belong
How about not trying to integrate them per se, but just make it so they have the same GUI frontend. So you combine an NES, SNES, Genesis, and Gameboy emulator into running with the same interface, but none of the actual code is changed. Kinda like those "classic collections" of games that have 12 SNES games on 1 DVD for PS2. They're together in the same package, but still have separate engines and sets of data. I've often found that if I could just have one program to open up to play games would be great, even if the program was bloated with other code for other systems that I wasn't using at the moment.
Living Well Is The Best Revenge My Personal Page
Joined: 5/30/2005
Posts: 98
Yeah mmbossman thats what I was thinking when I made this topic. When you have the program load a game you just specify what emulator it is for and then the game starts like normal. I don't think something like this should be too hard to code since all your doing is changing the GUI for a few emulators to make them compatable.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
There are a whole host of usability issues that would be associated from having a unified front end, I think. The ones I can think of off the top of my head would be how to coordinate settings between the various emulation back-ends - what settings would be taken as common between them (if any), how to handle switching from emulator to emulator, etc.
Banned User, Former player
Joined: 12/23/2004
Posts: 1850
I think the easiest way would be to have a MAME32-like frontend, where each game and system can be configured to use specific settings, but in the absence of those it uses defaults. Some emulators have common settings (video mode/size, buttons, hotkeys) while others would pose a problem. In short: it'd probably be easier to just configure each emulator to be how you want it, rather than trying to maintain several wildly different configuration options in one big frontend.
Perma-banned
Player (64)
Joined: 11/2/2007
Posts: 100
Location: Toronto, Canada
You're probably talking about Windows emulators here, but for Linux there's a Mame front-end called kxmame that has rudimentary support for using any emulator. It's a bit rough, but it mostly works. http://sourceforge.net/projects/kxmame/