Homebrew New Universal Forwarder

  • Thread starter Thread starter WiiPower
  • Start date Start date
  • Views Views 28,993
  • Replies Replies 117
Hi
I have a question.

I made a universal forwarder.

All of the dol files work with the universal forwarder.
But USB loader +cfg dol file doesn't work, only shows me code dump error.
( usb loader +cfg : http://gbatemp.net/index.php?showtopic=147638 )

If I change the dol file with different one, it works.
( For example, gecok OS dol file )

Of course USB loader +cfg works with normal forwarder.

Any Idea?
 
Does changing this line in the makefile:
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--section-start,.init=0x81000000

to:
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--section-start,.init=0x80C00000

help?
 
WiiPower said:
Does changing this line in the makefile:
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--section-start,.init=0x81000000

to:
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--section-start,.init=0x80C00000

help?

no help
programmer's notepad says :

CODEdol.c
elf.c
main.c
linking ... boot.elf
d:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x3a): undefined reference to `__isIPL'
d:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x3e): undefined reference to `__isIPL'
d:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x56): undefined reference to `__bss_end'
d:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x5a): undefined reference to `__bss_end'
d:/devkitPro/libogc/lib/wii\libogc.a(lwp.o): In function `__lwp_sysinit':
lwp.c:(.text.__lwp_sysinit+0xaa): undefined reference to `__stack_end'
lwp.c:(.text.__lwp_sysinit+0xae): undefined reference to `__stack_addr'
lwp.c:(.text.__lwp_sysinit+0xb2): undefined reference to `__stack_end'
lwp.c:(.text.__lwp_sysinit+0xb6): undefined reference to `__stack_addr'
lwp.c:(.text.__lwp_sysinit+0xd6): undefined reference to `__crtmain'
lwp.c:(.text.__lwp_sysinit+0xde): undefined reference to `__crtmain'
d:/devkitPro/libogc/lib/wii\libogc.a(irq.o): In function `__irq_init':
irq.c:(.text.__irq_init+0x26): undefined reference to `__intrstack_addr'
irq.c:(.text.__irq_init+0x2e): undefined reference to `__intrstack_addr'
irq.c:(.text.__irq_init+0x3a): undefined reference to `__intrstack_end'
irq.c:(.text.__irq_init+0x46): undefined reference to `__intrstack_end'
d:/devkitPro/libogc/lib/wii\libogc.a(system.o): In function `SYS_Init':
system.c:(.text.SYS_Init+0x7a): undefined reference to `__gxregs'
system.c:(.text.SYS_Init+0x82): undefined reference to `__gxregs'
system.c:(.text.SYS_Init+0x14a): undefined reference to `__Arena1Hi'
system.c:(.text.SYS_Init+0x14e): undefined reference to `__Arena1Hi'
system.c:(.text.SYS_Init+0x156): undefined reference to `__Arena2Lo'
system.c:(.text.SYS_Init+0x15a): undefined reference to `__Arena2Lo'
system.c:(.text.SYS_Init+0x162): undefined reference to `__Arena2Hi'
system.c:(.text.SYS_Init+0x166): undefined reference to `__Arena2Hi'
system.c:(.text.SYS_Init+0x16e): undefined reference to `__ipcbufferLo'
system.c:(.text.SYS_Init+0x176): undefined reference to `__ipcbufferLo'
system.c:(.text.SYS_Init+0x17a): undefined reference to `__ipcbufferHi'
system.c:(.text.SYS_Init+0x182): undefined reference to `__ipcbufferHi'
system.c:(.text.SYS_Init+0x532): undefined reference to `__Arena1Lo'
system.c:(.text.SYS_Init+0x536): undefined reference to `__Arena1Lo'
d:/devkitPro/libogc/lib/wii\libogc.a(system.o):(.sdata2.__sys_inIPL+0x0): undefined reference to `__isIPL'
d:/devkitPro/libogc/lib/wii\libogc.a(argv.o): In function `__CheckARGV':
argv.c:(.text.__CheckARGV+0x4e): undefined reference to `__Arena1Lo'
argv.c:(.text.__CheckARGV+0x56): undefined reference to `__Arena1Lo'
collect2: ld returned 1 exit status
make[1]: *** [/h/wii/work/universalforwarderr1-lejong/sourcecode/boot.elf] Error 1
"make": *** [build] Error 2
 
WiiPower said:
Are you sure you did not change anything else? I can compile fine with the changed line.

Really?
I will try again...

============
edit:

Oops, I did compile....
Now I need to check the forwarder..

coming soon
wink.gif


=============
edit2:

Again... code dump error with usb loader +cfg

wtf.gif
 
lejong2002 said:
Oh Master Mo, welcome !
rolleyes.gif


could you add the -/+/home buttons please?

Greetings...
rofl2.gif
I really overlooked this awesome new Fowarder...

I now tried to make the a-button more visible and I added the +/-buttons!

Have fun with this and really well made Wiipower
yaynds.gif
(
 
Pippin666 said:
This needs a major tweak. Buttons from the Ninchuck should be useable. Also, this needs a "shift" or "alternate" button for even more options.

For those who compiles, I think it would be nice to let us determine the folder path for each buttons.


The nunchuck or GC can be used, but you need to recompile it how you'd like.

As for determining the save path, again you need to recompile. But I'm sure it's being looked into that a config file on SD can be used, if something like this works in testing it will obviously be posted but don't expect it any time soon. Saying that, I'm sure there is sometihng open source that does this already, so it's not impossible (is it another spacejump forwarder ?)

To clarify some things mentioned already.. preloader will not work with this sorry. I'm outta ideas too as to how to get preloader to boot it, it DOES recognise it though, just fails to launch.

Some apps will not work, or at least not easily. MplayerCE for example, if you copy all the "other" files needed by MplayerCE to every different folder it still fails to boot. I'm not sure why yet so can't offer a solution myself, shame because it would be soo much cooler if it launched this, as it's a very popular app.

Hopefully Mplayer and all of the USB loaders/ DVD loaders will work eventually so this can then replace the many channels people have and you can launch everything from just one channel saving menu space, and wii blocks.

*EDIT*
Using a config file WILL work
biggrin.gif
, but I can't get it working properly yet
tongue.gif
Stay tuned, I'm sure someone can get it sorted
wink.gif
 
Skizzo said:
Could any of the pictures here help design a forwarder channel with real button images to go along with the real controller image? Real hi-res pics of all the controllers. Maybe it's time to give learning GIMP another go.
biggrin.gif


http://www.daroga.org/NintendoE3/PressStuff/Wiihardware/

imho they pics are great. I don't have any good software for doing arty stuff myself, but I'm sure they will be used by those that know what they're doing and some really neat banners will come out soon
biggrin.gif


Nice find Skizzo
wink.gif
 
lejong2002 said:
About code dump errors for some dol files....

Maybe found out the solution.
This error is not from this universal forwarder, but from the dol files.

For usb loader +cfg, oggzee will fix the dol file.

See here : http://gbatemp.net/index.php?showtopic=147...0&start=690

Btw, thanks for your kind advice, WiiPower.

wink.gif

Thanks for the advise, i will take a look at that. If that's true, i could change the forwarder to have the same args than the Homebew channel and you would not have to change the application(s).
 
http://rapidshare.com/files/233943132/Forw...wer_R3.zip.html

Changelog:
- Added the filename as paramter
- Changed the entrypoint to 0x80D00000, this is a test, i hope this has a high compatibility
- Changed the console output. Now the error messages can be read.
- Added info about the fast read ahead cache libogc used in snes9x-gx
- Correctly licensed under GPLv2 now
 
WiiPower said:
http://rapidshare.com/files/233943132/Forw...wer_R3.zip.html

Changelog:
- Added the filename as paramter
- Changed the entrypoint to 0x80D00000, this is a test, i hope this has a high compatibility
- Changed the console output. Now the error messages can be read.
- Added info about the fast read ahead cache libogc used in snes9x-gx
- Correctly licensed under GPLv2 now

Good Work WiiPower.

In my case, one thing becomes better other thing becomes worse.
This means :
oogzee's USB loader +cfg works now, but USB loader GX doesn't work now.
USB loader GX worked with previous universal forwarder.

And Speedup lipogc doesn't work for me.
When I tried, Programmer's notepad said :

CODEd:/devkitPro/libogc/lib/wii\libogc.a(ipc.o): In function `__ios_ioctlvformat_parse':
ipc.c:(.text.__ios_ioctlvformat_parse+0x174): undefined reference to `__ctype_ptr__'
d:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld.exe: d:/devkitPro/libogc/lib/wii\libogc.a(ipc.o)(.text.__ios_ioctlvformat_parse+0x174): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
ipc.c:(.text.__ios_ioctlvformat_parse+0x4e8): undefined reference to `__ctype_ptr__'
d:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld.exe: d:/devkitPro/libogc/lib/wii\libogc.a(ipc.o)(.text.__ios_ioctlvformat_parse+0x4e8): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
d:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld.exe: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [/h/wii/work/Forwarder_mod_by_WiiPower_R3/sourcecode/boot.elf] Error 1
"make": *** [build] Error 2

