Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
systems:xbox [2022/03/22 01:08] – [BIOS] amend information about BIOS, replaced UK spelling of summarization with US spelling. atarisystems:xbox [2024/09/15 03:49] (current) – [ROMs] add note about Linux executable failing atari
Line 29: Line 29:
 | ''39cee882148a87f93cb440b99dde3ceb'' | ''bios/Complex_4627.bin'' | Flash ROM Image (BIOS) | | ''39cee882148a87f93cb440b99dde3ceb'' | ''bios/Complex_4627.bin'' | Flash ROM Image (BIOS) |
  
-In addition to these, commercial titles also require a HDD image of the Xbox itself (the Xbox //came with// a HDD which it would store its firmware on, starting a trend that would soon become common) in order to boot.+That's all that's required to boot into games. 
 + 
 +In addition to these, it is also possible to use the HDD image of the Xbox itself (the Xbox //came with// a HDD which it would store its firmware on, starting a trend that would soon become common) in place of the pre-installed dummy drive.
  
 Fortunately, the original Xbox uses a bog-standard hard-drive that you can just connect to your computer and clone: Fortunately, the original Xbox uses a bog-standard hard-drive that you can just connect to your computer and clone:
Line 49: Line 51:
 Place your Xbox ROMs in ''/userdata/roms/xbox/''. Place your Xbox ROMs in ''/userdata/roms/xbox/''.
  
-ISO files must be in the XISO format. It is not directly compatible with the original disc image, only the game partition. It is possible to extract the game partition of an original disc image with [[https://github.com/XboxDev/extract-xiso|extract-xiso]] on your PC:+ISO files must be in the XISO format. It is not directly compatible with the original disc image, only the game partition. It is possible to extract the game partition of an original disc image with [[https://github.com/XboxDev/extract-xiso|extract-xiso]] on a [[https://github.com/XboxDev/extract-xiso/releases|Windows]] or [[https://sourceforge.net/projects/extract-xiso/files/extract-xiso%20binaries/|Linux]] PC:
  
   * If using an image dump of the entire disc (usually the case with Redump), run the command <code>   * If using an image dump of the entire disc (usually the case with Redump), run the command <code>
Line 63: Line 65:
 extract-xiso -c halo-2 extract-xiso -c halo-2
 </code> </code>
 +
 +The following batch script can be used to automate the process. Put this in the same directory as ''extract-iso.exe'' and the game's ISO:
 +
 +<file batch iso-to-xiso.bat>
 +for /r %%i in (*.iso) do extract-xiso.exe -r "%%i"
 +</file>
  
 <WRAP center round tip> <WRAP center round tip>
 +There have been some cases reported where the Linuxversion of extract-iso does not work while the Windows version does. The Windows version can be run in Linux via WINE: ''wine extract-xiso.exe -r "game.iso"''
 +
 In case the Github link is down, you can also download an older version of it from the author's [[https://sourceforge.net/projects/extract-xiso/|Sourceforge page]]. In case the Github link is down, you can also download an older version of it from the author's [[https://sourceforge.net/projects/extract-xiso/|Sourceforge page]].
 </WRAP> </WRAP>
Line 73: Line 83:
  
 More information about this can be found on [[https://xemu.app/docs/disc-images/|xemu's wiki page about disc images]]. More information about this can be found on [[https://xemu.app/docs/disc-images/|xemu's wiki page about disc images]].
 +
 +==== Squashfs format ====
 +If you want to compress the your (x)iso rom file, use Squashfs [[https://wiki.batocera.org/disk_image_compression#squashfs]]. For example on Linux:
 +
 +<code>
 +mksquashfs "OutRun 2006 - Coast 2 Coast (USA, Europe) (En,Fr,De,Es,It).iso" "OutRun 2006 - Coast 2 Coast (USA, Europe) (En,Fr,De,Es,It).iso.squashfs"
 +</code>
 +
 +The extension has to be ''.iso.squashfs'', otherwise you'll get  ''file driver requires /var/run/squashfs/<rom> to be a regular file'' 
  
 ===== Emulators ===== ===== Emulators =====
Line 78: Line 97:
 ==== xemu ====  ==== xemu ==== 
  
-[[https://xemu.app|xemu]] is a free and open-source low-level Xbox emulator continuing much of the work done on XQEMU. It focuses on stability, performance, and ease of use. While still in an early stage it already runs a lot of commercial games.+[[https://xemu.app|xemu]] is a free and open-source low-level Xbox emulator continuing much of the work done on XQEMU. It focuses on stability, performance, and ease of use. While still in an early stage it already runs a lot of commercial games. Xemu benefits greatly from having a high CPU core count, having at least four can dramatically improve emulation speed.
  
 We use the latest [[https://github.com/mborgerson/xemu|xemu]] release. We use the latest [[https://github.com/mborgerson/xemu|xemu]] release.
Line 84: Line 103:
 === xemu configuration === === xemu configuration ===
  
-Standardized features available to all cores of this emulator: ''xbox.videomode''+Standardized features available to all cores of this emulator: ''xbox.videomode'', ''xbox.videomode'', ''xbox.bezel'', ''xbox.bezel_stretch'', ''xbox.hud'', ''xbox.hud_corner'', ''xbox.bezel.tattoo'', ''xbox.bezel.tattoo_corner'', ''xbox.bezel.tattoo_file'', ''xbox.bezel.resize_tattoo''
  
 ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^
 ^ Settings that apply to all cores of this emulator || ^ Settings that apply to all cores of this emulator ||
-| **SCALING MODE ''xbox.scaling''** | Choose the scaling mode for the game screen. Set it to stretch if you want to a fullscreen experience, or Widescreen if playing on a 16:9 screen. Will not upscale the resolution.\\ => Center ''center'', Scale ''scale'', Stretch ''stretch'', Widescreen ''scale_ws169''. | +| **SCALING MODE ''xbox.scaling''** | Choose the scaling mode for the game screen. Set it to stretch if you want to a fullscreen experience, or Widescreen if playing on a 16:9 screen. Will not upscale the resolution.\\ => Original resolution ''center'', Scale to best fit ''scale'', Stretch to full ''stretch'', Stretch to 16:9 ''scale_ws169''. | 
-| **SCALING RENDER ''xbox.render''** | Choose the scaling render multiplier. 640x480 is native.\\ => x1 (640x480) ''1'', x2 (1280x960) ''2'', x3 (1920x1440) ''3'', x4 (2560x1920) ''4'', x5 (3200x2400) ''5'', x6 (3840x2880) ''6'', x7 (4480x3360) ''7'', x8 (5120x3840) ''8''. | +| **RENDERING RESOLUTION ''xbox.render''** | Choose the scaling render multiplier. 640x480 is native.\\ => x1 (640x480) ''1'', x2 (1280x960) ''2'', x3 (1920x1440) ''3'', x4 (2560x1920) ''4'', x5 (3200x2400) ''5'', x6 (3840x2880) ''6'', x7 (4480x3360) ''7'', x8 (5120x3840) ''8''. | 
-| **SKIP BOOT ANIMATION ''xbox.xemu_bootanim''** | Skip the on-boot Xbox animation. Disabling should be safe, if you don't want to see the famous animation.\\ => Normal Boot ''false'', Skipped Logo Boot ''true''. |+| **SKIP BOOT BOOTLOGO ''xbox.xemu_bootanim''** | Enhancement. Skip the on-boot Xbox animation. Disabling should be safe, if you don't want to see the famous animation.\\ => Show ''false'', Skip ''true''. | 
 + 
 +===== Graphical Settings ===== 
 +==== Via the Dashboard ==== 
 +By default, the games will display in 480i (interlaced) resolution. But the Xbox was a powerfull console, able to output in 480p, 720p and 1080i, in 4:3 or 16:9 ratios, depending on the game (see [[https://en.everybodywiki.com/List_of_Xbox_games_with_alternate_display_modes]] for a list of supported modes). The vast majority of games support at least 480p. 
 + 
 +This has to be enabled via the Dashboard. If you didn't dump the original dashboard from your console, you can use the [[https://github.com/dracc/NevolutionX|NevolutionX dashboard]]: 
 +  * Download the latest iso 
 +  * Launch it 
 +  * In ''Settings > Video'', change: 
 +      ''Screen Ratio'' to ''Widescreen'' 
 +     * ''480p'' to ''Yes'' 
 +     * ''720p'' to ''Yes'' (may cause visual glitches depending on the game) 
 +     * Leave ''1080i'' to ''No'' as very few games support it and the interlacing can cause many problems. 
 +  * Then go back to the main menu and choose: ''Power off'' 
 +==== 16:9 (Widescreen) games ==== 
 +Many games supporting 16:9 ratio are using anamorphic widescreen. To display them correctly, you should change the aspect ratio from ''Auto'' to ''16x9'' in the advanced options of the emulator. Note that some elements may display strangely: OutRun 2 stretches the selection menus (coming from the arcade version) but has a correct display while racing. 
 + 
 +===== Access the internal HDD (containing save files) ===== 
 + 
 +The xbox hard disk image is saved here: ''/userdata/saves/xbox/xbox_hdd.qcow2'' but in a format that is not easy to access. 
 + 
 +Extensive information can be found at [[https://consolemods.org/wiki/Xbox:Original_Xbox_Mods_Wiki]] 
 + 
 +Most tutorials recommend running a ftp server on xemu to access the files such as [[https://xemu.app/docs/networking/|the official xemu doc]]. This can be tricky on batocera. 
 + 
 +Another (easier ?) way which works fine on batocera, is to use a ftp client on xemu to access a ftp server located in your Lan. Android phones, for example, have plenty of applications allowing you to quickly set up a ftp server to share files. This will allow you to upload/download your game saves. Here is the procedure: 
 + 
 +==== Installing an alternate dashboard with a ftp client ==== 
 +=== Activate networking access in xemu === 
 +  - Launch any game with xemu 
 +  - Press your Hotkey Button to bring the xemu menu. Then ''Settings''>''All settings''>''Network''>''Enable'' . The adapter is attached to ''NAT''. No need to do any port forwarding. 
 +=== Run a separate ftp server === 
 +  - On another device (computer, smartphone,...) install and run a Ftp server. For example, Android phones have a lot of applications to get this up and running very quickly. 
 +=== Install a ftp client === 
 +  - To install the ftp client, you can download a ready-to-use iso from [[https://github.com/Rocky5/Xbox-Softmodding-Tool]]. Make sure to download the ''Xbox Softmodding Tool Extras Disc.iso'' 
 +  - Launch this iso with xemu 
 +  - ''Install Dashboards'' > ''UnleashX'' > ''Install as dashboard to: E:\Dashboard\'' 
 +  - Once it's done, go back to the main menu and choose: ''Advanced Menu: Enter Menu'' > ''File Manager''
 +  - Navigate to ''E:\Dashboard\default.xbe'': this will launch UnleashX 
 +  - Go all the way down to ''System''>''File Explorer''. Press ''start'' on the gamepad and go down to ''Switch to FTP Browser''. Another press on ''start'' allows you to enter the details about the server. 
 +  - The save files are located in ''E:\UDATA'' (sometimes also in ''E:\TDATA''
 + 
 +===== Lan and Online Gaming ===== 
 +==== System Link ==== 
 +System Link is a form of offline multiplayer gaming on the Xbox and Xbox 360 gaming consoles over a LAN (local area network). Wikipedia has a [[https://en.wikipedia.org/wiki/List_of_Xbox_System_Link_games|list of supported titles]]. The option is sometimes buried deeply (ex: in OutRun2, it lays in OutRun Challenge > Race Mode > System Link). 
 + 
 +=== Easy way: use a public server === 
 +Using an existing server allows you to play with other users on the same Lan, or on the Internet as if you were on the same LAN: 
 +  * us-west-1.lan.xemu.app:9938 
 +  * us-east-1.lan.xemu.app:9938 
 +  * de-1.lan.xemu.app:9938 
 + 
 +Change your Network settings by pressing ''Hotkey'', then ''Network'' > ''UDP Tunnel'' 
 +  * Remote address: de-1.lan.xemu.app:9938 
 +  * Bind Address: 0.0.0.0:9938 
 + 
 +Alternatively, you can edit directly the ''/userdata/system/configs/xemu/xemu.toml'' file: 
 +<code> 
 +[net] 
 +enable = true 
 +backend = 'udp' 
 + 
 +[net.udp] 
 +bind_addr = '0.0.0.0:9938' 
 +remote_addr = 'de-1.lan.xemu.app:9938' 
 +</code> 
 + 
 + 
 +=== A bit harder: host your own local server === 
 +It's also possible to use your own server (see some documentation here https://github.com/mborgerson/l2tunnel/issues/4 ) if you want to locally connect several computers (and even real xbox consoles) running xemu. 
 + 
 +==== Xbox Live ==== 
 +It offers a completely different approach. The service was shut down by Micrososft in 2010. Some projects, such as insignia, exist to offer replacement servers. 
 + 
  
 ===== Controls ===== ===== Controls =====
Line 96: Line 190:
 Here are the default Microsoft XBOX's controls shown on a [[:configure_a_controller|Batocera Retropad]]: Here are the default Microsoft XBOX's controls shown on a [[:configure_a_controller|Batocera Retropad]]:
  
-{{ https://raw.githubusercontent.com/batocera-linux/batocera-controller-overlays/master/solid-4k/xbox.png }}+{{https://raw.githubusercontent.com/batocera-linux/batocera-controller-overlays/master/solid-4k/xbox.png}}
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
Line 108: Line 202:
 It would be weird if you were using a BIOS for another Xbox, wouldn't it? It would be weird if you were using a BIOS for another Xbox, wouldn't it?
  
-If for some reason you aren't able to set the language from your Xbox, you can directly edit the EEPROM settings on the hard-drive image using [[https://github.com/Ernegien/XboxEepromEditor|Ernegien's Original Xbox EEPROM Editor]]. The EEPROM can be found at ''/userdata/saves/xbox/xemu_eeprom.bin''.+If for some reason you aren't able to set the language from your Xbox, you can 
 +  * directly edit the EEPROM settings on the hard-drive image using [[https://github.com/Ernegien/XboxEepromEditor|Ernegien's Original Xbox EEPROM Editor]]. The EEPROM can be found at ''/userdata/saves/xbox/xemu_eeprom.bin''
 +  * or use the [[https://github.com/dracc/NevolutionX|NevolutionX dashboard]] to change the language settings.
  
 ==== Further troubleshooting ==== ==== Further troubleshooting ====
  • systems/xbox.1647911297.txt.gz
  • Last modified: 4 years ago
  • by atari