KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Ultimate vshmenu Final
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Wie mir Total_Noob nun via MSN mitteilte, arbeitet er momentan an der finalen Version seines Ultimate vshmenu's, welches das originale um ein paar nützliche Funktionen erweitert.
Jedoch fehlen ihm Ideen, er weiß nicht welche Funktionen er noch mit einbringen soll.

Da kommt ihr ins Spiel, postet in diesem Thread was ihr euch wünscht, oder was entfernt werden soll. Der Übersicht halber, am besten so:

[ ] Suspend Device (wenn etwas entfernt werden soll)
[x] (wenn etwas hinzugefügt werden soll)
welche funktionen hat das programm denn schon?
[ ] Exit (Wofür gibt es denn den Select-knopf)
[ ] Load Eboot (Pfad abändern, siehe unten)
[ ] Autorun Program
[ ] Hide MAC-Adress
[ ] Skip Sony Logo

[X] use version.txt
[X] Fake Region
[X] Recovery Flasher (So als Ersatz für "Load Eboot")


Das ist erstmal meine Ansicht.
Das andere bereits vorhandene...
{CPU XMB, CPU GAME, USB DEVICE, UMD/ISO MODE, GAME KERNEL, SPEED UP MS, USB CHARGE, SCREENSHOT, CONVERT BATTERY, ISO VIDEO MOUNT, SHUTDOWN, REBOOT, RECOVERY MENU}
... sollte so bleiben, wie es ist.
ein task manager wäre interesant
Wie meinste denn das??

The Z :
Wie meinste denn das??


Er meint einen Art Task-Manager wie bei Windows... dass dürfte eigentlich machbar sein, ich hab auch schon ne Theorie (halt ein einfacher Thread-Manager), aber ich weiß nicht ob es funktionieren würde:

Code:
// Als erstes die Thread UIDs einlesen:
SceUID readbuf[0x1000]; // ein Array mit 256 SceUIDs erstellen
memset(readbuf, 0, 256 * sizeof(SceUID)); // das komplette Array mit Nullen füllen
int count = 0;
int i = 0;
/*
* eine Liste aller Thread IDs im readbuf speichern. Es werden
* höchstens 256 * sizeof(SceUID) Bytes eingelesen, damit nicht
* Speicherplätze außerhalb des Array-Bereichs überschrieben werden.
* In der Variable 'count' wird die Anzahl der Threads gespeichert.
* Die Funktion gibt bei Fehlern eine Zahl kleiner Null zurück.
*/
i = sceKernelGetThreadmanIdList(SCE_KERNEL_TMID_Thread, readbuf, 256 * sizeof(SceUID), &count);
if(i < 0)
     // error

// Dann den Namen ermitteln:

/*
* Für jeden Thread eine SceKernelThreadInfo Struktur erstellen
* (auf dem Heap, damit genau so viel Strukturen erstellt werden
* wie benötigt)
*/
SceKernelThreadInfo *thstat = malloc(count * sizeof(SceKernelThreadInfo));

// Alle Strukturen mit Nullen füllen
memset(thstat, 0, count * sizeof(SceKernelThreadInfo));
for(i = 0; i < count; i++)
{
     /*
      * Diese Funktion liest die Informationen über einen Thread
      * in eine SceKernelThreadInfo Struktur ein. Die Funktion
      * gibt bei Erfolg 0 zurück, ansonsten einen Fehler Code.
      */
     if(sceKernelReferThreadStatus(readbuf[i], &thstat[i]) != 0)
          // error
     // der Thread Name steht jetzt in thstat[i].name
};

// bla bla bla
// ggf. den Thread beenden:
sceKernelTerminateDeleteThread(readbuf[xyz]);

// und so weiter, ich denke die pspsdk Dokumentation beschreibt alles.


Dann halt noch ein einfaches Menü dazu (wie halt der Rest im Ultimate VSH Menu), und schon dürfte ein einfacher Threadman zum Anschauen und Terminieren von Threads fertig sein Smile
Weiß aber wie gesagt nicht, ob dass funktionieren würde.
Und man sollte meiner Meinung nach dann auch ne Sperre einbauen, die verhindert dass System Threads terminiert werden... dürfte sich aber einfach durch vergleichen der Thread Namen verwirklichen lassen.

//EDIT: Ich habs wohl etwas zu stark kommentiert... xD

Dann würde ich füür den taskmanager aber eine andere taste als select nehmen, vielleicht home + R...

The Z :
Dann würde ich füür den taskmanager aber eine andere taste als select nehmen, vielleicht home + R...


Ich hätte evtl. an einen neuen Eintrag im Menü gedacht, aber dass ist Total_Noobs Sache Wink

Hide Mac Address sollte auf jeden Fall drin bleiben.
Warum??

The Z :
Warum??


Wieso nicht? Die Hide Mac Address Funktion find ich klasse!

Kompatibel mit dem neuen URM machen. Oder anderstrum
Bin momentan dran es kompatibel zu machen Smile

gutster :
Kompatibel mit dem neuen URM machen. Oder anderstrum


URM == Ultimate Recovery Menu, oder?
Wenn ja: Auf 3Ks ists schon kompatibel (auf jeden Fall bei mir -.-), aber auf den anderen PSPs scheints nicht zu funzen. Aber -blue7 arbeitet schon dran (sollte eig. ganz einfach sein: alle VSH threads stoppen und dann erst das VLF starten).

//EDIT: BlauSieben war schneller Tongue

Danke für eure Ideen Jungs, aber es sind noch zu wenig.

So, ein paar Infos zur Final Version:
- Diesmal hookt das Plugin die ganze VshCtrlSatelite Module.
Beispiel:

Code:
//Patch title name & position
        _sw(0x24040000 | 21 * 8, text_addr + 0x9B4);
        _sw(0x3C060000 | ((int)title_name >> 16), text_addr + 0x9BC);
        _sw(0x24C60000 | ((int)title_name & 0xFFFF), text_addr + 0x9C4);

- Das Plugin wird Open Source sein.
- Momentan hat das Vshmenu folgende Items:

Zitat:
CPU CLOCK XMB
CPU CLOCK GAME
USB DEVICE
UMD ISO MODE
SLIM COLORS/USB CHARGE
HIDE MAC ADDRESS
HIDE UMD UPDATE
CONVERT BATTERY
ISO VIDEO MOUNT
SHUTDOWN DEVICE
REBOOT DEVICE
RECOVERY MENU
EXIT


Edit:
@Hackman
Die Threads werden schon im vsh menu gestoppt.

Seiten: 1 2
Referenz-URLs