changeset 2802:58ca94b06908 lwtools-port

now built from defs files
author Boisy Pitre <boisy.pitre@nuance.com>
date Fri, 01 Feb 2013 19:26:44 -0600
parents 9ffe2daeb011
children d911fcfc0211
files defs/pipe.d defs/pipedefs level1/cmds/tee.as lib/dw.as lib/makefile lib/os9.as lib/pipe.as lib/rbf.as lib/scf.as lib/sys6309l2.as lib/sys6809l1.as lib/sys6809l2.as lib/systype.as
diffstat 13 files changed, 147 insertions(+), 2375 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/defs/pipe.d	Fri Feb 01 19:26:44 2013 -0600
@@ -0,0 +1,96 @@
+               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 pipedefs
+
+               ENDC      
+
--- a/defs/pipedefs	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-               IFNE      PIPEDEFS-1
-
-PIPEDEFS       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 pipedefs
-
-               ENDC      
-
--- a/level1/cmds/tee.as	Fri Feb 01 15:49:39 2013 -0600
+++ b/level1/cmds/tee.as	Fri Feb 01 19:26:44 2013 -0600
@@ -14,26 +14,26 @@
 
 * Disassembled 98/09/14 23:50:52 by Disasm v1.6 (C) 1988 by RML
 
-         use   defsfile.d
-
-rev      set   $00
-edition  set   2
-
-         section .bss
+         section bss
 u0000    rmb   1
 parray   rmb   13
 pcount   rmb   1
-buff     rmb   200
+buff     rmb   256
+         rmb   450
          endsect
 
-*         psect tee_a,Prgrm+Objct,ReEnt+rev,edition,200,start
-         section code
+         section __os9
+rev      set   $00
+edition  set   2
+stack    set   200
+         endsect
 
-__start  clrb  
-         clr   pcount		clear path counter
+         section code
+__start    clrb  
+         clr   pcount,u		clear path counter
          cmpy  #$0000		any parameters?
          lbeq  exitok		exit if none
-         leay  parray		else point Y to path array
+         leay  parray,u		else point Y to path array
 
 * Walk the command line parameters
 parse    lda   ,x+
@@ -49,16 +49,16 @@
          ldb   #PREAD.+UPDAT.
          os9   I$Create 	open a path to the device or file
          bcs   exit		branch if error
-         ldb   pcount		else get path counter
+         ldb   pcount,u		else get path counter
          sta   b,y		save new path in the array offset
          incb  			increment counter
-         stb   pcount		and save
+         stb   pcount,u		and save
          bra   parse		continue parsing command line
-parsex   stb   pcount
+parsex   stb   pcount,u
 
 * Devices on command line are open, start pumping data
 L0044    clra  
-         leax  buff
+         leax  buff,u
          ldy   #256
          os9   I$ReadLn 
          bcc   L0057
@@ -68,17 +68,17 @@
          bra   exit
 L0057    inca  
          os9   I$WritLn 
-         tst   pcount
+         tst   pcount,u
          beq   L0044
          clrb  
-L0060    leay  parray
+L0060    leay  parray,u
          lda   b,y
-         leax  buff
+         leax  buff,u
          ldy   #256
          os9   I$WritLn 
          bcs   exit
          incb  
-         cmpb  pcount
+         cmpb  pcount,u
          bne   L0060
          bra   L0044
 exitok   clrb  
--- a/lib/dw.as	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-               section   _constant
-               RMB       $81
-SS.Timer:      RMB       1                   Timer service
-SS.EE:         RMB       1                   EEPROM service
-               endsect
-
-
--- a/lib/makefile	Fri Feb 01 15:49:39 2013 -0600
+++ b/lib/makefile	Fri Feb 01 19:26:44 2013 -0600
@@ -1,22 +1,19 @@
 include $(NITROS9DIR)/rules.mak
 
-all: lib6809l1.a lib6809l2.a lib6309l2.a libnet.a libalib.a libdw.a
+all: libnos96809l1.a libnos96809l2.a libnos96309l2.a libnet.a libalib.a
 
-lib6809l1.a: sys6809l1.o
+libnos96809l1.a: sys6809l1.o
 	lwar -c $@ $?
 
-lib6809l2.a: sys6809l2.o
+libnos96809l2.a: sys6809l2.o
 	lwar -c $@ $?
 
-lib6309l2.a: sys6309l2.o
+libnos96309l2.a: sys6309l2.o
 	lwar -c $@ $?
 
 libnet.a: net.o
 	lwar -c $@ $?
 
-libdw.a: dw.o
-	lwar -c $@ $?
-
 libalib.a:
 	cd alib; make
 
