Prefixes

ZXNet echo conference «zx.spectrum»

From John Stunner To All 14 November 1997


One rotten question has arisen...

Executes a z80 command with the ED prefix. And at this moment there is an interruption. So,
having read the prefix, the zetnik will go to execute the interrupt processing subroutine or
complete the command to the end?

With best wishes, John.

===> #/FUCK/# *mUlTiMeDiA*, #/MAKE/# more $dEmOs$ ===>

From Vladimir Yudin To All 17 November 1997


Hi John!

14 Nov 97 22:01, John Stunner wrote to All:

JS> Executes the z80 command with the ED prefix. And at this moment
JS> interruption. So, having read the prefix, the zetnik will go to execute
JS> the interrupt handling subroutine or complete the command to
JS> to the end?

That’s why it’s a prefix, to be part of the command. And the interrupt
takes effect after the command is executed.

Sincerely
┬ ┬┌┐┬┐ ┐┬┬
╨╜╨╙╜╨╙ ╨ ╨


From Evgeny Milun To All 18 November 1997


Hello John !

Friday November 14 1997 22:00, John Stunner ─── All:

JS> Executes the z80 command with the ED prefix. And at this moment there is an interruption. So,
JS> having read the prefix, the zetnik will go to execute the interrupt processing subprogram
JS> or complete the command to the end?
The processor does not recognize the interrupt until it finishes
executing the _current_ command (and the “execution” process includes and "fetch
command code"). The fact that this command begins with some kind of prefix does not matter.

Good luck ! Evgeny.

■ The night is shorter than the day... The day will kill me... The world of illusions burns down in it. (C) Aria.


From Alex Letaev To All 19 November 1997

At the moment ED ED ED to the command byte, it will not go even to NMI. With
a certain amount of ED it may even forget about the previous
interruption. :-)))) No wonder I asked you, will the ED sequence be simulated in your imul...

Regards, Alex from FFC COMPUTERS.


From John Stunner To All 19 November 1997


Greets, Michael!

Mon 17-Nov-97 15:39, Michael Markowsky bombed John Stunner's letter:

MM> The INT signal is polled by the processor during the rising edge
MM> of the last instruction cycle. So even if the interrupt signal is sent
MM> to the Z80 after fetching the prefix, the processor will recognize it only after
MM> the entire command has been executed.

Even if the command consists of 20 thousand #DD?

With the best wishes, John.


From John Stunner To All 23 November 1997


Glad I found you alive, Alex!!!
However, on November 19, 97 you wrote something addressed to me:

AL> At the moment ED ED ED to the command byte, it will not go even to NMI. With
AL> a certain amount of ED, it is possible that he will even forget about the previous
AL> interruption. :-)))) It’s not for nothing that I asked you whether the ED sequence will be emulated in your em
AL>...

It will be emulated, and without any problems. Just not EDEDED..., because #ED #ED in general
speaking NOP. Most likely you meant DDDDDD.../FDFDFD... . By the way,
the situation with changing prefixes is also emulated (In the sense:
FD,FD,DD,FD,DD,FD,DD,00 will result in the required R=R+8, tacts=tacts+32).

From Vladimir Yudin To All 23 November 1997

MM>> edge of the last clock cycle of the command. So even if the
MM>> interrupt signal is sent to the Z80 after fetching the prefix,
MM>> the processor will recognize it only after the entire
MM>> command has been executed.

JS> Even if the command consists of 20 thousand #DD?

Well, 20000 #DD is 80000 clock cycles, which more than one interruption,
so one will be lost.

Best regards
┬ ┬┌┐┬┐ ┐┬┬
╨╜╨╙╜╨╙ ╨ ╨


From Alex Letaev To All 24 November 1997

JS> Emulated, and without problems. Just not EDEDED..., because #ED #ED
JS> generally speaking NOP. Most likely you meant DDDDDD.../FDFDFD... .

Well, you meant the sea #ED and then the command byte. For the processor, this is all one
long command.

JS> By the way, the situation with changing prefixes is also emulated (In the sense:
JS> FD,FD,DD,FD,DD,FD,DD,00 will result in the position R=R+8,
JS> tacts=tacts+32).

Great!

From John Stunner To All 26 November 1997


Greets, Alex!

Mon 24-Nov-97 09:03, Alex Letaev bombed John Stunner's letter:

AL> Well, I meant the sea #ED and then the command byte. For the processor, this is all one
AL> long command.

Yes, there is no such sequence. Look in sts:

EDED *NOP
EDED *NOP

and so on.

AL> Hello!

Ato! Yesterday I accelerated the command prefetch. For example, the task will be completed in 21
cycles, which by the standards of the Z80 is exactly 1.5 cycles.

From Alex Letaev To All 27 November 1997


Hello John Stunner! In a message of 26 Nov 97 John Stunner wrote to me:

AL>> Hello!

JS> Ato! Yesterday I accelerated the command prefetch. For example, the task began to be executed
JS> in 21 cycles, which by the standards of the Z80 is exactly 1.5 cycles.

And when do you plan to release it? Will it work on 030?

From John Stunner To All 29 November 1997

However, on November 27, 97 you wrote something addressed to me:

AL> When do you plan to release it?

In a couple of months, I hope the beta will be ready (without tr-dos, and with synchronization
only up to eight lines).

AL> Will Ha 030 have time to work?

What is this? and is calculated. According to preliminary calculations, with up to eight
lines, it will have time for 68020/14+fast in the frame.

From Alex Letaev To All 2 December 1997


Hello John Stunner! In a message of 29 Nov 97 John Stunner wrote to me:

JS> In a couple of months, I hope the beta will be ready (without tr-dos, and with
JS> synchronization only up to eight lines).

Great.

JS> That's what we're counting on. According to preliminary calculations, with processing of up to
JS> eight lines, it will have time for 68020/14+fast in the frame.

Cool! A very necessary thing.