-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add script to restart the running XBE #62
base: master
Are you sure you want to change the base?
Conversation
python-scripts/restart-xbe.py
Outdated
#!/usr/bin/env python3 | ||
|
||
# Run this from a clean Xbox environment (= not while a game is running) | ||
# NXDK-RDT is a good environment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated comment
python-scripts/restart-xbe.py
Outdated
launch_data_page_addr = read_u32(launch_data_page_addr_addr) | ||
print("LaunchDataPage: 0x%08X [@ 0x%08X]" % (launch_data_page_addr, launch_data_page_addr_addr)) | ||
|
||
#FIXME: Allocate LaunchDataPage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already done
python-scripts/restart-xbe.py
Outdated
xbe_path, sep, xbe_name = filename_str.rpartition('\\') | ||
xbe_launch_str = xbe_path + ";" + xbe_name | ||
print(xbe_launch_str) | ||
#aafoiahfoisahf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be removed
# uint32_t flags; | ||
# uint8_t pad[492]; | ||
# uint32_t launch_data[3072]; | ||
#}* LaunchDataPage; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Link to xboxdevwiki instead
Depends on xboxpy updates: JayFoxRox/xboxpy#4
This adds functions to restart the current running XBE.
While this functionality will eventually be added to xboxpy, it's good to have this implementation for testing / messing around.
It works fine using the nxdk-rdt backend. However it seems to crash using xbdm backend.
The implementation is slightly ugly because the
CALL
never returns. We need anoreturn
option for CALL in xboxpy, nxdk-rdt and xbdm.