Difference between pages "Game Boy Advance emulators" and "Xbox emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(I think Special is Autistic.)
 
(Emulators)
(Tags: Mobile edit, Mobile web edit)
 
Line 1: Line 1:
[[File:Gameboy-glacier.jpg|thumb|The Gameboy Advance handheld console]]The '''[[gametech:Game Boy Advance|Game Boy Advance]]''' (often shortened to GBA) is a 32-bit handheld video game console developed by Nintendo. It is the successor to the Game Boy Color. It was released in Japan on March 21, 2001; in North America on June 11, 2001; in Australia and Europe on June 22, 2001.
+
{{Infobox console
 +
|title = Xbox
 +
|logo = Xbox-and-Controller-S.png
 +
|developer = [[:Microsoft]]
 +
|type = [[:Category:Home consoles|Home video game console]]
 +
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
 +
|release = 2001
 +
|discontinued = 2009
 +
|successor = [[Xbox 360 emulators|Xbox 360]]
 +
|emulated = {{✓}}
 +
}}
 +
 
 +
The '''[[wikipedia:Xbox (console)|Xbox]]''' is a sixth-generation console released by Microsoft on November 15, 2001. Known as the DirectXbox during development, it is notable for the specs having similarities to a PC, namely as a result of using familiar components around the [[wikipedia:x86|x86]] architecture. It had a custom Pentium III CPU at 733 MHz with 64 MB of RAM, and a custom Nvidia GPU codenamed NV2A at 233 MHz. The Xbox was often said to be the most powerful console from the sixth generation, and Sega later designed the '''[https://segaretro.org/Sega_Chihiro Chihiro arcade system]''' with the same components. It retailed at {{inflation|USD|299.99|2001}}.
 +
 
 +
The Xbox was a modest seller, and helped create a brand for Microsoft that would give [[Xbox 360 emulators|its successor]] a stronger market share in the west; despite Microsoft's best efforts the original Xbox and succeeding consoles from the company have never gained a foothold in Japan for various reasons.<ref name="Censored_Gaming">{{cite web|url=https://youtu.be/DmCHJmi_st4|title=Why The Xbox Failed In Japan|publisher=Youtube|accessdate=2018-07-25|date=2018-07-16}}</ref> It had a number of advantages over other sixth-gen consoles at the time; it was the only console to include a hard disk,<ref group=N>The [[PlayStation 2 emulators|PlayStation 2]] also had a hard disk accessory, but the Xbox had it built-in on all models. Consoles in the seventh generation and onward began to include internal storage in varying forms.</ref> meaning it was the first to be able to rip CDs, and it was the first and only console of the lineup to include a unified online service called Xbox Live,<ref group=N>The [[Sega Dreamcast emulators|Dreamcast]] had Sega Net in North America and Dreamarena in Europe, but Xbox Live was the same for all regions.</ref> prompting Sony to create the [[Wikipedia:PlayStation Network|PlayStation Network]] the next generation.
 +
 
 +
