Skip to content

Commit

Permalink
Merge pull request #2 from marcussacana/uibase
Browse files Browse the repository at this point in the history
Implementation Improved
  • Loading branch information
marcussacana committed Dec 20, 2022
2 parents bde8531 + 82d4c08 commit 12e2164
Show file tree
Hide file tree
Showing 1,641 changed files with 194,667 additions and 1,067 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Expand Up @@ -48,3 +48,6 @@ eboot.bin
!mono/*
!mono/4.5
!mono/4.5/*


.vs/
9 changes: 6 additions & 3 deletions Makefile
Expand Up @@ -5,7 +5,7 @@ TITLE_ID := MONO00001
CONTENT_ID := IV0000-MONO00001_00-MONOSAMPLE000000

# Libraries linked into the ELF.
LIBS := -lc -lkernel -lc++ -lSceSystemService -lSceUserService -lSceSysmodule -lSceMsgDialog
LIBS := -lc -lkernel -lc++ -lSceSystemService -lSceUserService -lSceSysmodule -lSceMsgDialog -lSceFreeType

# Additional compile flags.
#EXTRAFLAGS :=
Expand Down Expand Up @@ -54,19 +54,22 @@ ifeq ($(UNAME_S),Darwin)
CDIR := macos
endif

#DotNet Bundle Fix

all: $(CONTENT_ID).pkg

$(CONTENT_ID).pkg: export DOTNET_BUNDLE_EXTRACT_BASE_DIR=$(TOOLCHAIN)/bin/$(CDIR)/tmp
$(CONTENT_ID).pkg: main.exe
$(CONTENT_ID).pkg: pkg.gp4
$(TOOLCHAIN)/bin/$(CDIR)/PkgTool.Core pkg_build $< .

pkg.gp4: eboot.bin main.exe main.pdb sce_sys/about/right.sprx sce_sys/param.sfo sce_sys/icon0.png $(LIBMODULES) $(ASSETS)
pkg.gp4: eboot.bin main.exe main.pdb sce_sys/about/right.sprx sce_sys/param.sfo sce_sys/icon0.png sce_sys/pic0.png sce_sys/pic1.png $(LIBMODULES) $(ASSETS)
$(TOOLCHAIN)/bin/$(CDIR)/create-gp4 -out $@ --content-id=$(CONTENT_ID) --files "$^ $(wildcard mono/**/*)"
sed -i "s/<dir targ_name=\"sce_sys\">/<dir targ_name=\"mono\">\n\t\t\t<dir targ_name=\"4.5\" \/>\n\t\t<\/dir>\n\t\t<dir targ_name=\"sce_sys\">/" pkg.gp4


main.exe: sce_module/libSDL2.sprx
msbuild main/main.sln -t:Restore -p:Configuration=$(BUILDTYPE)
msbuild main/main.sln -t:Rebuild -p:Configuration=$(BUILDTYPE)
mv -f main/main/bin/x64/$(BUILDTYPE)/main.exe ./main.exe
mv -f main/main/bin/x64/$(BUILDTYPE)/main.pdb ./main.pdb
Expand Down
36 changes: 20 additions & 16 deletions PS4-OpenOrbis-Mono/io.c
@@ -1,5 +1,6 @@
#include <orbis/libkernel.h>
#include <dirent.h>
#include <stdarg.h>

char appRoot[0x100] = "\x0";
char baseCon[0x100] = "\x0";
Expand All @@ -8,39 +9,42 @@ char mainExe[0x100] = "\x0";

void klog(const char* str)
{
char buff[0x300];
sprintf(&buff, "%s\n", str);
char buff[0x600];
sprintf(&buff, "[OpenOrbisMono] %s\n", str);
sceKernelDebugOutText(0, buff);
}

void klogf(const char* str, void* val)
void klogf(const char* str, ...)
{
char buff[0x300];
char buff2[0x300];
sprintf(&buff, "%s\n", str);
sprintf(&buff2, &buff, val);
sceKernelDebugOutText(0, buff2);
char buff[0x600];

va_list arg;
va_start(arg, str);
vsprintf(buff, str, arg);
va_end(arg);

klog(buff);
}

int direxists(const char* path){
int direxists(const char* path)
{
void* dp = opendir(path);
if (dp == 0)
return 0;
closedir(dp);
return 1;
}

void findAppMount(char* path){
void findAppMount(char* path)
{
void* dp;
struct dirent *ep;
struct dirent* ep;

char* MountID = sceKernelGetFsSandboxRandomWord();

dp = opendir("/mnt/sandbox/");
if (dp != 0)
{
while (ep = readdir(dp))
{
if (dp != 0) {
while (ep = readdir(dp)) {
char sbPath[0x100];
sprintf(&sbPath, "/mnt/sandbox/%s/%s", ep->d_name, MountID);

Expand All @@ -51,6 +55,6 @@ void findAppMount(char* path){
klogf("mount dir found: %s", path);
break;
}
closedir(dp);
closedir(dp);
}
}
2 changes: 1 addition & 1 deletion PS4-OpenOrbis-Mono/io.h
Expand Up @@ -5,6 +5,6 @@ extern char mainExe[0x100];


void klog(const char* str);
void klogf(const char* str, void* val);
void klogf(const char* str, ...);
void findAppMount(char* path);

44 changes: 44 additions & 0 deletions PS4-OpenOrbis-Mono/jailbreak_man.c
@@ -0,0 +1,44 @@
#include "mono.h"
#include "jailbreak_man.h"
#include "ps4-libjbc/jailbreak.h"

struct jbc_cred OriCred;

int jailbroken = 0;

int jailbreak(U64 authID)
{
if (jailbroken)
return 0;

struct jbc_cred cr;
if(jbc_get_cred(&cr))
return -1;
if(jbc_get_cred(&OriCred))
return -1;
if(jbc_jailbreak_cred(&cr))
return -1;

if (authID){
cr.jdir = 0;
cr.sceProcType = authID;
cr.sonyCred = 0x40001c0000000000;
cr.sceProcCap = 0x900000000000ff00;
}
if(jbc_set_cred(&cr))
return -1;

jailbroken = 1;
return 0;
}


int unjailbreak()
{
if (!jailbroken)
return 0;
if(jbc_set_cred(&OriCred))
return -1;
jailbroken = 0;
return 0;
}
7 changes: 7 additions & 0 deletions PS4-OpenOrbis-Mono/jailbreak_man.h
@@ -0,0 +1,7 @@
#include "mono.h"
#include "ps4-libjbc/jailbreak.h"

extern struct jbc_cred OriCred;
extern int jailbroken;
extern int jailbreak(U64 authID);
extern int unjailbreak();

0 comments on commit 12e2164

Please sign in to comment.