-
Notifications
You must be signed in to change notification settings - Fork 94
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
feature : change HBC loader to support loading 'loaders' #23
Comments
preloader, really? :P Anyway, the 0x1800 thingy won't change at this point, you need to use a trampoline. But you can just do it like hbc does when uploading it to itself: pack it with wiipax |
*priiloader, but yes :) also, its not 0x1800, i keep that free for the hbc stub, for libogc obviously. i meant the 0x81330000 range, used by loaders&system menu on the wii. i have currently created my own trampoline, using my loader, but it feels hacky as HBC could be changed to allow them to be loaded, including itself. |
Sure, we could add something to hbc. But for one, I don't see anyone publishing a hbc release, and even then it'll mean that all your users need to update for you to get rid of your trampoline. Using wiipax gives you both, and more, now. |
my users, is just me and anyone who is developing priiloader. generic users have no use to this change, this is pure for developers and myself. however, even if we see this as a change for all users/homebrew to use, then the whole trampoline system still sounds hacky, as its perfectly possible to drop that need, making it easier for anyone to develop, have less steps in build and less steps that could go wrong.. and the publishing issue of HBC is a different discussion to have imo, not fit to have here since we have #10 where it was discussed. |
I don't agree on the hacky part, the only way to avoid every possible overlap is to use a trampoline. I vaguely remember that we had some sort of trampoline for this in hbc, which we got rid of in favor of wiipax. Compressing and uploading a compressed binary was faster than uploading an uncompressed one. You're welcome to just reuse it and get rid of your local hacks. It's a easy as |
its your wiipax, and my trampoline, usage that makes it runable, smaller for wiiload to send (even though wiiload also compresses the binary and its sending the elf, but i digress ). i understand originally wiipax was required for the obfuscation etc etc but as is, it has no usage besides compression if you want it and made HBC not have the issue at all. i don't need all those things. as for the overlap, thats correct. you can't kill all overlap. in priiloader however, i load both binary and loader to mem2 and i have yet to see an binary that has sections in mem2, so the chances of overlap are low. (and imo, HBC needs another release and maybe a new system so it is easier to release. but again, thats for the other issue to discuss in) |
I can only think of so many iterations of saying the same thing, last try: hbc can't directly accept your loader range because hbc sits there itself. So need a trampoline for that. |
same for me though. priiloader can load any binary in any memory range, even if it were to overwrite itself. if i can do it, HBC can also do it (but probably better). but ye, our discussion is going nowhere it seems. |
The HBC binary loader rejects things that use up the MEM1 memory range used by loaders, so it doesn't overwrite itself or its framebuffer.
thats all good and well, but this prevents me from developing priiloader safely as my entrypoint is in said range.
Priiloader contains a loader that supports this by loading the binary, and a loader, to mem2 and executing the loader that loads the dol/elf.
ive currently had to create some bootloader that loads Priiloader just to make it work in HBC, which i'd prefer to not be there, as its hacky shit.
The text was updated successfully, but these errors were encountered: