cleaned up typos
[retro-software/dec/tops10/v4.5.git] / src / sysini.mac
index a8ee847..3fdfbf0 100644 (file)
@@ -1,6 +1,6 @@
-TITLE  SYSINI - SYSTEM INITIALIZATION AND RESTART\r
-SUBTTL TH/GH  TS  11 NOV 68  V006\r
-XP VSYSII,006\r
+TITLE  SYSINI - SYSTEM INITIALIZATION AND RESTART - V405\r
+SUBTTL TH/RCC/TL/AF    TS 19 DEC 69\r
+XP VSYSII,405\r
                ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP\r
 \r
 EXTERNAL APRCHN,ERROR\r
@@ -18,11 +18,14 @@ SYSINI:     CONO APR,200000         ;IO RESET
 JSR1:  JSR ONCE                ;DO ONCE ONLY CODE ONCE\r
 JSR2:  JSR LINKSR              ;LINK IO SERVICE ROUTINES\r
        MOVS TAC,.+1\r
-       SETZM SYSBEG\r
+       SETZB AC1,SYSBEG\r
        MOVSM TAC,JSR1          ;CLEAR SYSTEM DATA STORAGE\r
        MOVSM TAC,JSR2\r
        HRRI TAC,SYSBG1         ;CLEAR SYSTEM DATA STORAGE\r
        BLT TAC,SYSEND\r
+       MOVE TAC,[XWD 62,63]    ;CLEAR SYSTEM PDL'S, ETC., ABOVE\r
+       SETZM 62                ; TRAP LOCATIONS\r
+       BLT TAC,137             ; AND UP TO BASE OF COMMON\r
        MOVSI TAC, DVDIRIN+TTYATC+TTYUSE\r
        HRRI TAC,ASSCON+ASSPRG\r
        HLRZ DEVDAT,DEVLST      ;SCAN ALL DEVICES\r
@@ -45,14 +48,9 @@ XP CRSH17,CRSHAC+17
 ; IF NOT CONTIGUOUS, BANKS ABOVE FIRST NON-EXISTENT ONE ARE IGNORED\r
        EXTERN USRLIM\r
        MOVEI TAC,CORBLK        ;NO. OF BIT BYTES IN CORTAB\r
-CORLIM:        MOVEI AC1,USRLIM        ;LIMIT OF NO. OF K AVAIL. TO ASINGLE USER\r
-                               ; RH PATCHED BY ONCE ONLY CODE\r
-\r
        MOVE JDAT,COREP         ;1 BIT BYTE POINTER TO FIRST K-1\r
        CONO APR,NXM            ;CLEAR NON EX MEM ONCE\r
-IFN FTSWAP,<\r
        MOVEI UUO,2000          ;CORE SIZE INCREMENT TO UPDATE CORMAX\r
->\r
 SYS2:  IBP JDAT                ;MOVE BYTE POINTER UP BY 1K\r
        HLLO DAT,(TAC1)         ;REFERENCE MEMORY, SET RH OF DAT TO 1\r
        CAML TAC1,SYSSIZ        ;STILL IN MONITOR(FIRST LOC NOT USED BY MON)?\r
@@ -60,13 +58,12 @@ SYS2:       IBP JDAT                ;MOVE BYTE POINTER UP BY 1K
        JRST SYS3               ;YES, GO STORE 1 BIT IN CORTAB INDICATING\r
                                ; 1K NOT AVAILABLE\r
        MOVEM JDAT,CORLST       ;NO, SET LAST AVAILABLE BLOCK EVEN HIGHER\r
-       CAML AC1,CORTAL         ;MAX RESTRICTED BY ONCE ONLY CODE?\r
-       JRST SYS4               ;400 MEANS OPERATOR DIDN'T SPECIFY ANY\r
-IFN FTSWAP,<\r
+CORLIM:        CAIGE AC1,USRLIM        ;USRLIM=MAX. CORE AVAILABLE TO A SINGLE\r
+                               ; USER AS DEFINED BY BUILD AND MODIFIED BY ONCE\r
+                               ; REACHED MAX YET FOR SIGIN USER?\r
        EXTERN CORMAX\r
        ADDM UUO,CORMAX         ;INCREASE MAX SIZE CORE AVAIL. TO A USER\r
->\r
-SYS4:  AOSA CORTAL             ;INCREMENT NO. OF FREE 1K BLOCKS\r
+SYS4:  AOSA AC1,CORTAL         ;INCREMENT NO. OF FREE 1K BLOCKS\r
                                ; AND LEAVE 0 BIT IN CORTAB TO FLAG IT AS FREE\r
 SYS3:  DPB DAT,JDAT            ;YES, FLAG THIS 1K AS NOT AVAILABLE(1 BIT IN CORATB)\r
        ADDI TAC1,2000          ;INCREMENT MEMORY REF\r
