How do I make my own channel forwarder without haxchi?

pietempgba

Well-Known Member
OP
Member
Joined
Jun 9, 2016
Messages
1,035
Trophies
0
XP
1,269
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
839
Trophies
0
Age
34
XP
2,103
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,035
Trophies
0
XP
1,269
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>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
 
General chit-chat
Help Users
  • KenniesNewName @ KenniesNewName:
    The PS tablet
    Gift
  • mthrnite tempBOT: @ mthrnite
    switches the box from tv to game
    Gift
  • T @ trimesh:
    Not so sure about that - the tendency for "graphics uber alles" tends to lead to very high power consumption
    Gift
  • KenniesNewName @ KenniesNewName:
    If you look at what's now portability graphics are catching up to console quality
    Gift
  • KenniesNewName @ KenniesNewName:
    Nintendy is a huge example of not everyone caring about powerful specs most that do will be hardcore PC players anyway
    Gift
  • T @ trimesh:
    The thing is that the IATA rules impose a pretty hard limit of 100Wh on battery sizes for lithium batteries - and it doesn't look like Li is going away soon
    Gift
  • T @ trimesh:
    So if you want (say) 4 hours of runtime you need a maximum system-level power consumption of 25W
    Gift
  • KenniesNewName @ KenniesNewName:
    Yeah but we already have AAA titles looking fine on tablet form 1080p displays
    Gift
  • KenniesNewName @ KenniesNewName:
    Human eye can only tell so much of a difference
    Gift
  • T @ trimesh:
    For reference, the PS5 is rated at 350W and the Xbox series X at 275W - and that's console only, without any display
    Gift
  • KenniesNewName @ KenniesNewName:
    But the future always holds performance never know what the aliens will donate from their left over tech
    Gift
  • T @ trimesh:
    Maybe :) - but batteries have turned out to be a pretty hard problem
    Gift
  • KenniesNewName @ KenniesNewName:
    Like I said most that will truly care will already be hard core gaming pcers
    Gift
  • T @ trimesh:
    And DF subscribers :)
    Gift
  • KenniesNewName @ KenniesNewName:
    I bet you could find a neighbor with a ps5 and they'd have no idea what the word spec means
    Gift
  • T @ trimesh:
    Yeah probably - people on forums seem to care a lot, but they are heavily self-selected
    Gift
  • KenniesNewName @ KenniesNewName:
    Most on forums try to get a good learning of actual tech
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Papaya, so good
    Gift
  • KenniesNewName @ KenniesNewName:
    Only 13 more titles to go on ps3 yay
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I still have a remnant of the taste of the papaya
    Gift
  • Dark_Phoras @ Dark_Phoras:
    @KenniesNewName June will come sooner than the end of that process
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    PS3 had horrible speeds off the drive
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    I always wondered why, but I am pretty sure it was trying to reduce costs
    Gift
  • Gift
  • Gift
    Veho @ Veho: https://i.imgur.com/lvNtPqI.jpg