The PCL allows
indication of ``end-of-block'' at any address, even if that address is
otherwise valid. The signal OBPS from the PCL is used in the
user's NTA decoder to achieve this functionality. OBPS is true (high) when
the last operation was a Block or Pipelined Transfer, and the present
operation is a Block or Pipelined operation. It is cleared by
Power-on-clear, detaching, or any operation other than Block or Pipelined
(even if that operation is otherwise bad, and maybe flagged with SS
0.)
OBPS may be used in the following way to indicate incrementing
``off the end'' of the NTA, when addresses FFFFFFFF and 00000000 are in
use:
In the Users Address Decoder, (OBPS=1 AND OA=00000000)
give IAC=2 (ie. Bad Address). If a Block Transfer is performed
at FFFFFFFF it is successful and the NTA changes to 00000000. If another
Block Transfer is attempted (which is now beyond the perceived ``end-of-
block'') OBPS=1 and NTA=00000000 so the user address decoder will present
IAC=2 (Bad Address) to the PCL. The PCL, noting Bad Address and a Block
Transfer will not perform the operation, and will return SS=2.
OBPS may also be used to signal ``end-of-block'' within contiguous memory. If it is desired that a Block Transfer may not take place across some arbitrary address in contiguous memory, the user address decoder must upon detecting OBPS=1 at the same time as OA=``first location of the next block'', indicate ``Bad Address'' to the PCL. The operation will then be flagged with SS=2.
Under these circumstances the Master would presumably test the NTA contents with a Read (MS=2) or equivalent operation. This would return SS=0 with the first address of the next block, and clear OBPS. The Master could then continue with Block Transfer operations.
Using an oscilloscope, it may be observed that part way through a Block
or Pipelined operation (preceded by an operation other than Block or
Pipelined), OBPS will go true. This is because the internal latch
which indicates that Block or Pipelined Transfer took place is set
part way through the operation, and because this operation is Block
or Pipelined the conditions for OBPS are met. However, OBPS will be
used to generate a IAC code for the PCL, and this code is accepted by
the PCL during Strobe 1 time (the first part of any cycle). At the end
of Strobe 1 the IAC is locked in, and further changes in IAC (possibly
from OBPS) do not affect the operation of the PCL until the next
cycle.
Do not use the OBPS signal in the User Address Decoder to gate strobes used to control User RAM. Such gating will corrupt the signals. Only use OBPS to generate IAC for the PCL. The PCL will modify the user strobe OUST to perform the operation correctly.