TODO - JayFoxRox/xqemu-jfr GitHub Wiki

Current work (now)

  • DVD-X2 emulation
  • Timing:
    • KeQueryPerformanceCounter(PM_TIMER)
    • rdtsc (duh..)
    • DirectSoundGetSampleTime() (AC97 timer?)
    • and GetTickCount() (8259 interrupts / PIT)
  • Figure out why pixel buffers without swizzle are created first, then replace by non-swizzled and vice versa Maybe add support to clear swizzled surfaces in unswizzled buffers and vice versa (Log bandwidth use first and check if it's worth it)
  • Create dump functions for caches
  • Intel oddities:
    • Figure out if intel sucks at surfaces without zeta
    • Figure out if mapping a surface twice (UNPACK + PACK at the same time) is bad
  • IGP Profiler (to show amount of uploaded texture data, shader compilations, mesh data, uniform uploads, ...)
  • Caching for textures
  • 4x4 Evo 2
    • Find bad draw calls
  • Wreckless
    • Lauchable transform programs / stateshaders
    • Motion blur
    • Focus blur
    • Fog

Planned work (soon)

  • Caching for index- and vertex buffers
  • See "Planned NV2A Changes"
  • Bootloader emulation

Planned work

Areas of interest in this fork (JayFoxRox/xqemu)

  • Easy to emulate?
    • Rollercoaster Tycoon
    • Smashing Drive
    • Ultimate Pro Pinball
    • Revolt
    • XDK Samples
  • Xbox exclusives (and games I personally enjoy)
    • THPS2X
    • Halo 1
    • Amped series
    • Mashed
    • Crazy Taxi 3
    • Counter-Strike
    • Xbox Startup animation and dashboard
    • Conker Live and Reloaded
    • Kung Fu Chaos
  • Chihiro and Mediaboard
  • System Management Controller
  • Bootloader emulation

Completed work

  • Virtual FATX filesystem

Things not being worked on:

  • Audio
  • Networking
  • Homebrew
  • Linux

Generic xqemu TODOs

-bootloader emulation
  -more error checking / improve accuracy
  -unused features which we don't emulate, but still want to do for accuracy
    - (Contact prototype and debug kit owners?)
  -debug prints like MS bootloader does..
  -HLE should somehow support the pointers/callbacks for BFM support and the re-encryption option

-get graphics working!
  -fix vertex shader un-screenspace transform...
  -translate vertex shaders to GLSL instead of ARB
  -improve fragment shader generation from combiners
  -implement hardware T&L stuff
  -fog
  -texture sampling modes
  -need threaded puller
  -nv2a PIO stuff so xbox-linux boots?
  -fix /all/ the bugs!


-get audio working!
  -fix how ac97 is wired up?
  -apu dsp
    -"Parthus MediaStream" DSP core (DSP24210/DSP2420?)
      -like Motorola DSP56362 ?
      -not quite, dma stuff different
    -steal mame's interpreter. probably good enough for now
      -email everyone about relicensing -_-

-chihiro stuff!
  -booting the mbrom currently hangs waiting for apu dsp dma response...
  -try booting a game
    -need to do naomi gdrom/pic decryption stuff...

-current random bugs!
  -bootup animation multisampling tries to draw from a swizzled framebuffer?
  -nv2a context switching race condition

-fix xpad
-fatx/xiso virtual block devices
-connect ACPI,SMC interrupts
-clean up device initialization
  -everything should go through qdev?
-load/write eeprom from file

-get rid of annoying nv2a proxy struct shit

-why is XID broken in 3944_1M.bin not working on linux x230?