xboxscene.org forums

Author Topic: Xapis?  (Read 43 times)

Ridley

  • Archived User
  • Jr. Member
  • *
  • Posts: 71
Xapis?
« on: September 17, 2003, 10:29:00 PM »

I was basically wondering if anyone had attempted to reconstruct the import table of an .xbe file in order to inject their own custom libraries?

I guess this kind of documentation is included with the XDK?
Logged

anticol

  • Archived User
  • Newbie
  • *
  • Posts: 9
Xapis?
« Reply #1 on: September 18, 2003, 12:41:00 AM »

There are some 366 functions that can be imported from the kernel using the xbe's import table. These mostly deal with things such as hard drive access. All of the DirectX type functionality is provided by the XAPI libraries. The XAPI libraries are linked in to the xbe and I assume drive the xbox's hardware directly (God only knows how they will ever make an XBox2 backwards compatible!).

It is possible to intercept the XAPI calls using HLE. Take a look at cxbx to see how this is done. Also some things such as IGR are done by intercepting the XAPI calls but I dont know what if any code is available for IGR.
Logged

delphaeus

  • Archived User
  • Newbie
  • *
  • Posts: 20
Xapis?
« Reply #2 on: September 18, 2003, 01:12:00 AM »

cool.gif intercept accesses to memory-mapped hardware (such as the GPU) that the XBE messes with directly.  Doing the first is called high-level emulation (HLE) and is fairly straightforward, although certainly not trivial.  Doing the second is called virtualization, and is goddamned painful.

If you want to modify an existing XBE, you'll have to disassemble it, make sense of it the hard way, and modify it at the asm level.
Logged