Skip to main content
Home Documents Lisa Preliminary Applenet Interface Specification Jun81
Preliminary Applenet Interface Specification Jun81

Preliminary Applenet Interface Specification Jun81

Lisa · 1981 · PDF
FilenamePreliminary_Applenet_Interface_Specification_Jun81.pdf
Size0.63 MB
Year1981
Subsection appleNet
Downloads1
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
Preliminary Applenet Interface Specification Jun81
/
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 →

mp.ls