Anti-emulation protection.

ZXNet echo conference «code.zx»

From Kirill Frolov To All 6 June 2000

Press RESET immediately, All! I found a very old disk from the Spectrum and parsing the hieroglyphs into I read the bits that were cracked and partially crumbling from age about the strange influence of the OUTI command on flags. And I thought - subject! Because to find out exactly how the command affects the flags (except for C and N) failed, then all that remains is to set values of all registers and compare the values of flags of several OUTI commands to a specific address with a pre-recorded sample from a real processor. *Crossposted in CODE.ZX *Crossposted in REAL.SPECCY

From Kirill Frolov To Slavik Tretiak 11 June 2000

Press RESET immediately, Slavik! 07 Jun 00 23:34, Slavik Tretiak wrote to Kirill Frolov: KF>> set the values of all registers and compare the values of the flags KF>> several OUTI commands to a specific address with a pre-recorded one KF>> sample from a real processor. ST> The subject is done differently. There is such a command, LD A, R, so ST> just sort it out with her. Or LD A,I. Doesn't fit. While the echo to Moscow and further from St. Petersburg I didn’t go here, there’s already been a showdown on this matter. ST> By the way, if you do it using the 'LD A,R' method, then KAY turns out to be an emul :) Because a bug was fixed in that process. There is also 'EI BUG' -- Some emulators do not disable interrupts after the EI command. ST> I won’t tell you how to avoid this, Insert another check for the emulsion... And, as always, it’s buggy. Nothing real except measuring the reaction time of the VGshk to a command and I haven’t seen the subject via OUTI yet. In the first way I accidentally I came across it when my CP/Mc was stuck in the emulsion, and about the second Dark in this Ehe wrote 1.5 years ago. All sorts of strange manipulations with registers I, R, checking unused ones flag register bits, undocumented commands, operating speed computerhave no effect on the program in a good emulator, but very often detect an emulator on the Spectrum... ST> you will soon see it in my program ST> (if you can figure out my cyclic problem). Well, straight fingers like a fan... Your defense is as old as the first Spectrum. It breaks right in STS, even without emulators.