]> pd.if.org Git - mmurtl/commitdiff
autocommit for file dated 1994-08-28 17:13:18
authorRichard Burgess <>
Sun, 28 Aug 1994 17:13:18 +0000 (17:13 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 17 Oct 2016 14:03:47 +0000 (14:03 +0000)
ossource/job.inc [new file with mode: 0644]

diff --git a/ossource/job.inc b/ossource/job.inc
new file mode 100644 (file)
index 0000000..9a61059
--- /dev/null
@@ -0,0 +1,51 @@
+;   MMURTL Operating System Source Code\r
+;   Copyright 1991,1992,1993,1994 Richard A. Burgess\r
+;   ALL RIGHTS RESERVED    Version 1.0\r
+\r
+;DO NOT INCLUDE DATA OR CODE IN THIS MODULE. ONLY EQUATES/MACROS\r
+\r
+; Job Control Block (all tasks are associated with a JOB)\r
+; The JOB NUMBER is how the job is identifed by many OS functions.\r
+; Each JCB is assigned a number when the it is initialized.\r
+; Job 1 is always reserved for the OS Monitor and 2 for the debugger.\r
+;  (even though the debugger isn't really a job...)\r
+;\r
+; The JCB keeps job related information such as the current path\r
+; of the job, Linear address of it's PD, virtual video info, Cmd line\r
+; when executed, Job path, etc...\r
+;\r
+nJCBs          EQU 32                  ;max Job Contol Blocks (excluding 2 static JCBs)\r
+sJCB           EQU 512         ;\r
+;\r
+;                      Offsets into the structure\r
+JobNum         EQU 0                   ;DD 0                           ;\r
+sbJobName      EQU 4                   ;DB 14 DUP (0h)         ; 13 bytes w/1 length\r
+JcbPD          EQU 18                  ;DD 0                           ; Linear add of Job's PD\r
+pJcbCode       EQU 22                  ;DD 0                           ;User Address of code segment\r
+sJcbCode       EQU 26                  ;DD 0                           ;Size of user code segment\r
+pJcbData       EQU 30                  ;DD 0                           ;User Adresss of data segment\r
+sJcbData       EQU 34                  ;DD 0                           ;Size of user data segment\r
+pJcbStack      EQU 38                  ;DD 0                           ;User Addrees of first stack\r
+sJcbStack      EQU 42                  ;DD 0                           ;Size of user first stack\r
+JcbUserName EQU 46                     ;DB 30 DUP (0h)         ; User Name for Job - LString\r
+JcbPath        EQU 76                  ;DB 70 DUP (0h)         ; path name (prefix) - LString\r
+JcbExitRF      EQU 146                 ;DB 80 DUP (0h)         ; Exit Run file (if any) - LString\r
+JcbCmdLine     EQU 226                 ;DB 80 DUP (0h)         ; Command Line string - LString\r
+JcbSysIn       EQU 306                 ;DB 50 DUP (0h)         ; Standard input (KBD)\r
+JcbSysOut      EQU 356                 ;DB 50 DUP (0h)         ; Standard output (VID)\r
+ExitError   EQU 406                    ;DD 0           ;Error passed by ExitJob\r
+pVidMem     EQU 410                    ;DD 0           ;pointer to crnt video (real or virtual)\r
+pVirtVid       EQU 414                 ;DD 0           ;Virtual Video Buffer Address\r
+CrntX      EQU 418                     ;DD 0           ;Current cursor position\r
+CrntY      EQU 422                     ;DD 0\r
+nCols      EQU 426                     ;DD 80      ;Screen size\r
+nLines     EQU 430                     ;DD 25\r
+VidMode     EQU 434                    ;DD 0       ;0 = 80x25 VGA color text\r
+NormAttr    EQU 438            ;DD 07      ;Normal Video Attr\r
+fCursOn            EQU 442                     ;DB 0       ;Is cursor visible on this screen\r
+fCursType   EQU 443                    ;DB 0       ;Cursor type (0=UL, 1 = Block)\r
+ScrlCnt     EQU 444                    ;DB 0       ;Count since last pause (or Kbd)\r
+fVidPause   EQU 445                    ;DB 0       ;Full screen pause (Text mode)\r
+NextJCB        EQU 446                 ;DD 0           ;\r
+\r
+;============ ENd of Module ======================\r