Skip to content

OXOS v0.1.5

Choose a tag to compare

@kooscode kooscode released this 17 Oct 22:18
· 76 commits to main since this release

HD video release: games that use 720p or 1080i now get a picture of the right size, shown at 16:9.

Download: bios_v0.1.5.bin (1 MB, SHA-256 5ade49197eab2f95fd5d1235b55d79d8c886693a68942b9edf7ee57da04c9fd4)

What changed

  • HD and VGA display modes. Until now every video mode was shown as 640×480, whatever the game asked for. The kernel now sets the right picture size for each mode:

    • 480p (640 and 720 wide)
    • 720p
    • 1080i
    • the VGA sizes 800×600 and 1024×768

    The timings come from the published video standards, and the mapping of the games' mode numbers to sizes from nxdk's public mode table.

  • HD shows at 16:9. 720p and 1080i now raise the AV connector's widescreen signal, so xemu's Auto aspect ratio shows them widescreen. The original kernel keeps that signal low in HD, which made xemu squeeze HD games into 4:3. 480p still follows the game's own widescreen setting.

How we found it

Enter the Matrix crashed xemu right away under make run:

  • Trigger: the dashboard settings had 720p and 1080i enabled, so the game picked an HD mode, and our kernel then programmed a 640×480 screen for it.
  • Investigation: we logged the modes games request, and measured how xemu sizes its display.
  • Result: our 720p now shows as 1280×720 and 1080i as 1920×1080 interlaced.

Known limitations

  • Enter the Matrix in 720p or 1080i still crashes xemu at render scale 2 or more. xemu rejects one of the game's own render surfaces when scaling. At scale 1 it runs (make run SCALE=1). To play at higher scales, turn off 720p and 1080i in the dashboard's video settings.
  • 1080i looks rough in xemu, whose interlaced display is unfinished. 720p looks cleaner.
  • No TV-encoder tables yet, so on a real console HD output (and SD fine-tuning) is still missing. This is xemu-only for now.
  • Not tested on a real console yet.
  • No certificate key: stock saves and System Link with stock consoles won't work.

Checked in xemu

  • All make test phases pass.
  • Enter the Matrix in 720p and 1080i at scale 1, widescreen.
  • The Halo 2 title screen with this exact image.

Using it in xemu

  1. Open Machine → Settings → System.
  2. Set Flash (BIOS) File to bios_v0.1.5.bin and leave MCPX Boot ROM File empty.

Sources (GPL-2.0)

  • This repository at tag v0.1.5.
  • XboxDev/cromwell at 86f547387184d1001d377cce97d3756c8acf91cc for the X-codes and EEPROM key states.
  • Contains no Microsoft code. Not affiliated with or endorsed by Microsoft.