mirror of https://github.com/xqemu/xqemu.git
Added acceleration command lines, apitrace debugging tip and MCPX dump tip
parent
97905f9a94
commit
95a868a589
|
@ -38,6 +38,8 @@ Here are some hashes. Check them to avoid common problems:
|
|||
MD5 (3944_1M.bin) = e8b39b98cf775496c1c76e4f7756e6ed
|
||||
MD5 (3944_256k.bin) = 542c62cb976a4993c8c5027dff9638ce
|
||||
|
||||
If your mcpx_1.0.bin has an MD5 196a5f59a13382c185636e691d6c323d you dumped it badly. It has a preceeding byte 0x7F which has to be removed (So the file starts with 0x33 0xC0 ..). Additionally one byte 0xEE has to be added to the very end of the file (So the file ends with .. 0x02 0xEE).
|
||||
|
||||
Create an Xbox hard-disk image:
|
||||
* Create an xboxhdm cd-rom with the dashboard files
|
||||
* Create a blank hard-disk file: ```qemu-img create -f qcow2 xbox_harddisk.qcow2 8G```
|
||||
|
@ -47,7 +49,16 @@ Launch XQEMU with something like...
|
|||
|
||||
xbox-softmmu/qemu-system-xbox -cpu pentium3 -machine xbox,bootrom=mcpx_rom.bin -m 64 -drive file=xbox_harddisk.qcow2,index=0,media=disk,locked=on -drive index=1,media=cdrom -bios xbox_bios.bin -usb -device usb-xbox-gamepad
|
||||
|
||||
You can run with KVM acceleration on Linux with:
|
||||
|
||||
xbox-softmmu/qemu-system-xbox -cpu pentium3 -machine xbox,bootrom=mcpx_1.0.bin,accel=kvm,kernel_irqchip=off -m 64 -drive file=xbox_harddisk.qcow2,index=0,media=disk,locked=on -drive index=1,media=cdrom -bios 3944_1M.bin -usb -device usb-xbox-gamepad
|
||||
|
||||
Finally, you can run with TCG acceleration using:
|
||||
|
||||
xbox-softmmu/qemu-system-xbox -cpu pentium3 -machine xbox,bootrom=mcpx_1.0.bin,accel=tcg -m 64 -drive file=xbox_harddisk.qcow2,index=0,media=disk,locked=on -drive index=1,media=cdrom -bios 3944_1M.bin -usb -device usb-xbox-gamepad
|
||||
|
||||
## Debugging Tips
|
||||
* QEMU can host a gdb stub! Launch with ```-s -S```, and with gdb run `target remote localhost:1234`
|
||||
* Protip: You can also attach to it with [IDA](https://www.hex-rays.com/products/ida/) if you're so inclined. You can then load in a database if you export it as a IDC script!
|
||||
* XQEMU can emulate a XDK serial port (which with a debug bios hosts KD, as in [this](http://msdn.microsoft.com/en-us/library/hh406279.aspx) and [this](http://www.reactos.org/wiki/Techwiki:Kd))! Launch with something like ```-device lpc47m157 -serial unix:/tmp/xserial,server```. With some effort you can wrestle the unix socket into a vm for with WinDbg. There's also a very barebones perl KD client in scripts/windpl
|
||||
* XQEMU can emulate a XDK serial port (which with a debug bios hosts KD, as in [this](http://msdn.microsoft.com/en-us/library/hh406279.aspx) and [this](http://www.reactos.org/wiki/Techwiki:Kd))! Launch with something like ```-device lpc47m157 -serial unix:/tmp/xserial,server```. With some effort you can wrestle the unix socket into a vm for with WinDbg. There's also a very barebones perl KD client in scripts/windpl
|
||||
* You can preceed your command line with apitrace trace -a egl (in case of EGL, change it for "glx" and "cgl") to generate an apitrace.
|
Loading…
Reference in New Issue