JwB
Joined: 05 Jan 2010
Posts: 2
|
| Zexall and CRC calculation |
 |
Posted: Wed Jan 06, 2010 9:58 am |
|
|
Could anyone explain to me how zexall calculates its CRCs? I was under the impression that certain flags could not be tested (H/N) and neither can the F register be accessed?
Or is there something I'm missing?
I've looked at the code but its way above my head :(
Thanks for any pointers. |
|
Maxim
Site Admin
Joined: 19 Oct 1999
Posts: 7468
Location: London, UK
|
|
 |
Posted: Wed Jan 06, 2010 10:57 am |
|
|
You can read the F register using
for example, which copies it to register c. Zexall also masks the F register to allow it to ignore certain flags; we ignore the undocumented flags because no game is known to rely on them, and they are a pain to emulate.
Zexall calculates CRCs using (I think) the standard CRC32 algorithm. The input data stream is the contents of a block of memory, which includes a dump of the registers as well as some memory that has been operated on by the test, before and after each instruction test. |
|
JwB
Joined: 05 Jan 2010
Posts: 2
|
|
 |
Posted: Wed Jan 06, 2010 11:07 am |
|
|
aha. I knew it would be something simple.
Cheers :) |
|