Next Generation Emulation banner

1 - 7 of 7 Posts

·
Registered
Joined
·
12 Posts
Discussion Starter #1
This is the core of the matter:

I'm dying to try out FF9 on epsxe. However, I own the norwegian version (Pal UK-type), thus making that a little difficult. Realising the problems of no low-level read support of the emulators, I was wondering if we could... we... simply add it as a cheatcode.

The libcrypt system has a routine that reads some data off the CD, encrypts it and stores it in the clipboard of your psx. Another routine then checks that magic word and crashes if it's not correct. Crackers (paradox) disables the second routine by hacking into the code of the CD and altering teh second routine to not crash. Howeverm they haven't released the PAl UK version and probably won't.

My idea: Let the check work, don't hack. Low level read is done by calling register $1f80180x and getting some specific data off the media. I am yet usure of what data, but to my (rather limited) knowledge of the matter, the only thing varying from cd to cd would be the registration number. Since the game only uses $1f80180x to do lowlevelreading, why don't we just PROVIDE the correct data straight to the PSX cheat function? It's even simple.

And then the problem. I need to find what data is different from cd to cd. Because, obviously, the game should not work with a burned copy. So far, the cd registration number won't work, though it fits nicely in the 32 bit registers. So, anyone able to redirect me to some info on the psx media?


--
Danner
 

·
Registered
Joined
·
538 Posts
For some public info on the PSX system components, check out THE PADUA PLAYSTATION RESOURCE. It's packed with all kinds of good stuff.
Now, the register range you have quoted ($1f80180x) actually covers all the CD registers, so basically anything could be happening.
There is all kinds of things the game could be looking at. Maybe it's sub-channel information? I don't have a PSX development system, so can't do any debugging :)
 

·
Registered
Joined
·
12 Posts
Discussion Starter #3
Thanks for the input, though I had been at the site already. A good site by the way.

I was just wondering how much of a cd can be different through one burn? Since the entire system was designed to block burned cd's, the answer must lie in that difference. Sadly, I don't have any debugging tools either....

Oh well. The futile quest continues :)
 

·
Registered
Joined
·
2,441 Posts
this is a little bit of info i managed to dig up..
i dunno if it helps at all

Anti-Copy Protection:
---------------------

The PSX compact disc copy protection is based upon the premise that most (if
not all) CDRs and pressing stations pre-mastering processes will automatically
regenrate a 'corrupt' sectors EDC/ECC code.

Sectors 12 through 15 contain a zeroised EDC/ECC checksum (impossible) so
if the PSX reads and doesn't see an invalid EDC/ECC then it knows that the
CD in the drive is a copy. (The EDC is simply a CRC type hash that is used as
a checksum to determine if the sector was read correctly. The ECC is used to
recreate the sectors data).

The entire range of sectors are written in a RAW format (2352 bytes) and are
completely zeroed, even the XA sub-header and EDC/ECC are zeroed. When it is
copied on a CDR, these sectors are exact, except for the EDC/ECC code which is
(correctly) written as 0x3F13B0BC.
 

·
Registered
Joined
·
12 Posts
Discussion Starter #5
Indeed, ff9 uses that protection (or so my hexeditor tells me).
But as I use the original CD; that shouldn't be a problem. Thanks anyway :)
 

·
Registered
Joined
·
2,441 Posts
you guys really gotta stop posting the url to that site..
it has warez content and thus is not allowed on these boards.
 
1 - 7 of 7 Posts
Top