Early in its lifespan, the Xbox had [[wikipedia:Xbox modding|an unusually active modding scene]] compared to the other consoles (often vindicated by the incredibly short warranty). Upon the first jailbreak by [[wikipedia:Andrew Huang (hacker)|Andrew Huang]], the scene ultimately delivered no comprehensive emulation until the mid-2010s,<ref group=N>The Xbox would have been too difficult to emulate at the time anyway as its specs often rivaled that of consumer PCs, and it was alleged that many developers received legal threats from Microsoft to dissuade them from trying.</ref> where developers have continued to have issues owing to the fact that, alongside the poorly documented hardware, many of the Xbox's games either came from Windows or were then released for Windows afterward (though it does retain a few exclusives). However, the Xbox emulation scene has been resurging with two emulators at the forefront since mid-2017. Its developers continue to say there's no competition between them, as they're both open-source and have different goals and methods.<ref>[https://www.reddit.com/r/emulation/comments/8ymp6n/cxbxreloaded_just_hit_v01/e2ckmpl/ JayFoxRox's statement] (representing XQEMU). Reddit (2018-07-14).</ref><ref>[https://www.reddit.com/r/emulation/comments/6mwizs/cxbx_running_xbox_dashboard_4817_with_audio/dk7jnif/ SoullessSentinel's statement] (representing Cxbx-Reloaded). Reddit (2017-07-13).</ref>
  
 
==Emulators==
 
==Emulators==
{| class="wikitable"
+
:'''Note:''' [http://xboxdevwiki.net/Emulators xboxdevwiki's own list of emulators] contain over 20 different emulator projects, most of which were abandoned not long after they started. Only about 2 or 4 emulators have been making progress.
|+PC
+
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|GB/GBC
+
! scope="col"|Chihiro
! scope="col"|GBA
+
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|NDS
+
! scope="col"|Active
! scope="col"|Game Link Support
+
! scope="col"|[[Recommended Emulators|Recommended]]
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[Recommended emulators|Recommended]]
 
 
|-
 
|-
|style="text-align:center;"|[[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)]]
+
! scope="col" colspan="7"|PC / x86
|style="text-align:center;"|Multi-platform
 
|style="text-align:center;"|[http://www.emucr.com/search/label/VisualBoyAdvance-M/ SVN]
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[[mGBA]]
+
|[[xemu]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|[https://endrift.com/mgba/downloads.html 0.2.0]
+
|[https://github.com/mborgerson/xemu/releases {{XemuVer}}]
|style="text-align:center;"|✗
+
|{{~}} <small>(WIP)</small>
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[higan]]
+
|[[Cxbx-Reloaded]]
|style="text-align:center;"|Windows, OS X, Linux
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[http://byuu.org/higan/ 0.94]
+
|[https://cxbx-reloaded.co.uk/download git]
|style="text-align:center;"|✓
+
|{{~}} <small>(WIP)</small>
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|✗
+
|{{~}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|iDeaS
+
|[[XQEMU]]
|style="text-align:center;"|Windows, Linux
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|[http://ciacin.site90.com/ideas.php 1.0.4.0]
+
|[https://github.com/xqemu/xqemu git]
|style="text-align:center;"|✗
+
|{{~}} <small>(WIP)</small>
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[MESS]]
+
|[[StrikeBox]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux}}
|style="text-align:center;"|[http://www.mamedev.org/release.html {{MAMEVer}}]
+
|[https://github.com/StrikerX3/StrikeBox git]
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|?
+
|{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|Meteor
+
|[[Cxbx]]
|style="text-align:center;"|Linux
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[https://github.com/blastrock/meteor 1.4]
+
|[https://github.com/Echelon9/cxbx-shogun git]
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[No$GBA]]
+
|[http://dxbx-emu.com/ Dxbx]
|style="text-align:center;"|Windows, MS-DOS
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[http://problemkaputt.de/gba.htm 2.8]
+
|[http://sourceforge.net/projects/dxbx/files/dxbx/ 0.5]
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{✗}}
|style="text-align:center;"|✓
+
|{{✗}}
|style="text-align:center;"|
+
|-
|style="text-align:center;"|✗
+
|[http://xenoborg-emu.blogspot.com/ Xenoborg]
|}
+
|align=left|{{Icon|Windows}}
 
+
|r19
{| class="wikitable"
+
|{{}}
|+Consoles
+
|{{✓}}
! scope="col"|Name
+
|{{✗}}
! scope="col"|Operating System(s)
+
|{{✗}}
! scope="col"|Latest Version
+
|-
! scope="col"|GB/GBC
+
|Xeon
! scope="col"|GBA
+
|align=left|{{Icon|Windows}}
! scope="col"|NDS
+
|[http://www.emulator-zone.com/doc.php/xbox/xeon.html 1.0]
! scope="col"|Game Link Support
+
|{{✗}}
! scope="col"|[[libretro|Libretro Core]]
+
|{{✗}}
! scope="col"|[[Recommended emulators|Recommended]]
+
|{{✗}}
 +
|{{✗}}
 +
|-
 +
|[[MAME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 +
|{{~}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✗}}
 
|-
 
|-
|style="text-align:center;"|TempGBA4PSP
+
! scope="col" colspan="7"|Consoles
|style="text-align:center;"|[[PlayStation Portable]]
 
|style="text-align:center;"|[http://www.mediafire.com/download/41ny5xrwxizalx4/TempGBA4PSP-26750221.zip 26750221]
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)]]
+
|[[FU|Fusion]]
|style="text-align:center;"|[[Wii]], [[Gamecube]]
+
|align=left|{{Icon|360}}
|style="text-align:center;"|r1231
+
|1.7
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✓
+
|{{✗}}
|style="text-align:center;"|
+
|{{✗}}
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✓ (as VBA-Next)
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[gpSP]]
+
|[[Fission]]
|style="text-align:center;"|[[PlayStation Portable]]
+
|align=left|{{Icon|XB1|SXS}}
|style="text-align:center;"|0.9
+
|Patch based
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|}
 
|}
  
==Comparisons==
+
===Comparisons===
* [[gpSP]] last official version was 0.9 by Exophase. There are, however, two superior forks: [http://dl.qj.net/psp/emulators/gpsp-mod-20090720.html gpSPmod] and [http://filetrip.net/psp-downloads/homebrew/download-gpsp-j-12-06-16-f29570.htmlgpSP-J gpSP-J]. gpSP-J has superior compatibility, while gpSPmod has more options for customization (full screen, cheats, etc). Both are superior to Kai.
+
Since May 2017, serious strides have been happening in the Xbox emulation scene with Cxbx-Reloaded and XQEMU making major progress. Cxbx-Reloaded went in-game for ''Jet Set Radio Future'' with a somewhat decent framerate.<ref name="Bahax Emulation">{{cite web|url=https://www.youtube.com/watch?v=K_5dIUPs0_I|title=Cxbx Reloaded - JSRF(Semi-Playable/35~60 FPS)|publisher=Youtube|accessdate=2018-05-11|date=2017-05-10}}</ref> Many more original Xbox games have been able to get in-game and, in some cases, at decent speeds on XQEMU.<ref name="Reddit">{{cite web|url=https://www.reddit.com/r/emulation/comments/6c93rg/xqemu_more_games_ingame/dhuakqc/|title=XQEMU - more games ingame|publisher=Reddit|accessdate=2017-06-11|date=2017-05-23}}</ref><ref name="JGG_3">{{cite web|url=https://m.youtube.com/watch?v=J20hlsOUFq0 |title=XQEMU Xbox Emulator - MechAssault Ingame! |publisher=Youtube|accessdate=2018-06-23|date=2018-06-22}}</ref>
* [[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)]] is a fork of VisualBoyAdvance with additional improvements. RetroArch's VBA-Next is based off an older revision of VBA-M with added speedhacks and tweaks, making it a bit less accurate in some respects, though it fixes a few games such as Advance Wars 2.
 
* [[higan]]'s GBA core is cycle-accurate, but is otherwise very much a WIP and not as compatible as either version of VBA.
 
* [[mGBA]] is a GBA emulator that aims to be accurate while maintaining speed, it's actively developed and has features that VBA-M lacks such as Solar/Tilt Sensor.
 
  
==Emulation issues==
+
====PC====
 +
;[[xemu]]: A low-level emulator by Matt Borgerson continuing much of the work done on [[XQEMU]]. Focuses on stability, performance, and ease of use. 600+ games are reported playable, See the [https://xemu.app official game compatibility list].
 +
;[[Cxbx-Reloaded]]:A fork of [[Cxbx]] that's been having a good development momentum since mid-2016. It's built for x86_64 machines and includes a ton of improvements to its [[High/Low_level_emulation|HLE]] kernel, some from code originating in Dxbx and other related forks. While it has HLE support for the GPU and other parts (eg. audio) to make many games run fast, [https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/pull/1018 XQEMU's LLE implementation was introduced] in April 2018 and is expected to help even further. 150+ games are playable and 450+ games ingame. See [https://github.com/Cxbx-Reloaded/game-compatibility/issues this compatibility list] for more information.
 +
;[[XQEMU]]: A low-level emulator based on [[QEMU]]. It can emulate the BIOS and many games at very slow speeds but is sometimes faster than Cxbx with acceptable graphics. Audio has not been tested but has been assumed to be emulated, just not forwarded to the audio hardware for some reason. See [http://xboxdevwiki.net/XQEMU this compatibility list] that was taken from John GodGames' 2015 list, and [https://docs.google.com/spreadsheets/d/1sVtQ9SNPathKAMCqfYtvJQP0bs0UeLzP9otPHvZDMwE/htmlview#gid=709879345 this Google spreadsheet].
 +
;[[StrikeBox]]: Beginning low-level emulator that just initializes an x86 system and runs whatever is in the ROM. Not much works for this currently. It was uploaded to GitHub on [https://github.com/StrikerX3/OpenXBOX/commit/16013a6529eec37e997cd0ad1d5495cb83456014 Dec 5, 2017] by mborgerson, a well-known XQEMU contributor who in early 2018 is still focused on streamlining XQEMU's QEMU codebase. So expect more progress from XQEMU than StrikeBox in the meantime.
 +
;[[Cxbx]]: One of the first Xbox emulators, started as an ahead-of-time compiler for Xbox executables. Can boot around 56 games, with around a dozen in an already playable state. See [http://shogun3d-cxbx.blogspot.com/2009/11/cxbx-compatibility-list-updated.html this compatibility list].
 +
:;Dxbx: A port of Cxbx to Delphi, expanded with a redesigned symbol detection engine, and many rendering improvements, a new pixel shader converter, etc.
 +
;Xeon: Can emulate Halo CE to the point where the first stage is semi-playable. The walls and ground are pitch black, and the game crashes after you complete the first stage or right after you select the difficulty on modern versions of Windows.
 +
;[[MAME]]: Existing x86 emulation in MAME has given way to an <code>xbox</code> driver... that they've marked overall as <span style="color:darkred">not working</span> and sound as unimplemented (graphics are OK though).
  
===Oversaturation===
+
====Consoles====
[[File:1406913527173-1-.png|400px|thumb|right|Left showing the default game, and right showing [[VBA-M]] in "Gameboy Colors" mode]]
+
;[[FU|Fusion]]:The internal name for backwards compatibility on the [[Xbox 360 emulators|Xbox 360]]. It supports [[wikipedia:List_of_Xbox_games_compatible_with_Xbox_360|a specific list of games]] that, while some work right off the bat, may need additional patches to play properly. It also requires your console to have system storage. Some games still have issues with graphical glitches and slowdowns to errors that can make standard gameplay basically impossible. There is more information and references/video(s) about this BC support [http://xboxdevwiki.net/Xbox_360_Backward_Compatibility#References_and_links here].
The original GBA screen was not backlit, which would render the screen rather dark. To compensate for this, games would be overly saturated. The bright overly saturated colors would appear rather normal on the GBA. In emulation however, this over saturation is not needed. Some games made after 2003 may look better with the backlit colors, however, as they were designed with the GBA SP in mind. For everything else, there are several ways to deal with this:
+
;[[Fission]]:The internal name for backward compatibility on the [[Xbox One emulators|Xbox One]] and [[Xbox Series X and Series S|Xbox Series X/S]]. With [[wikipedia:List_of_backward_compatible_games_for_Xbox_One#List_of_compatible_titles_from_Xbox|a smaller amount of supported games]], likely due to issues surrounding licensing,<ref group=N>Which can be a number of reasons, including but not limited to developers and publishers going defunct, movie and toy tie-in licenses for branded content expiring, and music royalties.</ref> it allows the ones that do work to run at twice the Original Xbox's standard resolution (480p) on both Xbox One (S) and Xbox Series S consoles (up to 960p), and more than quadruple on Xbox One X and Xbox Series X consoles (up to 2160p).
  
'''No$GBA'''
+
==Emulation issues==
 
+
[[File:Xbox_looking-good.png|thumb|250px|The pratfalls of Xbox emulation]]
Under "Emulation Options", select "GBA Mode. There are four modes.
+
The Xbox is infamous in the emulation scene for being the worst case of false advertising. For the projects currently available and active there's a high barrier to entry for the effort involved, and it's the same reason why consoles using off-the-shelf hardware (or reused hardware) are easier to emulate. To users, being "basically a PC" and "x86-based" is a selling point despite that not being the case as the Xbox has a number of proprietary elements that are nothing like standard PC hardware (like the eighth-gen "x86-based" consoles). Many aspects of the Xbox's architecture aren't openly documented, making it a major pain to have to figure it all out.<ref name="ngemu">{{cite web|url=http://ngemu.com/threads/why-is-xbox-emulation-premature.132032/|title=Why is XBOX emulation premature?|publisher=ngemu|accessdate=2017-05-22|date=2010-02-15}}</ref><ref name="Microsoft1">{{cite web|url=https://msdn.microsoft.com/en-us/library/xbf3tbeh(v=vs.140).aspx|title=/LTCG (Link-time Code Generation)|publisher=Microsoft|accessdate=2017-05-22}}</ref><ref name="Microsoft2">{{cite web|url=https://msdn.microsoft.com/en-us/library/bb985904.aspx|title=Under The Hood: Link-time Code Generation|publisher=Microsoft|accessdate=2017-05-22}}</ref><ref name="FrameRater">{{cite web|url=https://www.youtube.com/watch?v=97mQcus7wFI|title=Xbox Emulation: The History & Roadblocks | A Documentary by FrameRater|publisher=Youtube|accessdate=2018-03-13|date=2018-03-08}}</ref><ref>{{cite web|url=https://www.reddit.com/r/emulation/comments/6dl94y/why_is_there_a_lack_of_original_xbox_emulation/|title=Why is there a lack of Original Xbox emulation?|publisher=Reddit|accessdate=2017-06-11|date=2017-05-29}}</ref> For example the APU, one of two sound processors on the [http://xboxdevwiki.net/MCPX MCPX southbridge chip] of the Xbox chipset, is [https://github.com/JayFoxRox/xqemu-espes/pull/24 incredibly powerful and uses complex processing steps] that are difficult to figure out using clean-room reverse engineering.
 
 
- GBA (no backlight) = strong desaturization
 
 
 
- GBA SP (backlight) = strong desaturization
 
 
 
- Nintendo DS in GBA mode = some desaturization
 
 
 
- VGA Mode (poppy bright): zero desaturization
 
 
 
'''VBA-M'''
 
 
 
- (VBA-M for Windows only) Under "Options->Gameboy" you will find the options:
 
 
 
- "Real Colors": no desaturization
 
 
 
- "Gameboy Colors": strong desaturization 
 
 
 
'''Shaders'''
 
 
 
[https://github.com/libretro/common-shaders/blob/master/cgp/gameboy-colors.cgp gameboy-colors.cgp]
 
 
 
A .cgp shader preset can be loaded in [[OpenEMU]] or [[RetroArch]] that is meant to (sort-of) replicate the "Gameboy Colors" option in VBA-M using the image-adjustment Cg shader. The settings are parameters that are stored in the cgp and can be adjusted at runtime. The relevant parameters set for this effect are:
 
 
 
Target Gamma = 2.4
 
 
 
Monitor Gamma = 2.16
 
 
 
Saturation = 0.5
 
 
 
Luminance = 0.9
 
 
 
The colors will not be exactly the same as what VBA-M produces (a bit brighter and no washed out blacks) but it will get you the desaturation effect. Can be adjusted to fit your tastes, and you can get the washed out blacks by increasing "Brightness Boost" and decreasing Luminance a bit.
 
 
 
More recently, a different [https://github.com/Monroe88/common-shaders/tree/color-lcd/handheld/color-lcd shader] using a lookup table was created to much more accurately simulate VBA and No$GBA's options.
 
 
 
===Save file issues===
 
There are a number of different save formats for GBA games. With raw save data, it's very hard to detect what save type it is just by looking at it. Visual Boy Advance tries to autodetect save type but often is incorrect and this causes issues. A fix to this issue is to use a file called "vba-over.ini" to tell VBA what each game's proper save type is, which eliminates most issues regarding save type. Current VBA-M versions come with vba-over.ini by default, but older versions of VBA like VBA 1.7.2 and VBALink did not.
 
 
 
The libretro versions of VBA, libretro-VBA-Next and libretro-VBA-M, come with vba-over.ini baked into the binary so it is able to load raw .sav files, but also changes the save file output to be a 136KB .srm file for every save type, with save type info contained within the file. This completely avoids any save type issues, but makes its save files incompatible with standalone VBA and most other emulators.
 
 
 
Libretro devs created a
 
[https://github.com/libretro/vbam-libretro/blob/master/src/libretro/gbaconv/gbaconv.c command line tool] to convert libretro-VBA .srm save files to raw .sav save data for other emulators. You can just drag and drop a .srm onto the executable and it will output raw .sav. The same can be done in reverse. A precompiled Windows 64-bit binary of this tool can be found
 
[https://www.mediafire.com/?6bg8ag0bjs1b7ng here].
 
 
 
==Connectivity==
 
===GBA Link Multiplayer (1~4GBA)===
 
* VBA-M: This doesn't work with old VBA versions.
 
 
 
Just disable "Pause when Inactive", configure all four Joypads each with their own button layout, enable "Link, Enable GBA Link". Now open VBA-M again as much times needed for each player, and have them each use their separate Joypad configuration. Each player will have a separate SRAM save file.
 
 
 
* No$GBA: This method also works with DS roms, and that's the actual way to see the incomplete non-functional local Wi-Fi DS multiplayer implementation. (todo)
 
 
 
===GameCube Connectivity===
 
The GBA unit can connect to a GameCube.
 
 
 
====Dolphin and VBA-M====
 
 
 
Game Boy connection support can be supported via joybus emulation. Such requires VBA-M (r947 or newer) and a dump of a GBA BIOS.
 
 
 
'''Connect 1~4 GBA Unit Without Game to GC Game'''
 
 
 
First Part!
 
* Open Dolphin and VBA-M. Make sure neither are blocked by your firmware.
 
* '''Dolphin:''' Start your game and play until you get to the in-game menu where you're asked to connect a GBA. Under the GC controller options (earlier "Config, Gamecube", now it's with the GC/Wii controller options). You have 4 GC controller ports: change how much you need to "GBA". Leave the game and its music running :)
 
* '''VBA-M:''' You'll need to uncheck "Options, Emulator, Pause When Inactive". Then, under "Options, Link, Joybus Options", Make sure to enable "Enable Joybus Connection" and set "IP/Hostname" to use default settings, that is (127.0.0.1) or (localhost) - without the brackets.
 
* THEN, Dolphin will freeze. You'll want to not have the system sound too high if you're using headphones.
 
 
 
Second Part!
 
* '''VBA-M''': Open the GBA BIOS in VBA-M as if it were a regular GBA ROM. There will be that splash screen but it will stutter a bit.
 
* Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA unit was connected.
 
* To connect other GBA units, open another VBA-M instance and repeat what you did with VBA-M.
 
 
 
Notable games that work:
 
* The Legend of Zelda Four Swords Adventures: Both two modes available for the US/PAL version work. The third Japan-only Navi Trackers mode works as well, but the game crashes after the naming screen due to a bug in the GC/GBA connectivity.
 
* Final Fantasy Crystal Chronicles
 
* Billy Hatcher: You can download games to your GBA. Amusingly, a RAM dump from VBA-M can be opened as a functional GBA ROM.
 
* Kururin Squash
 
* Sonic Adventure 2 (buggy)
 
 
 
Don't work:
 
* The Legend of Zelda Wind Waker: Tingle Trainer connection always fails, though some messages do display on VBA-M.
 
* Drill Land
 
* lots more
 
 
 
'''Connect GBA Game to GC Game'''
 
 
 
* '''VBA-M''': Under "Emulator, Bios Files" set the GBA BIOS file directory, and have the emulator use it. This will cause each regular GBA rom you load in VBA-M to show the BIOS splash screen then proceed to the game. It has higher compatibility too.
 
* You do the all the steps above in the '''first part''' of the previous section (connecting a GBA unit without Game to a GC game) until the line with Dolphin freezing when you enable Joylink in VBA-M.
 
 
 
Then:
 
* '''VBA-M''': Open the regular GBA ROM to be connected with the GC game in VBA-M as if it were a regular GBA ROM.
 
* There will be that splash screen, but if you do nothing the GBA game starts as usual and the connection doesn't actually happen. What you must do is to hold '''Select+Start''' while the BIOS is loading. This will cause the BIOS animation to stop and wait for connections, and the regular GBA ROM game won't boot immediately. If it goes as intended, VBA-M will stutter a bit and the connection will be initiated.
 
* Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA unit was connected.
 
* To connect other GBA units, open another VBA-M instance and repeat what you did with VBA-M.
 
 
 
Please note e-Reader functionality with GC games isn't emulated as of yet.
 
 
 
====Dolphin and other emulators====
 
Dolphin devs are working at rewriting the entire GBA connectivity code in a far better way from scratch with more accurate emulators. They did a video using the higan emulator. Nothing of the sort is published at the moment.
 
 
 
===GBA/DS Connectivity===
 
Inserting a GBA card in Slot-2 in a Nintendo DS unit (that's not a DSi) while a DS game is running could unlock various gameplay features in some DS games. DesMume can emulate this: while playing the DS ROM, go to "Config, Slot 2 (GBA Slot)" and select "GBA Cartridge". Now select the GBA ROM file, and make sure its sav file is in the same folder. You may need to reset the game sometimes to see the effect in-game.
 
 
 
==Special Hardware==
 
===Special Cartridges===
 
These were never emulated as of yet. There used to be patches to be applied to GBA ROMS with an utility like LunarIPS, but they're for the most part lost to time nowadays. Your best bet is to use Action Replay to emulate those.
 
 
 
* '''Solar Sensor:''' Boktai 1 (Fix: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1567 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1145 US], <s>EU</s>), Boktai 2 (Fix: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1567 JP], <s>US</s>, [http://www.advanscene.com/html/Releases/dbreleases.php?id=1992 EU]), Boktai 3 ([http://www.advanscene.com/html/Releases/dbreleases.php?id=2048 JP Fix]).
 
* '''Motion Control:''' Yoshi Topsy Turvy/Universal Gravitation (Fix: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1799 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1947 EU], [http://www.advanscene.com/html/Releases/dbreleases.php?id=2001 US]), Warioware Twisted! (Patch: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1682 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1979 US])
 
* '''Variable Rumble Speed''': Drill Dozer. Can still be emulated.
 
* '''Figurine Add-on:''' Legendz: Isle Of Trials, Legendz: Sign Of Necromu, Plaston Gate ([http://www.advanscene.com/html/Releases/dbreleases.php?id=1020 Fix]), Plaston Gate DX ([http://www.advanscene.com/html/Releases/dbreleases.php?id=2006 Fix]). The add-on is essentially Skylanders before it became popular.
 
 
 
VBA-M has an option for Motion controls "Input, Set, Motion". It currently works with all versions of the GBC title Yoshi Tilt'n Tumble, which also was a special cartridge with a motion sensor built-in to control movement in-game.
 
 
 
===Other Add-ons===
 
Not emulated yet:
 
 
 
* Battle Chip Gate (and variations): compatible with Japanese versions of Megaman Zero 3, Megaman Battle Network 4, 4.5, 5 and 6.
 
 
 
==e-Reader==
 
The e-Reader is an add-on for the Game Boy Advance released in Japan and USA/Australia (and cancelled in Europe).
 
 
 
It has a LED scanner that reads paper cards with data printed on them, called "e-Reader cards". These cards hold actual data.
 
 
 
This way, stuff could get unlocked in games, most famously Super Mario Advance 4 where some cards triggered switch effects (like vegetables everywhere, various powerups including the Boomerang (only appearing after in Mario Land 3DS), the Kuribo Shoe and the SMW Cape, a 100-Up powerup, a replay feature, and other stuff) while others held entire new levels in their data found nowhere in the original cartridge to be transferred to the save file.
 
Due to its impopularity outside Japan, these features would often be removed when e-Reader compatible games would be localized.
 
 
 
In these cases, it requires two GBA units - one with the game cartridge, the other with the e-Reader device, linked with a link cable, with the gray end on the second GBA. Playing the game up to the point where you can initiate the e-Reader features, you can then swipe the paper cards in the e-Reader to read the data - it's not ideal though outside of emulation due to how much finnicky the process actually is.
 
 
 
It could also connect with GameCube games in the same way, notably Animal Crossing.
 
 
 
Other e-Cards that only require one GBA with e-Reader include NES games (often mapper 0 games) and various promotional cards.
 
 
 
e-Reader was originally released in Japan in 2001 without Link cable support (thus unable to link to other GBA/GC games), but that was added in a second version released in 2002 as e-Reader+ in Japan. That second version was released as e-Reader in USA and Australia.
 
 
 
===What you'll need===
 
 
 
'''The e-Card images:''' Yes, these have actual data in them. The "No-Intro Game Boy Advance (e-Cards)" rom set is only missing 12 US cards (Pokémon TGC) and a few dozen JP ones (mainly F-Zero Legend, Rockman EXE 5/6, Pokémon Pinball). Either download the set or hunt down the device and obscenely rare cards to archive them.
 
 
 
The dumps are around 2.2KB, and are region-locked. No European-region dumps exist (even though really rare e-Cards do).
 
 
 
'''The e-Reader BIOS:''' A regular GBA ROM. Three versions exist, be sure to pick up the one with the same region as the e-Card.
 
 
 
* Card e-Reader (Japan) ''(not recommended)''
 
* Card e-Reader+ (Japan)
 
* e-Reader (USA)
 
 
 
'''Emulators for e-Reader:''' Your best bet is no$gba 2.4 and above. Modified versions of VBA include e-Reader support, with one for 1.7.0 (no Link support)
 
and 1.6e (Link support), but their emulation isn't perfect, and no$gba is still needed for many setups involving two GBAs. No emulation for now for e-Reader/GameCube connection.
 
 
 
''Or, alternatively (even if it's not actual e-Reader emulation):''
 
 
 
'''Battery backup files (sav)''' from people who had already scanned e-Cards. Their data gets stored in the sav file for the e-Reader BIOS rom, or the GBA game with e-Reader features. This is one convenient way to play the exclusive levels from SMB4 if you just grab a save file with the levels already stored and import it in your emulator for use with that game (also the only way to get it to work on PAL SMB4).
 
 
 
'''Cheat codes''' enabling the e-Reader unlockables in some games. Only works if the "dlc data" is already included in the cartridge - so it wouldn't work with SMA4's levels or F-Zero Legend's developer ghost data for example. It's also useful to get data that was removed from US versions (since the e-Reader was discontinued outside Japan very early) - including notably Pokémon Coloseum, Megaman Zero 3, and Megaman Battle Network 5 (6 JP included the data on-cart already, US didn't and made heavy content cuts)...
 
 
 
===Scan a Standalone Card (1 GBA, e-Reader only)===
 
 
 
Trying to scan a card for use with another GBA game to unlock stuff within using this method would give you an error message.
 
 
 
====Using No$GBA====
 
 
 
No$GBA offers actual full hardware emulation for e-Reader, but its GBA emulation, while very decent and with save state support, isn't the best out there. You can still export your save at will.
 
 
 
'''Emulator:''' Open the e-Reader BIOS. It's a regular GBA ROM. <br />
 
The very first time it's loaded, it will save some e-Reader specific configuration, then reset the emulator. After that it's all good.<br />
 
'''In-game, BIOS:''' Press A (or "Select" for a hidden bonus :P). Choose "Scan Card".<br />
 
'''Emulator:''' A window should pop-up. Now you can choose the e-Card roms (often RAW, but can be also BIN, or BMP/JPG images) you'll need. Choose the file and click OK.<br />
 
'''In-game, BIOS:''' A "Scan Card" message appears, and the data is loaded.
 
 
 
If the application (NES game, minigame, promotional app) is stored in multiple e-Cards, the game will let you know ("You need [n] more Dot Code(s) to start. Scan [Application Name] 2/[n].") In that case:
 
 
 
'''Emulator:''' Click "File, Load e-Reader Dotcode". Choose the next e-Card image file. <br />
 
'''In-game, BIOS:''' In the same screen, press A to Scan Code. The data should be loaded. If you tried to do so before loading the next file, the BIOS would say you have already scanned it. Rinse and repeat until you get all parts.
 
 
 
If you're done with all parts (could be one part in many cases), and all is fine, the BIOS would suggest you save the data to the e-Reader's SRAM. (You can then conveniently grab the sav file for use with other emulators).
 
 
 
This prevents the data from getting deleted when rebooting the device or scanning other e-Cards. You can then access it from the title menu with the new third option, "Access Saved Data" (and the app name shows below too!) In case you want to delete it, hold L+R at console startup (you can use the numeric pad * (multiply) key to reset).
 
 
 
Then, after this save prompt, you can play the actual application.
 
 
 
====Using VBA e-Reader compatible old builds====
 
 
 
VBA 1.7.0 e-Reader (no Link)
 
VBA 1.6e e-Reader + Link
 
 
 
These old versions of VBA (later VBA-M) do not do full e-Reader emulation but still do the job here. The version lacking the Link feature though is useless for cards to be used with GBA games. Regular VBA, and VBA-M versions do not have e-Reader support at all.
 
 
 
Not that different from No$GBA. You open the e-Reader BIOS first like any regular GBA ROM.
 
 
 
You might be faced with a "Memory Error" screen in-game. That's because VBA didn't detect the save type correctly. You'll need to do that manually, by going to Options, Emulator, Save Type, then choosing 128K rather than 64K. While you're at it, check under Emulator if "Save e-Reader RAW Files" is checked. "Pause when Inactive" needs to be disabled if you ever intend to link between two GBAs (not needed right now).
 
 
 
Reset, and press A and just wait for the SRAM to be formatted (a good minute). Press A when you're done and you can go to the in-game title menu. Whenever the game tries to scan e-Cards, unlike with NO$GBA a window will always pop up asking you to choose your e-Card dump (can be only a RAW file in VBA's case). It's more straightforward here, and the NES compatibility is even better. That said it's more of the same. Read the NO$GBA section for more info.
 
 
 
====Emulators lacking e-Card reading support====
 
 
 
Of course, you can fetch SRAM battery save files (sav) for the e-Reader BIOS or the e-Reader compatible GBA games AFTER e-Cards were already scanned and their data saved in these SRAM files, either using e-Reader emulators or real hardware. These sav files should work with ANY emulator.
 
 
 
Alternatively, there are cheats. Very often, that's the only way to unlock e-Reader features in games lacking them in some versions (notably US Megaman games versions, and SMA4 PAL).
 
 
 
===Scan a Card for Use with a GBA Game (2 GBAs linked, e-Reader + GBA Game)===
 
 
 
(TBA)
 
 
 
====No$GBA====
 
Shugo Takahashi's explanation in the case of SMA4.
 
 
 
1. You'll need a save file for the e-Reader BIOS GBA ROM with the SMB4 Level Card Program already saved. ([http://www.zophar.net/download_file/20656 Link], US).
 
 
 
2. Next you need to set up NO$GBA. Place the GBA BIOS file in NO$GBA's root and run NO$GBA. Open any ROM (right now it doesn't matter) and immediately go edit the settings by pressing F11. Go to the Controls tab and define your control layout for both Player 1 and Player 2, then click on Options and click "Save Options". Close out of NO$GBA.
 
 
 
3. It should now have created several files and folders in the root folder you placed it in. Open NO$GBA.ini in Notepad and find the "SAV/SNA File Format" setting. Change this to "Raw" and save it. Go place your SMA4 SAV and the e-Reader SV2 in the BATTERY folder. Make sure they share the same names as the SMA4 and e-Reader ROMs you have.
 
 
 
4. Open NO$GBA and open the e-Reader ROM. Change "All machines" to "1st machine". Then press F11 and change "Number of Emulated Gameboys" to "2". DO NOT SAVE THE OPTIONS HERE. IT WILL CRASH ON STARTUP EVERY TIME IF YOU DO.*
 
 
 
''If you screw up and save the NO$GBA options after you've enabled two Game Boys, then open NO$GBA.INI and find the "Number of Emulated Gameboys" option. Change this to "-Single Machine" and save.''
 
 
 
5. After enabling two Game Boys, click "File" and "Cartridge Menu (FileName)" and open your SMA4 ROM, this time selecting "2nd machine". If you did this right, then SMA4 should be loaded on the left side with sound and the e-Reader should be loaded on the right side without sound. Navigate to the SMB3 main menu and check to see that your save file loaded properly.** Go to "Level Card" and then move Mario/Luigi onto the swirling panel in front of the castle to open a menu. Move up to "Level Card" and select it to be taken to the e-Reader communication screen.
 
  
6. Next use the Player 2 controls you mapped out to navigate the e-Reader menu to "Access saved data". "Super Mario Advance 4" should be displayed as the saved data.** This should take you to a communication screen just like SMA4's next to it. Hit A on SMA4 to begin communication. Go to "File" and then "Load e-Reader Dotcode" in NO$GBA and navigate to the .RAW Level Card dotcode files you downloaded. Double-click one and the e-Reader should accept it and send it back to the SMA4 ROM. The SMA4 ROM will then tell you that a Level Card was received.
+
The good news is the efforts currently underway are starting to see real effects. While it's true that Cxbx-Reloaded will have the upper hand with a primarily HLE-based approach on Windows, XQEMU will have the advantage of going by the book. XQEMU also has the potential to tap into hardware acceleration that Cxbx-Reloaded would have to write a kernel mode driver for, and SoullessSentinel wrote "''I don't think our users would like the idea of disabling security features such as driver signature enforcement and installing an untrusted kernel driver just for an emulator.''"<ref name=accel>[https://www.reddit.com/r/emulation/comments/6a958p/cxbx_reloaded_xbox_emulator_panzer_dragoon_orta/dhetzrd/ Cxbx-Reloaded (Xbox Emulator) - Panzer Dragoon Orta (In-Game)]. Reddit (2017-05-10).</ref>
 +
<!-- The Nouveau project for Linux may be of help figuring out the GeForce hardware in the Xbox{{Cite}} -->
  
''If either the SMA4 ROM or the e-Reader ROM don't have the proper saved data, make sure that you changed the save type in NO$GBA.INI to "Raw", the save files are the same names as their ROM counterparts, and that SMA4 is on the left screen while e-Reader is on the right screen. If their screens are flipped, then either restart NO$GBA and follow my instructions more carefully or open BATTERY and change their save types around (.SAV to .SV2 and vice versa).''
+
==Chihiro==
 +
The Chihiro arcade system was produced by Sega in 2003. It consists of an Xbox motherboard (with double the RAM as with devkits) with additional boards for handling arcade I/O (Sega JVS standard). As the inner workings of the Xbox are better understood, Chihiro emulation support and accuracy will improve.
  
6b. Now here's the catch. SMA4 will not let you save a level permanently and then scan more levels until you beat the level you just scanned at least once. So you either have to beat the level now in the emulator or load the save back onto your real game, beat the level, and then repeat this entire process for the next level. It's cumbersome, I know, but in the end when you have all the levels scanned in and you've played them all it'll be well worth it; these are some of the coolest levels in the entire Super Mario series!
+
==Resources==
 +
*[http://xboxdevwiki.net/ XboxDevWiki], for Xbox hardware documentation
 +
*[https://discordapp.com/invite/26Xjx23 Xbox Emulation Discord server] (For general and development discussions on OG Xbox emulation, especially for Cxbx-Reloaded, but also XQEMU, StrikeBox, and any legacy emulators.)
  
7. If you choose to beat the level using your original game cartridge, another emulator or are just ready to transfer your save file back, then press Start in NO$GBA on SMA4 and hit "Save". It will take you back to the title screen. Go back into Level Card and check to make sure the level you just scanned is still on the level list. Close out of NO$GBA and go into the BATTERY folder. Copy the .SAV file from SMA4 and paste it somewhere else: you can import it in other emulators or even real cartridges.
+
==Notes==
 +
<references group=N />
  
===Scan a Card for Use with a GC Game (GBA and GC linked, e-Reader + GC Game)===
+
==References==
 +
{{reflist}}
  
Unfortunately neither the Dolphin emulator nor any of the GBA emulators it can connect with, do support this feature at all.
 
 
[[Category:Consoles]]
 
[[Category:Consoles]]
 +
[[Category:Home consoles]]
 +
[[Category:Microsoft consoles]]
 +
[[Category:Xbox emulators|*]]
 +
[[Category:Sixth-generation video game consoles]]

Revision as of 14:12, 7 August 2021

Xbox
Xbox-and-Controller-S.png
Developer Microsoft
Type Home video game console
Generation Sixth generation
Release date 2001
Discontinued 2009
Successor Xbox 360
Emulated

The Xbox is a sixth-generation console released by Microsoft on November 15, 2001. Known as the DirectXbox during development, it is notable for the specs having similarities to a PC, namely as a result of using familiar components around the x86 architecture. It had a custom Pentium III CPU at 733 MHz with 64 MB of RAM, and a custom Nvidia GPU codenamed NV2A at 233 MHz. The Xbox was often said to be the most powerful console from the sixth generation, and Sega later designed the Chihiro arcade system with the same components. It retailed at $299.99.

The Xbox was a modest seller, and helped create a brand for Microsoft that would give its successor a stronger market share in the west; despite Microsoft's best efforts the original Xbox and succeeding consoles from the company have never gained a foothold in Japan for various reasons.[1] It had a number of advantages over other sixth-gen consoles at the time; it was the only console to include a hard disk,[N 1] meaning it was the first to be able to rip CDs, and it was the first and only console of the lineup to include a unified online service called Xbox Live,[N 2] prompting Sony to create the PlayStation Network the next generation.

Early in its lifespan, the Xbox had an unusually active modding scene compared to the other consoles (often vindicated by the incredibly short warranty). Upon the first jailbreak by Andrew Huang, the scene ultimately delivered no comprehensive emulation until the mid-2010s,[N 3] where developers have continued to have issues owing to the fact that, alongside the poorly documented hardware, many of the Xbox's games either came from Windows or were then released for Windows afterward (though it does retain a few exclusives). However, the Xbox emulation scene has been resurging with two emulators at the forefront since mid-2017. Its developers continue to say there's no competition between them, as they're both open-source and have different goals and methods.[2][3]

Emulators

Note: xboxdevwiki's own list of emulators contain over 20 different emulator projects, most of which were abandoned not long after they started. Only about 2 or 4 emulators have been making progress.
Name Platform(s) Latest Version Chihiro FLOSS Active Recommended
PC / x86
xemu Windows Linux macOS 0.7.120 ~ (WIP)
Cxbx-Reloaded Windows git ~ (WIP) ~
XQEMU Windows Linux macOS git ~ (WIP)
StrikeBox Windows Linux git
Cxbx Windows git
Dxbx Windows 0.5
Xenoborg Windows r19
Xeon Windows 1.0
MAME Windows Linux macOS FreeBSD 0.264 ~
Consoles
Fusion Xbox 360 1.7
Fission Xbox One Xbox Series X/S Patch based

Comparisons

Since May 2017, serious strides have been happening in the Xbox emulation scene with Cxbx-Reloaded and XQEMU making major progress. Cxbx-Reloaded went in-game for Jet Set Radio Future with a somewhat decent framerate.[4] Many more original Xbox games have been able to get in-game and, in some cases, at decent speeds on XQEMU.[5][6]

PC

xemu
A low-level emulator by Matt Borgerson continuing much of the work done on XQEMU. Focuses on stability, performance, and ease of use. 600+ games are reported playable, See the official game compatibility list.
Cxbx-Reloaded
A fork of Cxbx that's been having a good development momentum since mid-2016. It's built for x86_64 machines and includes a ton of improvements to its HLE kernel, some from code originating in Dxbx and other related forks. While it has HLE support for the GPU and other parts (eg. audio) to make many games run fast, XQEMU's LLE implementation was introduced in April 2018 and is expected to help even further. 150+ games are playable and 450+ games ingame. See this compatibility list for more information.
XQEMU
A low-level emulator based on QEMU. It can emulate the BIOS and many games at very slow speeds but is sometimes faster than Cxbx with acceptable graphics. Audio has not been tested but has been assumed to be emulated, just not forwarded to the audio hardware for some reason. See this compatibility list that was taken from John GodGames' 2015 list, and this Google spreadsheet.
StrikeBox
Beginning low-level emulator that just initializes an x86 system and runs whatever is in the ROM. Not much works for this currently. It was uploaded to GitHub on Dec 5, 2017 by mborgerson, a well-known XQEMU contributor who in early 2018 is still focused on streamlining XQEMU's QEMU codebase. So expect more progress from XQEMU than StrikeBox in the meantime.
Cxbx
One of the first Xbox emulators, started as an ahead-of-time compiler for Xbox executables. Can boot around 56 games, with around a dozen in an already playable state. See this compatibility list.
Dxbx
A port of Cxbx to Delphi, expanded with a redesigned symbol detection engine, and many rendering improvements, a new pixel shader converter, etc.
Xeon
Can emulate Halo CE to the point where the first stage is semi-playable. The walls and ground are pitch black, and the game crashes after you complete the first stage or right after you select the difficulty on modern versions of Windows.
MAME
Existing x86 emulation in MAME has given way to an xbox driver... that they've marked overall as not working and sound as unimplemented (graphics are OK though).

Consoles

Fusion
The internal name for backwards compatibility on the Xbox 360. It supports a specific list of games that, while some work right off the bat, may need additional patches to play properly. It also requires your console to have system storage. Some games still have issues with graphical glitches and slowdowns to errors that can make standard gameplay basically impossible. There is more information and references/video(s) about this BC support here.
Fission
The internal name for backward compatibility on the Xbox One and Xbox Series X/S. With a smaller amount of supported games, likely due to issues surrounding licensing,[N 4] it allows the ones that do work to run at twice the Original Xbox's standard resolution (480p) on both Xbox One (S) and Xbox Series S consoles (up to 960p), and more than quadruple on Xbox One X and Xbox Series X consoles (up to 2160p).

Emulation issues

The pratfalls of Xbox emulation

The Xbox is infamous in the emulation scene for being the worst case of false advertising. For the projects currently available and active there's a high barrier to entry for the effort involved, and it's the same reason why consoles using off-the-shelf hardware (or reused hardware) are easier to emulate. To users, being "basically a PC" and "x86-based" is a selling point despite that not being the case as the Xbox has a number of proprietary elements that are nothing like standard PC hardware (like the eighth-gen "x86-based" consoles). Many aspects of the Xbox's architecture aren't openly documented, making it a major pain to have to figure it all out.[7][8][9][10][11] For example the APU, one of two sound processors on the MCPX southbridge chip of the Xbox chipset, is incredibly powerful and uses complex processing steps that are difficult to figure out using clean-room reverse engineering.

The good news is the efforts currently underway are starting to see real effects. While it's true that Cxbx-Reloaded will have the upper hand with a primarily HLE-based approach on Windows, XQEMU will have the advantage of going by the book. XQEMU also has the potential to tap into hardware acceleration that Cxbx-Reloaded would have to write a kernel mode driver for, and SoullessSentinel wrote "I don't think our users would like the idea of disabling security features such as driver signature enforcement and installing an untrusted kernel driver just for an emulator."[12]

Chihiro

The Chihiro arcade system was produced by Sega in 2003. It consists of an Xbox motherboard (with double the RAM as with devkits) with additional boards for handling arcade I/O (Sega JVS standard). As the inner workings of the Xbox are better understood, Chihiro emulation support and accuracy will improve.

Resources

  • XboxDevWiki, for Xbox hardware documentation
  • Xbox Emulation Discord server (For general and development discussions on OG Xbox emulation, especially for Cxbx-Reloaded, but also XQEMU, StrikeBox, and any legacy emulators.)

Notes

  1. The PlayStation 2 also had a hard disk accessory, but the Xbox had it built-in on all models. Consoles in the seventh generation and onward began to include internal storage in varying forms.
  2. The Dreamcast had Sega Net in North America and Dreamarena in Europe, but Xbox Live was the same for all regions.
  3. The Xbox would have been too difficult to emulate at the time anyway as its specs often rivaled that of consumer PCs, and it was alleged that many developers received legal threats from Microsoft to dissuade them from trying.
  4. Which can be a number of reasons, including but not limited to developers and publishers going defunct, movie and toy tie-in licenses for branded content expiring, and music royalties.

References