7 ms·
Xbox 360 Emulator Research Project
- mmastrac 11y agoI wonder if we'll see viable emulators for PS4/XboxOne sooner than we did for the previous generation given that they are both x86-based (and the PS4 using FreeBSD as well). The original Xbox hasn't seen a lot of emulation activity either -- I found that strange. It feels like we might lose an entire generation of games to bitrot.
- yoodenvranx 11y agoI am more worried about some small but amazing Flash games. Currently it is still possible to play them in the browser, but what about in 5 or 10 years. I image there might be some kind of emulator which wraps tje flash player and the game in a single exe so it can be played independent of a browser.
- 0x0 11y agoYou could do just that with a modern.ie VM today. The biggest challenge there is ripping the flash and all its assets (and maybe patching it up to remove any dependencies on stale domains)
- AshleysBrain 11y agoCheck out Shumway - it can play SWFs in the browser without using Flash: http://mozilla.github.io/shumway/ http://mozilla.github.io/shumway/
- calvin_ 11y agoIf you have the SWF, you can run them in the Flash Projector, the standalone Player. What'll be problematic is if they preload resources from external locations.
- cookiecaper 11y agoThere are a lot of third-party Flash implementations. If the official Flash client becomes unusable, one of these open-source implementations will emerge as the new de-facto standard. I don't think we have to worry much about Flash's survival.
- anthk 11y agoYou Gnash , Lightspark and Shumway. You can download SWF files with unplug for Firefox and such.
- Drakim 11y agoEspecially since the original Xbox was infamous for randomly dying. Thirty years from now there will still be working NES consoles, but will there be any Xbox ones?
- tdicola 11y agoThe original front-loading NES is quite infamous for having a poorly designed cartridge mechanism that bends and loses contact with the game cart pins. This is why people were always blowing on games and jamming them back in the NES back in the day. The later top-loading NES fixed the problem but is kinda rare and doesn't have RCA video outputs. I don't think the original Xbox had many reliability problems though, maybe you're thinking of the Xbox 360 and its red ring of death problem?
- fuzzix 11y agoThe NES cart connector can be repaired with some patience or replaced inexpensively. A lot of sites selling new connectors claim they are made with more robust materials than the original connectors, but I'm not sure how true that is.
- userbinator 11y agoOne of the biggest differences between the NES and much newer consoles like the Xbox is that the NES is, in comparison, extremely simple; it's been reverse-engineered down to the transistor level: http://breaknes.com/ http://breaknes.com/ (If you are interested in advanced RE, I recommend learning Russian...) http://www.qmtpro.com/~nes/chipimages/ http://www.qmtpro.com/~nes/chipimages/ In other words, even if there are no original physical NES or their parts around in 30 years, relatively speaking it would be trivial to perfectly emulate one in software or hardware (e.g. an FPGA), because the functionality of the entire system is known.
- espes 11y agoI'm fixing that: http://xqemu.com http://xqemu.com
- voltagex_ 11y agoWhat's required to test retail games / demos for the original XBox? I've done a reasonable amount of testing for Xenia because of easy access to demos. Can the discs be read in PC DVD players?
- espes 11y agoYou have to use an Xbox console (or specially modified DVD drive) to dump your discs.
- mmastrac 11y agoThis looks like a much better approach than cxbx. Thanks for the pointer!
- anthk 11y agoCheers to you and JayFoxRox.
- dtech 11y agoIts a major misconception that emulators are easier for Xbox/PS4/Xbox one because they use x86. According to that logic it should be super easy to port something from windows to linux x86_64, but compiling the same program for x86_64 and ARM linux should be very hard. Turns out it is the complete opposite. Here's what the developer of CBXB (a xbox original emulator) has to say about it, gives the reasons as to why it is to blatantly false: http://www.neogaf.com/forum/showpost.php?p=48088464&postcount=26 http://www.neogaf.com/forum/showpost.php?p=48088464&postcoun... (original is deleted)
- espes 11y agoThat post is actually more meaningless speculation than accurate.
- tomjakubowski 11y agoI don't see how the same logic applies: porting a source program to compile to something which runs on a new architecture seems pretty different to me than writing an efficient software to emulate another architecture for the purposes of running a program.
- anthk 11y ago>t should be super easy to port something from windows to linux x86_64, but compiling the same program for x86_64 and ARM linux should be very hard. Turns out it is the complete opposite. WineLib. And if not, just use the Wine as a binary loader and run your stuff.
- pandaman 11y agoThere is nothing strange about it. The original Xbox used a custom NVidia chipset for GPU, sound, peripherals, network etc. The only semi off-the-shelf part was the Intel's CPU (the exact same CPU was not on the market but it seems like a different packaging of a regular Celeron). The system is very complex and all its documentation is very confidential, it was not given to the third parties and, by this time, I am afraid even NVidia does not have it readily available so you cannot hope somebody will break the NDA and release it. The same is true for the later generations: 360, PS3, PS4, X1 all have custom chipsets and SoC in the current gen. Having a known ISA from the point of view of writing an emulator is similar to having a known encoding when writing a translation program from an unknown language.
- espes 11y agoThe Xbox gpu and apu are 'off-the-shelf' in the sense that they were re-used in nvidia retail chips. But you're right, that doesn't mean much in terms of public documentation. So you do some reverse-engineering. On the whole it isn't much work than other consoles of that generation. The only reason there hasn't been any activity is because nobody (outside of the Xbox backwards compatibility team) sat down and did the work (because there's no incentive to)
- pandaman 11y ago>The Xbox gpu and apu are 'off-the-shelf' in the sense that they were re-used in nvidia retail chips. Not really[1]. It was based on the GeFroce 3 architecture (NV20) but the actual chip had been quite different from the ones you could get on a retail card (NV2A). Even if it had been a straight off-the-shelf device it does not mean you know how it works. Look at the open-source drivers for the off-the-shelf video cards to see what is possible through reverse-engineering and what is not. I cannot speak for other consoles of that generation, as I have not touched the GC but PS2 devkits came with nice printed manuals, describing every register and every command for almost every device (if memory serves there was not printed IOP manual but it was pretty much the PS1 chipset so its documentation had been obtainable too). 1. https://en.wikipedia.org/wiki/GeForce_3_series https://en.wikipedia.org/wiki/GeForce_3_series
- orionblastar 11y agoThat depends on reverse engineering the custom chips that they use in those systems. The Amiga had custom chips, but had released the information on how they worked so Amiga emulators could be made. I doubt Sony or Microsoft would release the information. Just having a X86 CPU doesn't always mean the system can be emulated. For example I got BeOS for X86 and there is no emulator that can run it that I know of. My only hope of running BeOS apps is Haiku.
- jjkmk 11y agoThis is really cool, the fact that MS was able to build an 360 emulator that worked for xbone was really a huge engineering feat. Will be interesting to follow xenia's progress.
- EdiX 11y agoThey probably haven't. What you have to download from the xbox store when you insert an xbox 360 game into the console is likely a version of the game compiled for xbox 360. Whether they are creating it through a cross-compile or by translating the assembly code is unknown atm.
- tarpherder 11y agoThey didn't though ;)
- nivla 11y agoYes they did :). This was their most recent announcement [1]. It is currently available only for the preview members but when it is finally released, it will be available to everyone for free as an update. The idea is to emulate 360's architecture in XOne and let users play not only their digital but also their disc based games. [1] https://twitter.com/majornelson/status/639636383368376320 https://twitter.com/majornelson/status/639636383368376320
- jomtung 11y agoI have the preview and they are still porting a majority of the games over. Only a select few 360 games can be played on the Xbox one.
- adamrezich 11y agoIt's not that they're porting over games individually, it's that they have to get express permission from the publisher of each individual game. Something about the terms of the contract between the publishers and Microsoft being such that a user is only able to play the game on that specific platform (Xbox 360) unless the publisher says otherwise. One could somewhat cynically look at this and say that this is because publishers love to rerelease games for the new platforms; already we've seen a bunch of rereleases and "HD Editions" (even though last generation was also HD) for the PS4 and Xbox One.
- jzelinskie 11y agoThis is way further along than I would have expected. There are some small games already playable [0]! [0]: http://xenia.jp/compatibility/ http://xenia.jp/compatibility/
- voltagex_ 11y agoCome help test demos from the marketplace - it's reasonably easy once you copy the content to USB. See https://github.com/xenia-project/game-compatibility/issues https://github.com/xenia-project/game-compatibility/issues
- deleted 11y ago[deleted]
- curiousjorge 11y agowhy is it that we always need so much more CPU and GPU power to emulate an older, fixed, lower power requiring console?
- jessewmc 11y agohttp://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/ http://arstechnica.com/gaming/2011/08/accuracy-takes-power-o... This might be a good place to start, it's a long read but pretty interesting.
- makomk 11y agoNote that in some ways, more modern consoles may actually be easier (or at least have different problems) - there are a whole bunch of abstraction layers that stop programmers from doing weird cycle-accurate tricks, and they don't have the development time for it anyway.
- jayrox 11y agoModern may be "easier" because they are being built on top of hardware that is similar to what is found in modern consumer pc systems. That's no to say they are nessessarily the same but being x86 based means they have many of the same instruction sets.
- amilios 11y agoBecause afaik emulators, especially of older consoles, have to mimick in software every aspect of the original hardware of the console. This obviously takes a lot more computing power than just what the original hardware needed to run the games. I don't know how this situation has changed, however, as the latest generation of consoles are x86 based.
- jayrox 11y agoIt's not so much the software that they need to mimic but more so the hardware. They have to emulate the hardware to be able to run the instructions on a different cpu/gpu/audio architecture than what the game was built for. That's why it takes a much more powerful system to emulate a much weaker system.
- andyfleming 11y agoIs this compatible with the Open Emu app?
- astrange 11y agoNo, but if it can run as an x86-64 OS X app then it can be ported without too much work. Porting to an OE core is kind of invasive since it replaces the entire "app" part of an emulator including the event loop, sound output and windowing. So OpenGL renderers also have to be capable of rendering to a framebuffer and such. Also, the requirement for x86-64 is reasonable for OS X but excludes some Windows-based emu codebases, notably PCSX2.