changeset 2327:035528ccce9e

moved to ../lib
author boisy
date Wed, 13 Jan 2010 04:44:01 +0000
parents 932ba568362f
children cfb7dcf4322c
files defs/makefile defs/os9defs.a
diffstat 2 files changed, 0 insertions(+), 1590 deletions(-) [+]
line wrap: on
line diff
--- a/defs/makefile	Wed Jan 13 04:38:41 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-include $(NITROS9DIR)/rules.mak
-
-all: sys6809l1.l sys6809l2.l sys6309l2.l
-
-sys6809l1.l: sys6809l1.a
-
-sys6809l2.l: sys6809l2.a
-
-sys6309l2.l: sys6309l2.a
-
-sys6809l1.a:
-	echo "DRAGON equ 0" > dragon
-	echo "Level equ 1" > level
-	echo "H6309 equ 0" > h6309
-	$(MERGE) dragon level h6309 os9defs.a > $@
-
-sys6809l2.a:
-	echo "DRAGON equ 0" > dragon
-	echo "Level equ 2" > level
-	echo "H6309 equ 0" > h6309
-	$(MERGE) dragon level h6309 os9defs.a > $@
-
-sys6309l2.a:
-	echo "DRAGON equ 0" > dragon
-	echo "Level equ 2" > level
-	echo "H6309 equ 1" > h6309
-	$(MERGE) dragon level h6309 os9defs.a > $@
-
-clean:
-	$(RM) *.l *.r sys6809l1.a sys6809l2.a sys6309l2.a
--- a/defs/os9defs.a	Wed Jan 13 04:38:41 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1560 +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      
-
-               psect     OS9Defs_a,0,0,0,0,0
-
-* Common definitions
-true:          EQU       1                   useful name
-false:         EQU       0                   useful name
-
-               PAG       
-*****************************************
-* System Service Request Code Definitions
-*
-               csect
-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
-*
-               csect
-               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
-*
-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
-
-**************
-* Signal Codes
-*
-               csect
-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$Peer:        EQU       S$Window            Peer disconnected (scdwt)
-S$Alarm:       RMB       1                   CoCo individual process' alarm signal
-               endsect
-
-               PAG       
-**********************************
-* Status Codes for GetStat/GetStat
-*
-               csect
-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
-*
-               csect
-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
-*
-               csect
-               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
-*
-               csect
-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
-*
-* Type-Dependent Module Offsets
-*
-* System, File Manager, Device Driver, Program Module
-*
-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
-*
-* 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
-
-*
-* 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      
-               endsect
-
-* 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
-
-               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
-
-               csect
-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$0D
-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
-
-               csect
-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
-*
-               csect
-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
-*
-               csect
-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
-*
-               csect
-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
-*
-               csect
-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
-*
-               csect
-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
-*
-               csect
-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
-*
-               csect
-Vi.Cnt:        RMB       2                   count down counter
-Vi.Rst:        RMB       2                   reset value for counter
-Vi.Stat:       RMB       1                   status byte
-               endsect
-
-Vi.IFlag:      EQU       %00000001           status byte virq flag
-
-               PAG       
-*************************************
-* Machine Characteristics Definitions
-*
-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
-
-               TTL       Error Code Definitions
-               PAG       
-************************
-* Error Code Definitions
-*
-* Basic09 Error Codes
-*
-               csect
-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$NotRd:       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      
-
-               ENDC      
-
-
-
-
-
-********************************************************************
-* 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.
-
-               csect
-               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
-*
-               csect
-               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
-*
-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       ',
-
-
-               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.
-*
-               csect
-               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
-
-               csect
-               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
-               endsect 
-
-* 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