Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How did old cheating discs work on the PS2?
I know that we have cheats (pnach or whatever they are called) can be used now, but I am just wondering how Code Breaker/AR worked. I'm mainly curious about Code Breaker though for the PS2.

From what I understand:

-CB was made by Pelican (they made quite a few third-party products such as controllers/memory cards/etc.)
-CB had a database of cheats stored on the disc, but I'm not sure how old it is.

I'm just confused as to how Code Breaker actually executed the cheats, and I just want to know more about how it worked.

Sponsored links

They are programs on their own. Meaning they takeover PS2 normal flow and stick on it's memory even after the disc is changed by the actual game disk.

The database is not the engine, just the database the engine uses. Besides, they "encrypt" their codes and to make things worse they may use special codes that do more than just poke addresses at the memory (like conditional jumps and routine calls).

Pnach is simpler and more universal and as such don't have all features like those commercial programs. On the other hand, since they aren't games and actually take control of PS2 they expect to see the actual PS2 there and not an emulator and although may work in some cases you can't take for granted it will do always.

The underlying problem is that is not about adapting PCSX2 to emulate one those engines correctly, they are "above" in the hierarchy and so would be the case to make versions of such engines adapted to PCSX2.

PS: By above in hierarchy I mean a game runs "under" PCSX2 while PCSX2 runs "under" the cheat engine once it is started.
Imagination is where we are truly real
So basically it would load itself into memory, and work from there?

I've used Code Breaker (I'm sure that there are similar ones like it), and it seems to work as it should. It doesn't modify save files or anything (well I think it can, but I didn't).
Indeed, it doesn't modify files, only the memory. And CB is known to work fine in many situations (and to fail sorely in some other). Depend on how it is accessing actual PCSX2 resources... if it tries to do direct access to hardware, things can go very bad.

PS: Even pnach can do nasty things if the hardware (or actual PCSX2 code area) area is messed at random... many people may remember the problems with codes starting with 1 and using some those old "byte", "short" or "word" could and probably would crash the emulator immediately.
Imagination is where we are truly real
I have used codebreaker, Action Replay, and Gameshark cheat systems on the emulator and it has worked almost flawlessly with most games its a hit and miss I might make a video tutorial on how to use them but if you used them on a real ps2 then you should be able to use it on the emulator
the only issue for loading these on pscx2 is that pcsx2 cannot truly read disc changes
Just to add something for the PS2 side(and a little for pcsx2)
The codebreaker is a compressed elf file which contains codes inside that elf.
When you run codebreaker the whole program is decompressed into the PS2 memory(that's why it takes that long to's little above 17mb when decompressed).
When you add new cheats or even delete some,the whole database is recreated with what you add\remove and saved to the memory card(which takes ~ 1,5mb compressed)
And to make things worse,if you use slow memory card,it will take more time to load the database.

And to make it even more worse,if you use internal hdd on the PS2(the database is saved on the least that's one good thing but not really),every time you start it PS2 it takes even more time to load(depending on how many games you have installed on the hdd)
I got one recently to test stuff and must defend codebreaker against those points above. On PCSX2 it doesn't have any slowdowns, it loads in an instant and best of all, it supports MUCH MORE code types than pcsx2 pnach system. Basically if you have a code which worked fine on ps2, and it breaks the game on pcsx2 there's a huge chance it'll work if you load it from codebreaker. And yeah while swap discs are generally broken on pcsx2 it works in some cases just fine, had no problems swapping from codebreaker to games at all.

The only REAL problem is that adding new codes is pain in the ass since nobody made any program to externally edit it's database from windows using copy paste etc, pretty much the only way to speed it up is using Cheat Engine hooked to pcsx2 which while still being a bit bothersome is way faster than typing all of those with pad O.o. Hopefully the codes can be saved on memory card so it doesn't have to be repeated(hdd/usb obviously aren't supported on pcsx2;p).

Basically the best way of cheating without using external windows programs right now is using pnach system for all simple cheats + codebreaker or similar for more advanced codes that might be broken on pnach system(pointers, non equal comparism types, and many others>.>).
(06-28-2013, 08:50 AM)miseru99 Wrote: The only REAL problem is that adding new codes is pain in the ass since nobody made any program to externally edit it's database from windows using copy paste etc.
Actually that's not true.
I recently found about cb2util and you can manually add codes to the database.

You just have to:
1.Save the database to the pcsx2 memory card
2.Extract the save with mymc.
3.Extract the cheats file from the save with PS2 Save Builder
4.Extract the codes with Extract.bat
5.Do your changes
6.Use Create.bat
7.Replace the old cheats file from the save with the updated and save as mymc supported format
8.Delete the PCB save from the memory card
9.Import the updated save

It's best to use raw codes when you add them
Oh cool, guess I didn't really looked enough for it;3.

Would be best if pcsx2 "simply"(looking at current pnach system code is actually quite confusing about how different code types workTongue) supported more(all;p) code types like most other emus, but blah the whole thing can hold on duct tape as long as it works;p.

Users browsing this thread: 1 Guest(s)