-
Notifications
You must be signed in to change notification settings - Fork 108
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
Correctly format a ControllerPak #481
Correctly format a ControllerPak #481
Conversation
ab483e6
to
7c44ea5
Compare
00d555b
to
2bc1e24
Compare
The code itself seems fine to me. It correctly implements a full Controller Pak initialization. But does this have a place in libdragon? If libdragon were to get a robust C-Pak and repair function, this would largely become obsolete. An argument could also be made that it would be better for a general N64 library to only modify what is absolutely necessary instead of completely overwriting the entire system area. IMHO this kind of function is more suited for initializing empty C-Pak data in emulators or flashcart C-Pak managers, not homebrew games and such. |
My take is to fix what is broken, and then deprecate it (since we should be looking at a new API anyway). And thanks for the response. Going further, I would suggest that this becomes an internal function that is only called upon in a replacement API when the repair function has failed. But since the PR is valid with the suggested changes, It seems fine to merge with unstable. |
Well flashcart cpak manager could be written with libdragon too. I agree that homebrew games shouldn't call this function and that we need to rewrite the whole module. At the same time if this PR works better than what its in now, I think merging it is a good idea anyway |
This is certainly better than what currently sits at Anyway, I'd be happy to assist if and when someone wants to work on a proper complete C-Pak lib 😃. Much of the logic in MPKEdit could be adapted (though it's in JS, it should be possible to port). The only thing MPKEdit lacks currently is a 'smart' |
Has a compiler flag in case original header is really important to them!
2bc1e24
to
0b3d8ea
Compare
5ad0b4a
to
95b508e
Compare
Add unistd.h
Still requires formal testing from someone.
For note, the Original PR was: rasky#7 which includes lots of extra detail.
Linked to (but does not fix) #105