OUTI does not change the C flag!!! :-(

ZXNet echo conference «code.zx»

From Kirill Frolov To All 25 December 1998

Greetings, All! begin of file: OUTI .C -+------------------------------------------------------- | ORG #6000 D.I. LD BC,#00FE XOR A LD(DATA0),A LD(DATA1),A LD HL,0 LD DE,#8000 L1 LD A,E OUTI JR C,ERR0 DEC DE BIT 7,D JR Z,L1 LD HL,0 SCF LD DE,#8000 L2 LD A,E OUTI JR NC,ERR1 DEC DE BIT 7,D JR Z,L2 EI RET ERR0 LD (DATA0),A EI RET ERR1 LD (DATA1),A EI RET DATA0 DB 0 DATA1 DB 0 | -+------------------------------------------------------- end of file: OUTI .C I launched it many times, struggled with STS.... EVERYTHING IS USELESS. FLAG C DOES NOT CHANGE BY OUTI TEAM!!! And if someone changes, then this percentage means it’s completely buggy! My Z80H THESYS works as it should (according to the book). How do I get it glitch it so that it starts changing the flag??? Maybe it's all bad Are the emulators buggy? I checked the INI command in the same way - the flag also does not change! But with the fact that OUTI, and probably INI, first decrement register B, and then they work with the port - true! All this also applies to cyclic commands. There is no doubt about a processor glitch with the command LD A,I or LD A,R, I fixed it checked too.I want to know what problems there might be with the OUT (C),0 command? IMHO there are 2 options possible: OUT (C),0 and OUT (C),#FF. Ultimately, one thing is clear - there are inaccuracies in the description, in the emulators most likely everything works as in the processor, protection from the emulator only possible based on the LD A,I or LD A,R commands. You can also use (and it is necessary!) work with VG93 directly, to check its reality. In the case of a screw on a scorpion, it’s probably easy to check its presence, in the case of all kinds of ramdisks, everything is somewhat more complicated :-( With best wishes, Kirill Frolov.