[S] Plugin *neu* - tom2199 - 04.11.2010 18:15
Hallo ich suche ein Plugin dass meine START-Taste Deaktiviert und auf L + R + SELECT (oder andere [sinvolle] Tastenkombination) verlegt, da meine START-Taste ständig gedrückt wird (Wackelkontakt oder so) und ich keine lust habe, meine PSP aufzuschrauben.
Danke im voraus, tom2199
-------------------------------------------------------------------------------------------------------------------------------------------
Hallo, nun melde ich mich zurück mit einer neuen Bitte, und zwar:
Da ich mit dem Plugin nicht aus dem Spiel rausgehen kann (Die Antwort "Nein" bleibt hervorgehoben egal ob ich nach links drücke oder nicht) sowie das VSH-Menü nicht benutzen kann (PSP hängt sich auf), möchte ich fragen, ob dieser Fehler zu beheben ist. Ach ja, das Plugin sollte 6.xx kompatibel sein.
Als kleinen Leckerbissen kriegt derjenige, dessen Arbeit mir am besten gefällt, einen Portal (1) DL-Code für Steam.
PS: Es wäre schön, wenn es diesmal ein bisschen ressourcenfreundlicher gecoded sein würde.
Versteht mich bitte nicht falsch, ich hab HacKmaNs Plugin bis zum heutigen Tage benutzt, aber es ist mir schon manchmal aufgefallen (GBA Emu), dass es geruckelt hat, was vorher nicht der Fall war.
MfG tom2199
RE: [S] Plugin - gengsterbozz - 04.11.2010 19:40
ich hatte das selbe problem nur mit der volume taste also laustärke runter.. ich hab die psp aufgemacht und habs repariert ^^
mfg revo7138
RE: [S] Plugin - tom2199 - 04.11.2010 19:46
ich hatte das selbe problem nur mit der volume taste also laustärke runter.. ich hab die psp aufgemacht und habs repariert ^^
mfg revo7138
Da ich das noch nie gemacht möchte ich das gerne vermeiden.
RE: [S] Plugin - Peda1996 - 04.11.2010 22:04
da drinnen schauts sicher interressant aus....xDD
RE: [S] Plugin - HacKmaN - 04.11.2010 22:57
Ich habs dir mal schnell gecodet, allerdings mit der Tastenkombination L + R + HOME (weil select vom VSH Menü benutzt wird), wenn du ne andere Kombination willst kannst es mir gern sagen
Es funktioniert (höchstwahrscheinlich^^) nicht im GAME-Modus, weil ich jetzt nur die vshBridge gehookt habe, nicht sceCtrl. Wenn du es im Game Mode willst, dann sags mir und ich machs
Download: http://www.mediafire.com/?jwl6j5aa3yx0ic1
Falls es irgendwen interessiert, hier mal schnell der Code:
#include <pspkernel.h>
#include <pspctrl.h>
PSP_MODULE_INFO("ctrl_hook", 0x1000, 1, 1);
int (* vshCtrlReadBufferPositive) (SceCtrlData *pad_data, int count) = NULL;
int vshCtrlReadBufferPositive_patch(SceCtrlData* pad_data, int count)
{
int ret = vshCtrlReadBufferPositive(pad_data, count);
int interrupts = pspSdkDisableInterrupts();
if(pad_data->Buttons & PSP_CTRL_START)
pad_data->Buttons = pad_data->Buttons & ~PSP_CTRL_START;
if((pad_data->Buttons & PSP_CTRL_LTRIGGER) && (pad_data->Buttons & PSP_CTRL_RTRIGGER) && (pad_data->Buttons & PSP_CTRL_HOME))
pad_data->Buttons |= PSP_CTRL_START;
pspSdkEnableInterrupts(interrupts);
return ret;
};
int main_thread(SceSize args, void *argp)
{
sceKernelDelayThread(3000000);
vshCtrlReadBufferPositive = (void *)sctrlHENFindFunction("sceVshBridge_Driver", "sceVshBridge", 0xC6395C03);
u32 addr = sctrlHENFindFunction("sceVshBridge_Driver", "sceVshBridge", 0xC6395C03);
sctrlHENPatchSyscall(addr, vshCtrlReadBufferPositive_patch);
sceKernelDcacheWritebackAll();
sceKernelIcacheClearAll();
return 0;
};
int module_start(SceSize args, void *argp)
{
int thid = 0;
thid = 0;
thid = sceKernelCreateThread("main_thread", main_thread, 25, 64 * 1024, 0, NULL);
if(thid >= 0)
sceKernelStartThread(thid, args, argp);
return 0;
};
RE: [S] Plugin - Mishka84 - 04.11.2010 23:16
Ich habs dir mal schnell gecodet, allerdings mit der Tastenkombination L + R + HOME (weil select vom VSH Menü benutzt wird), wenn du ne andere Kombination willst kannst es mir gern sagen
Also du hast schon wieder einmal meinen Vollen Respekt!! Mit 14/15 schon so gut Programmieren zu können, da bin ich echt neidisch....bin zwar erst/schon 26 j. aber dazu muss man geboren sein denk ich, es ist schon ziemlich umfangreich.
PS: Kannst du mal nen VLC Media Player Decodieren und für die PsP startklar machen? Dann könnte man ja alles abspielen was man wolle ohne es vorher umwandeln zu müssen
RE: [S] Plugin - HacKmaN - 04.11.2010 23:26
Ich habs dir mal schnell gecodet, allerdings mit der Tastenkombination L + R + HOME (weil select vom VSH Menü benutzt wird), wenn du ne andere Kombination willst kannst es mir gern sagen
Also du hast schon wieder einmal meinen Vollen Respekt!! Mit 14/15 schon so gut Programmieren zu können, da bin ich echt neidisch....bin zwar erst/schon 26 j. aber dazu muss man geboren sein denk ich, es ist schon ziemlich umfangreich.
PS: Kannst du mal nen VLC Media Player Decodieren und für die PsP startklar machen? Dann könnte man ja alles abspielen was man wolle ohne es vorher umwandeln zu müssen
Also erstmal Danke fürs Lob, aber dieses Plugin war jetzt echt nicht schwer. Wenn man sich etwas mit Patchen von Modulen beschäftigt fällt es einem echt nicht schwer
Und ehrlicherweiße hab ich mich noch nie wirklich mit Sachen wie Videos/Musik (in Sachen Programieren) beschäftigt, insgesamt hab ich kaum Ahnung von Bildschirmausgabe (ich kenn einwenig mit OpenGL fürm PC aus, bin aber daran gescheitert dass ich ein Versager in Mathe bin, und z.B. keine Ahnung von Winkelfunktionen hab). Also bei solchen Fragen solltest du lieber einen Spiele-Programmierer fragen
RE: [S] Plugin - jackjason - 04.11.2010 23:47
hast auch mein lob, bist echt spitze.
was der psp fehlt ist ein ordentlicher video decoder, mit dem man avi/mpg/mkv files egal welcher auflösung abspielen kann ohne sie vorher umzuwandeln. das wäre genial.
ist das nicht irgendwie möglich? ist die psp dazu wirklich zu schwach?
RE: [S] Plugin - HacKmaN - 04.11.2010 23:57
hast auch mein lob, bist echt spitze.
was der psp fehlt ist ein ordentlicher video decoder, mit dem man avi/mpg/mkv files egal welcher auflösung abspielen kann ohne sie vorher umzuwandeln. das wäre genial.
ist das nicht irgendwie möglich? ist die psp dazu wirklich zu schwach?
Die PSP ist auf keinen Fall zu schwach dafür, sie hat einen extra Prozessor (das Media Engine, @333Mhz), der allein fürs dekodieren zuständig ist. Aber dieser dekodiert (soweit ich weiß) nur die PSP-internen Kodecs (PMF, ATRAC3, etc.).
RE: [S] Plugin - jackjason - 05.11.2010 00:15
ganz ehrlich, ich warte schon seit 2 jahren darauf dass sich da was tut, aber ich glaube nicht mehr daran. ich fänd es jedenfalls mega genial, und ich glaube dass nicht nur ich dieser meinung bin.
RE: [S] Plugin - tom2199 - 05.11.2010 17:29
Ich habs dir mal schnell gecodet, allerdings mit der Tastenkombination L + R + HOME (weil select vom VSH Menü benutzt wird), wenn du ne andere Kombination willst kannst es mir gern sagen
Es funktioniert (höchstwahrscheinlich^^) nicht im GAME-Modus, weil ich jetzt nur die vshBridge gehookt habe, nicht sceCtrl. Wenn du es im Game Mode willst, dann sags mir und ich machs
Download: http://www.mediafire.com/?jwl6j5aa3yx0ic1
Falls es irgendwen interessiert, hier mal schnell der Code:
#include <pspkernel.h>
#include <pspctrl.h>
PSP_MODULE_INFO("ctrl_hook", 0x1000, 1, 1);
int (* vshCtrlReadBufferPositive) (SceCtrlData *pad_data, int count) = NULL;
int vshCtrlReadBufferPositive_patch(SceCtrlData* pad_data, int count)
{
int ret = vshCtrlReadBufferPositive(pad_data, count);
int interrupts = pspSdkDisableInterrupts();
if(pad_data->Buttons & PSP_CTRL_START)
pad_data->Buttons = pad_data->Buttons & ~PSP_CTRL_START;
if((pad_data->Buttons & PSP_CTRL_LTRIGGER) && (pad_data->Buttons & PSP_CTRL_RTRIGGER) && (pad_data->Buttons & PSP_CTRL_HOME))
pad_data->Buttons |= PSP_CTRL_START;
pspSdkEnableInterrupts(interrupts);
return ret;
};
int main_thread(SceSize args, void *argp)
{
sceKernelDelayThread(3000000);
vshCtrlReadBufferPositive = (void *)sctrlHENFindFunction("sceVshBridge_Driver", "sceVshBridge", 0xC6395C03);
u32 addr = sctrlHENFindFunction("sceVshBridge_Driver", "sceVshBridge", 0xC6395C03);
sctrlHENPatchSyscall(addr, vshCtrlReadBufferPositive_patch);
sceKernelDcacheWritebackAll();
sceKernelIcacheClearAll();
return 0;
};
int module_start(SceSize args, void *argp)
{
int thid = 0;
thid = 0;
thid = sceKernelCreateThread("main_thread", main_thread, 25, 64 * 1024, 0, NULL);
if(thid >= 0)
sceKernelStartThread(thid, args, argp);
return 0;
};
L + R + HOME ist in ordnung.
Könntest du das ganze nochmal im Game-Modus coden?
Danke schonmal.
RE: [S] Plugin - XiaDao - 05.11.2010 18:14
HacKmaN du bist einfach nur ein Freak!
Wie stehts aus mit TiltFX Support für PSPJump?
RE: [S] Plugin - PSFAQ - 05.11.2010 18:18
@HacKmaN Du bist einer der besten.
@XiaDao96 Wartet ihr darauf?
RE: [S] Plugin - XiaDao - 05.11.2010 18:23
@HacKmaN Du bist einer der besten.
@XiaDao96 Wartet ihr darauf?
Er hatte es angeboten. Wenns allerdings zu lange dauert machn wirs selber!
RE: [S] Plugin - HacKmaN - 05.11.2010 18:27
HacKmaN du bist einfach nur ein Freak!
Wie stehts aus mit TiltFX Support für PSPJump?
Mit dem TiltFX Support schauts leider schlecht aus, siehe PSPJump Thread
@ThreadStarter: http://www.mediafire.com/?yg5tbitfbvuk6dg
Da der HOME Knopf in Spielen fürs HOME-Menü benutzt wird, ist es jetzt in Spielen doch die Kombination L + R + Select, im VSH ist es L + R + HOME.
Code (kein guter Code, ist nur in aller Schnelle geschrieben):
#include <pspkernel.h>
#include <pspctrl.h>
#include <pspinit.h>
PSP_MODULE_INFO("ctrl_hook", 0x1000, 1, 1);
int (* GetCtrlsReal) (SceCtrlData *pad_data, int count) = NULL;
int keyConf = 0;
int GetCtrlsPatch(SceCtrlData* pad_data, int count)
{
int ret = GetCtrlsReal(pad_data, count);
int interrupts = pspSdkDisableInterrupts();
if(pad_data->Buttons & PSP_CTRL_START)
pad_data->Buttons = pad_data->Buttons & ~PSP_CTRL_START;
int key = (keyConf == PSP_INIT_KEYCONFIG_VSH ? PSP_CTRL_HOME : PSP_CTRL_SELECT);
if(keyConf == PSP_INIT_KEYCONFIG_VSH)
key = PSP_CTRL_HOME;
else
key = PSP_CTRL_SELECT;
if((pad_data->Buttons & PSP_CTRL_LTRIGGER) && (pad_data->Buttons & PSP_CTRL_RTRIGGER) && (pad_data->Buttons & key))
pad_data->Buttons |= PSP_CTRL_START;
pspSdkEnableInterrupts(interrupts);
return ret;
};
u32 PatchFunction(char *modname, char *libname, int nid, void *newFunc)
{
u32 addr = sctrlHENFindFunction(modname, libname, nid);
sctrlHENPatchSyscall(addr, newFunc);
return addr;
};
int main_thread(SceSize args, void *argp)
{
sceKernelDelayThread(3000000);
keyConf = sceKernelInitKeyConfig();
if(keyConf == PSP_INIT_KEYCONFIG_VSH)
{
GetCtrlsReal = (void *)PatchFunction("sceVshBridge_Driver", "sceVshBridge", 0xC6395C03, GetCtrlsPatch);
}
else
{
GetCtrlsReal = (void *)PatchFunction("sceController_Service", "sceCtrl", 0x1F803938, GetCtrlsPatch);
PatchFunction("sceController_Service", "sceCtrl", 0x3A622550, GetCtrlsPatch);
};
sceKernelDcacheWritebackAll();
sceKernelIcacheClearAll();
return 0;
};
int module_start(SceSize args, void *argp)
{
int thid = 0;
thid = 0;
thid = sceKernelCreateThread("main_thread", main_thread, 25, 64 * 1024, 0, NULL);
if(thid >= 0)
sceKernelStartThread(thid, args, argp);
return 0;
};
RE: [S] Plugin - XiaDao - 05.11.2010 18:29
5 Minuten später ist der Code schon umgeschrieben!
RE: [S] Plugin - HacKmaN - 05.11.2010 18:50
5 Minuten später ist der Code schon umgeschrieben!
Wenn man weiß wie's geht, dauerts auch nicht lang...
RE: [S] Plugin - PSFAQ - 05.11.2010 19:08
@HacKmaN Glaub mir du weisst es!!HacKmaN ist einer der besten!!
RE: [S] Plugin - XiaDao - 05.11.2010 19:11
@HacKmaN Glaub mir du weisst es!!HacKmaN ist einer der besten!!
Ach was....
RE: [S] Plugin - tom2199 - 06.11.2010 10:27
Danke Hackman!
Leider kann ich dein Plugin erst in einer Woche ausprobieren (PSP an Freund ausgehliehen).
RE: [S] Plugin - tom2199 - 16.05.2011 13:33
Push.
Grund siehe erster Post: http://www.pspking.de/forum/showthread.php?tid=26107&pid=292254#pid292254
RE: [S] Plugin *neu* - belzebub - 16.05.2011 18:53
das plugin ist leider offline
RE: [S] Plugin *neu* - tom2199 - 16.05.2011 19:07
das plugin ist leider offline
Das ist die neue Version: http://www.megaupload.com/?d=H8GOT6VE
Die alte hab ich selbst nicht mehr.
*Edit by fkrone: Pushen ist erst nach 24 Stunden erlaubt ...*
RE: [S] Plugin *neu* - tom2199 - 18.05.2011 12:40
Push
RE: [S] Plugin *neu* - tom2199 - 19.05.2011 15:55
Push
RE: [S] Plugin *neu* - tom2199 - 20.05.2011 16:36
Push
RE: [S] Plugin *neu* - tom2199 - 21.05.2011 19:57
Puuush
RE: [S] Plugin *neu* - tom2199 - 22.05.2011 21:02
uuund nach ooben damit
RE: [S] Plugin *neu* - tom2199 - 24.05.2011 15:52
Push it.
RE: [S] Plugin *neu* - tom2199 - 31.05.2011 19:23
Push
RE: [S] Plugin *neu* - tom2199 - 02.06.2011 13:44
Pu-Pu-Pu Puuuuuush
RE: [S] Plugin *neu* - franzi136 - 18.06.2011 08:09
hallo alle zusamm!!!!
ich verzweifel echt langsam!!! bitte helft mir!!!
habe vor ca 2monaten eine psp (slim&lite) bekommen!!!jetzt hab ich mir ein spiel gekauft und soll den START knopp drücken....leider geht der,warum auch immer,nicht mehr!!!!
jetzt hab ich mir die datei runtergeladen auf meine psp gezogen und die kombination geht nicht!!!!
bitte gebt mir eine schritt für schritt anleitung was ich mit der datei machen soll (wohin kopieren??)......bin eine frau also bitte
"idioten" sicher
hab auf der psp eine "ctrl"datei gefunden hab sie
zuerst drauf gelassen--->geht nicht
dann hab ich diese datei mit der runtergeladenen ersetzt
---->geht auch nit!!!!
ich will nix anderes außer das,daß spiel los geht ohne start!!!hab leider keine garantie mehr weil die psp gebraucht is,sonst hät ich sie schon längst getauscht!!!
BITTE HELFT MIR!!!!!
RE: [S] Plugin - dark-awesome - 18.06.2011 10:21
@ThreadStarter: http://www.mediafire.com/?yg5tbitfbvuk6dg
Da der HOME Knopf in Spielen fürs HOME-Menü benutzt wird, ist es jetzt in Spielen doch die Kombination L + R + Select, im VSH ist es L + R + HOME.
#include <pspkernel.h>
#include <pspctrl.h>
#include <pspinit.h>
PSP_MODULE_INFO("ctrl_hook", 0x1000, 1, 1);
int (* GetCtrlsReal) (SceCtrlData *pad_data, int count) = NULL;
int keyConf = 0;
int GetCtrlsPatch(SceCtrlData* pad_data, int count)
{
int ret = GetCtrlsReal(pad_data, count);
int interrupts = pspSdkDisableInterrupts();
if(pad_data->Buttons & PSP_CTRL_START)
pad_data->Buttons = pad_data->Buttons & ~PSP_CTRL_START;
int key = (keyConf == PSP_INIT_KEYCONFIG_VSH ? PSP_CTRL_HOME : PSP_CTRL_SELECT);
if(keyConf == PSP_INIT_KEYCONFIG_VSH)
key = PSP_CTRL_HOME;
else
key = PSP_CTRL_SELECT;
if((pad_data->Buttons & PSP_CTRL_LTRIGGER) && (pad_data->Buttons & PSP_CTRL_RTRIGGER) && (pad_data->Buttons & key))
pad_data->Buttons |= PSP_CTRL_START;
pspSdkEnableInterrupts(interrupts);
return ret;
};
u32 PatchFunction(char *modname, char *libname, int nid, void *newFunc)
{
u32 addr = sctrlHENFindFunction(modname, libname, nid);
sctrlHENPatchSyscall(addr, newFunc);
return addr;
};
int main_thread(SceSize args, void *argp)
{
sceKernelDelayThread(3000000);
keyConf = sceKernelInitKeyConfig();
if(keyConf == PSP_INIT_KEYCONFIG_VSH)
{
GetCtrlsReal = (void *)PatchFunction("sceVshBridge_Driver", "sceVshBridge", 0xC6395C03, GetCtrlsPatch);
}
else
{
GetCtrlsReal = (void *)PatchFunction("sceController_Service", "sceCtrl", 0x1F803938, GetCtrlsPatch);
PatchFunction("sceController_Service", "sceCtrl", 0x3A622550, GetCtrlsPatch);
};
sceKernelDcacheWritebackAll();
sceKernelIcacheClearAll();
return 0;
};
int module_start(SceSize args, void *argp)
{
int thid = 0;
thid = 0;
thid = sceKernelCreateThread("main_thread", main_thread, 25, 64 * 1024, 0, NULL);
if(thid >= 0)
sceKernelStartThread(thid, args, argp);
return 0;
};
Warum hast du eigentlich das in "module_start" gemacht.
Du hast thid doch schon bei der Deklaration den Wert 0 zugewiesen.
Warum? Damit ich das auch verstehe
Oder kann es sein das es ein Fehler von dir ist, weil ich sehe keinen Sinn darin thid bei der Deklarartion den Wert 0 zuzuweisen und dann thid gleich danach noch mal den Wert 0 zuzuweisen ^^
|