fail0verflow / hbc Goto Github PK
View Code? Open in Web Editor NEWThe Homebrew Channel - open source edition
License: GNU General Public License v2.0
The Homebrew Channel - open source edition
License: GNU General Public License v2.0
As I guess it is not possible to install files built from this project only?
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.
Hi, when trying to compile the channel
after successfully compiling wiipax
, I get the following error:
make[1]: Entering directory '/home/andrew/Documents/build/hbc/channel/channelapp'
make[3]: Nothing to be done for 'data'.
channelapp_nopax.elf
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: /opt/devkitpro/libogc/lib/wii/libfat.a(directory.o): in function `_FAT_directory_entryGetAlias':
/home/dima/Desktop/libfat/libogc/../source/directory.c:227: undefined reference to `__ctype_ptr__'
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: /home/dima/Desktop/libfat/libogc/../source/directory.c:227: undefined reference to `__ctype_ptr__'
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: /home/dima/Desktop/libfat/libogc/../source/directory.c:235: undefined reference to `__ctype_ptr__'
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: /home/dima/Desktop/libfat/libogc/../source/directory.c:235: undefined reference to `__ctype_ptr__'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:111: channelapp_nopax.elf] Error 1
make[2]: *** [Makefile:83: all] Error 2
make[1]: *** [Makefile:86: channel] Error 2
make[1]: Leaving directory '/home/andrew/Documents/build/hbc/channel/channelapp'
make: *** [Makefile:4: all] Error 2
I am using the latest devkitPro/devkitPPC packages from the official repository, and I have the common key located at: ~/.wii/common-key
.
source/xml.c: In function '_get_cdata':
source/xml.c:39:30: error: invalid use of incomplete typedef 'mxml_node_t' {aka 'struct _mxml_node_s'}
39 | mxml_node_t *n = node->child;
| ^~
source/xml.c:42:22: error: invalid use of incomplete typedef 'mxml_node_t' {aka 'struct _mxml_node_s'}
42 | if (n->type == MXML_OPAQUE)
| ^~
source/xml.c:43:33: error: invalid use of incomplete typedef 'mxml_node_t' {aka 'struct _mxml_node_s'}
43 | return n->value.opaque;
| ^~
make[3]: *** [Makefile:180: build/xml.o] Error 1
The spelling in README.md is incorrect. It should be pycryptodomex (correct) instead of pycryptodomeex (incorrect).
People who are not good with compiling (I'm not) might have trouble compiling the wad. It would be helpful to many people if you put a wad in the releases.
I just saw this project, and I find it very interesting to have an open source homebrew channel.
I have several questions to resolve.
I understand that the code is different from the official homebrew channel code.
My question about this is ..
Do I have the same characteristics and technical advantages as with the original homebrew channel (The latest version)? Do I have additional advantages?
On the other hand...
Can you launch a wad so I can install this channel?
Thank you
I just set up HBC on my Wii U's vWii using the HackMii Installer. As it is well known, HBC has an aspect ratio bug when running on vWii; and the open source release fixed said bug as a "bonus". However, currently it is not possible to install this fixed version of HBC through official means (neither the HackMii Installer nor the server HBC automatically checks for updates have been updated with a fixed HBC build). So currently it is necessary to rely on third party tools and websites (some of which are heavily associated with piracy) to install either an unofficially built HBC (as a .wad, yuck!) or a forwarder channel (even more yuck!).
Therefore, I'm asking if it would be possible to push a new release of HBC through official channels; and make it possible to avoid relying on dodgy third parties to get fully functional vWii homebrew running on a Wii U.
Would it be possible to add compatibility to homebrew channel for ext4?
I have been able to verify that my computer with linux makes the transfers much faster to the pendrive in ext4.
Fat is a practically outdated format, and it takes a long time to make the transfers.
Cheers
Would any of you happen to still have the minigame's code? The minigame in question is the one where you hid the UI and popped bubbles, at which point a score would appear, which increases with every bubble pop.
I have been researching this, and noticed something quite important that'll definitely need for quite a bit of time for changes in the HackMii Installer and the Homebrew Channel. The Homebrew Channel's source code is licensed under the GNU General Public License, version 2. This license allows for selling and redistributing the software. In fact, even GNU, the makers of the General Public License, encourage selling free software (http://www.gnu.org/philosophy/selling.html).
For clarification, I am not someone who redistributes or sells the HackMii installer, however, this is something that no one has brought up, and I would like to bring it up, as the issue is that the creators of the Homebrew Channel are misleading people who are going to hack their Wii consoles into thinking that the Homebrew Channel isn't able to be redistributed or sold.
I had an odd bout of curiosity and wanted to know if it's possible to identify each of the fonts used for the text in the HackMii installer. As far as I know there are at least three different ones: the scam warning, the general menu text, and the bits in the bottom left/right of the menu. (I think the Homebrew Browser's loading screen and Waninkoko's WAD Manager use one of the HackMii installer fonts too but I could be wrong)
Hello. I'm trying to compile this on Arch Linux. I have all the required dependencies, most of which were in the AUR. After compiling everything in wiipax, I changed my directory to the channel and tried to compile, when this happened:
make[1]: Entering directory '/home/trenten/hbc/channel/channelapp'
bubble1_png.o
cursor_drag_png.o
button_small_focus_png.o
apps_list_hover_png.o
progress_png.o
cursor_shade_png.o
logo_png.o
button_png.o
apps_list_png.o
dlg_error_png.o
bubble3_png.o
button_tiny_png.o
cursor_drag_shade_png.o
content_arrow_down_png.o
throbber_png.o
about_png.o
bubble2_png.o
background_png.o
apps_next_png.o
apps_next_hover_png.o
icon_usbgecko_png.o
button_small_png.o
content_arrow_up_png.o
dlg_confirm_png.o
icon_usbgecko_active_png.o
icon_network_png.o
dlg_info_png.o
apps_grid_hover_png.o
button_focus_png.o
apps_previous_hover_png.o
background_wide_png.o
icon_network_active_png.o
cursor_pic_png.o
button_tiny_focus_png.o
apps_grid_png.o
apps_previous_png.o
dialog_background_png.o
dlg_warning_png.o
japanese.enc.po
italian.enc.po
german.enc.po
french.enc.po
spanish.enc.po
dutch.enc.po
droidbold_ttf.o
droid_ttf.o
banner_bin.o
japanese.mo
italian.mo
german.mo
french.mo
spanish.mo
dutch.mo
japanese_mo.o
italian_mo.o
german_mo.o
french_mo.o
spanish_mo.o
dutch_mo.o
rm build/japanese.enc.po build/dutch.enc.po build/italian.mo build/italian.enc.po build/spanish.mo build/german.enc.po build/spanish.enc.po build/german.mo build/dutch.mo build/french.mo build/japanese.mo build/french.enc.po
panic.o
xml.o
theme.o
manage.o
dvd.o
source/manage.c: In function 'mkdir_hier':
source/manage.c:38:11: error: 'MAXPATHLEN' undeclared (first use in this function)
char dir[MAXPATHLEN];
^~~~~~~~~~
source/manage.c:38:11: note: each undeclared identifier is reported only once for each function it appears in
source/manage.c:38:7: warning: unused variable 'dir' [-Wunused-variable]
char dir[MAXPATHLEN];
^~~
source/manage.c: In function 'rmdir_hier_iter':
source/manage.c:87:15: error: 'MAXPATHLEN' undeclared (first use in this function)
char newpath[MAXPATHLEN];
^~~~~~~~~~
source/manage.c:87:7: warning: unused variable 'newpath' [-Wunused-variable]
char newpath[MAXPATHLEN];
^~~~~~~
source/manage.c: In function 'rmdir_hier':
source/manage.c:121:11: error: 'MAXPATHLEN' undeclared (first use in this function)
char buf[MAXPATHLEN];
^~~~~~~~~~
source/manage.c:121:7: warning: unused variable 'buf' [-Wunused-variable]
char buf[MAXPATHLEN];
^~~
source/manage.c: In function 'manage_extract_zip':
source/manage.c:351:19: error: 'MAXPATHLEN' undeclared (first use in this function)
char sd_filename[MAXPATHLEN];
^~~~~~~~~~
source/manage.c:351:7: warning: unused variable 'sd_filename' [-Wunused-variable]
char sd_filename[MAXPATHLEN];
^~~~~~~~~~~
source/manage.c: In function 'manage_run':
source/manage.c:484:15: error: 'MAXPATHLEN' undeclared (first use in this function)
char caption[MAXPATHLEN];
^~~~~~~~~~
source/manage.c:484:7: warning: unused variable 'caption' [-Wunused-variable]
char caption[MAXPATHLEN];
^~~~~~~
make[3]: *** [Makefile:180: build/manage.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:83: all] Error 2
make[1]: *** [Makefile:86: channel] Error 2
make[1]: Leaving directory '/home/trenten/hbc/channel/channelapp'
make: *** [Makefile:4: all] Error 2```
The open HBC opens fine and displays like its "official" brother. Runnning on a PAL Wii. System Menu 4.3E. IOS80 & IOS36 are Trucha-patched, iOS236 (==IOS36) and multiple revisions of d2x-cIOS (some 2xx-slots) are installed. No BootMii as running on newer hardware. Compiled under Ubuntu 16.10 amd64 inside VBox (fresh setup & fully updated as I'm writing this).
WORKING:
BROKEN:
UNTESTED:
The code in channel does not compile without #include <gcbool.h>
in channel/stub/cache.h.
While trying to compile the source code for the channel, I kept on getting this error:
In file included from stub/ios.c:26:
stub/cache.h:302:25: error: expected ')' before 'void'
302 | void LCAllocOneTag(BOOL,void *);
| ^~~~
| )
stub/cache.h:303:23: error: expected ')' before 'void'
303 | void LCAllocTags(BOOL,void *,u32);
| ^~~~
| )
make[3]: *** [Makefile:172: build/ios.o] Error 1
make[2]: *** [Makefile:83: all] Error 2
make[1]: *** [Makefile:86: channel] Error 2
I am not sure if I am making a mistake or the code somehow broke. If the former is to be the case I would appreciate any help.
I have been trying to compile the most recent code but keep running into the same error. I think the error has to do with the common-key
and the way I have it formatted.
My error is:
python2 tools/join-imet.py channel.imet build/data.arc build/icon.arc build/banner.arc build/sound.bns names.txt
make[1]: Leaving directory '/root/test/hbc/channel/banner'
make[1]: Entering directory '/root/test/hbc/channel/title'
Warning: failed to load key korean-key
fixing Tik file retail/cetk
Incorrect AES key length (33 bytes)
Incorrect AES key length (33 bytes)
Incorrect AES key length (33 bytes)
Warning: failed to load key korean-key
updating content records of TMD file retail/tmd
Warning: failed to load key korean-key
setting version of TMD file retail/tmd to 0x0102
Warning: failed to load key korean-key
Incorrect AES key length (33 bytes)
Traceback (most recent call last):
File "/root/test/hbc/channel/title/../../pywii/pywii-tools/wadpack.py", line 28, in <module>
wad.adddata(data,ct.cid)
File "/root/test/hbc/pywii/pywii-tools/pywii/wii.py", line 1509, in adddata
raise Exception("Required key is not available")
Exception: Required key is not available
Makefile:14: recipe for target 'channel_retail.wad' failed
make[1]: *** [channel_retail.wad] Error 1
make[1]: Leaving directory '/root/test/hbc/channel/title'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2
The Incorrect AES key length (33 bytes)
was generated by me printing the expectation that this block of code is generating:
Lines 486 to 498 in c76dae8
I have my common-key
located at ~/.wii/common-key
.
@marcan I saw your comment on #11 about the common-key
needing to be in binary? Is that true? Or does a plain text work?
Would be nice to also have an open-source hackmii installer as mine is failing right now on 4.3E after a compendium of poor decisions on my part...
Exception (DSI) occurred!
GPR00 00000001 GPR08 933E0000 GPR16 00000000 GPR24 00000000
GPR01 80540248 GPR09 00001032 GPR17 00000000 GPR25 00000000
GPR02 80267FC8 GPR10 00000068 GPR18 00000000 GPR26 802632B3
GPR03 80520E84 GPR11 80540268 GPR19 00000000 GPR27 FFFFFFFF
GPR04 00000000 GPR12 CD006438 GPR20 00000BA0 GPR28 80520E84
GPR05 00000069 GPR13 8026A7C0 GPR21 00000BA8 GPR29 00000000
GPR06 00000069 GPR14 00000000 GPR22 00000A60 GPR30 FFFFFFFF
GPR07 00000001 GPR15 00000000 GPR23 00000000 GPR31 8061E830
LR 8003EC70 SRR0 80037d94 SRR1 00001032 MSR 00001000
DAR FFFFFFFC DSISR 04000000
STACK DUMP
80037d94 --> 8003ec70 --> 8000bee0 --> 8000d130
80023104 --> 800130dc --> 8000e998 --> 80023f40
80013308
CODE DUMP:
80037d94: 80E4FFFC 80C30000 39600000 20E7FFF8
80037da4: 7D243A14 7F893040 419C0014 81630004
80037db4: 7D695810 39600000 7D6B5914 2F8B0000
Hello.
I have installed Homebrew Channel to my WebOS LG TV. But I cannot install any application from there. It always breaks with an error message.
The message is:
An error occured during installation: Unable to exec luna-send-pub: Error: Failed to call getIDs
I have no root access, but I learned that it isn't required.
The Homebrew Channel was installed from webosapp.club/online. Version 0.4.0
I can see that the latest one is 0.5.0 but it isn't there.
And I cannot update it from Homebrew Channel too - the error is the same.
What can I do? Thank you.
BootMii needs an update of sorts to check for OHBC: I prefer it because it doesnt do the update.sxml check and thus doesnt clutter my dumps with 404s, but I can't use it because it doesn't load from BootMii.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.