Preliminary Applenet Interface Specification Jun81
Preliminary Applenet Interface Specification Jun81
Lisa · 1981 · PDF
| Filename | Preliminary_Applenet_Interface_Specification_Jun81.pdf |
|---|---|
| Size | 0.63 MB |
| Year | 1981 |
| Subsection | appleNet |
| Downloads | 1 |
Enjoying MacTrove?
Anonymous downloads are free and unlimited.
Create a free account to track favorites,
contribute metadata corrections, and join the
community chat.
Reader
Loading…
OCR / Text contents
APPLENET IF SPEC
Preliminary APPLENET Interface Specification
June 3, 1981
R. Hochsprung
R. Paratore
6/3/81
page 1
APPLENET IF SPEC
This specification is a first-cut at describing how the Lisa Host,
interfaces with the APPLENET card to execute the basic network services
provided by the Z8. Many details are left out, such as exact sizes of
host queue elements, etc. since these are dynamiclly defined. This
document should give the reader a basic sense of the "style" of
interaction to be provided.
The host sees the APPLENET card as a shared-memory device. All commands
are initiated by setting parameters into a single Task Command Block
(TCB) within this shared memory. Periodically, the Z8 performs a scan of.
this TGB and will execute the command when it discovers it. After a
command has been completed, the Z8 will generate an interrupt to the
Host. At this time, the host is responsible to examine the results of
the command.
In addition, the APPLENET card is normally always armed to receive
packets over the net. Data from received packets are placed wi thin
buffers in the shared memory. Several such buffers (called Host Queue
Elements - HQE) are maintained by the 28 after Initailization. As in the
case of a completed command, the Z8 will interrupt the Host after each
packet is successfully received.
The term "queue" is somewhat misleading, since no explicit queuing
mechanisms are provided. Instead, by mutual agreement between the Host
and the Z8, these Host Queue Elements are scanned in a cyclic fashion.
Thus, the Z8 will guarantee to fill the Host Queue in sequence
(chronological order). Likewise, the Host should maintain such a cyclic
sequencing when examining the queue. The only time when this "queue"
will become full is when the Host does not free a HQE. The Z8 will
consider the buffer overrun and Jam directed packets and increment the
buffer overrun status on bradcast packets until the next HQE is free.
In order to properly synchronize the shared usage of thes TCB) and HQEs
(and long buffers), each such object contains a semaphore. The value of
the semaphore always indicates the current state of the object. The
interpretation of the semaphores is as follows:
o A value of zero for any semaphore means that the object is currently
free; ego
neither the Z8 nor Host is using the object.
+ Any (strictly) positive value indicates that the object is being
processed by the Z8. For the TCB, the value is set by the Host with
a unique value indicating the desired command. For HQEs and long
buffers, the value is set by the Z8 when the object is first
allocated to begin reception of a new packet.
- A negative value indicates that the object has been "completed" by
the Z8 and should thus be processed by the Host. For the TCB, this
indicates that the command is done. For HQEs, this indicates that a
packet has been successfully received and should be processed by the
Host.
The following scenarios describe the sequence of semaphore values for two
cases: …
Showing first 3,000 characters of 12,195 total. Open the full document →