************************************************** * R T O S - U H * * ------------------- * * D A T A - S T R U C T U R E - E Q U s * * ------------------------------------- * * M 6 8 K a n d P o w e r P C * * ------------------------------ * ************************************************** * * * (c) 1982 - 2001 by W. Gerth * * * * URVERSION 12/95 (Ge) * * PPC-TIMEZELLE HINZUGEFUEGT (Wo) *1/96 * RVB(68000) CORRECTED *3/96 * REG-MASKS FOR LOCK/UNLOCK *3/96 * USERL, VMEA16/24 NEU FUER PPC (Wo) *4/96 * MATHE-PACK-LINKS; PPC-PMBSZ now even 4 *5/96 * WiM-LINK ADDED (PR) *07/96 * JUMTBL(PPC) NEW and extended (Wo) *9/96 * DS replaced by EQU (68K) (Wo) *11/96 * A1W for PPC added (Wo) *04/97 * MODxBY introduced (Pr) *05/97 * RESCLT(PPC) NEW, 20 KHz-counters (PPC) new(Wo) *06/97 * 20 KHz-counters (M68K) NEU (Pr+Wo) *07/97 * CNT20 for 68K behind FBWCNT inserted (Wo) *10/97 * DSPMON for Disp-Debug-Monitor (Wo) *10/97 * BAERLK (BAERR-Link) for PPC added (Wo) *11/97 * Acces to INISR+1-Bit 5 added (Pr/Wo) *02/98 * SGRESV added (Pr) *03/98 * NTMINC for PPC added (Wo) *10/98 * SGCBNT added (no trace in Exc.-Handler) (Pr) *04/99 * PPC: r1bit added: System-Stack-Pntr. in r1(Wo) *11/99 * EVBUF2 for double buffering of events (Wo) *08/00 * PPCABW added (Wo) *01/01 * Rewiev for System on a Chip (Al/Wo) *03/01 * * * SYSOPT added (Ge)*03/01 * SOMNOV / SOBNOV (No Vanish) added in SYSOPT(Ge)*05/01 * Clockset-Bits in NESFLG added (Ge/Wo)*06/01 * Tracebit in PPCABW modified (Wo)*07/01 * * Last revision: 06.07.2001 * *------------------------------------------------* *......Assemble-Flag.............................*03/01 SOCPPC EQU 0 System on a Chip *03/01 *................................................* * * AUTOLINK-DATA SLICE-DESCRIPTION * *................................................* * SLICE * 1 * 'TASK-INFORMATION' * * * * (SLICES ARE ACCUMULATED) * * * * TYPE(1) $01: NORMAL TASK * * $41: AUTOSTART-TASK * * $81: RESIDENT TASK * * $C1: RESID.+AUTOSTART * * * * CLASS(1) 00: NORMAL * * 01: COMMAND-INTERFACE * * 02: ERROR-TASK * * 80: I/O-TASK * * * * NAME(6) 6 ASCII OR REL PTR 1ST 4 * * * * PRIO(2) PRIORITY OF TASK * * * * WSPL(4) REQUIRED TASK-WORKSPACE * * * * RELPC(2) RELATIVE START-PC (OR 0) * * * * (LDN(2)) ONLY IF I/O OR COMMD IF * * * * .... NEXT TASK OR STOP BY $0000* *................................................* * SLICES * 2 * TO * 8 * IR-BUF INFO * * * * (THE MAX. IBUF SIZE FOUND IS VALID) * * * * SIZE(2) IR-BUFFER SIZE * * (2:I1BUF ... 8:I7BUF) * *................................................* * SLICE * 9 * MNEMO TO LDN/DRIVE TAB * * * * (SLICES ARE ACCUMULATED TO ONE TABLE) * * * * STRING(1..X) NAME OF DEVICE * * * * LDN(1)+$80 LOGICAL DEV. NO. * * * * DRV(1) DRIVE-NUMBER * * * * .... NEXT OR CLOS. $00 * *................................................* * SLICE * 10 * DEVICE FACILITY-DEF. * * * * (THE LAST DEF. IS VALID) * * * * SLDN(2) START-LDN * * * * DEV.PAR(2) DEVICE-PARAMETERS * * .... NEXT OR STOP $0000 * *................................................* * SLICE * 11 * USER-SHELL DEFINITION * * * * (SLICES ARE ACCUMULATED TO ONE TABLE) * * * * STRING(1...X) NAME OF COMMAND * * * * ($00 OR $FF) MAKE STRINGLEN EVEN * * * * RELPCL(4) LONG REL. PC TO GO * * * * .... NEXT OR $FFFF * *................................................* * SLICE * 12 * RAM-DEFINITION * * * * (ONLY THE LAST SLICE IS VALID) * * * * FIRSTWORD(4) ADR 1 ST WORD * * LASTWORD(4) ADR LAST AV. WORD * * ...... (OTHER PAIRS) * * FIRSTWORD(4) ADR 1 ST LAST SECT. * * LASTWORD(4) ADR LAST WORD LAST S* * * * REMARK: ADDRESSES MUST BE ORDERED * * INCREASING. THE LAST PAIR- * * LASTWORDADR MAY BE FLAGGED * * BY SIGN-BIT, MEANING 'SCAN * * UNTIL BUS ERROR OR RTOS-LO-* * CATION REACHED' * *................................................* * SLICE * 13 * STATIC MODULE DEFINITION * * * * (ALL MODULES ARE INSERTED) * * * * REQADR START-ADR MODULE * * NXADR ADR NEXT MEM SECT. * * NAME(6) NAME OF MODULE * * DATADR(4) DATA-ADR * * BLKLEN(4) NO OF WORDS * * ... DATA ... * * DATADR(4) DATA-ADR * * BLKLEN(4) NO OF WORDS * * ... DATA ... * * STOPMARK IS A DATA-ADR $000000 * *................................................* * SLICE * 14 * EXCEPTION-LINKS * * * * (THE LAST DEF. PER ADR IS VALID) * * * * EXADR(2) VECTORADR (OR PSEUDO) * RELPC(2) RELATIVE ENTRY ADR * * .... NEXT PAIR OR $0000 * *................................................* * SLICE * 15 * USER INITIALIZATION * * * * (ALL SLICES ARE EXECUTED) * * * * CODE-SEQUENCE TO EXECUTE * * ..... * * RTS RETURN INTO NUCLEUS * *................................................* * SLICE * 16 * HEADER-TEXT * * * * (ALL SLICES ARE PRINTED) * * * * TEXT(X),$FF HEAD-LINE-TEXT * * * *------------------------------------------------* * SLICE * 17 * EXTERNAL SYMBOL-LINK * * * * (ONLY FOR SYSTEM-LOADER) * * * * 'NAME' 6 BYTES GLOB SYMB. * * REL ADR(2) =ADR OF LINK * *------------------------------------------------* * SLICE * 18 * PRE-COLD-START CODING * * * * (ALL CODE-SEQ. ARE EXECUTED) * *------------------------------------------------* TERMSG EQU 1 MESS: EXT. TERMIN. * CELIM EQU $A00 CE-LIMITER * ECESZ EQU 126 ERROR-CE-SIZE * MAXACT EQU 3 MAX NO BUFFERED ACT * MAXERR EQU 6 ERROR-STACK-SIZE * MSTSZ EQU 24 MMP stack size * * WT EQU A4 TASK-WSP-PTR * WL EQU A5 LOCAL WSP-PTR * *................................................* WRONG OPD $2FFF ILLEGAL INSTRUCTION * * .IF_PROCTYPE M68K PMBSZ EQU 50 PEARL-MON. BUF SIZE *5/96 * EXCORG EQU $0 Exception origin * BUSELK EQU $8 Bus-error-link * SCANLK EQU $94 SCANNER-LINK-ADR * DPCALL EQU $50f80800 =ST DPC * PCSKIP EQU 2 SKIP ONE INSTR. * PCSYA7 EQU 2 PC BY SYS-A7 OFFS. * * * *------------------------------------------------* * S T A T I C R T O S - O B J E C T S * *------------------------------------------------* *..... Abort-exception vector adr ...............* ABTIRV EQU $7C Abort-IR vector * * *..... LINE-A EMULATOR LINKS + COLDSTART-BUFFER..* LINALK EQU $400 LINE-A -TRAP-LINKS *11/96 * .... '' * * $57F LAST BYTE LINE-A * * .... NOT USED * *................................................* *..... LOC TO SAVE $300 THRU $3FF ON ABORT: .....* S300 EQU $600 LATER SYS-STACK UP TP $800 * SYSSTK EQU $7FE TOP OF SYS-STACK * RVB EQU $800 Variable origin *3/96 * ORG $7FE STATIC ORG (OLD VER)*11/96 * * IID EQU $7FE 2 INTERRUPT-IDENTIF. *11/96 DPC EQU $800 2 DISPATCHER-CALL FLAG*11/96 TID EQU $802 4 RUNNING TASK ID *11/96 EDFROO EQU $806 4 EDIT-FILE-ROOT *11/96 DATE EQU $80A 4 DATE OF DAY *11/96 PIRTRI EQU $80E 4 RESERVE *11/96 SCLLNK EQU $812 4 SET-CLOCK-LINK (4) *11/96 DISLNK EQU $816 4 DISPATCHER-LINK *11/96 * $81A 4 IMP DEPENDENT *11/96 * $81E 4 IMP DEPENDENT *11/96 EVMASK EQU $822 4 EVENT-MASK *08/00 EVBUF2 EQU $826 4 2x GEPUFFERTE EVENTS*08/00 TIDQER EQU $82A 4 TID OF QERROR *11/96 EBRP EQU $82E 2 ERROR-BUFFER READ-PT*11/96 EBWP EQU $830 2 ERROR-BUFFER WRIT-PT*11/96 *..... INTERRUPT DATA-FIELD - POINTERS IF APPL. * IDP1 EQU $832 4 IR-DATA-PTR LEV 1 *11/96 IDP2 EQU $836 4 IR-DATA-PTR LEV 2 *11/96 IDP3 EQU $83A 4 IR-DATA-PTR LEV 3 *11/96 IDP4 EQU $83E 4 IR-DATA-PTR LEV 4 *11/96 IDP5 EQU $842 4 IR-DATA-PTR LEV 5 *11/96 IDP6 EQU $846 4 IR-DATA-PTR LEV 6 *11/96 IDP7 EQU $84A 4 IR-DATA-PTR LEV 7 *11/96 * I/O-TABLE-POINTERS * SIODDT EQU $84E 4 START I/O DEV TBL *11/96 SIOLDT EQU $852 4 START I/O LDN-TID TB*11/96 SIOMNT EQU $856 4 START I/O-MNEMO TB *11/96 UILDT EQU $85A 4 USER-ID TO LDN *11/96 UITIDP EQU $85E 4 USER-ID TO TID OF CI*11/96 EBUCOM EQU $862 4 ERROR-BUFFER COMMND *11/96 EBU12 EQU $866 4 12 BYTE BUFFER *11/96 EBUMSG EQU $86A 4 ERROR-BUFFER MSG *11/96 F68300 EQU $86E 2 NE ZERO IF 68300 *11/96 WHAT68 EQU $870 2 16 BIT (6)8000 ETC. *11/96 USHELP EQU $872 4 USER-SHELL-POINTER *11/96 AVRTP EQU $876 4 AVAILABLE RAM-TBLE *11/96 RTWO EQU $87A 4 RES. TASKS WSP ORG *11/96 LCORG EQU $87E 4 L-CHAIN ORIGIN PTR *11/96 *.... RAM - POINTERS ..........................* RAMBGN EQU $882 4 ADR START OF FREE RM*11/96 RAMEND EQU $886 4 RAM END-ADR *11/96 *.... CLOCK MANAGEMENT .........................* TIME EQU $88A 4 TIME-CELL *11/96 TIMEB EQU $88E 4 TIME-CELL B *11/96 TIMEIN EQU $892 4 TIME INCREMENT *11/96 *.... MISCELLANEOUS ............................* MAXCE EQU $896 4 MAX CE PER TASK *11/96 NIOT EQU $89A 2 NUMBER OF I/O-TASKS *11/96 NULL32 EQU $89C 4 ALWAYS NULL *11/96 VCPADR EQU $8A0 4 ADR OF VCP *11/96 BSHLAD EQU $8A4 4 BOURNE-SHELL-EX ADR *11/96 IDPEND EQU $8A8 4 END OF IDP-BUFFERS *11/96 LOADAD EQU $8AC 4 LOADER-ADR *11/96 SCNADR EQU $8B0 4 SCANNER-ADR *11/96 SHLTWS EQU $8B4 4 SHELL-TWS REQUIRED *11/96 CIADR EQU $8B8 4 LINK TO CMMD-TASK *11/96 CMMDI EQU $8BC 4 LINK TO CMMD-SR *11/96 SFCTXT EQU $8C0 4 SYSFUN-CONTEXT *11/96 TICSPD EQU $8C4 4 TIME TICS PER DAY *07/97 F68010 EQU $8C8 2 68000/68010/68020 *11/96 HYPLNK EQU $8CA 4 HYPERPROC-LINK *11/96 FPUFLG EQU $8CE 1 NEG. IF 68881 PRESNT*11/96 F68020: EQU $8CF 1 NEG. IF 68020 *11/96 PTHLEN EQU $8D0 2 LENGTH OF TASK-HEADS*11/96 FMLINK EQU $8D2 4 LINK TO UH-FM-PACKG *11/96 SPARE EQU $8D6 8 2 POINTERS RESERVED*10/97 DSPMON EQU $8DE 4 DISP-DEBUG-MON.-Adr.*10/97 IOQSTA EQU $8E2 4 I/O-QUEUE START ADR *11/96 FORIMP EQU $8E6 8 IMPLEM. DEPENDENT *11/96 CEOFFS EQU $8EE 4 COMPUTED FROM MXPATH*11/96 MXPATH EQU $8F2 2 MAX PATH-LEN *11/96 *................................................* *..... The 68k Jump-table .......................* * Every slot has a size of 6 bytes, offset 2* JUMSSZ EQU 6 Slot-size * JUMOFS EQU 2 Where to deposit adr* * JUMTBL EQU $8F4 JUMSSZ*8 NO OF JUMP OBJ. *07/97 CHFTL: EQU JUMTBL JUMP-LINK CHFTL * CD7TAS: EQU CHFTL+6 '' CD7TAS * CLKIR: EQU CD7TAS+6 '' CLOCK * DISEX: EQU CLKIR+6 '' DISP00 * *.... MAX. 8 JUMPS PERMITTED in total .........*07/97 * * *................................................* * Time-Cells for 50us RTOS-UH *07/97 TI50 EQU $924 4 Time cell 1, 50 us *07/97 TI50B EQU $928 4 Time base, 50 us *07/97 TI50IN EQU $92C 4 Time increment,50us *07/97 *................................................*07/97 NUKORG EQU $930 4 NUKLEUS-ORIGIN *07/97 SCTBPT EQU $934 4 SCAN-TABLE-POINTER *11/96 DAMNPT EQU $938 4 POINTER TO DAMNUK *11/96 GRAMBA EQU $93C 4 GLOB RAM BASE ADR *11/96 MMPFLG EQU $940 2 NEG. IF MULTIPROC. *11/96 NFMLNK EQU $942 4 NETWORK-FM-LINK *11/96 SUSR EQU $946 2 SUPERV SR-VALUE *11/96 FPUMSK EQU $948 2 68060 FLAG,FPU MASK *11/96 NUCID EQU $94A 2 NUCLEUS ID-CODE *11/96 TIMEC EQU $94C 4 TIME-CORRECTOR I/A *11/96 TWFWS EQU $950 2 TASK WAIT FR WSP FL *11/96 TWFCE: EQU TWFWS+1 '' '' '' CE FL * IDCNT EQU $952 2 IDENTIF. COUNTER *11/96 RESWSP EQU $954 4 RESID. WSP NEEDED *11/96 SERTOP EQU $958 4 ONE ABOVE HIST FREE *11/96 NCOMIF EQU $95C 2 NO OF CMMDs MIN. 1 *11/96 SERBOT EQU $95E 4 SAME AS RAMBGN *11/96 USERL EQU $962 128 NOT USED BY RTOS! *11/96 *......DISPATCHER AND I/O-QUEUE START - ADR .....* DPBUF EQU $9E2 8 DISP. BUFFER *11/96 DUMMY EQU $9EA 4 USED FOR DISP + CRC *11/96 DCHORG EQU $9EE 4 DISP CHAIN-ORG *11/96 DCHEND EQU $9F2 4 DISP CHAIN END *11/96 DCHEP EQU $9F6 2 DSP-CH END-PRIO *11/96 *..... FETCH BACKWARDS WORKSPACE CONTROL ........* FBWCNT EQU $9F8 1 WAS 1 BYTE ONLY *10/97 CNT20 EQU $9F9 1 Counter for 20/1 kHz*10/97 SERTPQ EQU $9FA 4 SERTOP-QUICK *11/96 *..... EVENT-COUNTER+BUFFER......................* EVCNTR EQU $9FE 2 EVENT-CONTROL *11/96 EVBUF EQU $A00 4 EVENT BUFFER *11/96 *..... SCHEDULER-REQUEST-FLAGS...................* SCHRFL EQU $A04 2 CLOCK/EVENT SCHED RQ*11/96 CLSCRQ: EQU SCHRFL CLOCK-SCHEDULE REQU.* EVSCRQ: EQU SCHRFL+1 EVENT-SCHEDULE REQ. * * * ERRCDW EQU $A06 ERROR-CODE-WORD * *..... System option-control and faciilties *03/01 SYSOPT EQU $A08 4 Bytes system-opt. *03/01 SYSFC1 EQU $A0C 4 Bytes sys-facility*03/01 SYSFC2 EQU $A10 4 '' *03/01 *.... END OF STATICALLY ALLOCATED RTOS-OBJECTS * DAMNUK EQU $A14 ONLY NUC-INTERNAL LABEL *03/01 * * * 68040 I 680XX (NOT 68040)* * ----- I ---------------- * *................................................* * $A14 NOT USED I DYN. USE *03/01 * thru (total 28 by) I '' *03/01 * $A2F NOT USED I '' * *----------------------------------------------- * * $A30 MATHE-LINKS I '' * * thru '' I '' * $A93 MATHE-LINKS I '' * *-- * * $A94 FPU-BUFFER I '' * * thru '' $100 I '' * * $B93 FPU-BUFFER I '' * *-- * * $B94 FRAME-BUF I '' * * thru '' $6C I '' * * $BFF I '' * *................................................* .FIN End M68K-special * * *------------------------------------------------* * P o w e r P C - S e c t i o n * *------------------------------------------------* .IF_PROCTYPE MPC601 PMBSZ EQU 52 PEARL-MON. BUF SIZE *5/96 * * DPCALL EQU $4ED6B242 creqv cr5+eq,.... * PCSKIP EQU 4 SKIP FOR ONE INSTR. * PCSYA7 EQU 4 PC ON SYS-A7 OFFS. * clbit EQU 5*4+0 cr5+lt dpbit EQU 5*4+2 cr5+eq evbit EQU 5*4+1 cr5+gt r1bit EQU 5*4+3 cr5+so:Sys-Stk in r1*11/99 *..... Exception-frame size ....................* EXFRSZ EQU 5*4 cr,r31,lr,pc,msr * *..... Virtual TRAP and Line-A Emulator links * * * .IF SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 EXCORG EQU $1FF9800 Exception org *03/01 .ELSE SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 EXCORG EQU $4000 Exception org * .FIN SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 BUSELK EQU EXCORG+8 Bus-error-link * SCANLK EQU EXCORG+$94 Scanner link adr * ABTIRV EQU EXCORG+$120 Abort IR vector * LINALK EQU EXCORG+$400 Line A - link * * * * Usable up to $4FFF * *................................................* *..... System variables follow ..................* .IF SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 SYSSTK EQU EXCORG+$600+1024 1k for Sys stack *03/01 RVB EQU SYSSTK Variable origin *03/01 .ELSE SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 SYSSTK EQU $5000 Top of Sys stack * RVB EQU $5000 Variable origin * .FIN SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 *................................................* *..... Central process administration data.......* TID EQU RVB+$000 4 4 bytes task-identif. IID EQU RVB+$004 4 Interrupt Identifier SUMSR EQU RVB+$008 4 Supervisor-msr * USMSR EQU RVB+$00C 4 User-msr * * DCHORG EQU RVB+$010 4 FORS for dispatcher * DCHEND EQU RVB+$014 4 BACKS '' * DCHEP EQU RVB+$018 4 PRIO '' * * SFCTXT EQU RVB+$01C 4 Sys fun context * FPUFLG EQU RVB+$020 4 System has a FPU? * * * reserve up to $2F *................................................* *..... Event and Time administration ............* EVBUF EQU RVB+$030 8 Event buffer 64 bit * EVCNTR EQU RVB+$038 8 Event control * EVMASK EQU RVB+$040 8 Event masking * EVBUF2 EQU RVB+$048 4 2x gepufferte Events*08/00 * TIME EQU RVB+$04C 4 Time cell 1 * TIMEB EQU RVB+$050 4 Time base * TIMEIN EQU RVB+$054 4 Time increment * * DATE EQU RVB+$058 4 Actual date * PPCNTM EQU RVB+$05C 4 PPC next time *1/96 PIRTRI EQU RVB+$060 4 Adr of TRIGEV * * RESCLR EQU RVB+$064 4 fuer stwcx. in IR *06/97 * TI50 EQU RVB+$068 4 Time cell 1, 50 us *06/97 TI50B EQU RVB+$06C 4 Time base, 50 us *06/97 TI50IN EQU RVB+$070 4 Time increment,50us *06/97 TICSPD EQU RVB+$074 4 Time-Tics per day *07/97 CNT20 EQU RVB+$078 1 Counter for 20/1 kHz*07/97 * 3 3 Bytes frei *10/98 NTMINC EQU RVB+$07C 4 Increment f. PPCNTM *10/98 * Reserve up to $7F (Reserve verbraucht)*10/98 * *................................................* *..... Memory administration ....................* NUKORG EQU RVB+$080 4 Adr of Nukleus * DAMNPT EQU RVB+$084 4 Pointer to DAMNUK * IOQSTA EQU RVB+$088 4 I/O-queuing start * IDP1 EQU RVB+$08C 4 IR data buf 1 * IDP2 EQU RVB+$090 4 IR data buf 2 * IDP3 EQU RVB+$094 4 IR data buf 3 * IDP4 EQU RVB+$098 4 IR data buf 4 * IDP5 EQU RVB+$09C 4 IR data buf 5 * IDP6 EQU RVB+$0A0 4 IR data buf 6 * IDP7 EQU RVB+$0A4 4 IR data buf 7 * IDPEND EQU RVB+$0A8 4 IDP end pointer * SIODDT EQU RVB+$0AC 4 Start I/O dev tbl * SIOLDT EQU RVB+$0B0 4 Start I/O LDN TID tbl SIOMNT EQU RVB+$0B4 4 Start I/O Mnemo tbl * UILDT EQU RVB+$0B8 4 User-ID to LDN * UITIDP EQU RVB+$0BC 4 User-ID to TID * EBUCOM EQU RVB+$0C0 4 Error damon buf cmd * EBU12 EQU RVB+$0C4 4 Pointer to 12 by buf* EBUMSG EQU RVB+$0C8 4 Pointer to mes buffer USHELP EQU RVB+$0CC 4 User shell table ptr* AVRTB EQU RVB+$0D0 4 Available RAM table * RTWO EQU RVB+$0D4 4 Resid. task wsp orig. LCORG EQU RVB+$0D8 4 L-chain origin * RAMBGN EQU RVB+$0DC 4 Free RAM begin * SERBOT EQU RVB+$0E0 4 Search bottom * SERTPQ EQU RVB+$0E4 4 Search top quick * SERTOP EQU RVB+$0E8 4 Search top * RAMEND EQU RVB+$0EC 4 RAM end pointer * * * Reserve: up to $100 * *..... Help cells for memory admin routines .....* FBWCNT EQU RVB+$100 1 FBW internal counter*10/97 TWFWS EQU RVB+$104 4 Task waiting for wsp* RESWSP EQU RVB+$108 4 Amount of res.WSP * AVRTP EQU RVB+$10C 4 Available RAM tbl * SHLTWS EQU RVB+$110 4 Shell TWS requ. * GRAMBA EQU RVB+$114 4 Glob RAM base MMP * MMPFLG EQU RVB+$118 4 Multiproc flag * IDCNT EQU RVB+$11C 4 (2 used) Identif cnt* * * Reserve: up to $13F * *................................................* *..... Error administration .....................* TIDQER EQU RVB+$140 TID of ERRDMN * .IF SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 EBRPL EQU RVB+$144 4 SOC: 4Byte read-ptr *03/01 EBWPL EQU RVB+$148 4 SOC: 4Byte write ptr*03/01 .ELSE SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 EBRP EQU RVB+$144 2 Error buf read-ptr * EBWP EQU RVB+$148 2 Error buf write ptr * .FIN SOCPPC <<<<<<<<<<<<<<<<<<<<<03/01 ERRCDW EQU RVB+$14C Error code word * * * Reserve up to $15F *................................................* *..... Implementation parameters ................* MAXCE EQU RVB+$160 4 Max amount CE-space * NIOT EQU RVB+$164 4 Number of I/O-Tasks * MXPATH EQU RVB+$168 4 Max path length * CEOFFS EQU RVB+$16C 4 Computed from MXPATH* PTHLEN EQU RVB+$170 4 PTH length * NUCID EQU RVB+$174 4 Nukleus ID code * NCOMIF EQU RVB+$178 4 Number of command IFs SCTBPT EQU RVB+$17C 4 Scanner table pointr* PPCABW EQU RVB+$180 4 PPC-Abweichungs-Flgs*01/01 * PPCABW flags out deviations from the MPC604- *01/01 * standard-processor, which are relevant for the *01/01 * basic system components. If there are such *01/01 * the flags must be set in the (cold)imp-slice. *01/01 * Flags used so far: *01/01 * $0000.0001: $700-Slot requires ESR NUK78I*01/01 * $0000.0002: Trace by MSR-Bit 22, not 21 NUK79E*07/01 * +SHL44K*07/01 SYSOPT EQU RVB+$184 4 System-options *03/01 SYSFC1 EQU RVB+$188 4 Sys facilities 1 *03/01 SYSFC2 EQU RVB+$18C 4 Sys facilities 2 *03/01 * * Reserve up to $18F (4 Bytes only) *03/01 *................................................* *..... Additional function addresses * LOADAD EQU RVB+$190 4 System loader adr * BSHLAD EQU RVB+$194 4 Bourne shell adr * VCPADR EQU RVB+$198 4 VCP-address * FMLINK EQU RVB+$19C 4 File manager link * NFMLNK EQU RVB+$1A0 4 Net FM link * HYPLNK EQU RVB+$1A4 4 Hyperproc link * CIADR EQU RVB+$1A8 4 SSRP-link * CMMDI EQU RVB+$1AC 4 '' * EDFROO EQU RVB+$1B0 4 EDFM root * SCNADR EQU RVB+$1B4 4 Scanner address * DSPMON EQU RVB+$1B8 4 Disp-Debug-Mon.-Adr.*10/97 BAERLK EQU RVB+$1BC 4 BAERR-Link *11/97 * * Reserve up to $200 *................................................* *.... The MPC-Jump-table .......................* * Every slot is 16 bytes in size * JUMTBL EQU RVB+$200 16 Origin-label * JUMOFS EQU 12 Where to deposit adr* JUMSSZ EQU 16 JUMP-SLOT SIZE * CHFTL: EQU JUMTBL JUMP-LINK CHFTL * CD7TAS: EQU CHFTL+16 '' CD7TAS * CLKIR: EQU CD7TAS+16 '' CLOCK *9/96 DISEX: EQU CLKIR+16 '' DISP00 *9/96 FPECOR: EQU DISEX+16 FP-Error-Corr. Slot*9/96 SOCJUM: EQU FPECOR+16 SOC-Hilfs-Slot *03/01 *.... MAX. 16 JUMPS PERMITTED in total .........* * USERL EQU RVB+$300 NOT USED BY RTOS! *4/96 *..... Reserve up to DAMNUK .....................* *................................................* DAMNUK EQU RVB+$400 Init-Label f. DAMNPT*4/96 * $5400 MATHE-LINKS $60 Bytes *5/96 .FIN PAGE ************************************************** * * * Memory administration uses the following * * 32-bit Address pointers, ordered by * * increasing (address-) values carried: * *................................................* * --> DAMNPT: (DYN ALLOC MEM NUK POINTER) * * POINTING TO DAMNUK OR HIGHER IF 68040 * * DAMNPT MAY BE LIFTED BY 1.ST 18-ER SLICE * * WHICH IS THE 68040 MATH.EMULATOR * *................................................* * --> IOQSTA: I/O-QUEUE START-ADR * *................................................* * --> IDPx x=(1...7) * * INTERRUPT DATA-BUFFERS FOLLOW * *................................................* * --> SIODDT: * * I/O DEVICE-DESCRIPTOR-TAB * *................................................* * --> SIOLDT: * * I/O TID-TABLE FOLLOWS * *................................................* * --> SIOMNT: * * I/O MNEMO-TABLE * *................................................* * --> UILDT: * * USER-ID TO LDN TABLE 1 W/USER * *................................................* * --> UITIDP: * * USER-ID TO TID TABLE 2 W/USER * *................................................* * --> EBUCOM: * * ERROR-TASK CYCLIC COMMAND-BUFFER * * 00: WRITE-INDEX * * 02: READ-INDEX * * 04: BUFFER-SPACE * *................................................* * --> EBU12: * * BUFFER 12 BYTES INSIDE ERROR-TRAPS * *................................................* * --> EBUMSG: * * ERROR-TASK MESSAGE BUFFERS (ONE PER USER) * * 00: WRITER ADR USER '00' CONSOLE * * 02: MAX ADR R/W + CE PT '' * * 04: READER ADR '' * * 06: MIN ADR R/W '' * * ..... * * 08: WRITER-ADR USER '01' * * .. SEE ABOVE '' * * ..........................................* * THE ERROR-TASK BUFFERS * *................................................* * --> USHELP: * * THE USER-SHELL TABLE * * SELFENDING TEXT, JUMP-ADDRESS * * '' '' * * $FFFF END-MARKER * *................................................* * --> AVRTP: * * THE AVAILABLE RAM - TABLE * *................................................* * --> RTWO: * * WORKSPACE OF RESIDENT SYSTEMTASKS * * THE SYSTEM-STACK * *................................................* * --> LCORG: 'L'-CHAIN ORIGIN * *------------------------------------------------* PAGE *------------------------------------------------* * M E M O R Y - S E C T I O N S * *------------------------------------------------* FORL EQU 0 FORWARD PTR SECT. * BACKL EQU 4 BACKW PTR SECTION * TYPE EQU 8 TYPE OF SECTION * * * TYPE - CLASSES ARE AS FOLLOWS: * TYPPTH EQU $0001 TYP PERM. TASK HEAD * TYPAUT EQU $0041 TASK:AUTOSTART * TYPVTH EQU $0002 TYP VOLATILE TSK HD * TYPCE EQU $0004 TYP COMM. ELEM. * TYPPWS EQU $0008 TYP PROC WORKSPC * TYPMDL EQU $0010 TYP MODULE-HEAD * TYPPSH EQU $0050 PEARL-SHELL *02/96 TYPEDF EQU $0020 TYP EDITOR-FILE * TYPRES EQU $0080 RESIDENT-FLAG * TYPOS EQU $0040 TEMPORARY IN USE * TYPLST EQU $FFFF8000 LAST CHAIN ELEM. * * *.... Bit numbering inside type-word ...........* TYPBTK EQU 0 TASK-SECTION * TYPBMD EQU 4 TYPE-MODULE-BIT * TYPBPW EQU 3 BIT-POS. OF TYPPWS * TYPBOS EQU 6 Bit pos of OS * * * * INTERNAL STRUC OF MEM-SEC ON NEXT PAGE * * * .IF_PROCTYPE M68K * PAGE *................................................* * I I I I *PTH I VTH I CE I PWSP I Displacement * *....I......I......I........I....................* NAME EQU 10 NAME TS/M * FORT: EQU 10 FWD TERMI * * FORT: EQU 10 FWD TERMI * * FORT: EQU 10 FWD TERMI * BACKT: EQU 14 BCKW TERMI* * BACKT: EQU 14 BCKW TERMI* * BACKT: EQU 14 BCKW TERMI* DFPRIO EQU 16 DEFAULT P * WSPLEN EQU 18 WSP-LENGTH* TIDO: EQU 18 TID OWNER * * TIDO: EQU 18 TID OWNER * * TIDO: EQU 18 TID OWNER * FORS EQU 22 FW LNK-S * A7UW: EQU 22 USER-A7 * FSTREG: EQU A7UW 1st reg *12/95 * FORS EQU 22 FW-LNK-S * WLOLD: EQU 22 OLD WL REG* BACKS EQU 26 BW-LNK S * A7SW: EQU 26 SYS-A7 * * BACKS: EQU 26 BW-LNK S * PRTNAD: EQU 26 PROC RTNAD* PRIO EQU 30 PRIO OF TH* D0W: EQU 30 REG-AREA * * PRIO: EQU 30 PRIO OF TH* BWIO: EQU 30 BUF F WIO * SPC EQU 32 START PC * BUADR: EQU 32 BUFF ADR * FLVA: EQU 34 FST LV ADR* BLOCK EQU 36 BLOCK-BYTE* RECLEN: EQU 36 RECRD LEN * SCHED EQU 37 SCHED-BYTE* WTO EQU 38 WT-ORG * STATIO: EQU 38 STATUS IO * LDNIO: EQU 39 LDN I/O * MODE: EQU 40 I/O-MODE * CACT EQU 42 CNTR ACTIV* DRIVE: EQU 42 DRIVE-NUMB* CCE EQU 44 CNTRFR CE * FNAME: EQU 44 FILE/PATH * TIC EQU 46 TI/EV CONT* TIA EQU 50 TI/EV ACT * TINV EQU 54 TI INTRVL * * IOBUF: EQU ?? I/O-BUFFER* TIL EQU 58 TI LST ACT* BRKADR EQU 62 BREAK-ADR * A0W: EQU 62 A0-BUF * SCHDPR EQU 66 SCHED-PRIO* A1W: EQU 66 A1-BUF * NESFLG EQU 68 NEWSTARTFLG FPUSFL EQU 69 FPU USING?* A2W: EQU 70 A2-BUF * INISR EQU 70 SEE BELOW!* * ...... REG AREA * MSGLNK EQU 72 MESS.LINK * SIGLNK EQU 76 SIGN.LINK * MSGQU EQU 80 I/O-QU.HEAD SSBOT: EQU 90 SS-BOTTOM * ACTBUF EQU 92 ACT BUFFR * LENPTH EQU 2*MAXACT+ACTBUF * .... .... 12 BYTES * OPNAME: EQU 102 OPRND NAME* OPFATI: EQU 108 OP 1STACT.* OPINTV: EQU 112 INTERVAL * OPLTI: EQU 116 LAST ACT * PMBUF: EQU 120 PEAMON-BUF* LINENO: EQU 162 HLL-LINENO *......ADD. FPU-TASK-WSP (BE AWARE OF BWIO IN HYP) FPURGS: EQU PMBUF+PMBSZ-4 * MIFRM: EQU FPURGS+9*12 * FPUFRM: EQU MIFRM+20 * VTHOFF: EQU FPUFRM+184+32 * .FIN End M68K section * .IF_PROCTYPE MPC601 PAGE *................................................* * I I I I *PTH I VTH I CE I PWSP I Displacement * *....I......I......I........I....................* NAME EQU $A name of M * * * * 2 n/a 2 n/a 2 n/a only used in PTH * * ..........................................* FORT: EQU $C FWD T-link* * FORT: EQU '' FWD T-link* * FORT: EQU '' FWD T-link* *................................................* DFPRIO EQU $10 DEFAULT P * BACKT: EQU $10 BCKW T-lnk* * BACKT: EQU '' BCKW T-lnk* * BACKT: EQU '' BCKW T-lnk* SCHDPR EQU $12 SCHED-PRIO* *................................................* WSPLEN EQU $14 WSP-LENGTH* TIDO: EQU $14 TID OWNER * * TIDO: EQU '' TID OWNER * * TIDO: EQU '' TID OWNER * *................................................* FORS EQU $18 FW LNK-S * D0W: EQU $18 Rg-sv area* FSTREG: EQU D0W 1st register * FORS EQU '' FW-LNK-S * WLOLD: EQU $18 OLD WL REG* *................................................* BACKS EQU $1C BW-LNK S * * reg1 EQU $1C REG-AREA * * BACKS: EQU '' BW-LNK S * PRTNAD: EQU $1C PROC RTNAD* *................................................* PRIO EQU $20 PRIO OF TS* * reg2 EQU $20 REG-AREA * * PRIO: EQU '' PRIO OF CE* BWIO: EQU $20 BUF F WIO * BLOCK EQU $22 BLOCK-BYTE* SCHED EQU $23 SCHED-BYTE* * 2 n/a unused in CE * *................................................* SPC EQU $24 START PC * * reg3 '' * BUADR: EQU $24 BUFF ADR * FLVA: EQU $24 FST LV ADR* *................................................* WTO EQU $28 WT-ORG * * reg4 '' * RECLEN: EQU $28 RECRD LEN * STATIO: EQU $2A STATUS IO * LDNIO: EQU $2B LDN I/O * *................................................* TIC EQU $2C TI/EV CONT* * reg5 '' * MODE: EQU $2C I/O-MODE * DRIVE: EQU $2E DRIVE-NUMB* *................................................* TIA EQU $30 TI/EV ACT * * reg6 '' * FNAME: EQU $30 FILE/PATH * *................................................* TINV EQU $34 TI INTRVL * * reg7 '' * * IOBUF: EQU ?? I/O-BUFFER* *................................................* TIL EQU $38 TI LST ACT* * reg8 '' * *................................................* BRKADR EQU $3C BREAK-ADR * * reg9 '' * A1W: EQU $3C A1-BUF(r9)*04/97 *................................................* CCE EQU $40 CNTRFR CE * * reg10 '' * CACT EQU $42 CNTR ACTIV* *................................................* NESFLG EQU $44 NEWSTARTFLG * reg11 '' * FPUSFL EQU $45 FPU USING?* INISR EQU $46 SEE BELOW!* *................................................* MSGLNK EQU $48 MESS.LINK * * reg12 '' * *................................................* SIGLNK EQU $4C SIGN.LINK * * reg13 '' * *................................................* MSGQU EQU $50 I/O-QU.HEAD * reg14 '' * *................................................* *4 more EQU $54 (BACKS) * * reg15 '' * *................................................* *4 more EQU $58 (PRIO) * * reg16 '' * *................................................* ACTBUF EQU $5C ACT BUFFR * * reg17 '' * *................................................* * * * reg18 EQU $60 * * LENPTH EQU 2*MAXACT+ACTBUF * * reg19 thru reg31 $64 thru $94 *1/96 * CTXCTR: EQU $98 contxt CTR*1/96 CTXXER: EQU $9C contxt XER*1/96 CTXMQ: EQU $A0 contxt MQ *1/96 CTXMSR: EQU $A4 contxt MSR*1/96 CTXPC: EQU $A8 contxt PC *1/96 CTXLR: EQU $AC contxt LR *1/96 CTXCR: EQU $B0 contxt CR *1/96 *................................................* *.... The following applies only to the VTH sect.* * OPNAME: EQU $B4 Name of op*1/96 OPFATI: EQU OPNAME+8 OP 1STACT.* OPINTV: EQU OPFATI+4 INTERVAL * OPLTI: EQU OPINTV+4 LAST ACT * PMBUF: EQU OPLTI+4 HYPERPROC * LINENO: EQU PMBUF+42 HLL-LINENO *......ADD. FPU-TASK-WSP (BE AWARE OF BWIO IN HYP) MATHBF: EQU PMBUF+PMBSZ-4 $80 size *5/96 FPURGS: EQU MATHBF+$80 context buf5/96 FPBFSZ: EQU $80+264 Total size*5/96 .FIN End MPC601-section * *------------------------------------------------* PAGE *------------------------------------------------* * THE USER-ENVIRONMENT DATA-BLOCK * * (FOLLOWING LENPTH OF PERMANENT TASK-HEAD) * EBUW EQU 0 2 ERROR-BUF WRITE INDX* EBUR EQU EBUW+2 2 ERROR-BUF READ INDEX* EBUMAX EQU EBUR+2 2 ERROR-BUF MAX INDEX * EBUMIN EQU EBUMAX+2 2 ERROR-BUF MIN INDEX * ECEBL EQU EBUMIN+2 2 ERROR-CE-BUF LENGTH * NXD EQU ECEBL+2 2 NO OF EXEC DIRECT. * ERRCE EQU NXD+2 4 CE OF QERROR * STDELP EQU ERRCE+4 4 PTR STDERR LDN/PATH * STDILP EQU STDELP+4 4 PTR STDINP LDN/PATH * STDOLP EQU STDILP+4 4 PTR STDOUT LDN/PATH * WDIRPT EQU STDOLP+4 4 PTR TO WORKDIRS * LIBPPT EQU WDIRPT+4 4 LIB-PATH-POINTER * BSHTID EQU LIBPPT+4 4 Bourne shell TID * ENVADR EQU BSHTID+4 4 Environment adr * * RESERVE 4 RESERVED * UEVEND EQU LIBPPT+4+12 USER-ENVIRONMENT END* *------------------------------------------------* PAGE *------------------------------------------------* * BIT-ALLOCATION IN TASK-STATUS-WORD 'BLOCK'* *------------------------------------------------* BLKBGP EQU 0 BLOCK GENERAL PURP. * BLKMGP: EQU $01 MASK* BLKBSE EQU 1 WAIT FOR SEMA * BLKMSE: EQU $02 MASK* BLKBWS EQU 2 ITING FOR WORKSPACE * BLKMWS: EQU $04 MASK* BLKBCE EQU 3 WAITING FOR 'CE' * BLKMCE: EQU $08 MASK* BLKBSU EQU 4 SUSPEND-BIT * BLKMSU: EQU $10 MASK* BLKBAC EQU 5 WAITING FOR ACTIVATN* BLKMAC: EQU $20 MASK* BLKBWA EQU 6 WAITING FOR I/O COMP* BLKMWA: EQU $40 MASK* BLKBRM EQU 7 IN EXECUTION MMP * BLKMRM: EQU $80 MASK* PAGE *------------------------------------------------* * INFOS ABOUT THE ERROR/SIGNAL HDLR * *------------------------------------------------* *..... AT ERRCDW THE ERROR-CODE-WORD IS STORED ..* *..... THIS WORD IS STRUCTURED AS FOLLOWS: * EWBFIL EQU 12 FILE-NAME VALID * EWMFIL: EQU $1000 '' MASK * EWBNON EQU 13 NO NAME GIVEN * EWMNON: EQU $2000 '' MASK * EWBPMS EQU 14 PROGRAM-MESSAGE * EWMTER: EQU $4000 '' MASK * EWBSUS EQU 15 SUSPEND-BIT * EWMSUS: EQU $8000 MASK * *................................................* *..... THE SIGNAL-FRAME: ........................* SGAEB1 EQU 00 2 BYTES =$AEB5 FOR FRAME-VALID. * SGCNTL EQU 02 2 BYTES = CONTROL-WORD * SGRESV EQU 04 4 BYTES RESERVED FOR LATER EXTENS*03/98 SGTGPC EQU 08 4 BYTES = TARGET-PC * *.... THE FOLLOWING BYTES ARE FILLED BY THE EXC.* SGOLPC EQU $0C 4 BYTES = PC AFTER EXCEPTION * SGOLSR EQU $10 2 BYTES = SR BEFORE EXCEPTION * SGOLD7 EQU $12 4 BYTES = D7 BEFORE EXCEPTION * SGEM12 EQU $16 12 BYTES = THE EBU12-CONTEXT * * I 2 BYTES ERROR-CODE-WORD * * I 4 BYTES TID OR Vxxx OF EXCEPTION * * I 6 BYTES MESSAGE TEXT * * I ( OR 4 BYTES BIN VALUE PLUS $0001)* * I ( OR 4 BYTES TEXT-PTR PLUS $0000)* SIGTOT EQU $22 TOTAL FRAME-SIZE * * *..... For internal use in SSRP-exception hndlr: * * SPECIAL VARS FOR EXEPTION HANDLER EXEX *03/98 SGERPT EQU SIGTOT 4 STD-ERROR-POINTER *03/98 SGEXPC EQU SGERPT+$04 4 EXTERN PC IF EXT HDL*03/98 SGEXEL EQU SGERPT+$08 4 ERROR-WORD-LIST *03/98 SGSTAC EQU SGERPT+$0C 4 ONE LONGWORD-STACK *03/98 SGSREG EQU SGERPT+$10 $20 REGISTER-SAVE-PLACE *03/98 SGESSR EQU SIGTOT+$30 SHORT FRAME SIZE *03/98 .IF_PROCTYPE M68K ONLY IN 68xxx *03/98 SGEFFS EQU SGESSR FULL FRAME SIZ 68xxx*03/98 .FIN M68K *03/98 .IF_TATYPE MPC601 ONLY IN POWER PC *03/98 * OFFSETS FOR FULL-POWER-PC-FRAME *03/98 SGRES2 EQU SGERPT+$30 10 RESERVED FOR LATER *03/98 SGPCR EQU SGERPT+$3A 4 CONDITION-REGISTER *03/98 SGPXER EQU SGERPT+$3E 4 XER-REGISTER *03/98 SGPLR EQU SGERPT+$42 4 LINK-REGISTER *03/98 SGPRG EQU SGERPT+$46 28 R25...R31 *03/98 SGEPFS EQU SIGTOT+$32+12*4 FULL-POWER-PC-FRAME*03/98 SGEFFS EQU SGEPFS FULL FRAME SIZE PPC *03/98 .FIN MPC601 ONLY IN POWER PC *03/98 * *................................................*03/98 * BITS IN SGCNTL *03/98 SGCBED EQU 7 ALSO PRINT BY ERROR-DAEMON*03/98 SGCMED EQU $80 " *03/98 SGCBPF EQU 6 FULL POWER-PC-FRAME *03/98 SGCMPF EQU $40 " *03/98 SGCBBR EQU 5 BREAKPOINT VIA EXCEPT-HDLR*03/98 SGCMBR EQU $20 " *03/98 SGCBFM EQU 4 FORCE MESSAGE+SUB-HDLR *03/98 SGCMFM EQU $10 " *03/98 SGCBNT EQU 3 NO TRACE IN EXCEPTION-HDLR*04/99 SGCMNT EQU $08 " *04/99 * BIT 0 IS INTERNAL USED!!! *03/98 PAGE *------------------------------------------------* * INFOS ABOUT INISR * *------------------------------------------------* * RIGHT PART (WHICH IS THE CCR) IS USED FOR * * DIFFERENT SPECIAL TASK-FORMS * * * BIT(0) OF INISR+1: TASK IS A SHELL PROCESS* * BIT(1) OF INISR+1: TASK IS A GEMDOS-PROCESS * AFFECTS ONLY GX-TRAPS * * BIT(2) OF INISR+1: TASK RUNS UNDER DEBUG * * AFFECTS THE LINE-TRACER* * * * BIT(3) OF INISR+1: PEARL-Shell if set * * Affects line-no decoder* * and line tracer * * BIT(4) OF INISR+1: SHELL-SKRIPT if set *11/96 * Affects line-no decoder*11/96 * and line tracer *11/96 * BIT(5) OF INISR+1: 1: Suppress ERROR-MSG *02/98 * of Schedulers *02/98 *------------------------------------------------* * INFOS ABOUT NESFLG * *------------------------------------------------* NEBNES EQU 7 New-Start-Bit *06/01 NEMNES: EQU $80 '' -Mask *06/01 NEBCRE EQU 6 1: TIC is relative *06/01 NEMCRE: EQU $40 '' *06/01 NEBARE EQU 5 1: TIA is rel. (after) *06/01 NEMARE: EQU $20 '' *06/01 NEBLRE EQU 4 1: TIL is rel. (during)*06/01 NEMLRE: EQU $10 '' *06/01 NEBWAI EQU 0 MMP: Task waits in TRAP*06/01 TABWAI EQU 0 '' (old name) *06/01 NEMWAI: EQU $01 '' *06/01 *------------------------------------------------* * INFOS ABOUT THE I/O-SYSTEM * *------------------------------------------------* * I/O-COMMAND - OP-CODES (MODE+1) * IOCBEF EQU 7 output END OF FILE BIT * IOCBNE EQU 6 input No Error Bit * IOCBEX EQU 5 input Exclusive Bit * * IOCRW EQU 0 'READ/WRITE' * IOCER EQU 1 'ERASE' FILE * IOCRPE EQU 2 REPORT-ERROR *02/96 IOCRTN EQU 4 'RETURN' FILE TO SYS* IOCCLO EQU 6 'CLOSE'-OPERATION * IOCRWI EQU 7 'R/W IMPLICIT' * IOCREW EQU 8 'REWIND OLD' *03/98 IOCAP EQU 9 APPEND FILE * IOCFL EQU 12 'LIST FILES'-COMMAND* IOCFRE EQU 13 LIST FREE (CPM) * IOCDI EQU 14 DIRECTORY-CMD * IOCSYN EQU 16 SYNC DEVICE *2/96 IOCTOU EQU 17 TOUCH-COMMAND * IOCLNK EQU 18 LINK A FILE *2/96 IOCSEE EQU 19 SEEK-COMMAND *12/95 IOCSAV EQU 20 SAVEP-COMMAND *12/95 IOCRWS EQU 21 SPECIAL REWIND * IOCRWN EQU 22 REWIND NEW *12/95 IOCFOS EQU 23 SINGLE DENS FORM * IOCFOD EQU 24 DOUBLE DENS FORM * IOCCF EQU 25 CHANGE FILES * IOCMDI EQU 26 MAKE DIRECTORY *2/96 IOCRDI EQU 27 REMOVE DIRECTORY *2/96 IOCREN EQU 28 RENAME FILE *2/96 IOCRRW EQU 31 RAW READ/WRITE *2/96 *..... The 3 high order bits have special func: * IOCMEX EQU $20 Mask for 'exclusive'* IOCMNE EQU $40 Mask for 'no errors'* IOCMEF EQU $80 Mask for 'end of file' * I/O-FACILITIES * IOFBRE EQU 7 REWINDABLE * IOFMRE: EQU $80 '' MASK * IOFBOC EQU 6 OPEN/CLOSABLE * IOFMOC: EQU $40 '' MASK * IOFBLF EQU 5 ADD LINE-FEED * IOFMLF: EQU $20 '' MASK * IOFBDI EQU 4 DIALOGUE POSSIBLE * IOFMDI: EQU $10 '' MASK * IOFBNE EQU 3 NO ECHO I/A * IOFMNE: EQU $08 '' MASK * IOFBER EQU 2 ERASABLE FILES * IOFMER: EQU $04 '' MASK * IOFBOU EQU 1 OUTPUT POSS. * IOFMOU: EQU $02 '' MASK * IOFBIN EQU 0 INPUT POSSIBLE * IOFMIN: EQU $01 '' MASK * IOFMIO: EQU $03 IN+OUT-MASK * *................................................* * BYTE 2 OF I/O-FACILITIES * IOFBFL EQU 7 FILE-LIST FACILITY * IOFMFL: EQU $80 '' MASK * IOFBFO EQU 6 FORMATABLE FACILITY *12/95 IOFMFO: EQU $40 FORMATABLE * IOFBCF EQU 5 CHANGEABLE FACILITY *12/95 IOFMCF: EQU $20 CHANGEABLE * IOFBMK EQU 4 MKDIR FACILITY *12/95 IOFMMK: EQU $10 MKDIR POSSIBLE *12/95 IOFBSE EQU 3 SEEK FACILITY *12/95 IOFMSE: EQU $08 '' mask * IOFBRP EQU 2 Report error fac. * IOFMRP: EQU $04 '' mask * * * IOFMNW: EQU $02 FOR EDITOR: NO WRAP * IOFMVT: EQU $01 '' VTxy * *................................................* * I/O MODUS-BYTE BIT-POS. ARE AS FOLLOWS: * * BITS IN MODE+1 : See IOCBxy * MODBBY EQU 0 BINARY MODE *05/97 MODMBY: EQU 1 '' MASK *05/97 MODBNE EQU 1 NO-ECHO-MODE *12/95 MODMNE: EQU 2 '' MASK *12/95 MODBSC EQU 2 SUPPRESS COMMAND-IF * MODMSC: EQU 4 '' MASK *12/95 MODBEO EQU 3 END ON EOT * MODMEO: EQU 8 '' MMASK * MODBLF EQU 4 END ON LINE-FEED * MODMLF: EQU $10 '' MASK * MODBCR EQU 5 END ON CARR.RETURN * MODMCR: EQU $20 '' MASK * MODBOU EQU 6 OUTPUT-MODE * MODMOU: EQU $40 '' MASK * MODBWA EQU 7 WAIT-BIT * MODMWA: EQU $80 '' MASK * * *................................................* * OLD I/O MODUS-BYTE BIT-POS. *05/97 * NOT FOR NEW DEVELOPMENTS *05/97 MODBPT EQU 0 I/O WITH PARITY * MODMPT: EQU 1 '' MASK * MODBBI EQU 1 BINARY-MODE * MODMBI: EQU 2 '' MASK *12/95 *................................................* * I/O STATUS-BYTE BIT-POS. ARE AS FOLLOWS: * STABRE EQU 1 RELEASE CE * STAMRE: EQU 2 '' MASK *12/95 STABRT EQU 2 RETURN CE * STAMRT: EQU 4 '' MASK *12/95 STABOQ EQU 3 CE IN 'OWN QUEUE' * STAMOQ: EQU 8 '' MASK *12/95 PAGE *------------------------------------------------* * INFOS ABOUT THE CLOCK/EVENT SCHEDULING * *------------------------------------------------* * BITS IN SCHED-BYTE ARE AS FOLLOWS * SCHBAC EQU 7 PLANNED FOR ACT * SCHMAC: EQU $80 '' MASK * SCHBTA EQU 5 TIMED-ACTIVATE * SCHMTA: EQU $20 '' MASK * SCHBCA EQU 4 CYCLIC-ACTIVATE * SCHMCA: EQU $10 '' MASK * SCHBWA EQU 3 WHEN ACTIVATE * SCHMWA: EQU $08 '' MASK * SCHBTC EQU 2 TIMED CONTINUE * SCHMTC: EQU $04 '' MASK * SCHBWC EQU 1 WHEN CONTINUE * SCHMWC: EQU $02 '' MASK * SCHBID EQU 0 IDLE-TASK-BIT * SCHMID: EQU $01 '' MASK * PAGE * *------------------------------------------------*03/01 * I N F O S A B O U T S Y S - O P T I O N S *03/01 *------------------------------------------------*03/01 *.... SYSOPT: * SOMDCD EQU $80000000 DCDERR long output *03/01 SOBDCD: EQU 7 SYSOPT+0, Bit 7 *03/01 SOMNOV EQU $40000000 No Vanish option *05/01 SOBNOV: EQU 6 SYSOPT+0, Bit 7 *05/01 *------------------------------------------------* * I N F O S A B O U T S Y S - F A C I L . *03/01 *------------------------------------------------* *.... SYSFC1: * S1M68K EQU $80000000 Is 68K-Family *03/01 S1B68K: EQU 7 SYSFC1+0, BIT 7 *03/01 S1MPPC EQU $40000000 Is PowerPC-Family *03/01 S1BPPC: EQU 6 SYSFC1+0, BIT 6 *03/01 * *.... SYSFC2: * *------------------------------------------------* * I N F O S A B O U T B O L T S * *------------------------------------------------* * >> $0000 = TOTALLY FREE * * $0xxx = NOT PERMITTED, ERRONEOUS STATE * * $1xxx = NOT PERMITTED, ERRONEOUS STATE * * $2000 = NOT PERMITTED, ERRONEOUS STATE * * >> $2xxx = ENTERED, COUNT IS xxx, NOBODY WAIT* * >> $3xxx = SAME AS ABOVE, HIGHER COUNT * * $4xxx = NOT PERMITTED, ERRONEOUS STATE * * $5xxx = NOT PERMITTED, ERRONEOUS STATE * * $6xxx = NOT PERMITTED, ERRONEOUS STATE * * >> $7xxx = ONLY PERM. FOR xxx=FFF, ELSE WRONG* * >> $7FFF = E-COUNT ELAPSED, SOMEBODY WAITING * * >> $8000 = RESERVED, NOBODY WAITING * * $9xxx = NOT PERMITTED, ERRONEOUS STATE * * $Axxx = NOT PERMITTED, ERRONEOUS STATE * * $Bxxx = NOT PERMITTED, ERRONEOUS STATE * * >> $C000 = RESERVED, SOMEBODY WAITING * * $Cxxx = NOT PERMITTED, ERRONEOUS STATE * * $Dxxx = NOT PERMITTED, ERRONEOUS STATE * * >> $Exxx = ENTERED, RESERVER WAITING * * $Fxxx = HIGHLY ENTERED, RESERVER WAITING * * >> $FFFF = E-COUNT ELAPSED, SOMEBODY WAITING * * *------------------------------------------------* * VME-A16/A24 BASE-POINTER / WiM LINK * *------------------------------------------------* VMEA24 EQU USERL+$9A0-$962 VME A24 BASE ADR *4/96 VMEA16 EQU USERL+$9A4-$962 VME A16 BASE ADR *4/96 GPILNK EQU USERL+$9CC-$962 LINK FOR WiM *07/96 * *------------------------------------------------* * MASKEN FUER LOCK/UNLOCK-KOMMANDOS: * *------------------------------------------------* .IF_TATYPE MPC601 RG25 EQU $8000 REGISTER 25 *3/96 RG26 EQU $4000 REGISTER 26 *3/96 RG27 EQU $2000 REGISTER 27 *3/96 RG28 EQU $1000 REGISTER 28 *3/96 RG29 EQU $0800 REGISTER 29 *3/96 RG30 EQU $0400 REGISTER 30 *3/96 RG31 EQU $0200 REGISTER 31 *3/96 RGLR EQU $0100 LINK-REGISTER *3/96 .FIN * * *------------------------------------------------*