Homebrew postLoader4

  • Thread starter Thread starter stfour
  • Start date Start date
  • Views Views 563,471
  • Replies Replies 4,203
  • Likes Likes 16
Do you have devolution.bin in /games? It's the loader.bin from the devolution src package. I think I mentioned that in a prior post..if not I need to update it.. D:
I haven't tested devolution from neek though, so it might not be working anyway.

Edit: Yeah, it's not working in neek2o right now. I think I know why: I have it hardcoded to look from USB, and in neek, the USB drive becomes ISFS, if I remember right, meaning it becomes the real nand. So I'll have to check for neek eventually. Shouldn't be too hard to detect, I don't think. However, even if devolution can launch in postloader, I don't think it'll work from neek, since if devolution stays in Wii mode(not sure if it does), it'll not see a USB drive to load from..
I've read about the devolution.bin placement. It's there. But on the USB drive, so...yeah. The USB drive is seen by default as the nand, indeed.

I really can't say in what modus devolution does its thing, so I won't comment on that.
 
stfour, i got this problem, now wiiflow runs in neek2o, the wiiflow forwarder needs to be modified to be able to detect wiiflow on USB in neek..

I like to do the modification myself , but i don't no what to change exactly.
Your PL channel forwarder has no problem finding the PL folder on USB on neek..so i guess you know what needs to be changed..
Can you point me into the right direction?
 
@[member='stfour']

In Plugins.conf (default)
...
003=GENESIS;genplusgx.dol;/genplus/roms;gen,zip,iso,bin,smd;snes.png
...

shoulnd't this be sega.png instead?
 
stfour, i got this problem, now wiiflow runs in neek2o, the wiiflow forwarder needs to be modified to be able to detect wiiflow on USB in neek..

I like to do the modification myself , but i don't no what to change exactly.
Your PL channel forwarder has no problem finding the PL folder on USB on neek..so i guess you know what needs to be changed..
Can you point me into the right direction?

Under neek2o usb device is fully accessible via ISFS. You should add something like this in the forwarder:

Code:
bool LoadPostloaderFromISFS (void)
{
char path[ISFS_MAXPATH] ATTRIBUTE_ALIGN(32);

ISFS_Initialize();
strcpy (path, "/apps/postLoader/boot.dol");
s32 fd = ISFS_Open (path, ISFS_OPEN_READ);
if (fd < 0)
goto fail;
s32 filesize = ISFS_Seek(fd, 0, 2);
if (filesize == 0)
goto fail;
ISFS_Seek (fd, 0, 0);
// exeBuffer is already 32bit aligned... should work fine
s32 readed = ISFS_Read (fd, exeBuffer, filesize);
ISFS_Close (fd);

if (readed != filesize)
goto fail;

return TRUE;

fail:
ISFS_Deinitialize ();
return FALSE;
}

from http://code.google.com/p/postloader/source/browse/trunk/addon/forwarder/source/main.c

You have to adjust paths and buffers ;)


 
postLoader 4.b34

* increased the buffer for filter menu (thx kuwanger)
* now postLoader uses single or double fb as required
* performed a lot of code clean (thx kuwanger)
* it seems that b34 has stopped to randomly hang
 
Is it possible to hide those new pop up menus top/bottom? If so can they be done separately? And finally how?

On another note... Does anyone have some updated docs on what postloader can and can't do and how to do it. A heavy duty FAQ perhaps? I know stfours busy with updates and such. I've read the readme but still doesn't cover alot of the new he's been making.

I've been outta the loop so to speak.

And finally: GREAT JOB KEEP UP THE GOOD WORK!
 
@[member='stfour']: Well, um, you forgot to update the boot.dol in posterloader.4.b34.zip to the latest version. :) In any case, I downloaded from source and compiled again. There's a few things of note. One, the random hanging still happens for me--although that might just be might build. Two, there's a few issues I've fixed in my version that I think may be of note. Other than that, good work on the update.


gui.c diff:
/* This is change is so a lot of listed games don't overflow the GoToPage menu on screen */
Code:
--- postloader-read-only/source/gui.c 2012-07-15 19:22:21.142062131 -0400
+++ gui.c 2012-07-13 06:13:58.873382104 -0400
@@ -152,11 +152,21 @@
cols = 10;
inc = 1;
}
- else
+ else if (pageMax < 500)
{
cols = 10;
inc = 5;
}
+  else if (pageMax < 2500)
+ {
+ cols = 10;
+ inc = 25;
+ }
+ else
+ {
+ cols = 10;
+ inc = 125;
+ }

