Open PatrickvL opened 6 years ago
PS: Be warned : It's possible sources in this folder started referring to Cxbx-Reloaded header files outside the OpenXDK import folder, so bring your spaghetti fork with you when starting on this! ;)
Looking at it like this reveals that all changes have been exclusively to the kernel includes. nxdk has its own xboxkrnl.h which has diverged a lot from OpenXDK.
I assume the nxdk xboxkrnl.h to be mostly correct, with most issues being related to calling conventions (which could also plague the Cxbx-R file, especially once imported to nxdk).
One benefit of the Cxbx-R version over our xboxkrnl.h, is the inclusion of EXPORTNUM
. However, it's not a critical feature to have, because there's also xboxkrnl.exe.def in nxdk, which lists the export ordinals anyway.
I guess this means we can close this again?
Indeed. This issue can be closed once a comparison between the two has established that all relevant symbol declarations present in the Cxbx-Reloaded import/OpenXDK/include folder, are also present in nxdk.
I'll like to say #629 as one of example for incorrect exported kernel's return size/type. Although, there are a few more incorrections that are in need to fix from nxdk's end and from cxbxr's end.
Beside that, there are load of additions in Cxbx-Reloaded's header files to expand each, or most, kernel's usage for inputs and outputs. However, I'm pretty sure we are no longer using OpenXDK in cxbxr anymore. So, perhaps we should rename this ticket and use more modern comparison from cxbxr? Which are stored in https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/tree/master/src/core/kernel/common folder.
In Cxbx-Reloaded, a lot of additions were made to the import of OpenXDK.
These additions were never 'upstreamed' back to any OpenXDK repository, so only Cxbx-Reloaded is currently benefiting from this work.
For this issue, determine which additions are usefull for nxdk and copy those over.
Here a list of commits that touch the OpenXDK import in Cxbx-Reloaded : https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/commits/develop/import/OpenXDK
(Note, that Cxbx-Reloaded specific commits date back to Aug 18, 2016. Anything older than that, seems to originate from a OpenXDK repository imported into Cxbx-Reloaded, or it's Cxbx-predecessor.)