changeset 1870:79edc5d44491

Moved out of the way
author boisy
date Wed, 03 Aug 2005 17:24:57 +0000
parents a51439f6b206
children 054c318eda02
files defs/os9defs.a
diffstat 1 files changed, 0 insertions(+), 1555 deletions(-) [+]
line wrap: on
line diff
--- a/defs/os9defs.a	Sat Jul 30 03:36:05 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1555 +0,0 @@
-Level equ 1
-H6309 equ 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.
-
-          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 0
-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
-
-          IFGT  Level-1
-
-* NitrOS-9 Level 2 system calls
-F$GPrDsc: rmb   1          Get Process Descriptor copy
-F$GBlkMp: rmb   1          Get System Block Map copy
-F$GModDr: rmb   1          Get Module Directory copy
-F$CpyMem: rmb   1          Copy External Memory
-F$SUser:  rmb   1          Set User ID number
-F$UnLoad: rmb   1          Unlink Module by name
-F$Alarm:  rmb   1          Color Computer 3 Alarm Call
-          rmb   2          Reserved - For overlap of other systems
-F$NMLink: rmb   1          Color Computer 3 Non-Mapping Link
-F$NMLoad: rmb   1          Color Computer 3 Non-Mapping Load
-          endsect
-
-          csect $25
-F$TPS:    rmb   1          Return System's Ticks Per Second
-F$TimAlm: rmb   1          CoCo individual process alarm call
-          endsect
-
-          ENDC
-          endsect
-
-          csect $27        Beginning of System Reserved 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 has been renamed to F$Debug
-*F$ReBoot: rmb   1          Reboot machine (reload OS9Boot) or drop to RSDOS
-F$Debug:  rmb   1          Drop the system into the debugger
-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
-
-          endsect
-
-*
-* Numbers $70 through $7F are reserved for user definitions
-*
-          csect $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 $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 0
-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$Alarm:  rmb   1          CoCo individual process' alarm signal
-          endsect
-
-          pag
-**********************************
-* Status Codes for GetStat/GetStat
-*
-          csect 0
-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)
-
-          endsect
-
-* System Specific and User defined codes above $80
-          csect $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
-
-          endsect
-
-
-          csect $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
-
-          endsect
-
-          csect $B0
-*
-* New WDDisk get/set status calls
-SS.ECC:   rmb   1          ECC corrected data error enable/disable (GetStat/SetStat)
-
-*
-          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
-
-          endsect
-
-          ttl   Direct Page Definitions
-          pag
-
-**********************************
-* Direct Page Variable Definitions
-*
-          IFEQ  Level-1
-
-* Level 1 DP vars
-          csect $00
-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)
-          endsect
-
-          csect $20
-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
-          endsect
-
-          csect $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
-          endsect
-
-          ELSE
-
-* Level 2 DP vars
-          csect $00
-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)
-          endsect
-
-          csect $20
-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
-          endsect
-
-          csect $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
-          endsect
-
-          csect $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
-          endsect
-
-          csect $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
-          endsect
-
-********
-* CoCo 3 STUFF COMES NEXT
-* This area is used for the CoCo Hardware Registers
-*
-          csect $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
-          endsect
-
-          csect $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
-          endsect
-
-          csect $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
-          endsect
-
-*************************
-* 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
-
-          ttl   Structure Formats
-          pag
-************************************
-* Module Directory Entry Definitions
-*
-          csect 0
-          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 0
-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
-         endsect
-*
-* Device Descriptor Module
-*
-          csect 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
-*
-* Configuration Module Entry Offsets
-*
-          csect 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
-          rmb   8          reserved for future use
-
-          IFGT  Level-1
-* -- CC3IO 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
-
-          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 0
-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
-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 0
-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 0
-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 0
-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 0
-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 0
-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 0
-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 0
-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 0
-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 10
-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
-          endsect
-
-*
-* System Dependent Error Codes
-*
-
-* Level 2 windowing error codes
-          csect 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
-          endsect
-
-
-*
-* Standard NitrOS-9 Error Codes
-*
-          csect 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
-Bt.Size:  equ   $1080      Maximum size of bootfile
-
-          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
-
-Bt.Track: equ   34         Boot track
-
-
-          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
-
-
-
-
-
-
-
-********************************************************************
-* 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    M$DTyp
-IT.DVC:   rmb   1          Device type (DT.SCF)
-IT.UPC:   rmb   1          Uppercase flag
-IT.BSO:   rmb   1          Backspace behavior
-IT.DLO:   rmb   1          Delete behavior
-IT.EKO:   rmb   1          Echo flag
-IT.ALF:   rmb   1          Auto linefeed flag
-IT.NUL:   rmb   1          End-of-line null count
-IT.PAU:   rmb   1          Page pause flag
-IT.PAG:   rmb   1          Number of lines per page
-IT.BSP:   rmb   1          Backspace character
-IT.DEL:   rmb   1          Delete-line character
-IT.EOR:   rmb   1          End-of-record character
-IT.EOF:   rmb   1          End-of-file character
-IT.RPR:   rmb   1          Reprint-line character
-IT.DUP:   rmb   1          Duplicate-last-line character
-IT.PSC:   rmb   1          Pause character
-IT.INT:   rmb   1          Interrupt character
-IT.QUT:   rmb   1          Quit character
-IT.BSE:   rmb   1          Backspace echo character
-IT.OVF:   rmb   1          Bell character
-IT.PAR:   rmb   1          Parity
-IT.BAU:   rmb   1          Baud rate
-IT.D2P:   rmb   2          Attached device name string offset
-IT.XON:   rmb   1          X-ON character
-IT.XOFF:  rmb   1          X-OFF character
-IT.COL:   rmb   1          Number of columns for display
-IT.ROW:   rmb   1          Number of rows for display
-IT.XTYP:  rmb   1          Extended type (added by BRI)
-          endsect
-
-          IFGT  Level-1
-* Window Descriptor Additions
-* For CoCo window, where IT.PAR = $80
-          csect 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
-          endsect
-          ENDC
-
-
-          pag
-********************
-* SCF Static Storage
-*
-* SCF devices must reserve this space for SCF
-*
-          csect 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 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 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