-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
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
; 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
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
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
\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