@@ -78,9 +75,6 @@ IFN FTDISK,<
        MOVEI PDP,SYSPDL        ;RECLAIM MONITOR CORE (SIZE OF MONITOR INCREASED\r
        PUSHJ PDP,ACCINI        ;AT ONCE ONLY TIME) USED BY DISK DEVICE DATA BLOCKS\r
                                ; (IF THIS IS RESTART)\r
-       MOVE TAC,CORTAL         ;THESE 3 INSTR. TEMPORARY UNTIL ACCINI\r
-       LSH TAC,12              ;IS REWRITTEN\r
-       MOVEM TAC, CORMAX       ;AND MOST OF ITS WORK PUT IN ONCE ONLY TIME\r
 >\r
        MOVEI 1,IOGO\r
        HRRM 1,SYSDSP           ;FALL INTO IOGO\r
@@ -88,28 +82,33 @@ IFN FTDISK,<
 \r
        INTERNAL IOGO,FT2REL\r
        EXTERNAL DEVLST, MJOBN, JBTADR,JBTSTS,CLKINI,NXTINI\r
-       EXTERNAL SYSPDL,JOBMAX,CLRJOB,APRRST,JOBADR\r
+       EXTERNAL SYSPDL,JOBMAX,CLRJOB,APRRST,JOBADR,CRSHWD,IADPTR\r
 \r
 \r
 IOGO:  CONO APR,APRRST         ;APR RESET (IO RESET)\r
-       CONO PI,611577          ;CLEAR PI SYSTEM (AND MEM PARITY AND POWER FAIL)\r
-       HLRZ TAC, DEVLST        ;CHAIN OF DEVICE DATA BLOKS\r
+       CONO PI,211577          ;CLEAR PI SYSTEM (AND MEM PARITY AND POWER FAIL)\r
+       SETZM CRSHWD\r
+       HLRZ DEVDAT, DEVLST     ;CHAIN OF DEVICE DATA BLOKS\r
 IOG0:  MOVEI TAC1,ASSPRG       ;CLEAR ASSIGNED BY PROGRAM BIT\r
-       ANDCAB TAC1,DEVMOD(TAC)\r
+       ANDCAB TAC1,DEVMOD(DEVDAT)\r
        HRLOI ITEM,77           ;DO NOT CLEAR HUNG DEVICE COUNT SETTING\r
        TRNE TAC1,ASSCON        ;ASSIGNED BY CONSOLE?\r
        TLO ITEM,770000         ;YES, DO NOT CLEAR JOB NO.\r
-       ANDM ITEM,DEVCHR(TAC)   ;CLEAR HUNG DEVICE COUNT.\r
-       SETZM DEVIOS(TAC)       ;CLEAR IO STATUS WORD\r
-       SETZM DEVBUF(TAC)       ;CLEAR BUFFER ADDRESSES\r
-       HLRZ TAC, DEVSER(TAC)\r
-       JUMPN TAC, IOG0\r
+       ANDM ITEM,DEVCHR(DEVDAT)        ;CLEAR HUNG DEVICE COUNT.\r
+       SETZM DEVIOS(DEVDAT)    ;CLEAR IO STATUS WORD\r
+       SETZB DAT,DEVBUF(DEVDAT)        ;CLEAR BUFFER ADDRESSES\r
+       TLNE TAC1,DVDTA         ;IS THIS A DECTAPE?\r
+       DPB DAT,IADPTR          ;YES, SET NO. OF USER CHANNELS INITED\r
+                               ; ON THIS DEVICE TO 0\r
+       HLRZ DEVDAT, DEVSER(DEVDAT)\r
+       JUMPN DEVDAT, IOG0\r
        MOVEI PDP,SYSPDL        ;REUSABLE SPACE(SEE IOINI1)\r
        PUSHJ PDP,NXTINI        ;ALWAYS INITILIZE SCHEDULER FIST\r
                        ;SO DEVICES MAY RESET QUEUES IF DESIRED\r
        HLRZ    AC3,DEVLST      ;ADDR OF FIRST DDB\r
        SETZM SAVITM\r
-IOG01: MOVE AC3,DEVSER(AC3)\r
+IOG01: MOVE DEVDAT,AC3\r
+       MOVE AC3,DEVSER(AC3)\r
        HRRZ TAC,AC3\r
        CAIE TAC,@SAVITM        ;SAME DEVICE\r
        PUSHJ PDP,DINI(AC3)     ;NO. INITIALIZE IT.\r