blink.gif
 
lejong2002 said:
In my case, one thing becomes better other thing becomes worse.
This means :
oogzee's USB loader +cfg works now, but USB loader GX doesn't work now.
USB loader GX worked with previous universal forwarder.

And Speedup libogc doesn't work for me.
When I tried, Programmer's notepad said :
[...]

Does USB loader GX work if you change the entrypoint in the makefile to the old value(0x81000000)?
Or does it work, if you change sd to fat in the filename AFTER the file is loaded?

About the libogc, sorry, can't help with this, make sure you put the libogc into the correct folder. That's all i can advise about it.
 
WiiPower said:
lejong2002 said:
In my case, one thing becomes better other thing becomes worse.
This means :
oogzee's USB loader +cfg works now, but USB loader GX doesn't work now.
USB loader GX worked with previous universal forwarder.

And Speedup libogc doesn't work for me.
When I tried, Programmer's notepad said :
[...]

Does USB loader GX work if you change the entrypoint in the makefile to the old value(0x81000000)?
Or does it work, if you change sd to fat in the filename AFTER the file is loaded?

About the libogc, sorry, can't help with this, make sure you put the libogc into the correct folder. That's all i can advise about it.

Thanks WiiPower .

Finally I did it !!!
R3 + 0x81000000 works perfectly.