--- a/lib/os9.as	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1318 +0,0 @@
-********************************************************************
-* OS9Defs - NitrOS-9 System Definitions
-*
-* $Id$
-*
-* Edt/Rev  YYYY/MM/DD  Modified by
-* Comment
-* ------------------------------------------------------------------
-*          1985/08/29  KMZ
-* Fixed DT.SBF/NFM values to 3/4
-*
-*          1985/09/01  KMZ
-* Added SS.FDInf, SS.Attr to accept 68K request thru NET.
-*
-*          1985/09/03  KMZ/Robert F. Doggett
-* Eliminated E$BPrcID, made Error #238 become E$DNE for
-* 68000 compatability.
-*
-*          1986/04/15  Mark G. Hawkins
-* F$AlHRAM System call added for COCO.
-*
-*          1986/09/08  Mark G. Hawkins
-* F$Alarm for COCO Clock Module.
-*
-*          1986/09/17  Mark G. Hawkins
-* SS.Tone For COCO.
-*
-*          1986/09/23  Mark G. Hawkins
-* Added F$NMLink and F$NMLoad for COCO.
-*
-*          1986/09/30  Mark G. Hawkins
-* Added Reserved User $70 to $7f in sytem calls.
-*
-*          1986/09/30  Mark G. Hawkins
-* Created Color Computer 3 Version of OS9Defs.
-*
-*          1998/10/03  Boisy G. Pitre
-* Consoldated Level 1/Level 2 os9defs.
-*
-*          2002/04/04  Boisy G. Pitre
-* Consoldated Level 2/Level 2 V3 os9defs.
-*
-*          2002/04/30  Boisy G. Pitre
-* Added NitrOS-9 definitions.
-*
-*          2003/05/30  Boisy G. Pitre
-* Added WD1002 sys vars to Level One section.
-*
-*          2003/06/02  Boisy G. Pitre
-* Fixed incorrectly ordered D.X*** system globals for OS-9 Level One and
-* changed the sizes from 2 to 3 bytes.
-* DT.NFM is now the same for both Level One and Level Two.
-* Added DT.CDFM type for future CD-ROM file manager
-*
-*          2003/11/05  Robert Gault
-* Fixed MouseInf. Made it rmb 2 as it should be. Also changes to init and cc3io.
-*
-*	       2005/11/02  P.Harvey-Smith
-* Added definitions for boot areas on Dragon computers.
-*
-*	       2006/03/03  Boisy G. Pitre
-* Added F$Debug and D.DbgMem areas, common to all levels of NitrOS-9
-
-               NAM       OS9Defs
-               IFEQ      Level-1
-               TTL       NitrOS-9 Level 1 System Symbol Definitions
-               ELSE      
-               IFEQ      Level-2
-               TTL       NitrOS-9 Level 2 System Symbol Definitions
-               ELSE      
-               TTL       NitrOS-9 Level 3 System Symbol Definitions
-               ENDC      
-               ENDC      
-
-* Common definitions
-true:          EQU       1                   useful name
-false:         EQU       0                   useful name
-
-               PAG       
-*****************************************
-* System Service Request Code Definitions
-*
-               section   _constant
-F$Link:        RMB       1                   Link to Module
-F$Load:        RMB       1                   Load Module from File
-F$UnLink:      RMB       1                   Unlink Module
-F$Fork:        RMB       1                   Start New Process
-F$Wait:        RMB       1                   Wait for Child Process to Die
-F$Chain:       RMB       1                   Chain Process to New Module
-F$Exit:        RMB       1                   Terminate Process
-F$Mem:         RMB       1                   Set Memory Size
-F$Send:        RMB       1                   Send Signal to Process
-F$Icpt:        RMB       1                   Set Signal Intercept
-F$Sleep:       RMB       1                   Suspend Process
-F$SSpd:        RMB       1                   Suspend Process
-F$ID:          RMB       1                   Return Process ID
-F$SPrior:      RMB       1                   Set Process Priority
-F$SSWI:        RMB       1                   Set Software Interrupt
-F$PErr:        RMB       1                   Print Error
-F$PrsNam:      RMB       1                   Parse Pathlist Name
-F$CmpNam:      RMB       1                   Compare Two Names
-F$SchBit:      RMB       1                   Search Bit Map
-F$AllBit:      RMB       1                   Allocate in Bit Map
-F$DelBit:      RMB       1                   Deallocate in Bit Map
-F$Time:        RMB       1                   Get Current Time
-F$STime:       RMB       1                   Set Current Time
-F$CRC:         RMB       1                   Generate CRC ($17)
-
-               IFGT      Level-1
-
-* NitrOS-9 Level 2 system calls
-F$GPrDsc:      RMB       1                   Get Process Descriptor copy ($18)
-F$GBlkMp:      RMB       1                   Get System Block Map copy ($19)
-F$GModDr:      RMB       1                   Get Module Directory copy ($1A)
-F$CpyMem:      RMB       1                   Copy External Memory ($1B)
-F$SUser:       RMB       1                   Set User ID number ($1C)
-F$UnLoad:      RMB       1                   Unlink Module by name ($1D)
-F$Alarm:       RMB       1                   Color Computer 3 Alarm Call ($1E)
-               RMB       2                   Reserved - For overlap of other systems ($1F)
-F$NMLink:      RMB       1                   Color Computer 3 Non-Mapping Link ($21)
-F$NMLoad:      RMB       1                   Color Computer 3 Non-Mapping Load ($22)
-
-               ELSE      
-
-* NitrOS-9 Level 1 system call padding
-               RMB       11
-
-               ENDC      
-
-F$Debug:       RMB       1                   Drop the system into the debugger ($23)
-
-               IFGT      Level-1
-
-               RMB       $25-*
-F$TPS:         RMB       1                   Return System's Ticks Per Second
-F$TimAlm:      RMB       1                   CoCo individual process alarm call
-
-               ENDC      
-
-               RMB       $27-*               Beginning of System Reserved Calls
-* NitrOS-9 common system calls
-F$VIRQ:        RMB       1                   Install/Delete Virtual IRQ
-F$SRqMem:      RMB       1                   System Memory Request
-F$SRtMem:      RMB       1                   System Memory Return
-F$IRQ:         RMB       1                   Enter IRQ Polling Table
-F$IOQu:        RMB       1                   Enter I/O Queue
-F$AProc:       RMB       1                   Enter Active Process Queue
-F$NProc:       RMB       1                   Start Next Process
-F$VModul:      RMB       1                   Validate Module
-F$Find64:      RMB       1                   Find Process/Path Descriptor
-F$All64:       RMB       1                   Allocate Process/Path Descriptor
-F$Ret64:       RMB       1                   Return Process/Path Descriptor
-F$SSvc:        RMB       1                   Service Request Table Initialization
-F$IODel:       RMB       1                   Delete I/O Module
-
-               IFGT      Level-1
-
-F$SLink:       RMB       1                   System Link
-F$Boot:        RMB       1                   Bootstrap System
-F$BtMem:       RMB       1                   Bootstrap Memory Request
-F$GProcP:      RMB       1                   Get Process ptr
-F$Move:        RMB       1                   Move Data (low bound first)
-F$AllRAM:      RMB       1                   Allocate RAM blocks
-F$AllImg:      RMB       1                   Allocate Image RAM blocks
-F$DelImg:      RMB       1                   Deallocate Image RAM blocks
-F$SetImg:      RMB       1                   Set Process DAT Image
-F$FreeLB:      RMB       1                   Get Free Low Block
-F$FreeHB:      RMB       1                   Get Free High Block
-F$AllTsk:      RMB       1                   Allocate Process Task number
-F$DelTsk:      RMB       1                   Deallocate Process Task number
-F$SetTsk:      RMB       1                   Set Process Task DAT registers
-F$ResTsk:      RMB       1                   Reserve Task number
-F$RelTsk:      RMB       1                   Release Task number
-F$DATLog:      RMB       1                   Convert DAT Block/Offset to Logical
-F$DATTmp:      RMB       1                   Make temporary DAT image (Obsolete)
-F$LDAXY:       RMB       1                   Load A [X,[Y]]
-F$LDAXYP:      RMB       1                   Load A [X+,[Y]]
-F$LDDDXY:      RMB       1                   Load D [D+X,[Y]]
-F$LDABX:       RMB       1                   Load A from 0,X in task B
-F$STABX:       RMB       1                   Store A at 0,X in task B
-F$AllPrc:      RMB       1                   Allocate Process Descriptor
-F$DelPrc:      RMB       1                   Deallocate Process Descriptor
-F$ELink:       RMB       1                   Link using Module Directory Entry
-F$FModul:      RMB       1                   Find Module Directory Entry
-F$MapBlk:      RMB       1                   Map Specific Block
-F$ClrBlk:      RMB       1                   Clear Specific Block
-F$DelRAM:      RMB       1                   Deallocate RAM blocks
-F$GCMDir:      RMB       1                   Pack module directory
-F$AlHRAM:      RMB       1                   Allocate HIGH RAM Blocks
-
-* Alan DeKok additions
-F$ReBoot:      RMB       1                   Reboot machine (reload OS9Boot) or drop to RSDOS
-F$CRCMod:      RMB       1                   CRC mode, toggle or report current status
-F$XTime:       RMB       1                   Get Extended time packet from RTC (fractions of second)
-F$VBlock:      RMB       1                   Verify modules in a block of memory, add to module directory
-
-               ENDC      
-
-*
-* Numbers $70 through $7F are reserved for user definitions
-*
-               RMB       $70-*
-
-               IFEQ      Level-1
-
-               RMB       16                  Reserved for user definition
-
-               ELSE      
-
-F$RegDmp:      RMB       1                   Ron Lammardo's debugging register dump
-F$NVRAM:       RMB       1                   Non Volatile RAM (RTC battery backed static) read/write
-
-               RMB       $80-*               Reserved for user definitions
-               ENDC      
-               endsect
-
-               PAG       
-**************************************
-* I/O Service Request Code Definitions
-*
-               section   _constant
-               RMB       $80
-I$Attach:      RMB       1                   Attach I/O Device
-I$Detach:      RMB       1                   Detach I/O Device
-I$Dup:         RMB       1                   Duplicate Path
-I$Create:      RMB       1                   Create New File
-I$Open:        RMB       1                   Open Existing File
-I$MakDir:      RMB       1                   Make Directory File
-I$ChgDir:      RMB       1                   Change Default Directory
-I$Delete:      RMB       1                   Delete File
-I$Seek:        RMB       1                   Change Current Position
-I$Read:        RMB       1                   Read Data
-I$Write:       RMB       1                   Write Data
-I$ReadLn:      RMB       1                   Read Line of ASCII Data
-I$WritLn:      RMB       1                   Write Line of ASCII Data
-I$GetStt:      RMB       1                   Get Path Status
-I$SetStt:      RMB       1                   Set Path Status
-I$Close:       RMB       1                   Close Path
-I$DeletX:      RMB       1                   Delete from current exec dir
-               endsect
-
-*******************
-* File Access Modes
-*
-               section   _constant
-READ.:         EQU       %00000001
-WRITE.:        EQU       %00000010
-UPDAT.:        EQU       READ.+WRITE.
-EXEC.:         EQU       %00000100
-PREAD.:        EQU       %00001000
-PWRIT.:        EQU       %00010000
-PEXEC.:        EQU       %00100000
-SHARE.:        EQU       %01000000
-DIR.:          EQU       %10000000
-ISIZ.:         EQU       %00100000
-               endsect
-
-**************
-* Signal Codes
-*
-               section   _constant
-S$Kill:        RMB       1                   Non-Interceptable Abort
-S$Wake:        RMB       1                   Wake-up Sleeping Process
-S$Abort:       RMB       1                   Keyboard Abort
-S$Intrpt:      RMB       1                   Keyboard Interrupt
-S$Window:      RMB       1                   Window Change
-S$HUP:         EQU       S$Window            Hang up
-S$Alarm:       RMB       1                   CoCo individual process' alarm signal
-               endsect
-
-               PAG       
-**********************************
-* Status Codes for GetStat/GetStat
-*
-               section   _constant
-SS.Opt:        RMB       1                   Read/Write PD Options
-SS.Ready:      RMB       1                   Check for Device Ready
-SS.Size:       RMB       1                   Read/Write File Size
-SS.Reset:      RMB       1                   Device Restore
-SS.WTrk:       RMB       1                   Device Write Track
-SS.Pos:        RMB       1                   Get File Current Position
-SS.EOF:        RMB       1                   Test for End of File
-SS.Link:       RMB       1                   Link to Status routines
-SS.ULink:      RMB       1                   Unlink Status routines
-SS.Feed:       RMB       1                   Issue form feed
-SS.Frz:        RMB       1                   Freeze DD. information
-SS.SPT:        RMB       1                   Set DD.TKS to given value
-SS.SQD:        RMB       1                   Sequence down hard disk
-SS.DCmd:       RMB       1                   Send direct command to disk
-SS.DevNm:      RMB       1                   Return Device name (32-bytes at [X])
-SS.FD:         RMB       1                   Return File Descriptor (Y-bytes at [X])
-SS.Ticks:      RMB       1                   Set Lockout honor duration
-SS.Lock:       RMB       1                   Lock/Release record
-SS.DStat:      RMB       1                   Return Display Status (CoCo)
-SS.Joy:        RMB       1                   Return Joystick Value (CoCo)
-SS.BlkRd:      RMB       1                   Block Read
-SS.BlkWr:      RMB       1                   Block Write
-SS.Reten:      RMB       1                   Retension cycle
-SS.WFM:        RMB       1                   Write File Mark
-SS.RFM:        RMB       1                   Read past File Mark
-SS.ELog:       RMB       1                   Read Error Log
-SS.SSig:       RMB       1                   Send signal on data ready
-SS.Relea:      RMB       1                   Release device
-SS.AlfaS:      RMB       1                   Return Alfa Display Status (CoCo, SCF/GetStat)
-SS.Attr:       EQU       SS.AlfaS            To serve 68K/RBF/SetStat only, thru NET
-SS.Break:      RMB       1                   Send break signal out acia
-SS.RsBit:      RMB       1                   Reserve bitmap sector (do not allocate in) LSB(X)=sct#
-               RMB       1                   Reserved
-SS.FDInf:      EQU       $20                 To serve 68K/RBF/GetStat only, thru NET
-               RMB       4                   Reserve $20-$23 for Japanese version (Hoshi)
-SS.SetMF:      RMB       1                   Reserve $24 for Gimix G68 (Flex compatability?)
-SS.Cursr:      RMB       1                   Cursor information for COCO
-SS.ScSiz:      RMB       1                   Return screen size for COCO
-SS.KySns:      RMB       1                   Getstat/SetStat for COCO keyboard
-SS.ComSt:      RMB       1                   Getstat/SetStat for Baud/Parity
-SS.Open:       RMB       1                   SetStat to tell driver a path was opened
-SS.Close:      RMB       1                   SetStat to tell driver a path was closed
-SS.HngUp:      RMB       1                   SetStat to tell driver to hangup phone
-SS.FSig:       RMB       1                   New signal for temp locked files
-SS.DSize:      EQU       SS.ScSiz            Return disk size (RBF GetStat)
-SS.VarSect:    EQU       SS.DStat            Variable Sector Size (RBF GetStat)
-
-* System Specific and User defined codes above $80
-               RMB       $80-*
-SS.AAGBf:      RMB       1                   SetStat to Allocate Additional Graphic Buffer
-SS.SLGBf:      RMB       1                   SetStat to Select a different Graphic Buffer
-SS.Mount:      RMB       1                   Network 4 Mount Setstat
-SS.RdNet:      RMB       1                   Read Raw Sector from Network 4 Omnidrive
-SS.MpGPB:      RMB       1                   SetStat to request a Get/Put Buffer be mapped in workspace
-SS.Slots:      RMB       1                   Network 4 slots? getstat
-
-               IFGT      Level-1
-
-* Level 2 Windowing
-SS.WnSet:      RMB       1                   Set up High Level Windowing Information
-SS.MnSel:      RMB       1                   Request High level Menu Handler take determine next event
-SS.SBar:       RMB       1                   SetStat to set position block on Window scroll bars
-SS.Mouse:      RMB       1                   Return Mouse information packet (COCO)
-SS.MsSig:      RMB       1                   SetStat to tell driver to send signal on mouse event
-SS.AScrn:      RMB       1                   Allocate a screen for application poking
-SS.DScrn:      RMB       1                   Display a screen allocated by SS.AScrn
-SS.FScrn:      RMB       1                   Free a screen allocated by SS.AScrn
-SS.PScrn:      RMB       1                   Polymorph Screen into different screen type
-SS.ScInf:      RMB       1                   Get Current screen info for direct writes
-               RMB       1                   Reserved
-SS.Palet:      RMB       1                   Return palette information
-SS.Montr:      RMB       1                   Get and Set Monitor Type
-SS.ScTyp:      RMB       1                   Get screen type information
-SS.GIP:        RMB       1                   Global Input Parameters (SetStat)
-SS.UMBar:      RMB       1                   update menu bar (SetStat)
-SS.FBRgs:      RMB       1                   return color registers (GetStat)
-SS.DfPal:      RMB       1                   set/return default palette registers (Getstat/Setstat)
-SS.Tone:       RMB       1                   Generate a tone using 6 bit sound
-SS.GIP2:       RMB       1                   Global Input Params #2 (L2V3)
-SS.AnPal:      RMB       1                   Animate palettes (L2V3)
-SS.FndBf:      RMB       1                   Find named buffer (L2V3)
-
-* sc6551 defined
-SS.CDSta:      EQU       SS.GIP2
-SS.CDSig:      EQU       SS.AnPal
-SS.CDRel:      EQU       SS.FndBf
-               ELSE      
-* These are wide open in Level 1
-               RMB       19
-
-* sc6551 defined
-SS.CDSta:      RMB       1
-SS.CDSig:      RMB       1
-SS.CDRel:      RMB       1
-               ENDC      
-
-               RMB       $A0-*
-*
-* New Default SCF input buffer Set status call
-SS.Fill:       RMB       1                   Pre-load SCF device input buffer
-SS.Hist:       RMB       1                   Enable command-line history easily
-
-               RMB       $B0-*
-*
-* New WDDisk get/set status calls
-SS.ECC:        RMB       1                   ECC corrected data error enable/disable (GetStat/SetStat)
-               endsect
-
-*
-               IFGT      Level-1
-
-* VRN get/set status calls.  Named by Alan DeKok.
-SS.VCtr:       EQU       $80                 Return FS2 total VIRQ counter
-SS.VSig:       EQU       $81                 Return FS2 number of signals sent
-
-SS.FClr:       EQU       $81                 Set/clear FS2 VIRQ
-SS.FSet:       EQU       $C7                 Set FS2+ VIRQ
-SS.KSet:       EQU       $C8                 Set KQ3 VIRQ
-SS.KClr:       EQU       $C9                 Clr KQ3 VIRQ
-SS.ARAM:       EQU       $CA                 Allocate RAM blocks
-SS.DRAM:       EQU       $CB                 De-allocate RAM blocks
-
-* SDisk 3 Definition Equates
-SS.DRead:      EQU       SS.AAGBf            SDisk3 Direct Sector Read ($80)
-SS.DWrit:      EQU       SS.DRead            SDisk3 Direct sector Write ($80)
-SS.UnFrz:      EQU       SS.SLGBf            SDisk3 UNFreeze DD info ($81)
-SS.MOFF:       EQU       SS.Mount            SDisk3 fast motor off call ($82)
-SS.MoTim:      EQU       SS.RdNet            SDisk3 Set motor shut off time ($83)
-SS.SDRD:       EQU       SS.MpGPB            SDisk3 System direct read ($84)
-SS.SDWRT:      EQU       SS.SDRD             SDisk3 System direct writes ($84)
-SS.Sleep:      EQU       SS.Slots            SDisk3 (DMC ONLY) Enable/disable F$Sleep calls in read/write 1773 I/O ($85)
-SS.DrvCh:      EQU       SS.WnSet            SDisk3 (DMC ONLY) Set drive number to cache, or return drive number being cached ($86)
-
-               ENDC      
-
-               TTL       Direct Page Definitions
-               PAG       
-
-**********************************
-* Direct Page Variable Definitions
-*
-               section   _constant
-D.WDAddr:      RMB       2                   FHL/Isted WD1002-05 interface base address
-D.WDBtDr:      RMB       1                   FHL/Isted WD1002-05 boot physical device drive num.
-D.SWPage:      RMB       1                   SmartWatch page # (see clock2_smart)
-               RMB       5
-D.COCOXT:      RMB       1                   Busy flag for CoCo-XT driver (one drive at a time)
-D.DbgMem:      RMB       2                   Debug memory pointer
-D.DWSubAddr:   RMB  	 2                   DriveWire subroutine module pointer
-D.DWStat:      RMB  	 2                   DriveWire statics page
-
-               RMB       $20-*
-
-               IFEQ      Level-1
-
-* Level 1 DP vars
-D.FMBM:        RMB       4                   Free memory bit map pointers
-D.MLIM:        RMB       2                   Memory limit $24
-D.ModDir:      RMB       4                   Module directory $26
-D.Init:        RMB       2                   Rom base address $2A
-D.SWI3:        RMB       2                   Swi3 vector $2C
-D.SWI2:        RMB       2                   Swi2 vector $2E
-D.FIRQ:        RMB       2                   Firq vector $30
-D.IRQ:         RMB       2                   Irq vector $32
-D.SWI:         RMB       2                   Swi vector $34
-D.NMI:         RMB       2                   Nmi vector $36
-D.SvcIRQ:      RMB       2                   Interrupt service entry $38
-D.Poll:        RMB       2                   Interrupt polling routine $3A
-D.UsrIRQ:      RMB       2                   User irq routine $3C
-D.SysIRQ:      RMB       2                   System irq routine $3E
-D.UsrSvc:      RMB       2                   User service request routine $40
-D.SysSvc:      RMB       2                   System service request routine $42
-D.UsrDis:      RMB       2                   User service request dispatch table
-D.SysDis:      RMB       2                   System service reuest dispatch table
-D.Slice:       RMB       1                   Process time slice count $48
-D.PrcDBT:      RMB       2                   Process descriptor block address  $49
-D.Proc:        RMB       2                   Process descriptor address $4B
-D.AProcQ:      RMB       2                   Active process queue $4D
-D.WProcQ:      RMB       2                   Waiting process queue $4F
-D.SProcQ:      RMB       2                   Sleeping process queue $51
-D.Time:        EQU       *                   Time
-D.Year:        RMB       1                   $53
-D.Month:       RMB       1                   $54
-D.Day:         RMB       1                   $55
-D.Hour:        RMB       1                   $56
-D.Min:         RMB       1                   $57
-D.Sec:         RMB       1                   $58
-D.Tick:        RMB       1                   $59
-D.TSec:        RMB       1                   Ticks / second $5A
-D.TSlice:      RMB       1                   Ticks / time-slice $5B
-D.IOML:        RMB       2                   I/O mgr free memory low bound $5C
-D.IOMH:        RMB       2                   I/O mgr free memory hi  bound $5E
-D.DevTbl:      RMB       2                   Device driver table addr $60
-D.PolTbl:      RMB       2                   Irq polling table addr $62
-D.PthDBT:      RMB       2                   Path descriptor block table addr $64
-D.BTLO:        RMB       2                   Bootstrap low address $66
-D.BTHI:        RMB       2                   Bootstrap hi address $68
-D.DMAReq:      RMB       1                   DMA in use flag $6A
-D.AltIRQ:      RMB       2                   Alternate IRQ vector (CC) $6B
-D.KbdSta:      RMB       2                   Keyboard scanner static storage (CC) $6D
-D.DskTmr:      RMB       2                   Disk Motor Timer (CC) $6F
-D.CBStrt:      RMB       16                  reserved for CC warmstart ($71)
-D.Clock:       RMB       2                   Address of Clock Tick Routine (CC) $81
-D.Boot:        RMB       1                   Bootstrap attempted flag
-D.URtoSs:      RMB       2                   address of user to system routine (VIRQ) $84
-D.CLTb:        RMB       2                   Pointer to clock interrupt table (VIRQ) $86
-D.MDREG:       RMB       1                   6309 MD (mode) shadow register $88 (added in V2.01.00)
-D.CRC:         RMB       1                   CRC checking mode flag $89 (added in V2.01.00)
-D.Clock2:      RMB       2                   CC Clock2 entry address
-
-               RMB       $100-*
-D.XSWI3:       RMB       3
-D.XSWI2:       RMB       3
-D.XSWI:        RMB       3
-D.XNMI:        RMB       3
-D.XIRQ:        RMB       3
-D.XFIRQ:       RMB       3
-
-* Table Sizes
-BMAPSZ:        EQU       32                  Bitmap table size
-SVCTNM:        EQU       2                   Number of service request tables
-SVCTSZ:        EQU       (256-BMAPSZ)/SVCTNM-2 Service request table size
-
-               ELSE      
-
-* Level 2 DP vars
-D.Tasks:       RMB       2                   Task User Table
-D.TmpDAT:      RMB       2                   Temporary DAT Image stack
-D.Init:        RMB       2                   Initialization Module ptr
-D.Poll:        RMB       2                   Interrupt Polling Routine ptr
-D.Time:        EQU       *                   System Time
-D.Year:        RMB       1
-D.Month:       RMB       1
-D.Day:         RMB       1
-D.Hour:        RMB       1
-D.Min:         RMB       1
-D.Sec:         RMB       1
-D.Tick:        RMB       1
-D.Slice:       RMB       1                   current slice remaining
-D.TSlice:      RMB       1                   Ticks per Slice
-D.Boot:        RMB       1                   Bootstrap attempted flag
-D.MotOn:       RMB       1                   Floppy Disk Motor-On time out
-D.ErrCod:      RMB       1                   Reset Error Code
-D.Daywk:       RMB       1                   day of week, com-trol clock
-D.TkCnt:       RMB       1                   Tick Counter
-D.BtPtr:       RMB       2                   Address of Boot in System Address space
-D.BtSz:        RMB       2                   Size of Boot
-
-               IFNE      H6309
-D.MDREG:       RMB       1                   6309 MD (mode) shadow register
-               ELSE      
-               RMB       1                   Currently unused in NitrOS-9/6809
-               ENDC      
-
-D.CRC:         RMB       1                   CRC checking mode flag
-
-D.Tenths:      RMB       1                   Tenths and hundredths of second for F$Xtime
-D.Task1N:      RMB       1                   Map type 1 task number*2 - offset into [D.TskIPt]
-D.Quick:       RMB       1                   Quick system call return flag - 0 =stack is at $FEE1
-D.QIRQ:        RMB       1                   Quick IRQ flag - 0 =IRQ wasn't clock, so quick return
-
-               RMB       $40-*
-D.BlkMap:      RMB       4                   Memory Block Map ptr
-D.ModDir:      RMB       4                   Module Directory ptrs
-D.PrcDBT:      RMB       2                   Process Descriptor Block Table ptr
-D.SysPrc:      RMB       2                   System Process Descriptor ptr
-D.SysDAT:      RMB       2                   System DAT Image ptr
-D.SysMem:      RMB       2                   System Memory Map ptr
-D.Proc:        RMB       2                   Current Process ptr
-D.AProcQ:      RMB       2                   Active Process Queue
-D.WProcQ:      RMB       2                   Waiting Process Queue
-D.SProcQ:      RMB       2                   Sleeping Process Queue
-D.ModEnd:      RMB       2                   Module Directory end ptr
-D.ModDAT:      RMB       2                   Module Dir DAT image end ptr
-D.CldRes:      RMB       2                   Cold Restart vector
-D.BtBug:       RMB       3                   Boot debug information
-D.Pipe:        RMB       2
-
-               RMB       $6B-*
-D.Crash:       RMB       6                   Pointer to CC Crash Routine
-D.CBStrt:      RMB       $B                  Reserved for CC warmstart ($71)
-D.QCnt:        RMB       1                   Count of number of quick system calls performed
-
-               RMB       $80-*
-D.DevTbl:      RMB       2                   I/O Device Table
-D.PolTbl:      RMB       2                   I/O Polling Table
-               RMB       4                   reserved
-D.PthDBT:      RMB       2                   Path Descriptor Block Table ptr
-D.DMAReq:      RMB       1                   DMA Request flag
-
-********
-* CoCo 3 STUFF COMES NEXT
-* This area is used for the CoCo Hardware Registers
-*
-               RMB       $90-*
-D.HINIT:       RMB       1                   GIME INIT0 register (hardware setup $FF90)
-D.TINIT:       RMB       1                   GIME INIT1 register (timer/task register $FF91)
-D.IRQER:       RMB       1                   Interrupt enable regsiter ($FF92)
-D.FRQER:       RMB       1                   Fast Interrupt enable register ($FF93)
-D.TIMMS:       RMB       1                   Timer most significant nibble ($FF94)
-D.TIMLS:       RMB       1                   Timer least significant byte ($FF95)
-D.RESV1:       RMB       1                   reserved register ($FF96)
-D.RESV2:       RMB       1                   reserved register ($FF97)
-D.VIDMD:       RMB       1                   video mode register ($FF98)
-D.VIDRS:       RMB       1                   video resolution register ($FF99)
-D.BORDR:       RMB       1                   border register ($FF9A)
-D.RESV3:       RMB       1                   reserved register ($FF9B)
-D.VOFF2:       RMB       1                   vertical scroll/offset 2 register ($FF9C)
-D.VOFF1:       RMB       1                   vertical offset 1 register ($FF9D)
-D.VOFF0:       RMB       1                   vertical offset 0 register ($FF9E)
-D.HOFF0:       RMB       1                   horizontal offset 0 register ($FF9F)
-D.Speed:       RMB       1                   Speed of COCO CPU 0=slow,1=fast ($A0)
-D.TskIPt:      RMB       2                   Task image Pointer table (CC) ($A1)
-D.MemSz:       RMB       1                   128/512K memory flag (CC) ($A3)
-D.SSTskN:      RMB       1                   System State Task Number (COCO) ($A4)
-D.CCMem:       RMB       2                   Pointer to beginning of CC Memory ($A5)
-D.CCStk:       RMB       2                   Pointer to top of CC Memory ($A7)
-D.Flip0:       RMB       2                   Change to Task 0 ($A9)
-D.Flip1:       RMB       2                   Change to reserved Task 1 ($AB)
-D.VIRQ:        RMB       2                   VIRQ Polling routine ($AD)
-D.IRQS:        RMB       1                   IRQ shadow register (CC Temporary) ($AF)
-D.CLTb:        RMB       2                   VIRQ Table address ($B0)
-D.AltIRQ:      RMB       2                   Alternate IRQ Vector (CC) ($B2)
-D.GPoll:       RMB       2                   CC GIME IRQ enable/disable toggle
-D.Clock2:      RMB       2                   CC Clock2 entry address
-               RMB       $C0-*
-D.SysSvc:      RMB       2                   System Service Routine entry
-D.SysDis:      RMB       2                   System Service Dispatch Table ptr
-D.SysIRQ:      RMB       2                   System IRQ Routine entry
-D.UsrSvc:      RMB       2                   User Service Routine entry
-D.UsrDis:      RMB       2                   User Service Dispatch Table ptr
-D.UsrIRQ:      RMB       2                   User IRQ Routine entry
-D.SysStk:      RMB       2                   System stack
-D.SvcIRQ:      RMB       2                   In-System IRQ service
-D.SysTsk:      RMB       1                   System Task number
-               RMB       $E0-*
-D.Clock:       RMB       2
-D.XSWI3:       RMB       2
-D.XSWI2:       RMB       2
-D.XFIRQ:       RMB       2
-D.XIRQ:        RMB       2
-D.XSWI:        RMB       2
-D.XNMI:        RMB       2
-D.ErrRst:      RMB       2
-D.SysVec:      RMB       2                   F$xxx system call vector for NitrOS-9 Level 3
-D.SWI3:        RMB       2
-D.SWI2:        RMB       2
-D.FIRQ:        RMB       2
-D.IRQ:         RMB       2
-D.SWI:         RMB       2
-D.NMI:         RMB       2
-
-*************************
-* Level 2 Block Map flags
-*
-NotRAM:        EQU       %10000000           Block Not RAM flag
-VidRAM:        EQU       %00000100           Block is being used as Video RAM
-ModBlock:      EQU       %00000010           Module in Block
-RAMinUse:      EQU       %00000001           RAM Block in use flag
-*
-* Service Dispatch Table special entries
-*
-IOEntry:       EQU       254
-
-               ENDC      
-               endsect
-
-               TTL       Structure Formats
-               PAG       
-************************************
-* Module Directory Entry Definitions
-*
-               section   _constant
-               IFGT      Level-1
-MD$MPDAT:      RMB       2                   Module DAT Image ptr
-MD$MBSiz:      RMB       2                   Memory Block size
-               ENDC      
-MD$MPtr:       RMB       2                   Module ptr
-MD$Link:       RMB       2                   Module Link count
-MD$ESize:      EQU       *                   Module Directory Entry size
-               endsect
-
-************************************
-* Module Definitions
-*
-* Universal Module Offsets
-*
-               section   _constant
-M$ID:          RMB       2                   ID Code
-M$Size:        RMB       2                   Module Size
-M$Name:        RMB       2                   Module Name
-M$Type:        RMB       1                   Type / Language
-M$Revs:        RMB       1                   Attributes / Revision Level
-M$Parity:      RMB       1                   Header Parity
-M$IDSize:      EQU       *                   Module ID Size
-               endsect
-
-               section   _constant
-*
-* Type-Dependent Module Offsets
-*
-* System, File Manager, Device Driver, Program Module
-*
-               RMB       M$IDSize
-M$Exec:        RMB       2                   Execution Entry Offset
-*
-* Device Driver, Program Module
-*
-M$Mem:         RMB       2                   Stack Requirement
-*
-* Device Driver, Device Descriptor Module
-*
-M$Mode:        RMB       1                   Device Driver Mode Capabilities
-               endsect
-
-               section   _constant
-*
-* Device Descriptor Module
-*
-               RMB       M$IDSize
-M$FMgr:        RMB       2                   File Manager Name Offset
-M$PDev:        RMB       2                   Device Driver Name Offset
-               RMB       1                   M$Mode (defined above)
-M$Port:        RMB       3                   Port Address
-M$Opt:         RMB       1                   Device Default Options
-M$DTyp:        RMB       1                   Device Type
-IT.DTP:        EQU       M$DTyp              Descriptor type offset
-               endsect
-
-               section   _constant
-*
-* Configuration Module Entry Offsets
-*
-               RMB       M$IDSize
-MaxMem:        RMB       3                   Maximum Free Memory
-PollCnt:       RMB       1                   Entries in Interrupt Polling Table
-DevCnt:        RMB       1                   Entries in Device Table
-InitStr:       RMB       2                   Initial Module Name
-SysStr:        RMB       2                   System Device Name
-StdStr:        RMB       2                   Standard I/O Pathlist
-BootStr:       RMB       2                   Bootstrap Module name
-ProtFlag:      RMB       1                   Write protect enable flag
-
-OSLevel:       RMB       1                   OS level
-OSVer:         RMB       1                   OS version
-OSMajor:       RMB       1                   OS major
-OSMinor:       RMB       1                   OS minor
-Feature1:      RMB       1                   feature byte 1
-Feature2:      RMB       1                   feature byte 2
-OSName:        RMB       2                   OS revision name string (nul terminated)
-InstallName:   RMB       2                   installation name string (nul terminated)
-               RMB       4                   reserved for future use
-
-               IFGT      Level-1
-* -- VTIO area -- (NitrOS-9 Level 2 and above) *
-MonType:       RMB       1                   Monitor type (0=CMP,1=RGB,2=MONO)
-MouseInf:      RMB       2                   Mouse resolution/Mouse port; was 1, major error RG.
-KeyRptS:       RMB       1                   Key repeat start constant
-KeyRptD:       RMB       1                   Key repeat delay constant
-               ENDC      
-
-* Feature1 byte definitions
-CRCOn:         EQU       %00000001           CRC checking on
-CRCOff:        EQU       %00000000           CRC checking off
-Proc6809:      EQU       %00000000           6809 procesor
-Proc6309:      EQU       %00000010           6309 procesor
-
-               PAG       
-**************************
-* Module Field Definitions
-*
-* ID Field - First two bytes of a NitrOS-9 module
-*
-M$ID1:         EQU       $87                 Module ID code byte one
-M$ID2:         EQU       $CD                 Module ID code byte two
-M$ID12:        EQU       M$ID1*256+M$ID2
-
-*
-* Module Type/Language Field Masks
-*
-TypeMask:      EQU       %11110000           Type Field
-LangMask:      EQU       %00001111           Language Field
-
-*
-* Module Type Values
-*
-Devic:         EQU       $F0                 Device Descriptor Module
-Drivr:         EQU       $E0                 Physical Device Driver
-FlMgr:         EQU       $D0                 File Manager
-Systm:         EQU       $C0                 System Module
-ShellSub:      EQU       $50                 Shell+ shell sub module
-Data:          EQU       $40                 Data Module
-Multi:         EQU       $30                 Multi-Module
-Sbrtn:         EQU       $20                 Subroutine Module
-Prgrm:         EQU       $10                 Program Module
-
-*
-* Module Language Values
-*
-Objct:         EQU       1                   6809 Object Code Module
-ICode:         EQU       2                   Basic09 I-code
-PCode:         EQU       3                   Pascal P-code
-CCode:         EQU       4                   C I-code
-CblCode:       EQU       5                   Cobol I-code
-FrtnCode:      EQU       6                   Fortran I-code
-Obj6309:       EQU       7                   6309 object code
-*
-* Module Attributes / Revision byte
-*
-* Field Masks
-*
-AttrMask:      EQU       %11110000           Attributes Field
-RevsMask:      EQU       %00001111           Revision Level Field
-*
-* Attribute Flags
-*
-ReEnt:         EQU       %10000000           Re-Entrant Module
-ModProt:       EQU       %01000000           Gimix Module protect bit (0=protected, 1=write enable)
-ModNat:        EQU       %00100000           6309 native mode attribute
-
-********************
-* Device Type Values
-*
-* These values define various classes of devices, which are
-* managed by a file manager module.  The Device Type is embedded
-* in a device's device descriptor.
-*
-DT.SCF:        EQU       0                   Sequential Character File Manager
-DT.RBF:        EQU       1                   Random Block File Manager
-DT.Pipe:       EQU       2                   Pipe File Manager
-DT.SBF:        EQU       3                   Sequential Block File Manager
-DT.NFM:        EQU       4                   Network File Manager
-DT.CDFM:       EQU       5                   CD-ROM File Manager
-
-
-*********************
-* CRC Result Constant
-*
-CRCCon1:       EQU       $80
-CRCCon23:      EQU       $0FE3
-               endsect
-
-               TTL       Process Information
-               PAG       
-********************************
-* Process Descriptor Definitions
-*
-               IFEQ      Level-1
-
-* Level 1 process descriptor defs
-DefIOSiz:      EQU       12
-NumPaths:      EQU       16                  Number of Local Paths
-
-               section   _constant
-P$ID:          RMB       1                   Process ID
-P$PID:         RMB       1                   Parent's ID
-P$SID:         RMB       1                   Sibling's ID
-P$CID:         RMB       1                   Child's ID
-P$SP:          RMB       2                   Stack ptr
-P$CHAP:        RMB       1                   process chapter number
-P$ADDR:        RMB       1                   user address beginning page number
-P$PagCnt:      RMB       1                   Memory Page Count
-P$User:        RMB       2                   User Index $09
-P$Prior:       RMB       1                   Priority $0B
-P$Age:         RMB       1                   Age $0C
-P$State:       RMB       1                   Status
-P$Queue:       RMB       2                   Queue Link (Process ptr) $0E
-P$IOQP:        RMB       1                   Previous I/O Queue Link (Process ID) $10
-P$IOQN:        RMB       1                   Next     I/O Queue Link (Process ID)
-P$PModul:      RMB       2                   Primary Module
-P$SWI:         RMB       2                   SWI Entry Point
-P$SWI2:        RMB       2                   SWI2 Entry Point
-P$SWI3:        RMB       2                   SWI3 Entry Point $18
-P$DIO:         RMB       DefIOSiz            default I/O ptrs $1A
-P$PATH:        RMB       NumPaths            I/O path table $26
-P$Signal:      RMB       1                   Signal Code $36
-P$SigVec:      RMB       2                   Signal Intercept Vector
-P$SigDat:      RMB       2                   Signal Intercept Data Address
-P$NIO:         RMB       4                   additional dio pointers for net
-               RMB       $40-*               unused
-P$Size:        EQU       *                   Size of Process Descriptor
-               endsect
-
-*
-* Process State Flags
-*
-SysState:      EQU       %10000000
-TimSleep:      EQU       %01000000
-TimOut:        EQU       %00100000
-ImgChg:        EQU       %00010000
-Condem:        EQU       %00000010
-Dead:          EQU       %00000001
-
-               ELSE      
-
-* Level 2 process descriptor defs
-DefIOSiz:      EQU       16                  Default I/O Data Length
-NefIOSiz:      EQU       12                  On-Net Default I/O Data Length
-NumPaths:      EQU       16                  Number of Local Paths
-
-               section   _constant
-P$ID:          RMB       1                   Process ID
-P$PID:         RMB       1                   Parent's ID
-P$SID:         RMB       1                   Sibling's ID
-P$CID:         RMB       1                   Child's ID
-P$SP:          RMB       2                   Stack ptr
-P$Task:        RMB       1                   Task Number
-P$PagCnt:      RMB       1                   Memory Page Count
-P$User:        RMB       2                   User Index
-P$Prior:       RMB       1                   Priority
-P$Age:         RMB       1                   Age
-P$State:       RMB       1                   Status
-P$Queue:       RMB       2                   Queue Link (Process ptr)
-P$IOQP:        RMB       1                   Previous I/O Queue Link (Process ID)
-P$IOQN:        RMB       1                   Next I/O Queue Link (Process ID)
-P$PModul:      RMB       2                   Primary Module
-P$SWI:         RMB       2                   SWI Entry Point
-P$SWI2:        RMB       2                   SWI2 Entry Point
-P$SWI3:        RMB       2                   SWI3 Entry Point
-P$Signal:      RMB       1                   Signal Code
-P$SigVec:      RMB       2                   Signal Intercept Vector
-P$SigDat:      RMB       2                   Signal Intercept Data Address
-P$DeadLk:      RMB       1                   Dominant proc ID if I/O locked
-               RMB       $20-*               unused
-P$DIO:         RMB       DefIOSiz            Default I/O ptrs
-P$Path:        RMB       NumPaths            I/O Path Table
-P$DATImg:      RMB       64                  DAT Image
-P$Links:       RMB       32                  Block Link counts
-P$NIO:         RMB       6*2                 additional DIO ptrs for net, compatible  with 68k
-P$SelP:        RMB       1                   Selected Path for COCO Windows (Default 0)
-P$UTicks:      RMB       4                   proc User Tick counter        (L2V3)
-P$STicks:      RMB       4                   proc System Tick counter      (L2V3)
-P$FCalls:      RMB       4                   proc F$ call counter          (L2V3)
-P$ICalls:      RMB       4                   proc I$ call counter          (L2V3)
-P$DatBeg:      RMB       3                   proc Date of creation (Y/M/D) (L2V3)
-P$TimBeg:      RMB       3                   proc Time of creation (H/M/S) (L2V3)
-P$Alarm:       RMB       6
-               RMB       $200-*              Local stack
-P$Stack:       EQU       *                   Top of Stack
-P$Size:        EQU       *                   Size of Process Descriptor
-               endsect
-
-*
-* Process State Flags
-*
-SysState:      EQU       %10000000
-TimSleep:      EQU       %01000000
-TimOut:        EQU       %00100000
-ImgChg:        EQU       %00010000
-Suspend:       EQU       %00001000
-Condem:        EQU       %00000010
-Dead:          EQU       %00000001
-
-               ENDC      
-
-               TTL       NitrOS-9 I/O Symbolic Definitions
-               PAG       
-*************************
-* Path Descriptor Offsets
-*
-               section   _constant
-PD.PD:         RMB       1                   Path Number
-PD.MOD:        RMB       1                   Mode (Read/Write/Update)
-PD.CNT:        RMB       1                   Number of Open Images
-PD.DEV:        RMB       2                   Device Table Entry Address
-PD.CPR:        RMB       1                   Current Process
-PD.RGS:        RMB       2                   Caller's Register Stack
-PD.BUF:        RMB       2                   Buffer Address
-PD.FST:        RMB       32-*                File Manager's Storage
-PD.OPT:        EQU       *                   PD GetSts(0) Options
-PD.DTP:        RMB       1                   Device Type
-               RMB       64-*                Path options
-PDSIZE:        EQU       *
-               endsect
-
-*
-* Pathlist Special Symbols
-*
-PDELIM:        EQU       '/                  Pathlist Name Separator
-PDIR:          EQU       '.                  Directory
-PENTIR:        EQU       '@                  Entire Device
-
-               PAG       
-****************************
-* File Manager Entry Offsets
-*
-               section   _constant
-FMCREA:        RMB       3                   Create (Open New) File
-FMOPEN:        RMB       3                   Open File
-FMMDIR:        RMB       3                   Make Directory
-FMCDIR:        RMB       3                   Change Directory
-FMDLET:        RMB       3                   Delete File
-FMSEEK:        RMB       3                   Position File
-FMREAD:        RMB       3                   Read from File
-FMWRIT:        RMB       3                   Write to File
-FMRDLN:        RMB       3                   ReadLn
-FMWRLN:        RMB       3                   WritLn
-FMGSTA:        RMB       3                   Get File Status
-FMSSTA:        RMB       3                   Set File Status
-FMCLOS:        RMB       3                   Close File
-               endsect
-
-*****************************
-* Device Driver Entry Offsets
-*
-               section   _constant
-D$INIT:        RMB       3                   Device Initialization
-D$READ:        RMB       3                   Read from Device
-D$WRIT:        RMB       3                   Write to Device
-D$GSTA:        RMB       3                   Get Device Status
-D$PSTA:        RMB       3                   Put Device Status
-D$TERM:        RMB       3                   Device Termination
-               endsect
-
-*********************
-* Device Table Format
-*
-               section   _constant
-V$DRIV:        RMB       2                   Device Driver module
-V$STAT:        RMB       2                   Device Driver Static storage
-V$DESC:        RMB       2                   Device Descriptor module
-V$FMGR:        RMB       2                   File Manager module
-V$USRS:        RMB       1                   use count
-               IFGT      Level-1
-V$DRIVEX:      RMB       2                   Device Driver execution address
-V$FMGREX:      RMB       2                   File Manager execution address
-               ENDC      
-DEVSIZ:        EQU       *
-               endsect
-
-*******************************
-* Device Static Storage Offsets
-*
-               section   _constant
-V.PAGE:        RMB       1                   Port Extended Address
-V.PORT:        RMB       2                   Device 'Base' Port Address
-V.LPRC:        RMB       1                   Last Active Process ID
-V.BUSY:        RMB       1                   Active Process ID (0=UnBusy)
-V.WAKE:        RMB       1                   Active PD if Driver MUST Wake-up
-V.USER         EQU       *                   Driver Allocation Origin
-               endsect
-
-********************************
-* Interrupt Polling Table Format
-*
-               section   _constant
-Q$POLL:        RMB       2                   Absolute Polling Address
-Q$FLIP:        RMB       1                   Flip (EOR) Byte ..normally Zero
-Q$MASK:        RMB       1                   Polling Mask (after Flip)
-Q$SERV:        RMB       2                   Absolute Service routine Address
-Q$STAT:        RMB       2                   Static Storage Address
-Q$PRTY:        RMB       1                   Priority (Low Numbers=Top Priority)
-               IFGT      Level-1
-Q$MAP:         RMB       2                   NitrOS-9 Level 2 and above
-               ENDC      
-POLSIZ:        EQU       *
-               endsect
-
-********************
-* VIRQ packet format
-*
-               section   _constant
-Vi.Cnt:        RMB       2                   count down counter
-Vi.Rst:        RMB       2                   reset value for counter
-Vi.Stat:       RMB       1                   status byte
-Vi.PkSz:       EQU       *
-
-Vi.IFlag:      EQU       %00000001           status byte virq flag
-               endsect
-
-               PAG       
-*************************************
-* Machine Characteristics Definitions
-*
-               section   _constant
-R$CC:          EQU       0                   Condition Codes register
-R$A:           EQU       1                   A Accumulator
-R$B:           EQU       2                   B Accumulator
-R$D:           EQU       R$A                 Combined A:B Accumulator
-               IFNE      H6309
-R$E:           EQU       3                   E Accumulator
-R$F:           EQU       4                   F Accumulator
-R$W:           EQU       R$E                 Combined E:F Accumulator
-R$Q:           EQU       R$A                 Combined A:B:E:F Accumulator
-R$DP:          EQU       5                   Direct Page register
-R$X:           EQU       6                   X Index register
-R$Y:           EQU       8                   Y Index register
-R$U:           EQU       10                  User Stack register
-R$PC:          EQU       12                  Program Counter register
-R$Size:        EQU       14                  Total register package size
-               ELSE      
-R$DP:          EQU       3                   Direct Page register
-R$X:           EQU       4                   X Index register
-R$Y:           EQU       6                   Y Index register
-R$U:           EQU       8                   User Stack register
-R$PC:          EQU       10                  Program Counter register
-R$Size:        EQU       12                  Total register package size
-               ENDC      
-
-* MD register masks
-* 6309 definitions
-DIV0:          EQU       %10000000           division by 0 trap flag       : 1 = trap occured
-badinstr:      EQU       %01000000           illegal instruction trap flag : 1 = trap occured
-
-Entire:        EQU       %10000000           Full Register Stack flag
-FIRQMask:      EQU       %01000000           Fast-Interrupt Mask bit
-HalfCrry:      EQU       %00100000           Half Carry flag
-IRQMask:       EQU       %00010000           Interrupt Mask bit
-Negative:      EQU       %00001000           Negative flag
-Zero:          EQU       %00000100           Zero flag
-TwosOvfl:      EQU       %00000010           Two's Comp Overflow flag
-Carry:         EQU       %00000001           Carry bit
-IntMasks:      EQU       IRQMask+FIRQMask
-Sign:          EQU       %10000000           sign bit
-               endsect
-
-               TTL       Error Code Definitions
-               PAG       
-************************
-* Error Code Definitions
-*
-* Basic09 Error Codes
-*
-               section   _constant
-E$UnkSym:      RMB       1                   Unknown symbol
-E$ExcVrb:      RMB       1                   Excessive verbage
-E$IllStC:      RMB       1                   Illegal statement construction
-E$ICOvf:       RMB       1                   I-code overflow
-E$IChRef:      RMB       1                   Illegal channel reference
-E$IllMod:      RMB       1                   Illegal mode
-E$IllNum:      RMB       1                   Illegal number
-E$IllPrf:      RMB       1                   Illegal prefix
-E$IllOpd:      RMB       1                   Illegal operand
-E$IllOpr:      RMB       1                   Illegal operator
-E$IllRFN:      RMB       1                   Illegal record field name
-E$IllDim:      RMB       1                   Illegal dimension
-E$IllLit:      RMB       1                   Illegal literal
-E$IllRet:      RMB       1                   Illegal relational
-E$IllSfx:      RMB       1                   Illegal type suffix
-E$DimLrg:      RMB       1                   Dimension too large
-E$LinLrg:      RMB       1                   Line number too large
-E$NoAssg:      RMB       1                   Missing assignment statement
-E$NoPath:      RMB       1                   Missing path number
-E$NoComa:      RMB       1                   Missing coma
-E$NoDim:       RMB       1                   Missing dimension
-E$NoDO:        RMB       1                   Missing DO statement
-E$MFull:       RMB       1                   Memory full
-E$NoGoto:      RMB       1                   Missing GOTO
-E$NoLPar:      RMB       1                   Missing left parenthesis
-E$NoLRef:      RMB       1                   Missing line reference
-E$NoOprd:      RMB       1                   Missing operand
-E$NoRPar:      RMB       1                   Missing right parenthesis
-E$NoTHEN:      RMB       1                   Missing THEN statement
-E$NoTO:        RMB       1                   Missing TO statement
-E$NoVRef:      RMB       1                   Missing variable reference
-E$EndQou:      RMB       1                   Missing end quote
-E$SubLrg:      RMB       1                   Too many subscripts
-E$UnkPrc:      RMB       1                   Unknown procedure
-E$MulPrc:      RMB       1                   Multiply defined procedure
-E$DivZer:      RMB       1                   Divice by zero
-E$TypMis:      RMB       1                   Operand type mismatch
-E$StrOvf:      RMB       1                   String stack overflow
-E$NoRout:      RMB       1                   Unimplemented routine
-E$UndVar:      RMB       1                   Undefined variable
-E$FltOvf:      RMB       1                   Floating Overflow
-E$LnComp:      RMB       1                   Line with compiler error
-E$ValRng:      RMB       1                   Value out of range for destination
-E$SubOvf:      RMB       1                   Subroutine stack overflow
-E$SubUnd:      RMB       1                   Subroutine stack underflow
-E$SubRng:      RMB       1                   Subscript out of range
-E$ParmEr:      RMB       1                   Paraemter error
-E$SysOvf:      RMB       1                   System stack overflow
-E$IOMism:      RMB       1                   I/O type mismatch
-E$IONum:       RMB       1                   I/O numeric input format bad
-E$IOConv:      RMB       1                   I/O conversion: number out of range
-E$IllInp:      RMB       1                   Illegal input format
-E$IOFRpt:      RMB       1                   I/O format repeat error
-E$IOFSyn:      RMB       1                   I/O format syntax error
-E$IllPNm:      RMB       1                   Illegal path number
-E$WrSub:       RMB       1                   Wrong number of subscripts
-E$NonRcO:      RMB       1                   Non-record type operand
-E$IllA:        RMB       1                   Illegal argument
-E$IllCnt:      RMB       1                   Illegal control structure
-E$UnmCnt:      RMB       1                   Unmatched control structure
-E$IllFOR:      RMB       1                   Illegal FOR variable
-E$IllExp:      RMB       1                   Illegal expression type
-E$IllDec:      RMB       1                   Illegal declarative statement
-E$ArrOvf:      RMB       1                   Array size overflow
-E$UndLin:      RMB       1                   Undefined line number
-E$MltLin:      RMB       1                   Multiply defined line number
-E$MltVar:      RMB       1                   Multiply defined variable
-E$IllIVr:      RMB       1                   Illegal input variable
-E$SeekRg:      RMB       1                   Seek out of range
-E$NoData:      RMB       1                   Missing data statement
-
-*
-* System Dependent Error Codes
-*
-
-* Level 2 windowing error codes
-               RMB       183-*
-E$IWTyp:       RMB       1                   Illegal window type
-E$WADef:       RMB       1                   Window already defined
-E$NFont:       RMB       1                   Font not found
-E$StkOvf:      RMB       1                   Stack overflow
-E$IllArg:      RMB       1                   Illegal argument
-               RMB       1                   reserved
-E$ICoord:      RMB       1                   Illegal coordinates
-E$Bug:         RMB       1                   Bug (should never be returned)
-E$BufSiz:      RMB       1                   Buffer size is too small
-E$IllCmd:      RMB       1                   Illegal command
-E$TblFul:      RMB       1                   Screen or window table is full
-E$BadBuf:      RMB       1                   Bad/Undefined buffer number
-E$IWDef:       RMB       1                   Illegal window definition
-E$WUndef:      RMB       1                   Window undefined
-
-E$Up:          RMB       1                   Up arrow pressed on SCF I$ReadLn with PD.UP enabled
-E$Dn:          RMB       1                   Down arrow pressed on SCF I$ReadLn with PD.DOWN enabled
-E$Alias:       RMB       1
-
-
-*
-* Standard NitrOS-9 Error Codes
-*
-               RMB       200-*
-E$PthFul:      RMB       1                   Path Table full
-E$BPNum:       RMB       1                   Bad Path Number
-E$Poll:        RMB       1                   Polling Table Full
-E$BMode:       RMB       1                   Bad Mode
-E$DevOvf:      RMB       1                   Device Table Overflow
-E$BMID:        RMB       1                   Bad Module ID
-E$DirFul:      RMB       1                   Module Directory Full
-E$MemFul:      RMB       1                   Process Memory Full
-E$UnkSvc:      RMB       1                   Unknown Service Code
-E$ModBsy:      RMB       1                   Module Busy
-E$BPAddr:      RMB       1                   Bad Page Address
-E$EOF:         RMB       1                   End of File
-               RMB       1
-E$NES:         RMB       1                   Non-Existing Segment
-E$FNA:         RMB       1                   File Not Accesible
-E$BPNam:       RMB       1                   Bad Path Name
-E$PNNF:        RMB       1                   Path Name Not Found
-E$SLF:         RMB       1                   Segment List Full
-E$CEF:         RMB       1                   Creating Existing File
-E$IBA:         RMB       1                   Illegal Block Address
-E$HangUp:      RMB       1                   Carrier Detect Lost
-E$MNF:         RMB       1                   Module Not Found
-               RMB       1
-E$DelSP:       RMB       1                   Deleting Stack Pointer memory
-E$IPrcID:      RMB       1                   Illegal Process ID
-E$BPrcID:      EQU       E$IPrcID            Bad Process ID (formerly #238)
-               RMB       1
-E$NoChld:      RMB       1                   No Children
-E$ISWI:        RMB       1                   Illegal SWI code
-E$PrcAbt:      RMB       1                   Process Aborted
-E$PrcFul:      RMB       1                   Process Table Full
-E$IForkP:      RMB       1                   Illegal Fork Parameter
-E$KwnMod:      RMB       1                   Known Module
-E$BMCRC:       RMB       1                   Bad Module CRC
-E$USigP:       RMB       1                   Unprocessed Signal Pending
-E$NEMod:       RMB       1                   Non Existing Module
-E$BNam:        RMB       1                   Bad Name
-E$BMHP:        RMB       1                   (bad module header parity)
-E$NoRAM:       RMB       1                   No (System) RAM Available
-E$DNE:         RMB       1                   Directory not empty
-E$NoTask:      RMB       1                   No available Task number
-               RMB       $F0-*               reserved
-E$Unit:        RMB       1                   Illegal Unit (drive)
-E$Sect:        RMB       1                   Bad Sector number
-E$WP:          RMB       1                   Write Protect
-E$CRC:         RMB       1                   Bad Check Sum
-E$Read:        RMB       1                   Read Error
-E$Write:       RMB       1                   Write Error
-E$NotRdy:      RMB       1                   Device Not Ready
-E$Seek:        RMB       1                   Seek Error
-E$Full:        RMB       1                   Media Full
-E$BTyp:        RMB       1                   Bad Type (incompatable) media
-E$DevBsy:      RMB       1                   Device Busy
-E$DIDC:        RMB       1                   Disk ID Change
-E$Lock:        RMB       1                   Record is busy (locked out)
-E$Share:       RMB       1                   Non-sharable file busy
-E$DeadLk:      RMB       1                   I/O Deadlock error
-               endsect
-
-
-               IFEQ      Level-1
-
-********************************
-* Boot defs for NitrOS-9 Level 1
-*
-* These defs are not strictly for 'Boot', but are for booting the
-* system.
-*
-Bt.Start:      EQU       $EE00               Start address of the boot track in memory
-
-* Boot area size on Dragon is only 16 sectors=4K
-               IFNE      DRAGON
-Bt.Size:       EQU       $1000               Max size of boot file
-               ELSE      
-Bt.Size:       EQU       $1080               Maximum size of bootfile
-               ENDC      
-
-               ELSE      
-
-******************************************
-* Boot defs for NitrOS-9 Level 2 and above
-*
-* These defs are not strictly for 'Boot', but are for booting the
-* system.
-*
-Bt.Block:      EQU       $3B                 Block to map in for the 'OS9BOOT' screen
-Bt.Flag:       EQU       $8A34               Flag in Bt.Block to verify that it's unchanged
-Bt.Offst:      EQU       2                   Offset into the screen where the current ptr is
-Bt.Start:      EQU       $ED00               Start address of the boot track in memory
-
-               ENDC      
-
-* Boot area on the Dragon starts on track 0 sector 2, imediatly 
-* after the blockmap.
-* On the CoCo, the boot track is all of track 34
-
-               IFNE      DRAGON
-Bt.Track:      EQU       0                   Boot track
-Bt.Sec:        EQU       2                   Start LSN of boot area on boot track
-               ELSE      
-Bt.Track:      EQU       34                  Boot track
-Bt.Sec:        EQU       0                   Start LSN of boot area on boot track
-               ENDC      
-
-
-               IFGT      Level-2
-***************************
-* Level 3 Defs
-*
-* These definitions apply to NitrOS-9 Level 3
-*
-L3.Start:      EQU       $2000               Start off at slot 1
-L3.Size:       EQU       $40                 Go for 64 pages: 2 slots total
-L3.Blks:       EQU       L3.Size/$20         Number of slots
-L3.End:        EQU       L3.Start+L3.Size*$0100 end of L3 memory
-L3.SCF:        EQU       $0660               SCF block ptr
-L3.RBF:        EQU       L3.SCF+1            RBF block ptr
-               ENDC      
--- a/lib/pipe.as	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-********************************************************************
-* 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
-*
-               section   _constant
-               RMB       V.USER
-V.List:        RMB       2                   ;Pointer to 1st pipe's pipe buffer
-PManMem:       EQU       *                   ;Device driver memory (drive table equivalent)
-               endsect
-
-*
-*   Pipe Buffer Data Structure
-*
-               section   _constant
-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
-               endsect
-
-*
-*   Unique Path Descriptor Variables
-*
-               section   _constant
-               RMB       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)
-               endsect
-
-*
-*   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.
-*
-               section   _constant
-               RMB       (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
-               RMB       *-(PD.OPT+3)
-PD.Name:       RMB       NameMax
-               ENDC      
-               endsect
-
-*
-*   Device Descriptor definitions
-*
-IT.PDC:        EQU       $12                 ;Pipe device class (like IT.DTP, IT.DVC)
-               section   _constant
-               RMB       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)
-               endsect
-
--- a/lib/rbf.as	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +0,0 @@
-********************************************************************
-* RBFDefs - Random Block File Manager Definitions
-*
-* $Id$
-*
-* RBF stands for 'Random Block Filemanager' and is a package of subroutines
-* that define the logical structure of a disk and allows access to the files
-* in that structure.
-*
-* The data structures in this file give RBF its 'personality' and are used
-* by RBF itself, as well as applications that will require disk I/O.
-*
-* Edt/Rev  YYYY/MM/DD  Modified by
-* Comment
-* ------------------------------------------------------------------
-*          1982/07/13  Robert F. Doggett
-* PD.Exten added to path descriptor and PE Entries defined.
-*
-*          1982/07/15  Robert F. Doggett
-* V.FileHd inserted in driver static storage.
-*
-*          1982/09/10  WGP
-* Level One/Level Two condionals added.
-*
-*          1982/09/17  WGP
-*
-*          1982/09/17  Robert F. Doggett
-* PD.SLE renamed to PD.Creat.
-*
-*          1982/09/17  Robert F. Doggett
-* V.DiskID, V.BMapSz, V.MapSct added for smart multi-sector bitmap searching.
-*
-*          1982/09/20  Robert F. Doggett
-* Reserved areas added in static storage.
-
-*          1983/06/07  Robert F. Doggett
-* Added InDriver flag in PD.SMF.
-*
-*          1983/06/13  Robert F. Doggett
-* Added PE.Req tmp save for PE.Lock.
-*
-*          1983/08/08  Robert F. Doggett
-* Reserved PD.SToff for Japanese.
-*
-*          1983/11/19  Robert F. Doggett
-* Added V.ResBit in drive tables.
-*
-*          1983/12/12  Robert F. Doggett
-* Added PE.Prior to save process priority.
-*
-*          1983/12/13  Robert F. Doggett
-* Added BufBusy bit in state flag (PD.SMF).
-*
-*          1984/07/06  Mark G. Hawkins
-* Added Bit Definitions for DD.FMT.
-*
-*          1987/06/23  Kevin K. Darling
-* Updated with Dev Desc Info
-*
-*          2003/06/02  Boisy G. Pitre
-* Updated comments for clarity.
-* Added TYP.256-TYP.2048 definitions for future expansion.
-*
-*          2004/04/14  Boisy G. Pitre
-* Added new entries to device descriptor as per OS-9 Level One V2.00.00
-* addendum.  Pointed out by Rodney Hamilton.
-*
-*	       2005/05/31  P.Harvey-Smith.
-* Added defines for bit 2 of IT.DNS, which the format command uses to 
-* determine if a drive should have it's track 0 as single or double density
-*
-*          2005/11/23  Robert Gault
-* Added IT.MPI giving it duplicate location with IT.TFM. This will not be
-* transferred to the path descriptor, thus the  equ *  rahter than  rmb 1.
-*
-*          2005/12/11  Boisy G. Pitre
-* Added IT.SOFF1-ITSOFF3 and IT.LLDRV for SuperDrivers.
-
-               NAM       RBFDefs
-               TTL       Random Block File Manager Definitions
-
-               PAG       
-*******************************
-* RBF Device Descriptor Offsets
-*
-* These definitions are for RBF device descriptors.
-
-               section   _constant
-               FCB       M$DTyp
-               FCB       1                   Device type (DT.RBF)
-IT.DRV:        FCB       1                   Drive number
-IT.STP:        FCB       1                   Step rate
-IT.TYP:        FCB       1                   Disk device type information
-IT.DNS:        FCB       1                   Density capability
-IT.CYL:        FCB       2                   Number of cylinders
-IT.SID:        FCB       1                   Number of surfaces
-IT.VFY:        FCB       1                   Verify disk writes (0 = verify, 1 = don't)
-IT.SCT:        FCB       2                   Default sectors/track
-IT.T0S:        FCB       2                   Default sectors/track for track 0 sector 0
-IT.ILV:        FCB       1                   Sector interleave offset
-IT.SAS:        FCB       1                   Segment allocation size
-* The following fields are from the OS-9 Level One V2.00.00 Addendum
-IT.TFM:        FCB       1                   DMA Transfer Mode
-IT.Exten:      FCB       2                   Path Extension (PE) for record locking
-IT.SToff:      FCB       1                   Sector/Track offsets (for "foreign" disk formats)
-* The following fields are not copied to the path descriptor
-IT.WPC:        FCB       1                   Write precomp cyl/4 (HD)
-IT.OFS:        FCB       2                   Starting cylinder offset (HD)
-IT.RWC:        FCB       2                   Reduced write current cylinder (HD)
-* These fields have been added because of SuperDriver.  They probably
-* can be used in other drivers
-               ORG       IT.WPC
-IT.SOFF1:      RMB       1
-IT.SOFF2:      RMB       1
-IT.SOFF3:      RMB       1
-IT.LLDRV:      RMB       2
-IT.MPI:        RMB       1
-               endsect
-
-* IT.TYP Definitions
-*
-TYP.HARD:      EQU       %10000000           Hard disk
-TYP.FLP:       EQU       %00000000           Floppy disk
-TYP.NSF:       EQU       %01000000           Non-standard format
-TYP.SOF:       EQU       %00000000           Standard NitrOS-9 format
-
-* IT.TYP bit definitions if bit 7 of IT.TYP is set (hard disk)
-TYPH.256:      EQU       %00000000           256 byte sector media
-TYPH.512:      EQU       %00000001           512 byte sector media
-TYPH.1024:     EQU       %00000010           1024 byte sector media
-TYPH.2048:     EQU       %00000011           2048 byte sector media
-TYPH.SSM:      EQU       %00000011           Sector size mask
-TYPH.DRSV:     EQU       %00001100           Driver-reserved bits
-TYPH.DSQ:      EQU       %00010000           Drive size query flag
-
-* IT.TYP bit definitions if bit 7 of IT.TYP is clear (floppy disk)
-TYP.5:         EQU       %00000000           5" media
-TYP.3:         EQU       %00000001           3.5" media
-TYP.SBO:       EQU       %00000010           Sector base offset (clear = 0; sect = 1)
-TYP.256:       EQU       %00000000           256 byte sector media
-TYP.512:       EQU       %00000100           512 byte sector media
-TYP.CCF:       EQU       %00100000           CoCo format
-TYP.NCCF:      EQU       %00000000           Non-CoCo format
-
-* IT.DNS Definitions
-*
-
-* If bit 7 of IT.TYP is set, IT.DNS is driver-dependent
-
-* IT.DNS bit definitions if bit 7 of IT.TYP is clear (floppy disk)
-DNS.FM:        EQU       %00000000           Single-density (FM)
-DNS.MFM:       EQU       %00000001           Double-density (MFM)
-DNS.STD:       EQU       %00000000           Single track distance (48/135 tpi)
-DNS.DTD:       EQU       %00000010           Double track distance (96 tpi)
-
-* Added PHS,2005-05-31, as format seems to use these
-DNS.FM0:       EQU       %00000000           Single density track 0
-DNS.MFM0:      EQU       %00000100           Double density track 0
-
-* Floppy disk step rate definitions
-STP.30ms:      EQU       0                   30ms step rate
-STP.20ms:      EQU       1                   20ms step rate
-STP.12ms:      EQU       2                   12ms step rate
-STP.6ms:       EQU       3                   6ms step rate
-
-               PAG       
-*************************************
-* Random Block 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.
-*
-               section   _constant
-               RMB       PD.FST
-PD.SMF:        RMB       1                   State flags
-PD.CP:         RMB       4                   Current logical byte position
-PD.SIZ:        RMB       4                   File size
-PD.SBL:        RMB       3                   Segment beginning lsn
-PD.SBP:        RMB       3                   Segment beginning psn
-PD.SSZ:        RMB       3                   Segment size
-PD.DSK:        RMB       2                   Disk id
-PD.DTB:        RMB       2                   Drive table ptr
-               RMB       PD.OPT-*
-               RMB       1                   Device type
-PD.DRV:        RMB       1                   Drive number
-PD.STP:        RMB       1                   Step rate
-PD.TYP:        RMB       1                   Disk device type (5" 8" other)
-PD.DNS:        RMB       1                   Density capability
-PD.CYL:        RMB       2                   Number of cylinders
-PD.SID:        RMB       1                   Number of surfaces
-PD.VFY:        RMB       1                   0=verify disk writes
-PD.SCT:        RMB       2                   Default sectors/track
-PD.T0S:        RMB       2                   Default sectors/track tr00,s0
-PD.ILV:        RMB       1                   Sector interleave offset
-PD.SAS:        RMB       1                   Segment allocation size
-PD.TFM:        RMB       1                   DMA Transfer Mode
-PD.Exten:      RMB       2                   Path Extension (PE) for record locking
-PD.SToff:      RMB       1                   Sector/Track offsets (for "foreign" disk formats)
-PD.ATT:        RMB       1                   File attributes
-PD.FD:         RMB       3                   File descriptor psn
-PD.DFD:        RMB       3                   Directory file descriptor psn
-PD.DCP:        RMB       4                   File directory entry ptr
-PD.DVT:        RMB       2                   User readable dev tbl ptr
-               endsect
-
-* State Flags
-BUFMOD:        EQU       $01                 Buffer modified
-SINBUF:        EQU       $02                 Sector in buffer
-FDBUF:         EQU       $04                 File descriptor in buffer
-*EOFSEC:equ $08 End of file sector
-*EOF:equ $10 End of file
-InDriver:      EQU       $20                 Currently in Disk Driver, or queued
-BufBusy:       EQU       $40                 Buffer is currently busy
-
-               IFNE      Level-1
-************************************
-* Random Block Path Extension Format
-*
-* RBF paths under Level Two have additional information that
-* is referenced by the path extension area.
-*
-               section   _constant
-PE.PE:         RMB       1                   PE path number
-PE.PDptr:      RMB       2                   Back ptr to this PE's Path Descriptor
-PE.NxFil:      RMB       2                   Drive Open-File list ptr
-PE.Confl:      RMB       2                   Circular File Conflict list
-PE.Lock:       RMB       1                   Path lockout status
-PE.LoLck:      RMB       4                   Low Locked Logical addr
-PE.HiLck:      RMB       4                   High Locked Logical addr
-PE.Wait:       RMB       2                   PE ptr to (next) locked-out PE
-PE.TmOut:      RMB       2                   Max ticks to wait for locked segment
-PE.Owner:      RMB       1                   Process ID of owner of locked segment
-PE.Req:        RMB       1                   Temp for PE.Lock in GAIN when LockSeg fails
-PE.Prior:      RMB       1                   Temp for process priority while in driver
-PE.SigSg:      RMB       1                   Signal code to send
-PE.SigID:      RMB       1                   Process ID to send the signal to
-               RMB       32-*                Reserved
-PE.FilNm:      RMB       32                  Temp for filename during directory search
-               endsect
-
-* PE.Lock status codes
-Unlocked:      EQU       0                   No portion of file is locked
-RcdLock:       EQU       1                   Record from LoLck to HiLck locked
-FileLock:      EQU       2                   Entire file locked
-EofLock:       EQU       4                   End of file is locked
-               ENDC      
-
-
-               PAG       
-***********************
-* LSN0 Disk Data Format
-*
-* Logical Sector Number 0 is the first sector on an RBF formatted device
-* and contains information about the device's size and format.
-*
-               section   _constant
-DD.TOT:        RMB       3                   Total number of sectors
-DD.TKS:        RMB       1                   Track size in sectors
-DD.MAP:        RMB       2                   Number of bytes in allocation bit map
-DD.BIT:        RMB       2                   Number of sectors/bit
-DD.DIR:        RMB       3                   Address of root directory fd
-DD.OWN:        RMB       2                   Owner
-DD.ATT:        RMB       1                   Attributes
-DD.DSK:        RMB       2                   Disk ID
-DD.FMT:        RMB       1                   Disk format; density/sides
-DD.SPT:        RMB       2                   Sectors/track
-DD.RES:        RMB       2                   Reserved for future use
-DD.SIZ:        EQU       .                   Device descriptor minimum size
-DD.BT:         RMB       3                   System bootstrap sector
-DD.BSZ:        RMB       2                   Size of system bootstrap
-DD.DAT:        RMB       5                   Creation date
-DD.NAM:        RMB       32                  Volume name
-DD.OPT:        RMB       32                  Option area
-               endsect
-
-* DD.FMT Bit Definitions - valid only if device is a floppy disk
-FMT.SIDE:      EQU       %00000001           Single Sided=0, Double Sided=1
-FMT.DNS:       EQU       %00000010           Single Density=0, Double Density=1
-FMT.TDNS:      EQU       %00000100           Track Density: 48/135 TPI=0, 96 TPI=1
-FMT.T0DN:      EQU       %00100000           Track 0 Density, see FMT.DNS
-
-
-               PAG       
-************************
-* File Descriptor Format
-*
-* The file descriptor is a sector that is present for every file
-* on an RBF device.  It contains attributes, modification dates,
-* and segment information on a file.
-*
-               section   _constant
-FD.ATT:        FCB       1                   Attributes
-FD.OWN:        FCB       2                   Owner
-FD.DAT:        FCB       5                   Date last modified
-FD.LNK:        FCB       1                   Link count
-FD.SIZ:        FCB       4                   File size
-FD.Creat:      FCB       3                   File creation date (YY/MM/DD)
-FD.SEG:        EQU       *                   Beginning of segment list
-               endsect
-
-* Segment List Entry Format
-               section   _constant
-FDSL.A:        FCB       3                   Segment beginning physical sector number
-FDSL.B:        FCB       2                   Segment size
-               endsect
-               
-FDSL.S:        EQU       FD.SEG              Segment list entry size
-FD.LS1:        EQU       FD.SEG+((256-FD.SEG)/FDSL.S-1)*FDSL.S
-FD.LS2:        EQU       (256/FDSL.S-1)*FDSL.S
-MINSEC:        SET       16
-
-
-               PAG       
-************************
-* Directory Entry Format
-*
-* Directory entries are part of a directory and define the name
-* of the file, as well as a pointer to its file descriptor.
-*
-               section   _constant
-DIR.NM:        RMB       29                  File name
-DIR.FD:        RMB       3                   File descriptor physical sector number
-DIR.SZ:        EQU       *                   Directory record size
-               endsect
-
-
-               PAG       
-********************
-* RBF Static Storage
-*
-* Overall Disk Static Storage
-*
-* Note:  This does not reserve any memory for drive tables.  Each
-*        driver is responsible for reserving sufficient memory for
-*        the appropriate number of tables.
-*
-               section   _constant
-               RMB       V.USER              Reserve required           ($06)
-V.NDRV:        RMB       1                   Number of drives           ($07)
-               RMB       8                   reserved                   ($08)
-DRVBEG:        EQU       *                   Beginning of drive tables  ($10)
-               endsect
-
-               PAG       
-****************
-* Global Storage For Disk Drive Tables
-*
-* Each table contains the first 'DD.SIZ' bytes from
-* LSN 0, and the current track, stepping rate,
-* bitmap use flag, and disk type.
-*
-               section   _constant
-               RMB       DD.SIZ              Device descriptor, LSN 0
-V.TRAK:        RMB       2                   Current track
-V.BMB:         RMB       1                   Bit-map use flag
-V.FileHd:      RMB       2                   Open file list for this drive
-V.DiskID:      RMB       2                   Disk ID
-V.BMapSz:      RMB       1                   Bitmap Size
-V.MapSct:      RMB       1                   Lowest reasonable bitmap sector
-V.ResBit:      RMB       1                   Reserved bitmap sector (for compaction)
-V.ScTkOf:      RMB       1                   Sector/Track byte (Combined from descriptor)
-V.ScOfst:      RMB       1                   Sector offset split from byte above
-V.TkOfst:      RMB       1                   Track offset split from byte above
-               RMB       4                   Reserved
-DRVMEM:        EQU       *
-               endsect
-
--- a/lib/scf.as	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-********************************************************************
-* SCFDefs - Sequential Character File Manager Definitions
-*
-* $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
-* ------------------------------------------------------------------
-*          1984/01/11  YO
-* Added V.KANJI, V.KBUF, V.MODADR for new kanji input process.
-*
-*          1985/04/20  Mark G. Hawkins
-* Added V.PDLHd Path Descriptor List Head.
-*
-*          1985/04/21  Mark G. Hawkins
-* Added PD.PLP and PD.PST for modem handling.
-*
-*          1987/06/23  Kevin K. Darling
-* Updated with Dev Desc info.
-*
-*          1998/10/03  Boisy G. Pitre
-* Consolidated L1/L2 scfdefs.
-*
-*          2003/01/21  Boisy G. Pitre
-* Added symbolics for enhanced SCF line editing.
-*
-*          2003/06/02  Boisy G. Pitre
-* Updated comments for clarity.
-*
-*          2004/05/17  Boisy G. Pitre
-* Added higher baud rates.
-
-               NAM       SCFDefs
-               TTL       Sequential File Manager Definitions
-
-               PAG       
-*******************************
-* SCF Device Descriptor Offsets
-*
-* These definitions are for SCF device descriptors.
-
-               section   _constant
-               RMB       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.XOF:        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
-*                RMB       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
-*               ENDC      
-               endsect
-
-               PAG       
-********************
-* SCF Static Storage
-*
-* SCF devices must reserve this space for SCF
-*
-               section   _constant
-               RMB       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:         EQU       *                   Total SCF manager static overhead
-               endsect
-
-               PAG       
-***********************
-* Character Definitions
-*
-               section   _constant
-C$NULL:        SET       0                   Null char
-C$RPET:        SET       $01                 (CTRL-A - SOH) Repeat last input line
-C$INTR:        SET       $03                 (CTRL-C - ETX) Keyboard interrupt
-C$RPRT:        SET       $04                 (CTRL-D - EOT) Reprint current input line
-C$QUIT:        SET       $05                 (CTRL-E - ENQ) Keyboard Abort
-C$BELL:        SET       $07                 (CTRL-G - BEL) Line overflow warning
-C$BSP:         SET       $08                 (CTRL-H - BS ) Back space
-C$RARR:        SET       $09                 Right Arrow
-C$EL:          SET       $05                 Erase Line
-C$LF:          SET       $0A                 Line feed
-C$HOME:        SET       $0B                 Home position Code
-C$Clsgr:       SET       $15                 Graphic screen clear (use FM-11)
-C$Clsall:      SET       $16                 Graphic & character clear (use FM-11)
-C$CR:          SET       $0D                 Carriage return
-C$FORM:        SET       $0C                 (CTRL-L - FF ) Form Feed ... screen clear
-C$SI:          SET       $0F                 Shift IN Code
-C$SO:          SET       $0E                 Shift OUT Code
-C$DELETE:      SET       $10                 Delete char (for SCF enhanced line editing)
-C$XON:         SET       $11                 (CTRL-Q - DC1) Transmit Enable
-C$INSERT:      SET       C$XON               Insert char (for SCF enhanced line editing)
-C$XOFF:        SET       $13                 (CTRL-S - DC3) Transmit Disable
-C$PLINE:       SET       C$XOFF              Print remaining line (for SCF enhanced line editing)
-C$PAUS:        SET       $17                 (CTRL-W - ETB) Pause character
-C$DEL:         SET       $18                 (CTRL-X - CAN) Delete line
-C$SHRARR:      SET       $19                 Shift Right-Arrow
-C$EOF:         SET       $1B                 (CTRL-[ - ESC) END of file
-C$RGT:         SET       $1C                 Cursor right
-C$LFT:         SET       $1D                 Cursor left
-C$UP:          SET       $1E                 Cursor up
-C$DWN:         SET       $1F                 Cursor down
-C$SPAC:        SET       $20                 Space
-C$PERD:        SET       '.
-C$COMA:        SET       ',
-               endsect
-
-               PAG       
-*********************************************
-* 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.
-*
-               section   _constant
-               RMB       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
-               endsect
-
-               section   _constant
-               RMB       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                   Repront 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         EQU       *-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:       EQU       %00000001           Set if DCD is lost on Serial port
-
-
-* PD.PAR definitions
-*
-* Parity
-PARNONE:       EQU       %00000000
-PARODD:        EQU       %00100000
-PAREVEN:       EQU       %01100000
-PARMARK:       EQU       %10100000
-PARSPACE:      EQU       %11100000
-
-* PD.BAU definitions
-*
-* Baud rate
-B110:          EQU       %00000000
-B300:          EQU       %00000001
-B600:          EQU       %00000010
-B1200:         EQU       %00000011
-B2400:         EQU       %00000100
-B4800:         EQU       %00000101
-B9600:         EQU       %00000110
-B19200:        EQU       %00000111
-B38400:        EQU       %00001000
-B57600:        EQU       %00001001
-B115200:       EQU       %00001010
-* Word size
-WORD8:         EQU       %00000000
-WORD7:         EQU       %00100000
-* Stop bits
-STOP1:         EQU       %00000000
-STOP2:         EQU       %00010000
-               endsect 
-
--- a/lib/sys6309l2.as	Fri Feb 01 15:49:39 2013 -0600
+++ b/lib/sys6309l2.as	Fri Feb 01 19:26:44 2013 -0600
@@ -1,9 +1,13 @@
+               section   _constant
+
 DRAGON         equ       0
 Level          equ       2
 H6309          equ       1
 
-               use       os9.as
-               use       rbf.as
-               use       scf.as
-               use       pipe.as
-               use       systype.as
+               use       ../defs/os9.d
+               use       ../defs/rbf.d
+               use       ../defs/scf.d
+               use       ../defs/pipe.d
+               use       ../defs/drivewire.d
+
+               endsect
--- a/lib/sys6809l1.as	Fri Feb 01 15:49:39 2013 -0600
+++ b/lib/sys6809l1.as	Fri Feb 01 19:26:44 2013 -0600
@@ -1,9 +1,13 @@
+               section  _constant
+
 DRAGON         equ       0
 Level          equ       1
 H6309          equ       0
 
-               use       os9.as
-               use       rbf.as
-               use       scf.as
-               use       pipe.as
-               use       systype.as
+               use       ../defs/os9.d
+               use       ../defs/rbf.d
+               use       ../defs/scf.d
+               use       ../defs/pipe.d
+               use       ../defs/drivewire.d
+
+               endsect
--- a/lib/sys6809l2.as	Fri Feb 01 15:49:39 2013 -0600
+++ b/lib/sys6809l2.as	Fri Feb 01 19:26:44 2013 -0600
@@ -1,9 +1,13 @@
+               section   _constant
+
 DRAGON         equ       0
 Level          equ       2
 H6309          equ       0
 
-               use       os9.as
-               use       rbf.as
-               use       scf.as
-               use       pipe.as
-               use       systype.as
+               use       ../defs/os9.d
+               use       ../defs/rbf.d
+               use       ../defs/scf.d
+               use       ../defs/pipe.d
+               use       ../defs/drivewire.d
+
+               endsect
--- a/lib/systype.as	Fri Feb 01 15:49:39 2013 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-********************************************************************
-* SysType - NitrOS-9 System Specific Definitions
-*
-* $Id$
-*
-* Edt/Rev  YYYY/MM/DD  Modified by
-* Comment
-* ------------------------------------------------------------------
-*          1998/10/13  Boisy G. Pitre
-* Added defs by Bruce Isted from his Eliminator archive.
-*
-*          1998/10/31  Boisy G. Pitre
-* Merged cc3global.defs into this file.
-*
-*          2002/04/30  Boisy G. Pitre
-* Merged Level One and Level Two sysdefs.
-*
-*          2002/06/22  Boisy G. Pitre
-* Removed PIA.U4 and PIA.U8, improved comments
-*
-*          2003/11/05  Robert Gault
-* Made changes in window globals and grfdrv memory to handle regW
-* in 6809 systems.
-*
-*          2003/11/30  Boisy G. Pitre
-* Statics now are prefaced with V. to identify them easier in source.
-*
-*          2004/07/18  Boisy G. Pitre
-* Moved CoCo 3 Window stuff into cc3iodefs
-
-               NAM       SysType
-               IFEQ      Level-1
-               TTL       NitrOS-9 Level 1 System Type Definitions
-               ELSE      
-               IFEQ      Level-2
-               TTL       NitrOS-9 Level 2 System Type Definitions
-               ENDC      
-               IFEQ      Level-3
-               TTL       NitrOS-9 Level 3 System Type Definitions
-               ENDC      
-               ENDC      
-
-
-**********************
-* CPU Type Definitions
-*
-Color:         SET       1
-Color3:        SET       2
-               IFEQ      Level-1
-CPUType:       SET       Color
-               ELSE      
-CPUType:       SET       Color3
-               ENDC      
-
-
-******************************
-* Clock Speed Type Definitions
-*
-OneMHz:        EQU       1
-TwoMHz:        EQU       2
-               IFEQ      CPUType-Color
-CPUSpeed:      SET       OneMHz
-               ELSE      
-CPUSpeed:      SET       TwoMHz
-               ENDC      
-
-
-**********************************
-* Power Line Frequency Definitions
-*
-Hz50:          EQU       1                   Assemble clock for 50 hz power
-Hz60:          EQU       2                   Assemble clock for 60 hz power
-PwrLnFrq:      SET       Hz60                Set to Appropriate freq
-
-
-**********************************
-* Ticks per second
-*
-               IFEQ      PwrLnFrq-Hz50
-TkPerSec:      SET       50
-               ELSE      
-TkPerSec:      SET       60
-               ENDC      
-
-
-******************
-* ACIA type set up
-*
-               section   _constant
-ACIA6850:      RMB       1                   MC6850 acia.
-ACIA6551:      RMB       1                   SY6551 acia.
-ACIA2661:      RMB       1                   SC2661 acia.
-ACIATYPE:      SET       ACIA6551
-               endsect
-
-
-****************************************
-* Special character Bit position equates
-*
-SHIFTBIT:      EQU       %00000001
-CNTRLBIT:      EQU       %00000010
-ALTERBIT:      EQU       %00000100
-UPBIT:         EQU       %00001000
-DOWNBIT:       EQU       %00010000
-LEFTBIT:       EQU       %00100000
-RIGHTBIT:      EQU       %01000000
-SPACEBIT:      EQU       %10000000
-
-
-******************
-* Device addresses for miscellaneous hardware
-*
-A.AciaP:       SET       $FF68               Aciapak Address
-A.ModP:        SET       $FF6C               ModPak Address
-DPort:         SET       $FF40               Disk controller base address
-MPI.Slct:      SET       $FF7F               Multi-Pak slot select
-MPI.Slot:      SET       $03                 Multi-Pak default slot
-PIA0Base:      EQU       $FF00
-PIA1Base:      EQU       $FF20
-
-
-******************
-* VDG Devices
-*
-A.TermV:       SET       $FFC0               VDG Term
-A.V1:          SET       $FFC1               Possible additional VDG Devices
-A.V2:          SET       $FFC2
-A.V3:          SET       $FFC3
-A.V4:          SET       $FFC4
-A.V5:          SET       $FFC5
-A.V6:          SET       $FFC6
-A.V7:          SET       $FFC7
-
-
-               IFEQ      Level-1
-
-*************************************************
-*
-* NitrOS-9 Level 1 Section
-*
-*************************************************
-
-HW.Page:       SET       $FF                 Device descriptor hardware page
-
-               ELSE      
-
-*************************************************
-*
-* NitrOS-9 Level 2 Section
-*
-*************************************************
-
-****************************************
-* Dynamic Address Translator Definitions
-*
-DAT.BlCt:      EQU       8                   D.A.T. blocks/address space
-DAT.BlSz:      EQU       (256/DAT.BlCt)*256  D.A.T. block size
-DAT.ImSz:      EQU       DAT.BlCt*2          D.A.T. Image size
-DAT.Addr:      EQU       -(DAT.BlSz/256)     D.A.T. MSB Address bits
-DAT.Task:      EQU       $FF91               Task Register address
-DAT.TkCt:      EQU       32                  Number of DAT Tasks
-DAT.Regs:      EQU       $FFA0               DAT Block Registers base address
-DAT.Free:      EQU       $333E               Free Block Number
-DAT.BlMx:      EQU       $3F                 Maximum Block number
-DAT.BMSz:      EQU       $40                 Memory Block Map size
-DAT.WrPr:      EQU       0                   no write protect
-DAT.WrEn:      EQU       0                   no write enable
-SysTask:       EQU       0                   Coco System Task number
-IOBlock:       EQU       $3F
-ROMBlock:      EQU       $3F
-IOAddr:        EQU       $7F
-ROMCount:      EQU       1                   number of blocks of ROM (High RAM Block)
-RAMCount:      EQU       1                   initial blocks of RAM
-MoveBlks:      EQU       DAT.BlCt-ROMCount-2 Block numbers used for copies
-BlockTyp:      EQU       1                   chk only first bytes of RAM block
-ByteType:      EQU       2                   chk entire block of RAM
-Limited:       EQU       1                   chk only upper memory for ROM modules
-UnLimitd:      EQU       2                   chk all NotRAM for modules
-* NOTE: this check assumes any NotRAM with a module will
-*       always start with $87CD in first two bytes of block
-RAMCheck:      EQU       BlockTyp            chk only beg bytes of block
-ROMCheck:      EQU       Limited             chk only upper few blocks for ROM
-LastRAM:       EQU       IOBlock             maximum RAM block number
-
-***************************
-* Color Computer 3 Specific
-*
-MappedIO:      EQU       true                (Actually False but it works better this way)
-
-********************
-* Hardware addresses
-*
-GIMERegs:      EQU       $FF00               Base address of GIME registers
-IrqEnR:        EQU       $FF92               GIME IRQ enable/status register
-BordReg:       EQU       $FF9A               Border color register
-PalAdr:        EQU       $FFB0               Palette registers
-
-HW.Page:       SET       $07                 Device descriptor hardware page
-
-               ENDC      
-