for (col = 0; col < cols; col++)
{

browserEmu.c diff:
/* a few things
I changed EMUMAX setting to be larger...I'll probably shrink it later to double check that that's not related to the random hanging I'm having that you're not
I changed bsort_filter to return -1, 0, 1 (well actually, some negative number, zero, or some positive number) which I think fixes your issue with qsort
I did some short-circuiting of BrowsePluginFolder, since there's little reason to keep reading if EMUMAX is reached
I trimmed IsFiltered down, since it doesn't really need to unpack/repack the filters to an array
Oh, and in ShowFilterMenu, there's no need to do the EmuBrowse() if the filters haven't changed so...
*/
Code:
--- postloader-read-only/source/browserEmu.c 2012-07-15 19:22:21.142062131 -0400
+++ browserEmu.c 2012-07-15 19:19:14.822062221 -0400
@@ -19,7 +19,7 @@
#include "browser.h"
#include "fsop/fsop.h"

-#define EMUMAX 8192
+#define EMUMAX 16384

/*

@@ -494,9 +494,7 @@
s_emu *aa = (s_emu*) a;
s_emu *bb = (s_emu*) b;

- if (aa->filtered < bb->filtered) return 1;
-
- return 0;
+ return bb->filtered - aa->filtered;
}

static void SortItems (void)
@@ -514,7 +512,7 @@
}

Video_WaitPanel (TEX_HGL, "Please wait...|Sorting...");
- bsort (emus, emusCnt, sizeof(s_emu), bsort_filter);
+ qsort (emus, emusCnt, sizeof(s_emu), bsort_filter);

Video_WaitPanel (TEX_HGL, "Please wait...|Sorting...");
qsort (emus, emus2Disp, sizeof(s_emu), qsort_name);
@@ -535,7 +533,10 @@
int updater = 0;
char ext[256];
char *p;
-
+
+ if (startidx >= EMUMAX)
+ return 0;
+
strcpy (ext, Plugins_Get(type, PIN_EXT));

pdir=opendir(path);
@@ -543,7 +544,7 @@
while ((pent=readdir(pdir)) != NULL)
{
if (i >= EMUMAX)
- continue;
+ break;

// Skip it
if (strcmp (pent->d_name, ".") == 0 || strcmp (pent->d_name, "..") == 0)
@@ -693,40 +694,28 @@

static bool IsFiltered (int ai)
{
- int i,j;
- bool ret = false;
- char f[128];
+ int i;
//char name[256];

if (config.emuFilter == 0) return true;

- memset (f, 0, sizeof(f));
-
- j = 0;
for (i = 0; i < CATMAX; i++)
{
- f[j++] = (config.emuFilter & (1
 
This thing is taking me crazy. Just the time to remove debug and upload the new version and it has hanged. I never be able to hang the version with full debug output. :(
 
@[member='stfour']
Is it possible to make returning to PL functional via a hidden channel (like WiiFlow did) or any other means, we should have this option available if we don't want to install PL in priloader.

P.S. Return option in WF works for all modes i.e. you go back to same mode you were in after quiting the game.
Thanks :)
Abz
 
I played around with themes today and came up with this: http://www.mediafire.com/download.php?jwm6qnixa7xqnxj
Postloader4_Red theme
Based on holodark light (thanks gl1mml1ng)
Shiny frame effect (thanks stfour)
New splash screen
No Emu icons included you can use my previous pack: http://www.mediafire.com/download.php?xff9x6wn75pxt4p
Screenshots:
071612_1015_pl41.jpg
071612_1015_pl42.jpg
071612_1015_pl43.jpg
071612_1015_pl44.jpg
071612_1015_pl45.jpg
071612_1015_pl46.jpg
Feel free to edit, copy, delete...
Abz
:)
 
  • Like
Reactions: 2 people
@[member='stfour']:
/* a few things
I changed EMUMAX setting to be larger...I'll probably shrink it later to double check that that's not related to the random hanging I'm having that you're not
I changed bsort_filter to return -1, 0, 1 (well actually, some negative number, zero, or some positive number) which I think fixes your issue with qsort
I did some short-circuiting of BrowsePluginFolder, since there's little reason to keep reading if EMUMAX is reached
I trimmed IsFiltered down, since it doesn't really need to unpack/repack the filters to an array
Oh, and in ShowFilterMenu, there's no need to do the EmuBrowse() if the filters haven't changed so...
*/

Just note that config.emuFilter is a u32, this is why there is a limit of 32 filters.
 
Yes you did... every bit is the flag for filter... so 32 bit, 32 filters on or off :P ;)

(clearly we can move to 64bit vars, but the problem is how display all the items, before doing that, a list mode should be added to gui)
 
Run disc does not work on gamecube dics in wii. Postloader restarts itself when I try.

If you don't mind, I would like the option to hide items in the top and bottom slide menus/toolbars. With my set up some of those items are redundent.

Or maybe have the abilty to create your own items on the toolbars and have them point to apps of your choosing?
 

Site & Scene News

Popular threads in this forum