For me, all applications work correctly.

I love this Universal Forwarder.

rofl2.gif


=====
 
cwstjdenobs said:
Sorry about this, but why does changing the entry point increase compatibility?

Or actually in this case reduces it...

It's because all .dol files have the address of the memory where the .dol has to be copied to hardcoded. I don't know why this is, but you can't just search a free memory area and put a .dol there to start it, each .dol has a specifc memory address where you have to copy to, the entrypoint.

So an application can't load another application that uses the same entrypoint, or one somehwere near it.
 
WiiPower said:
Thanks for the advise, i will take a look at that. If that's true, i could change the forwarder to have the same args than the Homebew channel and you would not have to change the application(s).
The chdir routine code dumped if no arguments were passed.
This is how i fixed it and told oggzee about it, should be fixed in an upcoming version.

However, Wiipower, here's the forwarder i'm working on (little config file).
sd:/cf7_forwarder.conf is a text file with this content
QUOTE said:
sd:/apps/Coverflow7/boot.dol

Could easily be ported to use several lines:

QUOTE
button_a = sd:/apps/folder1/boot.dol
button_b = sd:/apps/folder2/boot.dol
button_+ = sd:/apps/folder3/boot.dol
button_- = sd:/apps/folder4/boot.dol
...


http://pastebin.com/d834d7c
 

Site & Scene News

Popular threads in this forum