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