How do I make my own channel forwarder without haxchi?

pietempgba

Well-Known Member
OP
Member
Joined
Jun 9, 2016
Messages
1,049
Trophies
0
XP
1,515
Country
United States
I saw Laf111's WiiUFtpServer repo and I see that there's a rpx file in there here but I don't know how it was made including the app and cos xml files, also is there a valid range of titleids? I'm tired of having to rely on the haxchi forwarder guide with limited filepathes.
 

V10lator

Well-Known Member
Member
Joined
Apr 21, 2019
Messages
2,631
Trophies
1
Age
36
XP
5,473
Country
Germany
I'm currenty working on Tiramisu forwarders... These are extremely early, none functional codes I don't have time for to fix but feel free to do whatever you want with it:
C:
#include <stdint.h>

#include <coreinit/cache.h>
#include <coreinit/ios.h>
#include <coreinit/mcp.h>
#include <sysapp/launch.h>

#include <whb/log.h>
#include <whb/log_udp.h>
#include <whb/proc.h>

#include <wut_structsize.h>

extern void _SYSLaunchTitleWithStdArgsInNoSplash(uint64_t, int);

typedef struct WUT_PACKED
{
    uint32_t cmd;
    uint32_t tgt;
    uint32_t fs;
    uint32_t fo;
    char path[256];
} LOAD_REQUEST;
WUT_CHECK_OFFSET(LOAD_REQUEST, 0x00, cmd);
WUT_CHECK_OFFSET(LOAD_REQUEST, 0x04, tgt);
WUT_CHECK_OFFSET(LOAD_REQUEST, 0x08, fs);
WUT_CHECK_OFFSET(LOAD_REQUEST, 0x0C, fo);
WUT_CHECK_OFFSET(LOAD_REQUEST, 0x10, path);
WUT_CHECK_SIZE(LOAD_REQUEST, 0x110);

const uint64_t hs[3] = { 0x000500101004E000, 0x000500101004E100, 0x000500101004E200 };

const LOAD_REQUEST request =
{
    .cmd = 0xFC,
    .tgt = 0,
    .fs = 0,
    .fo = 0,
    .path = "wiiu/apps/[TODO].rpx",
};
void *reqPtr = (void *)&request;

int main()
{
    WHBProcInit();
    WHBLogUdpInit();
    WHBLogPrint("RetroArch loader");

    int mcpHandle = MCP_Open();
    if(mcpHandle > 0)
    {
        WHBLogPrint("Sending request");
        DCFlushRange(reqPtr, sizeof(LOAD_REQUEST));
        IOS_Ioctl(mcpHandle, 100, reqPtr, sizeof(LOAD_REQUEST), NULL, 0);

        uint64_t tid = 0;
        MCPTitleListType tlt;

        for(int i = 0; i < 3; ++i)
        {
            if(MCP_GetTitleInfo(mcpHandle, hs[i], &tlt) == 0)
            {
                tid = hs[i];
                break;
            }
        }

        MCP_Close(mcpHandle);

        if(tid)
        {
            WHBLogPrint("Sending relaunch request");
            _SYSLaunchTitleWithStdArgsInNoSplash(tid, 0);
            WHBLogPrint("Returning");
            WHBLogUdpDeinit();
            WHBProcStopRunning();
            WHBProcIsRunning();
            return 0;
        }
    }

    SYSLaunchMenu();
    WHBLogPrint("Returning with error");
    WHBLogUdpDeinit();
    WHBProcStopRunning();
    WHBProcIsRunning();
    return 0;
}
 
  • Like
Reactions: Donnie-Burger

pietempgba

Well-Known Member
OP
Member
Joined
Jun 9, 2016
Messages
1,049
Trophies
0
XP
1,515
Country
United States
I'm trying to compile the homebrew launcher's sd_loader but I keep on getting stuck here


Code:
sd_loader/src/entry.c:1:10: fatal error: dynamic_libs/os_types.h: No such file or directory
    1 | #include <dynamic_libs/os_types.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • ZeroT21 @ ZeroT21:
    Having pizza all day? done it
  • K3Nv2 @ K3Nv2:
    Nah pizza hut open at 10:30
  • ZeroT21 @ ZeroT21:
    just buy a stack of pizza and keep the rest you don't need yet frozen
  • K3Nv2 @ K3Nv2:
    Or buy frozen pizza
  • ZeroT21 @ ZeroT21:
    I buy the regular kind, not the frozen stuff
  • ZeroT21 @ ZeroT21:
    supermarket pizza is ass
  • K3Nv2 @ K3Nv2:
    x65 would just yell at me
  • ZeroT21 @ ZeroT21:
    sounds ok, he didn't pull a gun out ,so...
  • K3Nv2 @ K3Nv2:
    $12 large any style pizza deal
  • K3Nv2 @ K3Nv2:
    Each bite is a $1 well spent
  • SylverReZ @ SylverReZ:
    @ZeroT21, Agreed. I hate oven pizza, only from pizza place.
    +1
  • K3Nv2 @ K3Nv2:
    Nah I can still go for totinos
  • RedColoredStars @ RedColoredStars:
    i like totinos party pizzas. lol.
  • RedColoredStars @ RedColoredStars:
    the cracker-like crust is great on those
  • RedColoredStars @ RedColoredStars:
    My neighbor and I are going to make this next month....
  • SylverReZ @ SylverReZ:
    Tiger crust is great.
  • K3Nv2 @ K3Nv2:
    I'm beefing with a neighbor currently each time I ask him for help with something he makes bs excuses then ignores my calls text but seems to randomly speak when I'm done with the project after doing things to help him
  • RedColoredStars @ RedColoredStars:
    DiGiorno Crispy Pan Pizza tasted pretty dang close to Pizza hut pan pizza, but Im not sure if theyve been discontinued or not. Havent seen them locally for a couple of months now.
  • RedColoredStars @ RedColoredStars:
    The croissant crust is still available though, but not quite as good imo.
  • RedColoredStars @ RedColoredStars:
    @SylverReZ Never heard of tiger crust. What is it?
  • SylverReZ @ SylverReZ:
    @RedColoredStars, Its known as tiger bread, also known as dutch crust.
  • Maximumbeans @ Maximumbeans:
    It's fuggin gooooood
    +1
  • RedColoredStars @ RedColoredStars:
    I mean. Whats different about it?
  • RedColoredStars @ RedColoredStars:
    Never even seen a tiger crust pizza in any stores around here. Walmart, Cub, or otherwise.
    RedColoredStars @ RedColoredStars: Never even seen a tiger crust pizza in any stores around here. Walmart, Cub, or otherwise.