changeset 1629:eaa82c22a8a4

scf.d added
author boisy
date Sat, 03 Jul 2004 01:53:22 +0000
parents b8c4b5872b39
children 7af4d12008f4
files defs/module.d defs/scf.d
diffstat 2 files changed, 180 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/defs/module.d	Sat Jul 03 01:41:20 2004 +0000
+++ b/defs/module.d	Sat Jul 03 01:53:22 2004 +0000
@@ -168,5 +168,5 @@
 ;
 ; CRC Result Constant
 ;
-CRCCon1    ==       $80
-CRCCon23   ==       $0FE3
+CRCCon1    ==       0h80
+CRCCon23   ==       0h0FE3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/defs/scf.d	Sat Jul 03 01:53:22 2004 +0000
@@ -0,0 +1,178 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; scf
+;
+; $Id$
+;
+; SCF stands for 'Sequential Character Filemanager' and is a package of subroutines
+; that define the logical structure of a serial device.
+;
+; The data structures in this file give SCF its 'personality' and are used
+; by SCF itself, as well as applications that will require disk I/O.
+;
+; Edt/Rev  YYYY/MM/DD  Modified by
+; Comment
+; ------------------------------------------------------------------
+;          2004/07/02  Boisy G. Pitre
+; Started
+
+           .title Sequential File Manager Definitions
+
+           .area  SCF (ABS)
+
+           .page
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; SCF Device Descriptor Offsets
+;
+; These definitions are for SCF device descriptors.
+
+           .org   M$DTyp
+IT.DVC::   .rmb   1          ; Device type (DT.SCF)
+IT.UPC::   .rmb   1          ; Uppercase flag
+IT.BSO::   .rmb   1          ; Backspace behavior
+IT.DLO::   .rmb   1          ; Delete behavior
+IT.EKO::   .rmb   1          ; Echo flag
+IT.ALF::   .rmb   1          ; Auto linefeed flag
+IT.NUL::   .rmb   1          ; End-of-line null count
+IT.PAU::   .rmb   1          ; Page pause flag
+IT.PAG::   .rmb   1          ; Number of lines per page
+IT.BSP::   .rmb   1          ; Backspace character
+IT.DEL::   .rmb   1          ; Delete-line character
+IT.EOR::   .rmb   1          ; End-of-record character
+IT.EOF::   .rmb   1          ; End-of-file character
+IT.RPR::   .rmb   1          ; Reprint-line character
+IT.DUP::   .rmb   1          ; Duplicate-last-line character
+IT.PSC::   .rmb   1          ; Pause character
+IT.INT::   .rmb   1          ; Interrupt character
+IT.QUT::   .rmb   1          ; Quit character
+IT.BSE::   .rmb   1          ; Backspace echo character
+IT.OVF::   .rmb   1          ; Bell character
+IT.PAR::   .rmb   1          ; Parity
+IT.BAU::   .rmb   1          ; Baud rate
+IT.D2P::   .rmb   2          ; Attached device name string offset
+IT.XON::   .rmb   1          ; X-ON character
+IT.XOFF::  .rmb   1          ; X-OFF character
+IT.COL::   .rmb   1          ; Number of columns for display
+IT.ROW::   .rmb   1          ; Number of rows for display
+IT.XTYP::  .rmb   1          ; Extended type (added by BRI)
+
+           .ifgt  Level-1
+; Window Descriptor Additions
+; For CoCo window, where IT.PAR = $80
+           .org   IT.ROW+1
+IT.WND::   .rmb   1          ; Window number (matches device name) ($2E)
+IT.VAL::   .rmb   1          ; Use defaults on Init (0=no, 1=yes)
+IT.STY::   .rmb   1          ; Screen type default
+IT.CPX::   .rmb   1          ; Column start default
+IT.CPY::   .rmb   1          ; Row start default
+IT.FGC::   .rmb   1          ; Foreground color default
+IT.BGC::   .rmb   1          ; Background color default
+IT.BDC::   .rmb   1          ; Border color default
+           .endif
+
+
+           .page
+;;;;;;;;;;;;;;;;;;;;
+; SCF Static Storage
+;
+; SCF devices must reserve this space for SCF
+;
+           .org   V.USER
+V.TYPE::   .rmb   1          ; Device type or parity
+V.LINE::   .rmb   1          ; Lines left until end of page
+V.PAUS::   .rmb   1          ; Immediate Pause request
+V.DEV2::   .rmb   2          ; Attached device's static
+V.INTR::   .rmb   1          ; Interrupt char
+V.QUIT::   .rmb   1          ; Quit char
+V.PCHR::   .rmb   1          ; Pause char
+V.ERR::    .rmb   1          ; Accumulated errors
+V.XON::    .rmb   1          ; X-On char
+V.XOFF::   .rmb   1          ; X-Off char
+V.KANJI::  .rmb   1          ; Kanji mode flag
+V.KBUF::   .rmb   2          ; Kana - Kanji convert routine work address
+V.MODADR:: .rmb   2          ; Kana - Kanji convert module address
+V.PDLHd::  .rmb   2          ; Open path descriptor list head pointer
+V.RSV::    .rmb   5          ; Reserve bytes for future expansion
+V.SCF      ==     .          ; Total SCF manager static overhead
+
+           .page
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Sequential Character Path Descriptor Format
+;
+; A path descriptor is created for every new path that is open
+; via the I$Open system call (processed by IOMan).  Process
+; descriptors track state information of a path.
+;
+           .org   PD.FST
+PD.DV2::   .rmb   2          ; Output device table pointer
+PD.RAW::   .rmb   1          ; Read/Write or ReadLn/WritLn mode
+PD.MAX::   .rmb   2          ; ReadLn high byte count
+PD.MIN::   .rmb   1          ; Devices are "mine" if clear
+PD.STS::   .rmb   2          ; Status routine module addr
+PD.STM::   .rmb   2          ; Reserved for status routine
+           .org   PD.OPT
+           .rmb   1          ; Device type
+PD.UPC::   .rmb   1          ; Case (0=both, 1=upper only)
+PD.BSO::   .rmb   1          ; Backspace (0=BSE, 1=BSE,SP,BSE)
+PD.DLO::   .rmb   1          ; Delete (0=BSE over line, 1=CRLF)
+PD.EKO::   .rmb   1          ; Echo (0=No Echo)
+PD.ALF::   .rmb   1          ; Auto linefeed (0=No auto LF)
+PD.NUL::   .rmb   1          ; End of Line null count
+PD.PAU::   .rmb   1          ; Page pause (0=No end of page pause)
+PD.PAG::   .rmb   1          ; Lines per page
+PD.BSP::   .rmb   1          ; Backspace character
+PD.DEL::   .rmb   1          ; Delete Line character
+PD.EOR::   .rmb   1          ; End of Record character (read only)
+PD.EOF::   .rmb   1          ; End of File character
+PD.RPR::   .rmb   1          ; Reprint Line character
+PD.DUP::   .rmb   1          ; Dup Last Line character
+PD.PSC::   .rmb   1          ; Pause character
+PD.INT::   .rmb   1          ; Keyboard interrupt character (CTRL-C)
+PD.QUT::   .rmb   1          ; Keyboard quit character (CTRL-E)
+PD.BSE::   .rmb   1          ; Backspace echo character
+PD.OVF::   .rmb   1          ; Line overflow character (BELL)
+PD.PAR::   .rmb   1          ; Parity code
+PD.BAU::   .rmb   1          ; ACIA baud rate (Color Computer)
+PD.D2P::   .rmb   2          ; Offset of DEV2 name
+PD.XON::   .rmb   1          ; ACIA X-ON character
+PD.XOFF::  .rmb   1          ; ACIA X-OFF character
+OPTCNT     ==     .-PD.OPT   ; Total user settable options
+PD.ERR::   .rmb   1          ; Most recent I/O error status
+PD.TBL::   .rmb   2          ; Device table addr (copy)
+PD.PLP::   .rmb   2          ; Path Descriptor List Pointer
+PD.PST::   .rmb   1          ; Current path status
+
+
+; PD.PST values Path Descriptor Status byte
+;
+PST.DCD    ==     0b00000001 ; Set if DCD is lost on Serial port
+
+
+; PD.PAR definitions
+;
+; Parity
+PARNONE    ==     0b00000000
+PARODD     ==     0b00100000
+PAREVEN    ==     0b01100000
+PARMARK    ==     0b10100000
+PARSPACE   ==     0b11100000
+
+; PD.BAU definitions
+;
+; Baud rate
+B110       ==     0b00000000
+B300       ==     0b00000001
+B600       ==     0b00000010
+B1200      ==     0b00000011
+B2400      ==     0b00000100
+B4800      ==     0b00000101
+B9600      ==     0b00000110
+B19200     ==     0b00000111
+B38400     ==     0b00001000
+B57600     ==     0b00001001
+B115200    ==     0b00001010
+; Word size
+WORD8      ==     0b00000000
+WORD7      ==     0b00100000
+; Stop bits
+STOP1      ==     0b00000000
+STOP2      ==     0b00010000