Ecco una nuova versione del cwcheat: la 0.2.1
Questa nuova versione aggiunge una funzione molto interessante per le vostre batterie: la variazione dinamica di frequenza.
Questa funzione permette tramite il controllo del carico della cpu (visualizzabile attivandolo dal menu di configurazione) di aumentare o ridurre la frequenza dinamicamente.
È una funzione molto utile per il notevole risparmio di batteria che si può ottenere in alcuni giochi senza dover ogni volta cambiare le impostazioni a seconda della situazione.
Inoltre ci sono alcuni fix per le memory stick maggiori dei 4gb, alcuni miglioramenti al disassemblatore e al memory editor che ora supportano correttamente la zona di ram della psx e la creazione dei trucchi appropriati per il pops.
Infine sono disponibili dei nuovi tipi di trucchi puntatore che permette la copia dei byte e il la scrittura su indirizzi multipli
ENJOY
DOWNLOAD
DONATE
Codice:
0.2.1 RELEASE
=====================
- [ALL] aggiunto un visualizzatore del carico della cpu. può essere visualizzato assieme o al posto del contatore di fps in alto a destra. È possibile
attivarlo dal menu di configurazione.
- [ALL] Aggiunto un variatore dinamico di frequenza della cpu. Questa funzione cambierà la frequenza della cpu a seconda del carico.
È estremamente flessibile grazie ad 8 variabili modificabili che lo gestiscono, modificabili editando il file cwcheat.ini (il piano di default
dovrebbe essere abbastanza consevativo nel mantentenere una frequenza alta ma è possibile renderlo più aggressivo modificando questi valori).
Questo è molto utile per aumentare la durata della batteria mantenendo comunque i programmi ad un buon livello di fluidità nei vari casi
senza dover per questo cambiare a mano continuamente la frequenza. È possible abilitare questa funzione impostando il clock della cpu come -1
nel menu principale.
Ci sono varie variabili, questa è la loro spiegazione e nelle () il valore di default:
( 56)INCREASE MHZ - questo è quanto la frequenza della cpu verrà aumentata ogni volta
( 33)DECREASE MHZ - Questo è quanto la frequnza della cpu verrà diminuita ogni volta
( 80)INCREASE LOAD - Quando la cpu ha un carico superiore a questo il variatore dinamico di frequenza verrà attivato
( 40)DECREASE LOAD - Quando la cpu ha un carico inferiore a questo il variatore dinamico di frequenza verrà attivato
( 0)INCREASE WAIT - Questo è il tempo in secondi (0 = immediato) che il variatore dinamico di frequenza attenderà con un carico
superiore a "INCREASE LOAD" prima di cambiare la frequenza
( 5)DECREASE WAIT - Questo è il tempo in secondi (0 = immediato) che il variatore dinamico di frequenza attenderà con un carico
inferiore a "DECREASE LOAD" prima di cambiare la frequenza
( 36)MIN MHZ - Questa è la frequenza minima che il variatore dinamico di frequenza potrà impostare
(333)MAX MHZ - Questa è la frequenza massima che il variatore dinamico di frequenza potrà impostare
- [ALL] Se il contatore di fps è attivato, i cambiamenti della frequenza della cpu verranno visualizzati se il variatore dinamico di frequenza è attivo
- [ALL] Varie ottimizzazioni nel menu nelle opzioni di frequenza della cpu
- [ALL] Ridotta un pichino la priorità del thread principale
- [ALL] Ora è possibile ottenere correttamente anche nelle memory stick > 4gb
- [POPS] Corrette le stringhe inglesi in modo che il memory manager (POPS) non sia mancante del testo
- [POPS] aggiunto il supporto corretto al pops nel memory editor. Prima andava fuori dall'area di ram della psx.
- [POPS] aggiunto il supporto corretto al pops nel disassembler. Prima andava fuori dall'area di ram della psx.
- [POPS] Aggiunto supporto nel memory editor per generare codici compatibili col cheat engine per il pops
- [POPS] Aggiunto supporto nel disassembler per generare codici compatibili col cheat engine per il pops
- [ALL] corretta una traduzione mancante nel disassembler
- [ALL] corretto un problema con le memory stick > 4gb che poteva prevenire la funzione di dump dal funzionare su queste schede
- [ALL] Aggiunta una traduzione svedese grazie a tostoo
- [ALL] Corretto un problema nelle stringhe italiane
- [ALL] alcuni fix per il 3.80m33
- [GAME] ora la parte nnnn dei codici pointer è presa in considerazione quindi deve essere 1 per i codici normali e > 1 per i codici con linee aggiuntive
- [GAME] Migliorati i codici puntatore e aggiunta una nuova codeline ad essi nel caso di nnnn > 1
Ci sono tre tipi di codeline aggiuntivi
-Il primo è il tipo null, questo è semplicemente 0x00000000 0x00000000 e viene usato per usare la nuova parte qqq dei codici puntatore.
aggiungerà ad ogni loop dichiarato da n l'offset q*4 all'indirizzo per caricare il puntatore iniziando con a. questo è utile se il gioco
immagazzina i puntatori uno vicino all'altro.
-Il secondo è il multi adress pointer write. Permette di fare ciò che si può fare con i multi adress byte codes ma con i puntatori.
0x6aaaaaaa 0xvvvvvvvv
0xqqqxnnnn 0xiiiiiiii
0x9sssssss 0xwwwwwwww [funziona solo su n >= 2]
a = indirizzo da cui caricare la base (zona puntata dal puntatore) 32bit
v = valore da salvare nella posizione calcolata
i = offset 32-bit da aggiungere/sottrarre alla base
x = tipo di puntatore 0 8bit, 1 16bit, 2 32bit, 3 8bit inverso, 4 16bit inverso, 5 32bit inverso
n = numero di volte da puntare (n inizia con 1 quando il codice deve essere solo un loop e non deve avere codeline aggiuntivi),
prima questo valore veniva ignorato quindi ci sono alcuni codici sbagliati con 0 qua, quei trucchi non verranno eseguiti, se sono nel db
contattatemi, in caso contrario informate chi li ha fatti. per correggerli basta aggiungere un 1 come ultima cifra es: 0x00040001
q = offset da aggiungere(*4) ad a (indirizzo) per caricare caricare la base ad ogni loop (n > 1).
s = offset da aggiungere(pointer type 0,1,2)/sottrarre(pointer type 3,4,5) alla base ad ogni loop (viene valutato in questo modo:
base+/-offset*loopnum*bytes(1,2,4)), dove loopnum è zero per il primo loop
w = valore da aggiungere a v ad ogni loop (viene valutato così: v+loopnum*w) dove loopnum è zero per il primo loop
-Il terzo tipo è il pointer copy byte. Questo tipo cambia in buona parte la funzionalità del codice puntatore:
0x6aaaaaaa 0xvvvvvvvv
0xqqqxnnnn 0xiiiiiiii
0x1sssssss 0x00000000
a = indirizzo dove caricare la base 32bit (origine)
x = 2 (È fisso)
v = numero di bytes da copiare (0 non copia nulla)
i = offset 32-bit da aggiungere alla base(origine)
q = offset(*4) da aggiungere ad aaaaaaa per caricare la base (destinazione)
n = 2 (È fisso)
s = offset 32-bit da aggiungere alla base (destinazione)
NOTA: i testi sono stati aggiornati quindi bisogna aggiornare i vostri file di linguaggio, se ne usate qualcuno.
NOTE2: per il 3.80 suggerisco di aggiornare almeno al 3.80m33-2 e usare i file dentro la cartella 360- / MS_ROOT, se invece non volete aggiornare
usate i file all'interno della cartella 371 / MS_ROOT_371
NOTE3: se volete far funzionare il variatore di frequenza dinamico correttamente con tutte le frequenze (fino a 333mhz) è preferibile impostare
la frequenza del bus a 166 in caso contrario limiterete la velocità massima della cpu (è solo una semplice regola da non prendere come perfetta)
di bus*2