PS2 SAS Standard - Information&Structure

TnA

Moderator
Developer
(I update it with proper formatting later!)

# Folders, Names, Basestructure #
*Folder-names:*
- Has a prefix and the name of the app (i.e. abbreviation) 'divided' via an underscore. --> Sample: "APP_OPL" This is meant for sorting as well as topic-specific lookup via applications.
- etc.

*Icons:*
- has 3 icons (normal, delete, copy) which are REQUIRED to have the "Mini-MC"
- "Mini-MC" changes color to neon-red on "delete" and neon-green on "copy".
- Background color of those should have a dim variant of that color (green for copy, red for delete), IF POSSIBLE!
- Systemically relevant folders have a Mini-Gears symbol, instead of the Mini-MC.
- Apps are marked "Software".
- etc.

*MISC:*
- APP-Folders come with MANDATORY "title.cfg" like OPL apps!
- ELF or JS or LUA name should be like the abbreviation in the folder-name OR 'BOOT.ELF/.LUA/.JS' OR custom via theme.cfg!
- etc.



# Companions: #

Mini-app/Kickstarter:
- beside normal ELFs, we can launch JS and LUA-Apps from an APP-Icon, which Kickstart Enceladus (LUA) or Athena (JS) from a folder (for example "BOOT"). The easiest method to accomplish that VERY fast is via a Kickstarter app which "knows where it has been launched from" and then launches either RTE with that as an argument. This could later be part of the Payload itself instead of "redundant Kickstart-ELFs", but this way can be accomplished very easily and fast and works right away and doesn't need tooooo much KB. Better than having Enceladus or Athena bundled with every single JS or LUA app...
- OPL-Launcher linked to "per game icons" is possible as well. I'd rather use "same icon-stuff" there, but not the actual original saves, because these kind of modifications could trigger anti-cheat and other checks.
- POPStarter Mini-Launcher, like OPL-Launcher for OPL does, or like OPL DB does with ONE centralized POPSTARTER.ELF!
- Maybe an Emulator/Retroarch Launcher?
- OSDSYS-Update-Launcher
- maybe PowerOff
- etc.
*Target size ~30KB compressed (or smaller if possible).*

Exploit:
- making apps launchable from OSDSYS - Browser - MemoryCard
- etc.




Indicator Icons: https://ps2wiki.github.io/documenta...dicators-and-warnings/indicators-and-warnings
 
Last edited:
Looking for structure of root directory expectations especially for user launchable apps:

IE is it
device:/APP_APPNAMEHERE/12345678.ELF
?

Finally getting around to trying to make Crystal Chip scripting compliant....at least for the apps portion first
because it uses:

Code:
    LOADEXEC "PBATS" "$ARG5$:/BM/$ARG3$S/*/$ARG3$INFO.PBT" "QUERY" "^"$ARG0$^" ^"$ARG4$^" ^"$ARG2$^" ^"$ARG3$^""

ARG5 is device
ARG3(with S) is either APP(S), DEV(S), SCRIPT(S), THM(S), FW(S) or DEVS(devices)

So I think I can simply change this portion to:
Code:
    LOADEXEC "PBATS" "$ARG5$:/*/$ARG3$INFO.PBT" "QUERY" "^"$ARG0$^" ^"$ARG4$^" ^"$ARG2$^" ^"$ARG3$^""

for root support....there are other things to change though
 
It is:

MC: "mc:/PREFIX_APPNAME/APPNAME.ELF"
HDD: "........ common/APPS/PREFIX_APPNAME/APPNAME.ELF"
Other devices: "device-mountpoint:/APPS/PREFIX_APPNAME/APPNAME.ELF"
?
 
Great: could then do mc?:/APP_* for search pattern and follow simliar for HDD/other devices as needed

Any other prefixes I need to worry about that are used by user? IE users wont be launching RTE most likely...so I can ignore that right?
UTIL?

Though maybe too granular...just mc?:/*/APPINFO.PBT. I will have to see which is quicker, parsing all folders or it trying to match wildcard strings and then parsing.
 
PS2Wiki and SAS Apps Archive has some prefix examples.
It is mostly "APP" but can vary depending on what it is. That's the plan for prefixes!

You can however also scan for the "underscore" like OPL and OSD-XMB do.

Though maybe too granular...just mc?:/*/APPINFO.PBT. I will have to see which is quicker, parsing all folders or it trying to match wildcard strings and then parsing.
Quickest way is "list" all folders and "filter" to only look in folders with an underscore.
 
so then:
Code:
mc?:/*_*/APPINFO.PBT
pfs0:/*/*_*/APPINFO.PBT
device-mountpoint:/*/*_*/APPINFO.PBT

CC automagically mounts __common if autoload HDD is enabled with my R34 V3...

Thanks, I have a direction to go on...

Sadly can't get rid of needing APPINFO.PBT just yet, so user may need to drop those into the folders as needed, but alas once I copy a preconfigured UMCS/SAS mmce card I can work on that
 
I can see the history of the deleted post. :D

Btw.: YES, the ELF-Name being the same as the name after the underscore IS exactly for that reason a default! It can also be a static ELF-Name used across all folders like BOOT.ELF.

This "side" of SAS is part of what is supposed to make things easier for the developers!

so then:
Code:
mc?:/*_*/APPINFO.PBT
pfs0:/*/*_*/APPINFO.PBT
device-mountpoint:/*/*_*/APPINFO.PBT
Wouldnt that scan all folders and not just APPS? The first single asterisk!

Thanks, I have a direction to go on...
No worries. Ask when you need more input.
Sadly can't get rid of needing APPINFO.PBT just yet, so user may need to drop those into the folders as needed, but alas once I copy a preconfigured UMCS/SAS mmce card I can work on that
Well. It would be nice to use one meta-file for everything, without PBAT, but I can live with an exception.
The files are small anyway!
 
Last edited:
Deleted for a bug I doubt i can fix...2 actually.

I'll document tomorrow

Boils down to I can make run/install/remove work from any device but memcard

Memcard can't parse root wildcard. Other devices can. But umcs doesn't use root wildcard for apps...memcard does

Also oddly
mc?:/APP_APPNAME/APPINFO.PBT
Is same as
mc?:APP_APPNAME/APPINFO.PBT

so memcard workaround is have appinfo in same spot:
mc?:/BM/APPS/APP_APPNAME/APPINFO.PBT

But rather define it to boot the app from folder on root rather than $PWD$ path working directory. It's more work for install and remove cleanly

Anyway so odd doesn't like wildcard on root for JUST memcard. Deleted mmce drivers/script just in case it was interfering. I get a fd error 255 directory not found from mmce output w or wo mmce drivers and script

I need to try without mmce device ie stock 8mb sony card.

Multi wildcard search path also in general is a no go. I don't remember if APP_* works. It should, it's used elsewhere but alas I think issues
 
Luckily for CC/Bootmanager it's not a problem as there are workarounds. IF the root wildcard doesn't work...what can I really do but rather have the script elsewhere rather than PWD. But not all things can be made SAS-Compliant. My first goal is to make BM search in SAS compliant folder structure. Again if not possible solely for MC0/1, I can still run/install/remove but the APPINFO.PBT (DEVINFO, THMINFO etc) may or may not be able to be in single folder structure themselves SOLELY for memcard IF this bug can't be solved.
 

Similar threads

Back
Top