cw cheat 0.1.1 by weltall (c) 2006 www.consoleworld.org weltall@consoleworld.org
----------------------------------
ITALIANO
----------------------------------
Questo programma permette a chiunque di usare trucchi
nei giochi attraverso la modifica dei dati in ram della psp
attraverso codici creabili da chiunque (come action replay,
codebreaker, gameshark, xploder, ect).
Per ulteriori informazioni vedere il changelog

Gli ultimi aggiornamenti sono sempre disponibili su
http://www.consoleworld.org e http://weltall.consoleworld.org
Le ultime versioni del database sono scaricabili da
http://cwcheat.zioale.it/
Se create qualche trucco ci farebbe piacere inserirlo nel database principale :)
se  un lungo trucco o se sono molti trucchi contattatemi :)

Se trovate qualche bug potete inserirlo su bugzilla:
http://weltall.consoleworld.org/cgi-bin/bug/index.cgi :)

Questo  programma che  nato nel lontano marzo
mentre sperimentavo l'uso dei prx.
Dopo alcuni giorni di prove, vedendo che potevo
dumpare e modificare la ram dei giochi senza
problemi io insieme a sincro abbiamo iniziato
questo progetto.
Mentre io mi dedicavo al core (il prx), lui si
dedicava al loader (un eboot), a un programma
di ricerca di valori nei dump della ram fatto in VB
e allo sviluppo del formato del database.
A met aprile per persi i contatti con sincro e
a causa di alcuni problemi con runumd questo progetto
si aren.
Con l'uscita di devhook e con i primi tentativi di
caricarci prx (usbhostfs e lo screenshotbmp),
ripresi in mano il progetto scartando il loader
(non pi necessario) e adattando il core in modo
da poter funzionare in modalit standalone e 
reimplementando le funzioni mancanti nelle lib
del kernel.
Nel frattempo ho aggiunto altre funzioni al prx
rendendolo pi completo per l'uso anche come menu
in-game per altri usi.
Oltre a questo zio`ale ha sviluppato un sito in php
in grado di fornire e generare automaticamente un db
con gli ultimi codici inseriti nel database del sito.
------------------------------------
CHANGELOG:

0.1.1 RELEASE

[CORE PRX]
-Ora si pu uscire dal menu principale con O
-Ora nel menu principale se si preme X su return to game (o O)
 il prx aspetter che venga rilasciato il tasto prima di tornare
 al gioco, per evitare azioni non volute nel gioco
-Nei sotto menu ora aspetta che venga rilasciato il pulsante cerchio
 durante l'uscita
-Ora premendo SU quando si  sulla prima voce del menu verr selezionata
 l'ultima; viceversa premendo GIU quando si  sull'ultima opzione del
 menu la prima verr selezionata
-Nel menu cheat selection ora tenendo premuto un tasto questo verra
 automaticamente ripetuto cos  possibile spostarsi nella lista
 facilmente
-Ora i dump possibili sono infiniti sono fatti in diversi file finch c'
 spazio disponibile. quando finisce inizia di nuovo sovrascrivendo il primo
 dump
-aggiuto 33mhz per la cpu e 16mhz per il bus
-Aggiunta una funzione per abilitare l'usb. Carica in game la funzione usb mass
 cos  possibile accedere alla memory stick mentre si sta giocando per fare i
 codici pi velocemente e senza un lettore di schede.
 NOTE1: viene disabilitato durante il dump e riattivato subito dopo
 NOTE2: in alcuni casi scrivere sulla ms dal pc non aggiorna la cache
        dei file e quindi se si cerca per esempio di caricare un database
        cambiato, verr caricato ancora quello vecchio.
        Se capita un work around  tirare fuori e poi rienserire la
        memory stick.
 NOTE3:  necessario disabilitare usbhostfs per poter usare l'usbmass
-aggiunta opzione "enable usb"
-corretti alcuni buffer overflow nelle funzioni di parsing del cheat.db
-ora  possibile dare ai giochi nomi fino a 30 caratteri (prima erano 20)
-ora  possibile dare ai cheat nomi fino a 30 caratteri (prima erano 20)
-ora  possibile caricare fino a 500 cheats per gioco (prima erano 400)
-Alcune piccole cose e ottimizzazioni

[INSTALLER EBOOT]
-Aggiornato il database incluso
-Aggiornato il prx incluso
-Aggiunta l'opzione usb enable
-Ora  possibile configurare cwcheat dall'installer anche senza il cwcheat.ini

[CERCATORE DI CHEAT]
-ora  possibile forzare una ricerca 8/16/32bit o tenere AUTO come prima
-ora le ricerche 16/32bit hanno l'endianess corretto (little endian)
 quindi se avevate problemi con queste ricerche riprovate
-ora  in inglese e italiano!

0.1 RELEASE

[CORE PRX]
-supporto funzioni di devhook e cambio della sua configurazione
 (mhz cpu/bus, versione devhook)
-in game menu con pausa di tutti i tread
-supporto visualizzazione dimensione/spazio libero memory stick
-supporto visualizzazione frequenza effettiva cpu/bus
-supporto visualizzazione informazioni avanzate sulla batteria
 (% carica, tempo carica, status di ricarica, volt)
-ricaricamento database durante il gioco 
 (utile per trovare nuovi trucchi)
-funzione di dump della ram su file
-supporto cambio bottoni per le funzioni principali
 (apertura menu, dump della ram, abilitazione/disabilitazione
  trucchi, applicazione one-time dei trucchi)
-mini text reader (pu leggere file che sono in grado di stare
 nello schermo della psp gli altri sono troncati)
-abilitazione trucchi onetime da menu
-menu di selezione cheat con supporto abilitazione/disabilitazione
 anche di tutti i trucchi e con testo informativo. Utilizzabile
 anche durante il gioco
-possibilit di settare il delay di applicazione dei trucchi e
 controllo dei tasti premuti
-possibilit di settare cpu (0, 111, 222, 333) 
 e bus (0, 37, 54, 111, 133, 166) con applicazione immediata
-il menu mantiene come sfondo l'immagine del gioco finch non
 viene sovrascritta:  possibile disattivare questa funzione
 e avere uno sfondo nero
-possibilit di attivare/disattivare la funzione dump
-possibilit di attivare/disattivare l'applicazione dei trucchi
 dal menu
-protezione online gaming: se lo switch wlan  su (attivo) 
 i trucchi non vengono applicati
-visualizzazione nome gioco (se presente nel DB) e ID del gioco
-codici supportati (alcuni non  stato possibile testarli
 se siete in grado di testarli e non vi funzionano
 potreste mandarmi il codice e potrei vedere perch non va)
 *16-bit Greater Than : Multiple Skip 	Ennndddd 3aaaaaaa
 *16-bit Less Than : Multiple Skip 0xEnnndddd 0x2aaaaaaa
 *16-bit Not Equal : Multiple Skip 0xEnnndddd 0x1aaaaaaa
 *16-bit Equal : Multiple Skip	0xEnnndddd 0x0aaaaaaa
 *16-bit greater than - TEST CODE - 0xDaaaaaaa 0x0030dddd
 *16-bit less than - TEST CODE - 0xDaaaaaaa 0x0020dddd
 *16-bit not equal - TEST CODE - 0xDaaaaaaa 0x0010dddd
 *16-bit equal - TEST CODE -   	0xDaaaaaaa 0x0000dddd
 *code stopper  0xCaaaaaaa 0xvvvvvvvv
 *Time Command  0xB0000000 0xnnnnnnnn (based on cheat delay)
 *16-bit XOR - 0x7aaaaaaa 0x0005vvvv
 *8-bit XOR -  0x7aaaaaaa 0x000400vv
 *16-bit AND -	0x7aaaaaaa 0x0003vvvv
 *8-bit AND - 	 0x7aaaaaaa 0x000200vv
 *16-bit OR -	 0x7aaaaaaa 0x0001vvvv
 *8-bit OR - 	 0x7aaaaaaa 0x000000vv
 *[pointer command] 32-bit write	0x6aaaaaaa 0xvvvvvvvv 0x0002nnnn 0xiiiiiiii
 *[pointer command] 16-bit write	0x6aaaaaaa 0x0000vvvv 0x0001nnnn 0xiiiiiiii
 *[pointer command] 8-bit write	0x6aaaaaaa 0x000000vv 0x0000nnnn 0xiiiiiiii
 *copy byte	0x5aaaaaaa 0xnnnnnnnn 0xbbbbbbbb 0x00000000
 *[tp]32-bit Multi-Address Write 	0x4aaaaaaa 0xxxxxyyyy 0xdddddddd 0x00000000
 *32-bit decrement 0x30500000 0xaaaaaaaa 0xnnnnnnnn 0x00000000
 *32-bit increment 0x30400000 0xaaaaaaaa 0xnnnnnnnn 0x00000000
 *16-bit decrement 0x3030nnnn 0xaaaaaaaa
 *16-bit increment 0x3020nnnn 0xaaaaaaaa
 *8-bit decrement 0x301000nn 0xaaaaaaaa
 *8-bit increment 0x300000nn 0xaaaaaaaa
 *[t]32-bit Constant write 0x2aaaaaaa 0xdddddddd
 *[t]16-bit Constant write 0x1aaaaaaa 0x0000dddd
 *[t]8-bit Constant Write 0x0aaaaaaa 0x000000dd

 [t] sono testati e sicuramente funzionanti
 [tp] testati ma non a sufficienza e/o con codici reali
 per ulteriori informazioni consiglio questo sito:
 http://www.codemasters-project.net/portal-english/apportal/cmp_plugins/content/content.php?content.23
 
 NB: i codici sono in formato relativo rispetto all'inizio dell'area
     user della ram. quindi l'indirizzo assoluto 
     indirizzo relativo + 0x08800000
     Quindi per convertire dei trucchi in formato assoluto basta
     sottrarre 0x08800000 all'indirizzo del codice

-possibilit di salvare tutta la configurazione che verr
 caricata all'avvio (modificabile a mano e salvata in
 /dh/CWCHEAT.INI)
-funziona su tutti i firmware che funzionano sotto devhook

[INSTALLER EBOOT]
-funziona sotto 1.50 (1.00 non testato)
-contiene tutti i dati necessari in un solo eboot
-copia automaticamente il prx, il db incluso nelle cartelle corrette
 (prx => /dh/kd/cwcheat.prx, db => /dh/cheat.db)
-aggiunge automaticamente nei file pspbtcnf.txt (caricamento nella vsh)
 e/o pspbtcnf_game.txt (caricamento nel gioco) i dati necessari
-funzione di ripristino che controlla l'uguaglianza binaria del file
 con quello embedded nell'installer e permette di ripristinare prx,
 db e richiami nei file pspbtcnf.txt/pspbtcnf_game.txt; permette anche
 di modificare l'installazione e di caricare il prx in firmware diversi
-funzione di configurazione del prx ( sempre consigliabile farlo dal prx)
-funzione di disinstallazione che cancella db, prx e ogni riferimento in
 ogni file pspbtcnf.txt/pspbtcnf_game.txt di ogni firmware
-grafica by ale275

[CERCATORE DI CHEAT]
-fatto da sincro
-ricerca valori 8/16/32 bit con rilevamento automatico
-ricerca in pi passi con salvataggio dei risultati di ogni passo
 e creazione voce di db
-modalit ricerca differenze tra dump ( > e <)

----------------------------------------------------
TODO:

-Salvataggio stato abilitazione/disabilitazione trucchi
-scaricamento ultima versione db direttamente dalla psp
-controllare funzionamento di tutti i tipi di trucchi
-aggiungere giochi nel db
-ottimizzare il codice
-completare il text reader
-aggiungere funzioni nel formato del db
-aggiungere supporto per il caricamento nel custum firmware
-cambio metodo di applicazione dei cheat
-aggiunta jocker codes
-ricerca codici dalla psp
-aggiunta codici dalla psp
-altro (si accettano idee :P)

----------------------------------------------------
ENGLISH
----------------------------------------------------
This is a prx which works under devhook and can cheat
every devhook-compatible game under firmware emulation
This works trought raw-relative cheat codes like
action replay, codebreaker, gameshark, xploder, etc.
Other than this, it has support to other function
which are usefull for cheat finder and normal users
(like battery, cpu/bus clock, devhook version, 
 ms free/total space information)

The latest updates are always available on
http://www.consoleworld.org and http://weltall.consoleworld.org
The latest database version is available from
http://cwcheat.zioale.it/
If you make a cheat we would like to add it on the main database :)
if it's a long cheat or if you have a lot of cheats just contact me :)

if you found any bug just report it on bugzilla:
http://weltall.consoleworld.org/cgi-bin/bug/index.cgi :)

This project originally started in march with some
simple tests of prx functionality (like loading 1.50
vsh) then with the help of sincro (which developed
a loader and a cheat searcher) it evolved in a cheat
device.
But later in April this was discontinued because I couldn't
anymore contact sincro and problems with runumd.
Then... devhook with firmware emulation came... and
also some prxs appeared... so i decided to take again
that project and i ported successfully it to devhook
as a builtin prx without any loader (so the old loader
was removed from the project) and now it works as a
in-game menu and cheat device.

------------------------------------------------------
CHANGELOG:

0.1.1 RELEASE

[CORE PRX]
-now you can exit the main menu with O
-in the main menu if you press X on return to game (or O)
 the prx will  wait for you to release the x button. 
 In this way you will avoid not wanted keypresses when exiting
-in the submenus it will wait you to release O button when exiting
-now when you press up when you are on the first entry it will go
 to the last entry. If you press down when you are on the last entry
 it will go to the first entry
-in the cheat selection submenu you can keep a button pressed and it
 will automatically repeat so you can scrool large code list in less
 time
-Now dump are endless they will be made in different files till you
 finish the free space on memory stick then it will start again with
 the first dump
-added 33 mhz for cpu and 16mhz for bus
-added an enable usb function. it will load in game the usb mass function
 so you can access your ms while playing to make cheat quicker and without
 a card reader.
 NOTE1: it will be disabled while dump to be re-enabled after
 NOTE2: sometimes when writing to ms from pc the psp doesn't
        flush the cache so if you change the database it could
        still be not updated. if this happen a workaround is
        ejecting the memory stick and putting it in again.
 NOTE3: you need to disable usbhostfs to make usb mass work
-added "enable usb" options
-fixed some buffer overflow in the cheat.db parsing function
-now you can give to the game names up to 30 chars (before was 20)
-now you can give to the cheat names up to 30 chars (before was 20)
-now you can store up to 500 cheats for game (before was 400)
-other little things and optimizations

[INSTALLER EBOOT]
-updated included database
-updated included prx
-added option usb enable
-now you can configure cwcheat from the installer also without the cwcheat.ini

[CHEAT FINDER]
-now you can force 8/16/32bit search or keep to AUTO like before
-now 16/32bit search have the right endianess (little endian)
 so if you had problem with these searches before try again
-NOW IT'S IN ENGLISH AND ITALIAN!

0.1 RELEASE

[CORE PRX]
-support for some devhook function and configuration change
 (cpu/bus mhz, devhook version)
-in game menu with pausing of all the threads
-shows free space/size of the memory stick
-shows effective cpu/bus frequence
-shows advanced informations about the battery
 (charge %, time left, charging status, volt)
-reloading of the cheat database while in-game
 (usefull to find new cheats)
-support to change buttons for the principal function
 (menu opening, ram dumping, abilitation/deabilitation cheats,
  one-time cheat application)
-mini text reader (it can read text which can stay on the psp screen,
 the rest of the files will be truncated)
-one-time chat apply from menu
-cheat selection menu with abilitation/deabilitation of 
 single/all cheats and with cheat description, usable also ingame
-you can set a delay of the cheat application and check of pressed
 buttons (1-10 sec)
-You can set the cpu clock (0, 111, 222, 333) 
 e bus clock(0, 37, 54, 111, 133, 166) with immediate application.
-the menu mantains the game screen of the not overwritten areas:
 it's possible to disable this function
-you can enable/disable dump function
-you can enable/disable cheat application from the menu
-online gaming protection: if the wlan switch is on
 the cheats won't be applied
-shows game name (if present on the DB) and game ID
-supported codes(some couldn't be tested if they don't work for you
 tell me what goes wrong and a sample code to exploit the problem)
 *16-bit Greater Than : Multiple Skip 	Ennndddd 3aaaaaaa
 *16-bit Less Than : Multiple Skip 0xEnnndddd 0x2aaaaaaa
 *16-bit Not Equal : Multiple Skip 0xEnnndddd 0x1aaaaaaa
 *16-bit Equal : Multiple Skip	0xEnnndddd 0x0aaaaaaa
 *16-bit greater than - TEST CODE - 0xDaaaaaaa 0x0030dddd
 *16-bit less than - TEST CODE - 0xDaaaaaaa 0x0020dddd
 *16-bit not equal - TEST CODE - 0xDaaaaaaa 0x0010dddd
 *16-bit equal - TEST CODE -   	0xDaaaaaaa 0x0000dddd
 *code stopper  0xCaaaaaaa 0xvvvvvvvv
 *Time Command  0xB0000000 0xnnnnnnnn (based on cheat delay)
 *16-bit XOR - 0x7aaaaaaa 0x0005vvvv
 *8-bit XOR -  0x7aaaaaaa 0x000400vv
 *16-bit AND -	0x7aaaaaaa 0x0003vvvv
 *8-bit AND - 	 0x7aaaaaaa 0x000200vv
 *16-bit OR -	 0x7aaaaaaa 0x0001vvvv
 *8-bit OR - 	 0x7aaaaaaa 0x000000vv
 *[pointer command] 32-bit write	0x6aaaaaaa 0xvvvvvvvv 0x0002nnnn 0xiiiiiiii
 *[pointer command] 16-bit write	0x6aaaaaaa 0x0000vvvv 0x0001nnnn 0xiiiiiiii
 *[pointer command] 8-bit write	0x6aaaaaaa 0x000000vv 0x0000nnnn 0xiiiiiiii
 *copy byte	0x5aaaaaaa 0xnnnnnnnn 0xbbbbbbbb 0x00000000
 *[tp]32-bit Multi-Address Write 	0x4aaaaaaa 0xxxxxyyyy 0xdddddddd 0x00000000
 *32-bit decrement 0x30500000 0xaaaaaaaa 0xnnnnnnnn 0x00000000
 *32-bit increment 0x30400000 0xaaaaaaaa 0xnnnnnnnn 0x00000000
 *16-bit decrement 0x3030nnnn 0xaaaaaaaa
 *16-bit increment 0x3020nnnn 0xaaaaaaaa
 *8-bit decrement 0x301000nn 0xaaaaaaaa
 *8-bit increment 0x300000nn 0xaaaaaaaa
 *[t]32-bit Constant write 0x2aaaaaaa 0xdddddddd
 *[t]16-bit Constant write 0x1aaaaaaa 0x0000dddd
 *[t]8-bit Constant Write 0x0aaaaaaa 0x000000dd

 [t] tested and surely working
 [tp] tested but not with real codes
 For further information i advise this site:
 http://www.codemasters-project.net/portal-english/apportal/cmp_plugins/content/content.php?content.23
 (yeah it's the right section :P)
 
 NB: the codes are in the relative format from the start of the user ram area.
     So the absolute adress is relative adress +0x08800000
     To convert some cheat from the absolute format you need to
     subtract 0x08800000  from the adress of the code

-you can save the configuration which will be loaded every time 
 the prx is loaded (it's manually modificable and it's saved in
 /dh/CWCHEAT.INI)
-it works under all firmware which works under devhook

[INSTALLER EBOOT]
-works with 1.50 (1.00 isn't tested)
-contains all the necessary data in the eboot
-Copies automatically the prx, the included db on the correct folders
 (prx => /dh/kd/cwcheat.prx, db => /dh/cheat.db)
-adds automatically in the pspbtcnf.txt (vsh loading)
 and/or pspbtcnf_game.txt (in game loading) files the necessary data
-restore function which controls the prx file integrity and permits
 the restoration of the prx, of the db and of the calls to the prx
 inside the pspbtcnf.txt/pspbtcnf_game.txt files; it permits also
 to modify the installation and to load prx in different firmware
-configuration function for the prx (it's better the built in prx function)
-uninstallation function which erases the db, the prx and every call
 in the pspbtcnf.txt/pspbtcnf_game.txt in every firmware
-graphic by ale275

[CHEAT FINDER]
-Made by sincro
-search 8/16/32bit value with auto selection
-search in various pass with save of the result from every pass
 and creation of the db entry
-it can search differences beetwen dumps (major less values)

----------------------------------------------------
TODO:

-saving abilitation/deabilitation of the single cheat in the db
-downloading of the latest db directly from the psp
-check if all the cheats type works
-adding games to the db
-code optimizations
-completing the text reader
-evolving the db format
-Adding support to loading inside the custum firmware
-changing cheat applycation method
-adding jocker codes
-search for cheat directly from the psp
-adding of cheats from the psp
-others (I'm accepting ideas :P)

---------------------------------------------------------------------------
Credits:
Made by weltall
some parts by sincro
gfx by ale275
database website by zio`ale (http://cwcheat.zioale.it/)

thanks goes out to the betatesters:
-zio`ale
-ale275
-WSagitt
-C10uD
-sincro
-Gigasonic
-ps2lover

thanks for some cheats goes to:
-radical dreamer (http://www.codemasters-project.net/vb/member.php?u=68)
-nekokabu
-731
-sincro
-WSagitt
-UCF-Sal X
-bdragonomega
-cyx
-albert_jr2
-Haruyuki
-Xedecimal
-BlackDeath

thanks to all the ps2dev community and to Tyranid.
thanks to bugzilla developers for their bug tracking enviroment.
thanks to BOOSTER for his devhook
-----------------------------------------------------------------------------
Disclaimer

The cwcheat Program is free to use, but I retain ownership of it.

LICENSE GRANT

The author grants a non-exclusive license to use the program, free of charge, if the user:
Does not use the program for illegal purposes;
Does not try to modify it;
Does not try to modify any part of the archive, of the text files and the applications itself;
Does not try to remove copyrights or change them.

People that for any reason do not fit the conditions above, are expressly forbidden to use the program."

In addition the software (cwcheat) is released AS IS this means that i won't take any responsability
about damages or data lost directly or indirectly by the use of this application so use at your own risk
and do backup as always when installing/uninstalling something.


