Mercurial > hg > Members > kono > nitros9-code
view defs/pipe.d @ 3239:a47ee8f14eb8
Added new routine to dwread.asm and dwwrite.asm for using the SY6551 chips.
Added new option to the becker port routines so the base address can be changed
during build time from makefile. This should allow for setting building
a optional module for use with the ESP8266-01 WiFi module on Ed Snider's
analog board that is used with the CoCo3FPGA Project.
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Thu, 08 Mar 2018 21:36:34 -0600 |
parents | db97356e3648 |
children |
line wrap: on
line source
IFNE PIPE.D-1 PIPE.D SET 1 ******************************************************************** * PipeDefs - Pipe File Manager Definitions * * $Id$ * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 1988/12/03 Chris J. Burke * Coded from new PIPEMAN comments. NAM PipeDefs TTL Pipe File Manager Definitions * * IOMan equates duplicated for PipeMan use * NPATHS SET 16 ;Maximum local paths per task -- must match IOMan NameMax SET 29 ;Maximum length of a file name * * Device Driver Static Storage Layout * ORG V.User V.List RMB 2 ;Pointer to 1st pipe's pipe buffer PManMem EQU . ;Device driver memory (drive table equivalent) * * Pipe Buffer Data Structure * ORG 0 PP.PD RMB 2 ;Pointer to shared path descriptor PP.Next RMB 2 ;Pointer to next pipe buffer in system map PP.Prev RMB 2 ;Pointer to previous pipe buffer in system map PP.Rsrv RMB 2 ;Reserved PP.Data EQU . ;Data buffer begins at this offset * * Unique Path Descriptor Variables * ORG PD.FST *** PP.Read must have bit 4 clear; PP.Writ must be PP.Read XOR 4 PD.Read EQU . PD.RPID RMB 1 ;Process ID of reader waiting on signal PD.RCT RMB 1 ;Number of blocked readers PD.RSIG RMB 1 ;Signal to send reader PD.REOR RMB 1 ;Read EOR character PD.Writ EQU . PD.WPID RMB 1 ;Process ID of writer waiting on signal PD.WCT RMB 1 ;Number of blocked writers PD.WSIG RMB 1 ;Signal to send writer PD.WEOR RMB 1 ;Write EOR character (dummy) *** End of special section PD.End RMB 2 ;Pointer to end of pipe buffer PD.NxtI RMB 2 ;Next in pointer PD.NxtO RMB 2 ;Next out pointer PD.RFlg RMB 1 ;"Ready" flag PD.Wrtn RMB 1 ;"Written" flag PD.BCnt RMB 2 ;# queue elements currently bufered PD.Own RMB 1 ;Process ID of pipe original creator PD.Keep RMB 1 ;Non-zero if pipe has been kept open artificailly PD.QSiz RMB 2 ;Max. elements in queue (copied from OPT section) * * Path descriptor option section * * Note that PD.Name overlaps with the last byte of PD.ECnt. * PD.ECnt is copied to PD.QSiz as part of OPEN or CREATE, * to make room for the pipe name. * ORG (PD.OPT+1) PD.ESiz RMB 1 ;Size of each queue element PD.ECnt RMB 2 ;Max. elements in queue (initial position) IFGT Level-1 ORG (PD.OPT+3) PD.Name RMB NameMax ENDC * * Device Descriptor definitions * IT.PDC EQU $12 ;Pipe device class (like IT.DTP, IT.DVC) ORG IT.PDC RMB 1 ;Leave room for device class IT.ESiz RMB 1 ;Size of each queue element IT.ECnt RMB 2 ;Max. elements in queue (initial position) * End of pipe.d ENDC