-
Notifications
You must be signed in to change notification settings - Fork 202
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
Migrate GameCube port to libogc2 #538
base: master
Are you sure you want to change the base?
Conversation
Hi, thanks for the effort.I have some questions though: 1/ Has this been throughfully tested (browsing menus, playing some ROM and CD image files, loading files from sdcard and dvd, etc) to be sure there is no introduced regression ? I don't have a working hacked Gamecube anymore (cannot read homebrew bootable dvds anymore) so I will no be able to check it myself. 2/ Does the Wii port still compile fine (without warnings or errors) ? Some of the changes indeed have impact on shared code and, although it seems minor changes (use of library defined constants instead of fixed values), they need to be compatible with libogc as well since it will still be used to build the Wii port. 3/ Why only the modified dvd read sector handler is removed from DVD libogc interface patch ? Couldn't this patch be entirely suppressed as I think other handlers were copy pf libogc ones and only the read handler was modified ? |
|
Thanks for the detailled answer. Regarding this point
Does the changes made to slot_io.c (simplification of card init/mount/read/write code + correction of time attribute value) require an updated libogc when compiled for Wii or was it already unnecessary / incorrect code with older libogc ? One last question about the change in VI callback: is there something wrong with the current code ? Because it seemed to me more efficient to directly read hardware register rather than calling a function doing the same thing with an additional shift then reversing that shift. The only difference is that the function also masks bit 15 but I assumed it was always set to 0, maybe I was wrong ? |
I had to check and
I understand your hesitation. Unfortunately libogc2 currently require devkitPPC release 42 at minimum. :(
There's nothing really wrong with it, but an existing library function exists for this very purpose, so... |
Bumping this as quite a few things changed.
I need to know if I need to focus on restoring support for devkitPPC release 38 to move forward on this. |
No, I will probably update devkitPPC to latest version some day so don't bother with it, it's just I don't have much time to focus on this these days. Thanks for the continued submissions, I/O optimization is certainly much appreciated, for Mega-CD support especially... |
This may prove controversial, but here goes.
Some key benefits:
I've made some changes to reflect the current state of libogc and/or libogc2 on the GameCube.
Here are some comments:
console_init
used to do nothing. This now does something in libogc, so zeroes are given to maintain the original behavior.Memory card support is otherwise tested as working.
libogc2 can be found here. You may install using any method you feel comfortable with (make, makepkg or pacman).