KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Einfaches Plugin für 6.20 HEN
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

langsam bin ich am verzweifeln...ich versuche ein einfaches Plugin auf dem 6.20 TN-C HEN zum laufen zu bekommen. Um zu sehen ob das Plugin geladen und ausgeführt wird habe ich beim aufruf von module_start einfach einen aufruf zu sceIoOpen und sceIoWrite und sceIoClose drin. Damit soll eine einfache log-Datei geschrieben werden. Jedoch wird das file einfach nicht erzeugt...

Hier mal der Code:

PHP-Code:
int module_startSceSize argsvoid *argp )
{
    
SceUID file sceIoOpen("ms0:/seplugins/test.log"PSP_O_APPEND PSP_O_CREAT PSP_O_RDWR0777);
    if (
file >= 0){
        
sceIoWrite(file"hello\r\n"7);
        
// Close File
        
sceIoClose(file);
    }
 return 
0;


PS: unter 5.50 funktioniert das ganze...woran kann das liegen ?
Hat jemand eine Idee ? Einen Tipp ? Gibt es unter 6.20 HEN keinen Zugriff mehr auf die sceIo-Funktionen von einem Kernel-Plugin ?

Danke im vorraus...

Hast du es auf TN-D getestet?
Hi,

nein...sollte ich es machen ?

anmabagima :
Hi,

nein...sollte ich es machen ?


ich habs getestet, mit deiner letzten beta Anmabagima....ging nicht.Wink

@TN ich bin sein tester Big Grin

Also TN das Problem ist das wenn ich das Plugin aktiviere kann ich z.B. NHL07 gar nicht spielen--->die PSP hängt sich auf (nur Blackscreen und muss die PSP manuell auschalten).

Sobald ich es deaktiviere kann ich das Game wieder spielen.

steht in deinem Makefile
include $(PSPSDK)/lib/build_prx.mak
oder
include $(PSPSDK)/lib/build.mak
???

wenn du include $(PSPSDK)/lib/build.mak verwendest, wird module_start aus der crt0.o verwendet und deine eigen verpufft.

poste doch mal dein Makefile und die main.c

ardi
Das Plugin stürtzt ab, weil der Code für die Ermittlung der Game-Info aus der ISO/der UMD nicht klappt unter 6.20 ... aber selbst wenn der teil raus ist klappt das irgendwie nicht. Darum versuche ich mich nun mit einem einfachen Plugin ranzutasten und das erstmal unter 6.20 TN-HEN zum laufen zu bringen bevor ich mich wieder an das 3D-PLugin wage :o)
Hi,

ok..hier die files:

MAKEFILE:

PHP-Code:
TARGET  test620
OBJS    
main.o debug.o exports.
# Use only kernel libraries 
USE_KERNEL_LIBS 
USE_KERNEL_LIBSC 
1

LIBS    
= -lpspsystemctrl_kernel -lpspctrl_driver -lpsppower -lpspgum -lm 
CFLAGS  
= -O2 -G0 -Wall -fno-builtin-printf -ffast-math
ASFLAGS 
= $(CFLAGS)

PSP_FW_VERSION 550

PSPSDK
=$(shell psp-config --pspsdk-path)
include $(
PSPSDK)/lib/build_prx.mak 


die Exports:

PHP-Code:
PSP_BEGIN_EXPORTS
PSP_EXPORT_START
(syslib00x8000)
PSP_EXPORT_FUNC(module_start)
PSP_EXPORT_FUNC(module_stop)
PSP_EXPORT_VAR(module_info)
PSP_EXPORT_END

PSP_END_EXPORTS 


und die main.c

PHP-Code:
/*------------------------------------------------------------------------------*/
/* module info                                                                    */
/*------------------------------------------------------------------------------*/
PSP_MODULE_INFO"PI620"PSP_MODULE_KERNEL1);//PSP_MODULE_USER, 1, 1);//PSP_MODULE_KERNEL, 1, 1 );
char running 1;

static 
int MainThreadSceSize argsvoid *argp )
{
#ifdef DEBUG_MODE
    
debuglog("Plugin started\r\n");
#endif
    
while(running)
    {
        
sceKernelDelayThread(10000);
    }
    return( 
);
}

/*------------------------------------------------------------------------------*/
/* module_start                                                                    */
/*------------------------------------------------------------------------------*/

int MainThreadID 0;

int module_startSceSize argsvoid *argp )
{
#ifdef DEBUG_MODE
    
debuglog("plugin module_start\r\n");
#endif
    
MainThreadID sceKernelCreateThread"PSP3DPlugin"MainThread250x100000NULL );
    if ( 
MainThreadID >= )
    {
        
sceKernelStartThreadMainThreadIDargsargp );
    }
    
    return( 
);


die debuglog Funktion macht nix anderes als sceIoOpen, Write und Close in ein Text-File...

Ich hoffe ihr könnt helfen ;o)

Unter TN-D gehts leider auch nicht...

Ich kann keinen Fehler erkennen. Sollte eigentlich funktionieren.
Ich Schreibe ebenfalls ein Logfile (genau wie du).
Und das funktioniert perfekt beim HEN-C/-D

ardi
Hi,

danke für die Rückmeldung...schön, dass du keinen Fehler siehst...und schade, dass es nur "eigentlich" gehen müsste Smile...

Kannst du unterschiede zu deinem erkennen ? Nutzt du acuh Kernel-Mode ?
VG
Nimm mal PSP_FW_VERSION weg.
Ins Makefile BUILD_PRX = 1.
Ich hoffe es geht danach.
@Total_Noob: Hi...leider ohne Erfolg...
@Chaosduckman: Hi, leider hat das auch nix gebracht...ich dachte dass build_prx.mak das automatisch im "bauch" hat...
Versuchs mal mit den PSP_EXPORT_..._HASH Dingern

Code:
PSP_BEGIN_EXPORTS
PSP_EXPORT_START(syslib, 0, 0x8000)
PSP_EXPORT_FUNC_HASH(module_start)
PSP_EXPORT_VAR_HASH(module_info)
PSP_EXPORT_END
PSP_END_EXPORTS


ardi

PS: ja ich benutze auch Kernelmode

Hi ardi,

danke...hab' ich probiert...leider ohne erfolg...kann das daran liegen dass ich MinPSPW (neueste version 10) nutze ? Compilierst du über die "normale/alte" toolchain ?

VG anmabagima

Code:
TARGET = test620
OBJS = main.o exports.o

CFLAGS  = -O2 -G0 -Wall -fno-builtin-printf -ffast-math
ASFLAGS = $(CFLAGS)

BUILD_PRX = 1

USE_KERNEL_LIBS = 1
USE_KERNEL_LIBC = 1

LIBS = -lpspsystemctrl_kernel -lpspctrl_driver -lpsppower -lpspgum -lm

PSPSDK = $(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build_prx.mak


Damit sollte es funktionieren Smile

USE_KERNEL_LIBSC sollt eigentlich USE_KERNEL_LIBC sein Tongue

Seiten: 1 2
Referenz-URLs