 opt -l
 ttl Dragon OS9 PC-Share Driver Definitions

*******************************************
* PC Share Driver Definitions
*
* This file contains definitions for utilising the
* PC Share package from OS9. Commands consist
* of messages passed across an 8-bit wide bus
* and are defined in the Data Interface Description
* Document for this package.
*
***************
* Edition History
*  13/06/94 - First Edition. JRB.
*  22/09/94 - Add constructs for file transfer
*              & issuing DOS commands. JRB
*  29/08/95 - Include message header structure. JRB.
*  30/08/95 - Include sector message definitions. JRB.
*  15/09/95 - Renamed to PCDEFS for PC_SHARE. Included 
*             file transfer sequences & path descriptor. JRB.

*Message header
Msg.B0    equ $AA
Msg.B1    equ $FF
Msg.B2    equ $FF

*Parameter passing structures:
*Defines mandatory command word
 org 0
V.Comm    rmb 2
V.Comsz   equ .

*Mode Change
 org V.Comsz
V.Mode    rmb 1
V.Modesz  equ .

*Move Graphics Cursor
 org V.Comsz
V.MoveX   rmb 2
V.MoveY   rmb 2
V.Movesz  equ .

*Colour Change
 org V.Comsz
V.Color   rmb 1
V.Colsz   equ .

*Set Point
 org V.Comsz
V.PointX  rmb 2
V.PointY  rmb 2
V.PColor  rmb 1
V.Ptsz    equ .

*Clear screen
 org V.Comsz
V.ClrCol  rmb 1
V.Clrsz   equ .

*Draw line
 org V.Comsz
V.LineX1   rmb 2
V.LineY1   rmb 2
V.LineX2   rmb 2
V.LineY2   rmb 2
V.LinCol   rmb 1
V.Linesz   equ .

*Draw circle
 org V.Comsz
V.CirRad   rmb 2
V.CirX     rmb 2
V.CirY     rmb 2
V.CirCol   rmb 1
V.Cirsz    equ .

*Read colour of pixel
 org V.Comsz
V.GColrX   rmb 2
V.GColrY   rmb 2
V.GColor   rmb 1    return value
V.GColsz   equ .

*PCSBF messages

*open/create
 org V.Comsz
V.OpnAcc   rmb 1    access mode
V.OpnNam   equ .    filename 

*change dir/delete/make dir
 org V.Comsz
V.PthNam   equ .    pathname

*close
 org V.Comsz
V.ClsFCB   rmb 1    PC FCB no.
V.ClsSiz   equ .

*read/write ops
 org V.Comsz
V.RWFCB    rmb 1
V.RWCnt    rmb 2    transfer length
V.RWSiz    equ .

*seek
 org V.Comsz
V.SkFCB    rmb 1
V.SkPos    rmb 4
V.SkSiz    equ .

*sector r/w ops.
 org V.Comsz
V.LSN      rmb 4
V.SctSz    equ .

*Transfer buffer size for holding packet
V$BUFSZ    equ $100

*Current values (current position,color etc.)
*Pass instead of new values
V$CurX    equ $FFFF
V$CurY    equ $FFFF
V$CurCol  equ $FF

*Defines Graphic/Supervisor commands available:
V$MODE    equ $0000+V.Modesz-V.Comsz
V$MOVE    equ $0100+V.Movesz-V.Comsz
V$COLOR   equ $0200+V.Colsz-V.Comsz
V$POINT   equ $0300+V.Ptsz-V.Comsz
V$CLEAR   equ $0400+V.Clrsz-V.Comsz
V$LINE    equ $0500+V.Linesz-V.Comsz
V$CIRCLE  equ $0600+V.Cirsz-V.Comsz
V$GCOLR   equ $0700+V.GColsz-V.Comsz
V$DOSCMD  equ $0800+V$BUFSZ-2
V$DOSCRE  equ $0800+V.OpnNam-V.Comsz
V$DOSOPN  equ $0900+V.OpnNam-V.Comsz
V$DOSCHD  equ $0A00+V.PthNam-V.Comsz
V$DOSCLS  equ $0B00+V.ClsSiz-V.Comsz
V$DOSDEL  equ $0C00+V.PthNam-V.Comsz
V$DOSMAK  equ $0D00+V.PthNam-V.Comsz
V$DOSRDB  equ $0E00+V.RWSiz-V.Comsz
V$DOSRDT  equ $0F00+V.RWSiz-V.Comsz
V$DOSSK   equ $1000+V.SkSiz-V.Comsz
V$DOSWTB  equ $1100+V.RWSiz-V.Comsz
V$DOSWTT  equ $1200+V.RWSiz-V.Comsz

V$READSC  equ $1700+V.Sctsz-V.Comsz
V$WRITSC  equ $1800+V.SctSz-V.Comsz

*PCSBF definitions of the path descriptor
 org PD.FST
PD.FCB    rmb 1     PC Share File Control Block No assigned to path

*PCSBF static storage
 org V.User
V.MsgBuf rmb V$BUFSZ
V.PCSBF  equ .

 opt l
