xbox-scene.com - your xbox news information source
Quick Links: Main Forums | Xbox360 Forums | Xbox1 Forums | PS3 Forums
Xbox-Scene Forum Help  Search Xbox-Scene Forums   Xbox-Scene Forum Members   Xbox-Scene Calendar

Giganews Usenet Offers: +1150 days binary retention, 99%+ Completion, and Unlimited Speed/Access!

360 ODD Emulators: X360 Key $99 | Wasabi360 FAT $99 | Wasabi360 Slim $99
C4E's iXtreme Burner MAX Drive: LiteOn iHAS124 DROPPED TO JUST $17


Welcome Guest ( Log In | Register )

 Forum Rules Rules
 
Reply to this topicStart new topic
> Xapis?, Any documentation?
Ridley
post Sep 18 2003, 05:10 AM
Post #1


X-S X-perience
**

Group: Members
Posts: 396
Joined: 11-February 03
Member No.: 23492



Is there any documentation on the xapis (functions) that are used by the Xbox?

Also where are theses xapis kept? Are they in pseudo-dll files that are called by the .xbe's import table?



People who have debugged must be familiar with this.

This post has been edited by Ridley: Sep 18 2003, 05:13 AM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ridley
post Sep 18 2003, 05:29 AM
Post #2


X-S X-perience
**

Group: Members
Posts: 396
Joined: 11-February 03
Member No.: 23492



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?

This post has been edited by Ridley: Sep 18 2003, 05:30 AM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anticol
post Sep 18 2003, 07:41 AM
Post #3


X-S Young Member
*

Group: Members
Posts: 32
Joined: 2-January 03
Member No.: 16124



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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
delphaeus
post Sep 18 2003, 08:12 AM
Post #4


X-S Young Member
*

Group: Members
Posts: 35
Joined: 9-July 03
Member No.: 48765



All XBEs are statically linked, meaning that there are no DLLs or libs to intercept. Code from high-level libraries such as the XDK's XTL/XGraphics libs are integrated directly into the title's code, and the XBE has nothing between it and the kernel / hardware.

If you want to emulate an XBE, you have to do two things: A) intercept calls to the kernel, and replace them with supplemental routines, and 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.

This post has been edited by delphaeus: Sep 18 2003, 01:32 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post





Reply to this topicStart new topic

 

Lo-Fi Version Time is now: 25th May 2013 - 12:01 AM