IMD 1.17: 11/11/2014 12:54:26 82VKXBVERDOS B* VERSADOS/RMS68K OBJECT 4.3 SN=39358 7 OF 11  BT0782VKXBVERDOS 0420¿~->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*.*ˆFOLLOWING�HAS�BEEN�ADDED�FOR�THE�VM01�SYSTEM**XTVMPPƒEQU‡$21XTVMSPƒEQU‡$20O*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<O**********************************************************************************ˆIOC�--�DEFINE�DCB'S�AND�CDB'S*'*ˆThe�macros�used�are�defined�in�IODVM.*O******************************************************************************* *@*‚This�section�becomes�IOCOMS,�which�is�used�by�FMS,�IOS,�&�FHS.*#IOCOM„IDNT†12,12‡I/O�COMMON�SEGMENT SECTION 0 OPT MEX XDEF IOCOMS,IOCOML,CCSEG *1*‚Define�the�physical�addresses�of�device�drivers*‚using�the�SYSGEN�parameters.*IPC†EQU‡\IPCDRVRCHI†EQU‡\CHIDRVREPCI…EQU‡\EPCIDRVR PAGE*6*‚Here�are�parameters�describing�the�tables�and�lists.*IOCOMS  DC.L 0 I/O sysgen options. ( DC.L DCQSTR Start address of DCQ space.&�DC.L�DCQEND�Endƒaddress�of�DCQ�space.�DC.L�0†Address�of�1st�DCQ. ( DC.L LUTSTR Start address of LUT space.&�DC.L�LUTEND�Endƒaddress�of�LUT�space.�DC.L�0†Address�of�1st�LUT. ( DC.L DCBTBL Start address of DCB space.&�DC.L�DCBEND�Endƒaddress�of�DCB�space. DC.L DCBTBL Address of 1st DCB.  DC.L 0 SEMAPHORE FLAG&�DC.B�'\SYSNAME'„OPERATING�SYSTEM�I.D.�DC.B�'\REVISION'ƒANDƒREVISION( DC.L 0,0,0 TASK ID FOR UNCLAIMED BREAKS PAGEO********************************************************************************C*ˆStorage�for�DCQ's�and�LUT's.‚Initially�these�two�lists�are�empty.*O******************************************************************************* * *‚DCQ�space.* DCQSTR EQU * DS.B 256*\DCQPGEDCQEND EQU *-1 * *‚LUT�space.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS X(70/8=@HHPPWXQ`Nhipyxr€wˆe�  DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1‰PAGEO**********************************************************************************ˆDefine�DCB's�based�on�SYSGEN�parameters.*O******************************************************************************* *DCBTBL�EQU�*‡This�is�the�top�of�DCB�space. &**************************************$*‚SET�UP�DCB'S�FOR�LOCAL�TERMINALS‚*&************************************** IFNE \NOLTERMITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*A*ˆBelow�reflects�the�NEW�DCB�format�with�modificatins�to�meet�theB*ˆthe�PRINTER�TASK‚needs.�Some�of�these�fields�reflect�values�that@*ˆare�not�used�while�others�reflect�duplication�but�at�differentA*ˆoffsets�that�meet�the�PRINTER�TASK�needs.�When�the�PRINTER�TASKB*ˆis�modified�to�become�a�true�PRINTER�DRIVER�the�following�can�be7*ˆdeleted�an�the�MACRO�definition�used�as�it�should�be.H*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1‰DC.L†*+PDCBLN‡Address�of�next�DCB�in�linked�list-‰DC.L†PRTDVŠASCII�identification�for�this�DCB‰DC.L†0ŽAddress�of�DCQ�entry+‰DC.L†PRTIDŠName�of�task�making�the�request+‰DC.L†IOSESS‰Session�of�task�making�request‰DC.L†0ŽAddress�of�LUT8‰DC.L†$632‹Attributes�of�device�associated�with�this�DCB ‰DC.W†0ŽWrite/Read�protect�codes‰DC.W†0Ž'Device�in�use'�flag‰DC.L†0ŽWrite/Read�counts"‰DC.B†95�Device�flag�(device�code)#‰DC.B†1ŽDevice�flag�(device�status)#‰DC.L†'CPRT'‰Channel�identification2‰DC.B†0ŽDevice�number�associated�with�this�channel‰DC.B†0ŽTask�priority‰DC.L†0ŽCurrent�record�number6‰DS.B†IOSBLN‰Storage�area�for�the�IOCB�being�processed1‰DC.L†0ŽLogical�addr�of�IOCB�in�user's�addr�space5‰DC.B†0ŽConfig.�coordination�flag�(0�-->�at�defaults)‰DC.B†0ŽBreak�count$‰DC.L†0ŽAddress�of�break�service�LUT2‰DC.L†0ŽBreak�service�address‚--------------------6‰DC.L†0,0,0,0ˆDevice�independent/dependent�buffer�zone%‰DC.B†0,0,0,0ˆSpace�for�status�fields‰DC.W†$0007ŠAttributes�mask‰DC.W†$0033ŠParameters�mask‰DC.W†PCP$ATWˆAttributes�word#‰DC.W†\PCP$REC‡#�of�characters/line‰DC.L†\PCP$RSZ‡#�of�lines/page‰DC.L†\PCP$WTO‡Write�timeout‰DC.L†0ŽRead‚timeout"‰DC.W†\PCP$LRL‡Logical�line�lengthO*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>A*ˆNormally�the�following�would�be�what�follows�for�the�balance�of>*ˆthe�DCB�but�since�the�current�driver�task�VMPRT�has�not�been<*ˆmodified�at�this�time�10/13/82�to�a�process�a�redefinitionE*ˆof�the�balance�of�the�DCB�was�required�to�fit�the�task�requirements*‰DC.B†$0AŒEnd-of-line�character%‰DCB.B…15,0‹Resreved�space�(15�bytes)O*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+‰DC.L†$00000D00†Programming�info�-�Software+‰DC.L†$00000084†Programming�info�-�Hardware )‰DC.L†$0�I/O�timeout�value�-�time�(msecs) ‰DC.L†$0�I/O�timeout�value�-�day �IFNE�PRTDV-'PR‚'PRTDV SET PRTDV+$100 ENDC(�IFEQ�PRTDV-'PR‚'�SET�UP�NEXT�PRINTER�IDPRTDV SET 'PR1 ' ENDC********** IFNE \NOLPRT-1.PCP$ATW‚SET…\PCP$TLRL<<2+\PCP$AFF<<1+\PCP$LNFDO*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*A*ˆBelow�reflects�the�NEW�DCB�format�with�modificatins�to�meet�theB*ˆthe�PRINTER�TASK‚needs.�Some�of�these�fields�reflect�values�that@*ˆare�not�used�while�others�reflect�duplication�but�at�differentA*ˆoffsets�that�meet�the�PRINTER�TASK�needs.�When�the�PRINTER�TASKB*ˆis�modified�to�become�a�true�PRINTER�DRIVER�the�following�can�be7*ˆdeleted�an�the�MACRO�definition�used�as�it�should�be.H*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1‰DC.L†*+PDCBLN‡Address�of�next�DCB�in�linked�list-‰DC.L†PRTDVŠASCII�identification�for�this�DCB‰DC.L†0ŽAddress�of�DCQ�entry+‰DC.L†PRTIDŠName�of�task�making�the�request+‰DC.L†IOSESS‰Session�of�task�making�request‰DC.L†0ŽAddress�of�LUT8‰DC.L†$632‹Attributes�of�device�associated�with�this�DCB ‰DC.W†0ŽWrite/Read�protect�codes‰DC.W†0Ž'Device�in�use'�flag‰DC.L†0ŽWrite/Read�counts"‰DC.B†95�Device�flag�(device�code)#‰DC.B†1ŽDevice�flag�(device�status)#‰DC.L†'CPR1'‰Channel�identification2‰DC.B†0ŽDevice�number�associated�with�this�channel‰DC.B†0ŽTask�priority‰DC.L†0ŽCurrent�record�number6‰DS.B†IOSBLN‰Storage�area�for�the�IOCB�being�processed1‰DC.L†0ŽLogical�addr�of�IOCB�in�user's�addr�space5‰DC.B†0ŽConfig.�coordination�flag�(0�-->�at�defaults)‰DC.B†0ŽBreak�count$‰DC.L†0ŽAddress�of�break�service�LUT2‰DC.L†0ŽBreak�service�address‚--------------------6‰DC.L†0,0,0,0ˆDevice�independent/dependent�buffer�zone%‰DC.B†0,0,0,0ˆSpace�for�status�fields‰DC.W†$0007ŠAttributes�mask‰DC.W†$0033ŠParameters�mask‰DC.W†PCP$ATWˆAttributes�word#‰DC.W†\PCP$REC‡#�of�characters/line‰DC.L†\PCP$RSZ‡#�of�lines/page‰DC.L†\PCP$WTO‡Write�timeout‰DC.L†0ŽRead‚timeout"‰DC.W†\PCP$LRL‡Logical�line�lengthO*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>A*ˆNormally�the�following�would�be�what�follows�for�the�balance�of>*ˆthe�DCB�but�since�the�current�driver�task�VMPRT�has�not�been<*ˆmodified�at�this�time�10/13/82�to�a�process�a�redefinitionE*ˆof�the�balance�of�the�DCB�was�required�to�fit�the�task�requirements*‰DC.B†$0AŒEnd-of-line�character%‰DCB.B…15,0‹Resreved�space�(15�bytes)O*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+‰DC.L†$00000D00†Programming�info�-�Software+‰DC.L†$00000084†Programming�info�-�Hardware)‰DC.L†$0�I/O�timeout�value�-�time�(msecs) ‰DC.L†$0�I/O�timeout�value�-�day�IFNE�PRTDV-'PR‚'PRTDV SET PRTDV+$100 ENDC(�IFEQ�PRTDV-'PR‚'�SET�UP�NEXT�PRINTER�IDPRTDV SET 'PR1 ' ENDC ENDC ENDC‰PAGE*****************************<*‚SET�UP�DCB'S�FOR�MCCM'S‚*…Note:‚max�of�1�printer�per�MCCM.***************************** ****** 1st MCCM IFNE \NOPRT0.PCP$ATW‚SET…\PCP$TLRL<<2+\PCP$AFF<<1+\PCP$LNFDK PRTDCB PRTDV,IOSID,IOSESS,$632,91,1,'COM1',4,$0001,$0023,PCP$ATW,\PCP$REC,%&ˆ\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELC�IFNE�PRTDV-'PR‚'PRTDV SET PRTDV+$100 ENDC(�IFEQ�PRTDV-'PR‚'�SET�UP�NEXT�PRINTER�IDPRTDV SET 'PR1 ' ENDC ENDC********** IFNE \NOTERM0ITCP$ATW‚SETƒ\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SETƒTCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8‰DC.L†0,0,0,0ƒBUFFER�ZONE�BETWEEN�DEVICE�INDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACE�FOR�CONFIGURATION�INFO‰DCB.B…DCBLEN-(*-LLUN),0 (DCBEND�EQU�*-1…End�address�of�DCB�space.HIOCOML EQU (*-IOCOMS+255)/256*256 Get length of common segment (force to*§next�page�boundary). PAGE SECTION 1‰PAGEO*********************************************************************************‰CHANNEL�DATA�BLOCKS*O******************************************************************************* CCSEG EQU * ******‚LOCAL�PRINTERS IFGT \NOLPRTF CDB 0,'CPRT',XTVMPP,254,CHI,0,\LPDA$00,$10,$1E,6,$10,2,5,$80,$80,1,0,&„4,$80,$80,0,0 ENDC********** IFGT \NOLPRT-1F CDB 0,'CPR1',XTVMPP,254,CHI,0,\LPDA$01,$0E,$1E,6,$10,2,5,$80,$80,1,0, &ˆ0,0,0,0,0 ENDC**********‰PAGE******‚LOCAL�TERMINALS ‚IFGT�\NOLTERME CDB $0000,'EPC1',XTEPCI,254,EPCI,0,\LTDA$00,6,$1D,5,$30,0,0,0,0,0,0, & 0,0,0,0,0 ENDC   IFGT \NOLTERM-1E CDB $0000,'EPC2',XTEPCI,254,EPCI,0,\LTDA$01,6,$1D,5,$30,0,0,0,0,0,0, & 0,0,0,0,0 ENDC **********‰PAGE******‚MCCM�CHANNELS  IFNE \NOTERM0+\NOPRT0O CDB 0,'COM1',XTMIPC,254,IPC,0,$FF1000,$1FF,$F7,4,$10,0,$181,$FF,$FF,$F,0,$183,&‚$FF,$FF,$F,0 ENDC********** IFNE \NOTERM1+\NOPRT1O CDB 0,'COM2',XTMIPC,254,IPC,0,$FF1200,$1FF,$F6,4,$10,0,$181,$FF,$FF,$F,0,$183,&‚$FF,$FF,$F,0 ENDC********** IFNE \NOTERM2+\NOPRT2O CDB 0,'COM3',XTMIPC,254,IPC,0,$FF1400,$1FF,$F5,4,$10,0,$181,$FF,$FF,$F,0,$183,&ƒ$FF,$FF,$F,0 ENDC********** IFNE \NOTERM3+\NOPRT3O CDB 0,'COM4',XTMIPC,254,IPC,0,$FF1600,$1FF,$F4,4,$10,0,$181,$FF,$FF,$F,0,$183,&ƒ$FF,$FF,$F,0 ENDC**********‰PAGE$******‚HARD�AND�FLOPPY�DISK�CHANNELS %DEVADD SET $FEFE00 INIT. DEVICE ADDR. VECTNO SET $100 INIT. VECTOR NO. IFNE \HDUDC0+\FDUDC0DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CRD1',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC********** IFNE \NOFD0DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CFD1',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,4,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC********** IFNE \HDUDC1+\FDUDC1DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CRD2',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC********** IFNE \NOFD1DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CFD2',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,4,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC**********) DC.L 0 Link of 0 marks end of CDB chain.  ENDé  PAGE*#*VALPAR VALIDATES SYSGEN PARAMETERSG*…FAIL�ERROR�IS�GENERATED�FOR�EACH�PARAMETER�THAT�IS�NOT�IN�VALID�RANGE:*ANY ERROR SHOULD MAKE OPERATOR ABORT SYSGEN SINCE FURTHER/*…SYSGEN�PROCESSING�ASSUMES�PARAMETERS�ARE�GOOD*0*MAKE SURE NO. OF IPC'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOFD0 CNT SET CNT+1 ENDC IFNE \NOFD1 CNT SET CNT+1 ENDC IFNE \HDUDC0+\FDUDC0 CNT SET CNT+1 ENDC IFNE \HDUDC1+\FDUDC1 CNT SET CNT+1 ENDC IFNE CNT-\NOIPCS FAIL 100 ENDC1*MAKE SURE NO. OF MCCM'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOTERM0+\NOPRT0 CNT SET CNT+1 ENDC IFNE \NOTERM1+\NOPRT1 CNT SET CNT+1 ENDC IFNE \NOTERM2+\NOPRT2 CNT SET CNT+1 ENDC IFNE \NOTERM3+\NOPRT3 CNT SET CNT+1 ENDC IFNE CNT-\NOMCCMS FAIL 100 ENDC=*CAN'T HAVE MORE THAN 2 LOCAL PRINTER OR MORE THAN 1 PER MCCM IFGT \NOLPRT-2 FAIL 100 ENDC IFGT \NOPRT0-1 FAIL 100 ENDC IFGT \NOPRT1-1 FAIL 100 ENDC IFGT \NOPRT2-1 FAIL 100 ENDC IFGT \NOPRT3-1 FAIL 100 ENDC9*CAN'T HAVE MORE THAN 2 LOCAL TERM. IF ANY MCCM TERMINALS IFNE \NOTERM0+\NOTERM1+\NOTERM2 IFGT \NOLTERM-2 FAIL 100 ENDC ENDC8*CAN'T HAVE MORE THAN 4 LOCAL TERMS IF NO MCCM TERMINALS IFEQ \NOTERM0+\NOTERM1+\NOTERM2 IFGT \NOLTERM-4 FAIL 100 ENDC ENDC**CAN'T HAVE MORE THAN 4 TERMINALS PER MCCM IFGT \NOTERM0-4 FAIL 100 ENDC IFGT \NOTERM1-4 FAIL 100 ENDC IFGT \NOTERM2-4 FAIL 100 ENDC IFGT \NOTERM3-4 FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER IPC IFGT \NOFD0-4 FAIL 100 ENDC IFGT \NOFD1-4 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 HARD DRIVES PER UDC IFGT \HDUDC0-4 FAIL 100 ENDC IFGT \HDUDC1-4 FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER UDC IFGT \FDUDC0-4 FAIL 100 ENDC IFGT \FDUDC1-4 FAIL 100 ENDC9*CAN'T HAVE 0 OR MORE THAN 75 TASKS IN SYSTEM AT ONE TIME IFEQ \NOTASKS FAIL 100 ENDC IFGT \NOTASKS-75 FAIL 100 ENDC˜n¡\1*MAXIMUM LU CANNOT BE LESS THAN 8 OR MORE THAN 31 IFLT \MAXLU-8 FAIL 100 ENDC IFGT \MAXLU-31 FAIL 100 ENDC2*MAXIMUM LU CANNOT BE LESS THAN NO. OF DISK DRIVES IFLT \MAXLU-\TOTDSK FAIL 100 ENDCC*MAXIMUM NO. OF PAGES FOR DCQ,UST,GST,IOV, AND TRACE CANNOT BE 0 OR*…MORE�THAN�10 IFEQ \DCQPGE FAIL 100 ENDC IFGT \DCQPGE-10 FAIL 100 ENDC IFEQ \GST FAIL 100 ENDC IFGT \GST-10 FAIL 100 ENDC IFEQ \UST FAIL 100 ENDC IFGT \UST-10 FAIL 100 ENDC IFNE \TRCFLAG IFEQ \TRACE FAIL 100 ENDC ENDC IFNE \TRCFLAG IFGT \TRACE-10 FAIL 100 ENDC ENDC IFEQ \IOV FAIL 100 ENDC IFGT \IOV-10 FAIL 100 ENDCG*MAXIMUM NO. OF DIFFERENT FILES MUST BE .LE. MAXIMUM NO. OF TOTAL FILES IFGT \NODIFFIL-\NOFILES FAIL 100 ENDC2*MAXIMUM NO. OF FILES CANNOT BE 0 OR MORE THAN 200 IFEQ \NODIFFIL FAIL 100 ENDC IFGT \NODIFFIL-200 FAIL 100 ENDC IFEQ \NOFILES FAIL 100 ENDC IFGT \NOFILES-200 FAIL 100 ENDCG*MAXIMUM NO. OF DEFAULT VOLUMES CANNOT BE 0 OR MORE THAN NO. OF TASKS+3 IFEQ \NODEFVOL FAIL 100 ENDC IFGT \NODEFVOL-(\NOTASKS+3) FAIL 100 ENDCE*NUMBER OF DEFAULT VOLUMES MUST BE GREATER THAN OR EQUAL TO NUMBER OF*ƒLOGON�TERMINALS IFGT \NOLOGONS-\NODEFVOL FAIL 100 ENDC**DEFAULT FAB SIZE CANNOT BE 0 MORE THAN 20 IFEQ \DEFFAB FAIL 100 ENDC IFGT \DEFFAB-20 FAIL 100 ENDC7*DEFAULT DB SIZE CANNOT BE LESS THAN 4 OR MORE THAN 255 IFGT \DEFDAT-255 FAIL 100 ENDC IFLT \DEFDAT-4 FAIL 100 ENDC END  é PAGE)ASR IDNT 11,11 ASR ADDRS. FOR I/O MODULES*8*ASR-FILE OF ASR ADDRESSES OF I/O MODULES-NEEDED FOR IOI* XDEF SPLASR! XDEF FMSASR,FHSASR,IOSASR,PRTASRFMSASR EQU \FMSASRFHSASR EQU \FHSASRIOSASR EQU \IOSASRPRTASR EQU \PRTASR SPLASR EQU 0 ENDéééééé© **ˆEXTERNAL�DEFINITIONS*‰XDEF†OSMTBL,OSMEND‰XDEF†PRTASQ,FMSASQ,FMSDLEN**ˆEXTERNAL�REFERENCED*!‰XREF†FHSASR,IOSASR,PRTASR,FMSASR*-*ˆTABLE�OF�OPERATING�SYSTEM�MODULE�TASK�NAMES*‰NOLIST‰INCLUDEƒ9995.&.IOE.EQ‰INCLUDEƒ9995.&.TR1.EQ‰INCLUDEƒ9995.&.EXE.EQ‰INCLUDEƒ9995.&.NIO.EQ‰INCLUDEƒ9995.&.LV5.EQ‰INCLUDEƒ9995.&.FME.EQ‰INCLUDEƒ9995.&.FMI.EQ‰LIST ‰SECTION�1*OSMTBLƒDC.L…FHSIDŽFHS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+FHSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+FHSNLN‡QUEUE�LENGTH‰DC.L„FHSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…IOSIDŽIOS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+IOSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L„IOSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED**$‰DC.L…PRTIDŽPRINTER�DRIVER�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS ‰DC.B„EVTLNGŽMAX.�MESSAGE�LENGTHPRTASQƒDC.L„0“QUEUE�LENGTH‰DC.L„PRTASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…FMSIDŽFMS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRD‚ASQ�STATUS'‰DC.B„EVTLEN+FHSNLN‡MAX.�MESSAGE�LENGTHFMSASQƒDC.L„0�QUEUE�LENGTH‰DC.L„FMSASRŽADDR.�OF�ASR‰DC.W„0**‰DC.W„SGOPPAŽOPTIONS-LOG.�ADDR=PHYS.�ADDR.‰DC.W„SGATRW+SGATSS‡ATTRIBUTES‰DC.L„FMSD�SEG.�NAME‰DC.L„0�LOGICAL�ADDRESSFMSDLEN‚DC.L„0�SEGMENT�LEN GTH*OSMENDƒEQU…*“END�OF�TABLE‰ENDé²J=LINK ,IOI,\LINKLS;HAMIXSSEGMENT IOSG:0 \IOCSTRSEGMENT .IOI:1INPUT VM01.IOC.ROINPUT VM01.IOI.ROINPUT VM01.OSLIST.RO INPUT IXRINPUT VM01.ASR.ROEND=ENDééééééé» ‚******************‚*�VM01.SYSCMD.CD�*M‚****************************************************************************‚*�SYSGEN�COMMAND�FILE�-´*?‚*ƒUSE�IN�CONJUNCTION�WITH�SYSGEN.CF�OR�EXECUTE�DIRECTLY�WITH�*‚*†THE�FOLLOWING�ARGUMENTS:¬*‚*Ê*@‚*†ARG1�-�LISTING�FILE�OR�DEVICE�FOR�ASSEMBLIES�AND�LINK�EDITS‰*‚*Ê*-‚*†ARG2�-�SWITCH�--�0�=�ARG1�IS�A�FILE�NAMEœ*‚*—1�=�ARG1�IS�A�DEVICE�NAMEš*‚*Ê*8‚*†ARG3�-�CONFIGURATION�SWITCH�--�1�=�SINGLE-USER�HARD‘*‚*Ê*@‚*†ARG4�-�WORKING�FILE�FOR�USE�WITH�COPY�;A�TO�PRODUCE�LISTING‰*‚*Ê*M‚**************************************************************************** ‚MSG‰SYSGEN�COMMAND�FILE +‚MSG‰SET�SYSGEN�PARAMETERS�FROM�PASSED�ARGS *‚ASMLSW„=�\2‹*ASSEMBLY�LISTING�FILE�SWITCH‚*”0�=�ASMLS�IS�A�FILE‚*”1�=�ASMLS�IS�A�DEVICE'‚LINKLSWƒ=�\2‹*LINK�LISTING�FILE�SWITCH‚*”0�=�LINKLS�IS�A�FILE‚*”1�=�LINKLS�IS�A�DEVICE  ‚IFEQˆ\ASMLSW$…ASMLS…=�"\4"‰*ASM�LISTING�WORK�FILE‚ENDC ‚IFNEˆ\ASMLSW!…ASMLS…=�"\1"‰*ASM�LISTING�DEVIC E‚ENDC ‚IFEQˆ\LINKLSW&…LINKLS„=�"\4"‰*LINK�LISTING�WORK�FILE‚ENDC‚IFNEˆ\LINKLSW#…LINKLS„=�"\1"‰*LINK�LISTING�DEVICE‚ENDC +‚WORKLS„=�"\1"‰*OVERALL�LISTING�FILE/DEVICE C‚MSG‰**************************************************************C‚MSG‰**************************************************************?‚MSG‰**„System�generation�(SYSGEN)�command�file�for�users�of‚**<‚MSG‰**„VERSAdos�on�the�VM01�computer.‚Prepared�10/11/82.„**C‚MSG‰**************************************************************C‚MSG‰**************************************************************‚MSG‰C‚MSG‰**************************************************************(‚MSG‰**ˆParameters�describing�devices•**C‚MSG‰**************************************************************(‚*˜Total�#�of�terminals�(local�and�MCCM)7‚TOTTERMƒ=�\NOLTERM+\NOTERM0+\NOTERM1+\NOTERM2+\NOTERM3(‚*˜Total�#�of�printers�(local�and�MCCM).1‚TOTPRT„=�\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2+\NOPRT3‚*˜Total�number�of�disks�-Ä=Í7Õ2Ý2å;í2õ*ý2- SWY%!+‚*˜floppy�drives�and�hard�disk�drives.‚Each(‚*˜volume�defined�requires�approximately‚*˜2-1/4K�bytes�of�memory.7‚TOTDSK„=�\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1&‚NOIPCS„=�1Œ#�of�disk�IPC's�and�UDC's.‚NOMCCMSƒ=�0Œ#�of�MCCM's.‚*"‚NOLTERMƒ=�2Œ#�of�local�terminals. ‚NOLPRT„=�1Œ#�of�local�printers.‚*-‚HDUDC0„=�0Œ#�of�hardƒdisk�drives�on�1st�UDC.-‚HDUDC1„=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC./‚FDUDC0„=�0Œ#�of�floppy�disk�drives�on�1st�UDC./‚FDUDC1„=�0Œ#�of�floppy�disk�drives�on�2nd�UDC.‚*:‚NOFD0…=�2Œ#�of�floppy�disk�drives�on�1st�floppy�disk�IPC.:‚NOFD1…=�0Œ#�of�floppy�disk�drives�on�2nd�floppy�disk�IPC.‚*(‚NOTERM0ƒ=�0Œ#�of�terminals�on�1st�MCCM.&‚NOPRT0„=�0Œ#�of�printers‚on�1st�MCCM.(‚NOTERM1ƒ=�0Œ#�of�terminals�on�2nd�MCCM.&‚NOPRT1„=�0Œ#�of�printers‚on�2nd�MCCM.(‚NOTERM2ƒ=�0Œ#�of�terminals�on�3rd�MCCM.&‚NOPRT2„=�0Œ#�of�printers‚on�3rd�MCCM.(‚NOTERM3ƒ=�0Œ#�of�terminals�on�4th�MCCM.&‚NOPRT3„=�0Œ#�of�printers‚on�4th�MCCM.‚*‚*‚MSG‰C‚MSG‰**************************************************************-‚MSG‰**ˆParameters�about�table�sizes,�etc.�**C‚MSG‰**************************************************************2‚PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*‚ASN‡=�0Œ#�of�address�spaces--not�used‚but'‚*œneeded�to�satisfy�M68XXX.INITDAT.AG.‚*4‚DCQPGE„=�2ŒNumber�of�pages�of�memory�for�the�device-‚*˜connection�queue�(DCQ).‚Minimum�of�1�page,*‚*˜maximum�of�10�pages.‚The�DCQ�is�used�to/‚*˜save�concurrent�requests�to�the�same�file�or.‚*˜device.‚Each�page�of�the�DCQ�can�accomodate‚*˜approximately�9�entries.‚*1‚GST‡=�1ŒNumber�of�pages�in�global�segment�table.-‚*˜Minumum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�14�entries.‚*5‚UST‡=�2ŒNumber�of�pages�in�the�user�semaphore�table.-‚*˜Minimum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�11�entries.‚*6‚TRACE…=�0Œ*No.�of�pages�in�trace�table.‚TRACE�must�be/‚*˜nonzero�if�TRCFLAG�is�nonzero.‚Each�page�can'‚*˜accomodate�approximately�10�entries.‚*2‚UDR‡=�1ŒNumber�of�pages�in�user-defined�directive0‚*˜table,�minimum�of�0,�maximum�of�10.‚Each�page'‚*˜accomodate�approximately�25�entries.‚*6‚IOV‡=�1Œ#�of�pages�in�I/O�vector�table.‚Each�page�can'‚*˜accomodate�approximately�12�entries.‚*@‚PAT‡=�(\NOLOGONS*32*2+16+(\PAGESIZE-1))/\PAGESIZE�#�of�pages�in0‚*˜periodic�activation�table.‚Each�page�can�hold.‚*˜approximately�8�entries.‚PAT�size�is�\PAT�.‚*<‚NOTASKSƒ=�10‹Maximum�number�of�tasks�in�system�at�one�time.-‚*˜VERSAdos�contains�a�maximum�of�11�resident)‚*˜tasks.‚Allowing�for�that�plus�four�for/‚*˜each�terminal�will�accomodate�most�requests.‚*<‚MAXLU…=�12‹Maximum�logical�unit�number�that�can�be�assigned/‚*˜for�each�task�in�the�system.‚Limit�is�31�and.‚*˜minumum�is�8.‚MAXLU�must� be�greater�than�or2‚*˜equal�to�TOTDSK.‚MAXLU�and�NOTASK�determine�the1‚*˜amount�of�memory�required�for�the�logical�unit1‚*˜table�(LUT).‚The�algorithm�for�determining�the!‚*˜size�of�the�LUT�is�as�follows:'‚*˜LUT�=�16*NOTASKS+8*NOTASKS*(MAXLU+1),‚*˜There�must�be�a�1�LU�for�each�disk�volume,‚*˜(FMS�assigns�a�different�logical�unit�for,‚*˜each�disk.)‚This�means�that�MAXLU�must�be#‚*˜greater�than�or�equal�to�TOTDSK.‚*‚IFGTˆ\TOTDSK-\MAXLU!…MSG‰SYSGEN�parameter�size�error.3…MSG‰MAXLU�must�be�greater�than�or�equal�to�TOTDSK.:…MSG‰In�this�sysgen,�MAXLU�=�\MAXLU�and�TOTDSK�=�\TOTDSK�.5…MSG‰Please�adjust�parameters�and�start�sysgen�again.…ABORT‡‚ENDC;‚NOFILESƒ=�12‹Maximum�number�of�files�that�can�be�opened�in(‚*˜the�system�at�one�time.‚Limit�of�200.‚*9‚NODIFFIL‚=�12‹Maximum�number�DIFFERENT�files�that�can�be-‚*˜opened�at�one�time.‚Cannot�be�greater�than,‚*˜NOFILES.‚For�every�three�different�files,,‚*˜approximately�1K�of�memory�is�required.‚A&‚*˜ration�of�5�files�for�each�terminal‚*˜accomodates�most�requests.‚*;‚NODEFVOL‚=�8ŒMaximum�number�of�default�volumes�that�can�be-‚*˜defined.‚Cannot�be�greater�than�NOTASKS+3.‚*9‚DEFFAB„=�1ŒDefault�File�Allocation�Block�(FAB)�length�in/‚*˜sectors�(256�bytes�per�sector).‚Used�by�file-‚*˜handler�when�no�FAB�size�is�given.‚Minimum!‚*˜size�is�1,�maximum�size�is�20.‚*;‚DEFDAT„=�4ŒDefault�data�block�length�in�sectors�(256�bytes1‚*˜per�sector).‚Used�by�file�handler�when�no�data/‚*˜block�size�is�given�at�file�allocation�time.*‚*˜Minumum�size�is�4,�maximum�size�is�255.‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**ˆEETEQU�values¥**C‚MSG‰**************************************************************>‚DEFAULTƒ=�"SYS:0.&"„*System�default�volume:usernumber.catalog<‚TERMOCNT‚=�2Œ*No.�of�terminal�output�timeouts�before�logoff7‚SECURITY‚=�1ŒSwitch�to�indicate�if�security�package�is-‚*˜supported.‚Value�of�zero�excludes�package,-‚*˜nonzero�includes�it.‚This�package�requires‚*˜approximately�1K�of�memory.‚*<‚SPCCMD„=�1ŒSwitch�to�indicate�if�the�following�user�session0‚*˜management�commands�are�supported:‚HELP,CLOSE0‚*˜ASSIGN,NEWS.‚Value�of�zero�excludes�commands./‚*˜This�package�requires�approximately�1/2�K�of ‚*˜memory.‚*>‚CHAINBAT‚=�1ŒSwitch�to�indicate�if�chain�and�batch�processing2‚*˜are�supported.‚Value�of�zero�excludes�batch�and.‚*˜chain;�non-zero�includes�them.‚This�package+‚*˜requires�approximately�3-1/2K�of�memory.‚*9‚CONBATCH‚=�1ŒNumber�of�concurrent�batch�jobs�that�can�be(‚*˜running.‚Cannot�be�more�than�NOTASKS.‚*<‚BATCHPGE‚=�2ŒNo.�of�pages�for�batch�job�queueing.‚Each�page0‚*˜accomodates�32�entries.‚In�addition,�there�is+‚*˜space�for�31�entries�minus�the�number�of‚*˜terminals�in�the�system.‚*=‚BATDLY„=�16000ˆ*delay�in�ms�in�batch�between�reload�attempts‚*=‚NOLOGONƒ=�3ŒMaxmimum�number�of�invalid�logon�attempts�before‚*˜being�rejected.B‚NOLOGONS‚=�\TOTTERM…#�of�terminals�allowed�to�logon�in�the�system,‚LOGMSG1ƒ=�"VERSAdos�V"�Logon�message�part�1)‚LOGMSG2ƒ=�"ERSION�"„Logon�message�part�2(‚REVNUMBR‚=�"�4.3�"†Logon�message�part�3‚*2‚*˜REVNUMBR�is�used�dynamically�in�CMDLIST�as�part*‚*¡of�the�log�on�message.�If�this�value�is'‚*¡changed�then�'REVISION'�in�this�file)‚*¡should�be�changed�to�match�the�dynamic(‚*¡value.�The�format�is�'xx.xx'�as�shown‚*=‚EETHEREƒ=�1Œ0�=�Do�not�include�module‚EET�1�=�Include�module=‚FHSHEREƒ=�1Œ0�=�Do�not�include�module‚FHS�1�=�Include�module=‚FMSHEREƒ=�1Œ0�=�Do�not�include�module‚FMS�1�=�Include�module=‚IOSHEREƒ=�1Œ0�=�Do�not�include�module‚IOS�1�=�Include�module=‚LDRHEREƒ=�1Œ0�=�Do�not�include�module‚LDR�1�=�Include�module‚*‚*‚*B‚AUTOTERM‚=�'CN00'‡Terminal�ID�of�device�auto�logon�is�to�occur�on‚AUTOLOGN‚=�1ŒBit�0:‚*›0�-->�Auto�break�inactive‚*›1�-->�Auto�break�active ‚*˜Bit�1:‚*›0�-->�Auto�logon�inactive‚*›1�-->�Auto�logon�active‚*‚*‚MSG‰C‚MSG‰************************************************************** ‚MSG‰**‰Vector�numbers£**C‚MSG‰**************************************************************2‚SERPTS„=�140ŠSerial�port�(2661)�interrupt�vector.7‚KILVECTƒ=�142ŠVector�number�which�forces�system�crash.‚*‚MSG‰C‚MSG‰**************************************************************#‚MSG‰**ˆAddresses�of�timer,�etc.š**C‚MSG‰***************************************************************‚MMU‡=�$0‹Address�of�MMU�(none�on�a�VM02)."‚TIMER…=�$F70000†Address�of�timer.6‚CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond#‚PANEL…=�$0‹Address�of�front�panel.@‚BUGTRACƒ=�$F000BC†Address�of�firmware�debugger's�trace�routine.6‚TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The0‚*˜setting�of�bits�in�the�TRCFLAG�parameter�will2‚*˜control�which�events�cause�an�entry�to�be�built‚*˜in�the�trace�table.‚*˜Bit�#�in�TRCFLAG†Event ‚*›15‘TRAP�#1‚*›14‘I/O�interrupt�not�claimed‚*°by�user�task.‚*›13‘Timer�interrupt.‚*›12‘User�trap�(2-15)‚*›11‘Exception‚*›10‘Dispatch‚*œ9‘I/O�interrupt�claimed�by ‚*°user�task‚*œ8‘Return�from�LOADMMU‚*œ7‘Simulated�interrupt‚*œ6‘SYSFAIL�interrupt.‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**1‚MSG‰**ƒLOCAL�TERMINAL/PRINTER�DEVICE�ADDRESES‚** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰%‚LTDA$00ƒ=�$F70011†VM01�SERIAL�port�A%‚LTDA$01ƒ=�$F70019†VM01�SERIAL�port�B'‚LPDA$00ƒ=�$F70020†VM01�PARALLEL�PORT�1'‚LPDA$01ƒ=�$F70022†VM01�PARALLEL�PORT�2‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�TERMINALŠ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(TCP�=�TERMINAL�CONFIG.�PARAMETERS)…** ‚MSG‰**«**0‚MSG‰**ƒ(to�modify�parameters�see�NOTE�below)ƒ** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*2‚TCP$RECƒ=�80‹Width�of�terminal�(characters/line).-‚TCP$RSZƒ=�24‹Depth�of�terminal�(lines/page).C‚TCP$WTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.C‚TCP$RTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�read.>‚TCP$XOFƒ=�$17ŠXOFF�char;�when�received,�suspends�transmission ‚*˜(0=none).?‚TCP$XONƒ=�0ŒXON�char;�when�received,�cancels�a�prior�XOFF�char‚*˜(0=any�char).@‚TCP$BRCƒ=�$03ŠChar�to�be�interpreted�like�a�break�when�received ‚*˜(0=none).<‚TCP$DOPƒ=�$0FŠChar�which�causes�output�to�be�discarded�when‚*˜received�(0=none).:‚TCP$RLNƒ=�$13ŠChar�which�causes�line�to�be�reprinted�when‚*˜received�(0=none).A‚TCP$CLCƒ=�$18ŠChar�which�causes�line�to�be�deleted�when�received ‚*˜(0=none)./‚TCP$RTVƒ=�$0DDE0000„Read�terminators�(CR,$DE).0‚TCP$EOLƒ=�$0D0A0000„End�of�line�string�(CR,LF).<‚TCP$BRTƒ=�$0EŠBaud�rate�code�($0E=9600�baud).‚The�following1‚*˜codes�may�be�used�to�indicate�the�desired�baud‚*˜rate:*‚*˜Code‚RateƒCode�RateƒCode�RateƒCode�Rate#‚*˜$00ƒ50…$05‚300„$09‚2000ƒ$0E‚9600$‚*˜$01ƒ75…$06‚600„$0A‚2400ƒ$0F‚19200$‚*˜$02ƒ110„$07‚1200ƒ$0C‚4800ƒ$10-$FF'‚*˜$03ƒ134.5‚$08‚1800ƒ$0D‚7200ƒReserved?‚TCP$NLSƒ=�0Œ#�of�ASCII�NUL�char's�to�send�after�each�CR�or�LF.+‚TCP$TRCƒ=�$00ŠTerminator�class�($0X=none)..‚TCP$TTPƒ=�$00ŠTerminal�type�(0=EXORterm�155).J‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.>‚TCP$HCPY‚=�0Œ1�means�the�terminal�is�a�hardcopy�device,�not�a‚*˜CRT.8‚TCP$XCTL‚=�0Œ1�means�use�XON/XOFF�to�control�terminal's‚*˜transmission,�not�CTS.@‚TCP$BITS‚=�0Œ1�means�transmit�&�receive�7�bits/char�rather�than‚*˜8.<‚TCP$STPB‚=�0Œ1�means�follow�each�char�sent�with�2�stop�bits‚*˜rather�than�1.=‚TCP$USEP‚=�0Œ1�means�parity�should�be�checked�and�generated.<‚TCP$PRTY‚=�0Œ1�means�parity�(if�used)�should�be�even�rather ‚*˜than�odd.<‚TCP$ECHO‚=�0Œ1�means�the�driver�should�not�echo�characters.@‚TCP$TAHD‚=�0Œ1�means�the�type-ahead�feature�should�not�be�used.6‚*˜This�feature�not�supported�on�EXORmacs�term�drivers9‚TCP$TFUL‚=�1Œ1�means�filling�the�buffer�on�a�read�should‚*˜terminate�the�read.>‚TCP$PNUL‚=�0Œ1�means�NUL�char's�should�be �considered�data�for‚*˜image�reads.7‚TCP$MODM‚=�0Œ1�means�the�port�is�connected�to�a�modem.9‚TCP$OFFH‚=�0Œ1�means�the�port,�if�connected�to�modem,�is ‚*˜offhook.‚*L‚***************************************************************************'‚*†NOTE�on�how�to�modify�a�single�port:‚*<‚*†First�duplicate�all�the�parameters�that�are�to�change�for<‚*†this�particular�port�(e.g.�TCP$BRT).‚Modify�the�duplicate=‚*†labels�so�that�they�become�unique.‚One�technique�is�to�put9‚*†the�port�number�at�the�end�of�the�label�(e.g.�for�CN12;‚*†TCP$BRT�becomes�TCP$BRT2�and�TCP$BITS�becomes�TCP$BIT2).8‚*†Remember�that�the�label�must�not�exceed�8�characters!;‚*†Change�the�parameter�to�the�desired�value�(e.g.�to�set�a5‚*†300�baud�rate�for�a�non-EXORterm�terminal�on�CN12,$‚*†TCP$BRT2�=�$05�and�TCP$TTP2�=�1).‚*4‚*†Now�substitute�these�new�parameters�into�the�file:‚*†EXORMACS.IOC.AG�for�the�CRTDCB�macro�defining�the�port.+‚*†To�continue�the�baud�rate�example�above:?‚*ˆTCP$ATW�SET�\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$USEP<<4+\TCP$PRTY<<5+\TCP$ECHO<<6=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$TAHD<<7+\TCP$TFUL<<8+\TCP$PNUL<<9$‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$MODM<<10=‚*‰CRTDCB�'CN12',IOSID,IOSESS,$133,31,1,'COM1',2,$047C,$5803,‚*©~~:‚*ˆ&ƒTCP$ATW,\TCP$REC,\TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,;‚*ˆ&ƒ\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,\TCP$CLC,\TCP$RTV,2‚*ˆ&„TCP$EQL,�TCP$BRT2,\TCP$NLS,\TCP$TRC,�TCP$TTP2‚*•~~~~~~~~~“~~~~~~~~~4‚*†where�~~~~~~�underlines�the�CRTDCB�modifications.‚*>‚*†This�same�technique�may�be�used�with�the�printer�parameters<‚*†by�modifying�the�PCP$xxx�labels�and�substituting�into�the=‚*†PRTDCB�macro.‚It�may�also�be�used�with�the�disk�parameters=‚*†by�modifying�the�DCP$xxxx�labels�and�substituting�into�the‚*†DSKDCB�macro.‚*L‚***************************************************************************‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**(‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�PRINTER‹**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**-‚MSG‰**ƒ(PCP�=�PRINTER‚CONFIG.�PARAMETERS)…** ‚MSG‰**«**0‚MSG‰**ƒ(to�modify�parameters�see�NOTE�above)ƒ** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*A‚PCP$RECƒ=�132ŠWidth�of�printer‚(characters/physical�print�line).,‚PCP$RSZƒ=�66‹Depth�of�printer‚(lines/page).B‚PCP$WTOƒ=�120000‡(2�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.6‚PCP$LRLƒ=�132ŠLogical�line�length�<=�width�of�printer<‚PCP$EOLƒ=�$0A0D0000„End�of�line�string�(LF,CR).�(MCCM�only)'‚PCP$ELCƒ=�$0DŠEnd�of�line�character�CRJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.9‚PCP$LNFD‚=�0Œ1�means�the�printer�supports�auto�line�feed5‚PCP$AFFƒ=�0Œ1�means�supress�auto-form�feed�on�assign>‚PCP$TLRL‚=�0Œ0�means�wrap-around�print�if�logical�line�length3‚*˜exceeded.‚1�means�truncate�print�at�logical�line ‚*˜length.0‚*š1�means�truncate�print�at�logical�line�length‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**%‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�DISKŽ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…***‚MSG‰**ƒ(DCP�=�DISK�CONFIG.�PARAMETERS)‰** ‚MSG‰**«**0‚MSG‰**ƒ(to�modify�parameters�see�NOTE�above)ƒ** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*‚DCP$WTOƒ=�0ŒWrite�Timeout‚DCP$RTOƒ=�0ŒRead‚Timeout8‚DCP$HBPS‚=�256ŠNumber�of�bytes�per�sector�for�hardƒdisk:‚DCP$FBPS‚=�256ŠNumber�of�bytes�per�sector�for�floppy�disk:‚DCP$HSPT‚=�064ŠNumber�of�sector's�per�track�for�hardƒdisk<‚DCP$FSPT‚=�013ŠNumber�of�sector's�per�track�for�floppy�disk,‚DCP$HTNS‚=�0ŒHardƒ-�total�number�of�sectors.‚DCP$FTNS‚=�0ŒFloppy�-�total�number�of�sectors$‚DCP$HNOH‚=�0ŒHardƒ-�number�of�heads&‚DCP$FNOH‚=�0ŒFloppy�-�number�of�heads%‚DCP$HNOT‚=�0ŒHardƒ-�number�of�tracks'‚DCP$FNOT‚=�0ŒFloppy�-�number�of�tracks&‚DCP$HILF‚=�0ŒHardƒ-�interleave�factor(‚DCP$FILF‚=�0ŒFloppy�-�interleave�factor"‚DCP$HSPL‚=�0ŒHardƒ-�spiral�offset$‚DCP$FSPL‚=�0ŒFloppy �-�spiral�offsetJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.?‚DCP$NONE‚=�0ŒAs�of�this�writing�no�device�attributes�have�been ‚*˜defined.‚*‚MSG‰A‚MSG‰************************************************************7‚MSG‰**…Descriptive�info�about�this�operating�system‡**A‚MSG‰************************************************************5‚SYSNAMEƒ=�"VERSAdos"ƒName�for�this�operating�system.:‚REVISION‚=�"REV�04.30"‚Revision�of�this�operating�system.7‚TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.>‚TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.A‚MEMEND1ƒ=�$E0000‡This�value�defines�the�ending�address�of�system-‚*šmemory.�The�user�should�put�a�value�larger4‚*šthan�actual�memory�to�allow�for�future�expansion.3‚MEMEND2ƒ=�$0‹Required�for�compatability�in�INDV.AG3‚MEMEND3ƒ=�$0‹Required�for�compatability�in�INDV.AG‚*˜terminals�in�the�system.@‚WHERLOAD‚=�$10200‡Memory�address�where�boot�file�will�be�loaded2‚*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will#‚*˜be�moved�at�initialization�time..‚*�WHERLOAD‚=�$10200‡For�64K�byte�on-board�ram*‚*�WHERLOAD‚=�$0‹For�32K�byte�on-board�ram‚MSG‰A‚MSG‰************************************************************;‚MSG‰**�VALPAR�--�Validate�parameters�to�keep�you�honest‡**A‚MSG‰************************************************************‚SUBSˆVM01.VALPAR.AG‚ASM‰VM01.VALPAR.AG,,\ASMLS;R-C ‚*’VALPARFOF ‚IFGTˆ\$RDD…PAUSE‡Abort�sysgen�if�errors�in�assembly�-�else�hit�carriage�return‚ENDC ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************#‚MSG‰**…Generate�exec�process�--œ**B‚MSG‰************************************************************* ‚*’EXECFOFB‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*‚MSG‰*„PROCESS�VM01.RMS.LO¤*B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*‚IFNEˆ\WHERLOAD …PCˆ=�$E00 …STACK…=�$C00…STARTRMS‚=�$F00‚ENDC‚IFEQˆ\WHERLOAD …PCˆ=�$10E00…STACK…=�$10C00…STARTRMS‚=�$10F00‚ENDC‚PROCESS…VM01.RMS.LO ‚END‰EXEC‚IFEQˆ\LINKLSW…=COPY‡VM01.RMS.LL,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************‚MSG‰**ˆPhysical�IPC�driverž**B‚MSG‰************************************************************* ‚IPCDRVRƒ=�*‚IFEQˆ\TOTDSK+\NOMCCMS‚ENDC‚IFNEˆ\TOTDSK+\NOMCCMS…SUBSˆIPCDRV.LG…LINKˆIPCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…IPCD …*’IPCDFOF …END‰IPCD‚ENDC‚IFEQˆ\NOLTERM‚ENDC  ‚MSG‰B‚MSG‰*************************************************************'‚MSG‰**�EPCIDRV�2661�terminal�driverœ**B‚MSG‰*************************************************************‚MSG‰ ‚EPCIDRVR‚=�*‚IFEQˆ\TOTTERM5…MSG‰~~~~~~~~~�TERMINAL�DRIVER�NOT�REQUIRED�~~~~~~~~~‚ENDC‚IFNEˆ\TOTTERM…SUBSˆEPCIDRV.LG…LINKˆEPCIDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…EPCID.LO …END‰EPCID.LO‚ENDC  ‚IFEQˆ\NOLTERM‚ENDC‚MSG‰B‚MSG‰*************************************************************0‚MSG‰**�START�OF�PHYSICAL�INTERPRETIVE�DRIVER“**B‚MSG‰*************************************************************‚MSG‰ ‚CHIDRVRƒ=�*‚IFNEˆ\NOLTERM …SUBSˆCHPI.LG …LINKˆCHPI.LG …PROCESS…CHID …*’CHIDFOF …END‰CHID…IFEQˆ\LINKLSWˆ=COPY‡\ASMLS,\WORKLS;A…ENDC‚ENDC%‚MEMBEG„=�*ŒStart�of�available�memory‚MSG‰B‚MSG‰*************************************************************<‚MSG‰**�IF�WE�HAVE�LOCAL�PRINTERS,�ADD�THE�DRIVER�-�VMPRT‡**B‚MSG‰*************************************************************‚MSG‰‚PRTSTR„=�*ŒPRT�LOAD�ADDRESS!‚PRTASR„=�*+2ŠPRT�ASR�ENTRY�POINT ‚IFEQˆ\NOLPRT‚ENDC ‚IFNEˆ\NOLPRT…TASKˆVMPRT,.PRT…STATE…=�'DORM'…PRIORITY‚=�$D8 …SESSIONƒ=�1…SUBSˆVM01.PRT.LG,PRTB.AG…ASM‰PRTB.AG,PRTB,\ASMLS …IFEQˆ\ASMLSWˆ=COPY‡\ASMLS,\WORKLS;A…ENDC…LINKˆVM01.PRT.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …*’VMPRTFOF…END  ‰PRT‚ENDC‚MSG‰ ‚*’IXRFOF ‚SUBSˆIXR.AG‚ASM‰IXR.AG,IXR,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰@‚MSG‰***********************************************************=‚MSG‰**‚IOS�--�Input/Output�Services�(trap�#2�server�task)ƒ**@‚MSG‰***********************************************************‚IOSSTR„=�*ŒIOS�load�addr.!‚IOSASR„=�*+2ŠIOS�ASR�entry�point‚IFNEˆ\IOSHERE…TASKˆIOS,.IOS…STATE…=�'DORM'…PRIORITY‚=�$D1 …SESSIONƒ=�1 …*’IOSFOF …SUBSˆIOS.LG …LINKˆIOS.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…END‰IOS‚ENDC‚MSG‰B‚MSG‰*************************************************************>‚MSG‰**ƒFHS�--�File�Handling�Services�(trap�#3�server�task)ƒ**B‚MSG‰*************************************************************‚FHSSTR„=�*ŒFHS‚load�addr.!‚FHSASR„=�*+2ŠFHS�ASR�entry�point‚IFNEˆ\FHSHERE…TASKˆFHS,.FHS…STATE…=�'DORM' …SESSIONƒ=�1…PRIORITY‚=�$D1 …*’FHSFOF …SUBSˆFHS.LG …LINKˆFHS.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…END‰FHS‚ENDC‚MSG‰B‚MSG‰*************************************************************(‚MSG‰**ˆFMS�--�File�Management�System”**B‚MSG‰*************************************************************‚FMSSTR„=�*ŒFMS�load�addr.!‚FMSASR„=�*+2ŠFMS�ASR�entry�point‚IFNEˆ\FMSHERE…TASKˆFMS,.FMS…STATE…=�'DORM'…PRIORITY‚=�$D0 …*’FMSFOF …SUBSˆFMS.LG …LINKˆFMS.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…END‰FMS‚ENDC‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆEET�--�Entry�Exit�Task›**B‚MSG‰*************************************************************‚EETSTR„=�*ŒEET�load�addr.‚IFNEˆ\EETHERE…TASKˆEET,&EET…STATE…=�'READ' …SESSIONƒ=�2…PRIORITY‚=�$C8 …*’EETFOF1%…SUBSˆEET.LG,9995.&.EET.EQ,CMDLIST.AG'…ASM‰EET.EQ/CMDLIST.AG,CMDLIST,\ASMLS;R …IFEQˆ\ASMLSWˆ=COPY‡\ASMLS,\WORKLS;A…ENDC …LINKˆEET.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…END‰EET‚ENDC‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**ˆLDR�--�Loader�(trap�#4�server�task)Ž**B‚MSG‰*************************************************************‚LDRSTR„=�*ŒLDR�load�addr.‚IFNEˆ\LDRHERE…TASKˆLDR,&LDR…STATE…=�'READ'…PRIORITY‚=�$C8 …SESSIONƒ=�4…SUBSˆNOMMU.LOADER.LG…LINKˆNOMMU.LOADER.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …*’LDRFOF…END‰LDR‚ENDC‚MSG‰@‚MSG‰***********************************************************‚MSG‰**ˆIOCOM�&�IOI¤**@‚MSG‰***********************************************************‚TASKˆIOI,.IOI‚STATE…=�'READ' ‚SESSIONƒ=�1‚PRIORITY‚=�$DA ‚IOCSTR„=�*‚SUBSˆVM01.IOC.AG1‚ASM‰IODM.AG/VM01.IOC.AG,VM01.IOC.RO,\ASMLS;RZ=95 ‚*’IOIFOF1 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVM01.ASR.AG#‚ASM‰VM01.ASR.AG,VM01.ASR.RO,\ASMLS ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC/‚ASM‰VM01.OSLIST.AG,VM01.OSLIST.RO,\ASMLS;Z=105 ‚*’IOIFOF2 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVM01.IOI.LG‚LINKˆVM01.IOI.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚*’IOIFOF3‚END‰IOI‚MSG‰@‚MSG‰***********************************************************%‚MSG‰**ˆINIT�--�System�Initializer•**@‚MSG‰*********************************************************** ‚PROCESS…INIT ‚INTSTR„=�*2‚SUBSˆM68XXX.INITDAT.AG,VM01.INITIO.AG,VM01.INT.LG1‚ASM‰M68XXX.INITDAT.AG,M68XXX.INITDAT.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC+‚ASM‰VM01.INITIO.AG,VM01.INITIO.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚LINKˆVM01.INT.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚*’INITFOF ‚END‰INIT@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚MSG‰*¹*)‚MSG‰*‹MAKE�SUBSTITUTIONS�IN�VERSAPT.CFŽ*‚MSG‰*¹*@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚SUBSˆVM01.VERSAPT.CF‚MSG‰@‚MSG‰***************************  ********************************@‚MSG‰***********************************************************5‚MSG‰**‡"SYSGEN�COMPLETION�PROCESSING�IN�PROGRESS"†**‚MSG‰**“Have�a�nice�day.”**@‚MSG‰***********************************************************@‚MSG‰*********************************************************** ‚END‰SYSGENééé=OPT -N=/**********************=/*�VM01.SYSGEN.CF…*=/**********************=OPT K,NM=/***************************************************************************"=/*�Chain�file�to�perform�sysgen¬*=/*É*=/*�Calling�sequence:·*=/*É*)=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5£*=/*É*7=/*„Not�all�of�the�arguments�need�to�be�entered�since”*$=/*†they�each�have�a�default�value¥*=/*É*6=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)•*=/*É*,=/*„arg2�-�Temp�vol�and�user�no./Boot�fileŸ*9=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and‰*)=/*�user�number�of�command�file�(arg1).—**=/*�Boot�file�defaults�to�'VERSADOS.SY'.˜*=/*É*=/*É*9=/*„arg3�-�List�device�or�file�name�for�sysgen�messages’*=/*�(defaults�to�SYSLIST.LS)¤*;=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extension‰*=/*É*9=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the�*4=/*�three�command�line�fields�used�in�invoking�theŽ*=/*�sysgen�utility�directly.¤*=/*É*E=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')†*=/*É*5=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)–*A=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.*:=/*�All�assembly�listings�and�link�maps�will�be�directedˆ*<=/*�To�the�specified�device�or�file�using�the�copy�utility†*>=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediateƒ*7=/*�file�to�contain�the�assembly�or�link�list�output.‹*@=/*�Due�to�restrictions�in�sysgen�literal�substitution�process‚*8=/*�this�field�cannot�contain�more�than�10�characters.Š*M=/***************************************************************************=/*5=/* Insure that no more than 5 arguments are defined:=/*=/RX=\0 =/IF RX>5ƒ=OPT�-N<ƒ=/*�Error�-�chain�file�started�with�more�than�5�arguments�-5ƒ=/*ƒPlease�restart,�the�argument�definitions�follow:ƒ=/*(ƒ=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5ƒ=/*6ƒ=/*„Not�all�of�the�arguments�need�to�be�entered�since$ƒ=/*†they�each�have�a�default�value.ƒ=/*-86F>OF5ƒ=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)ƒ=/*+ƒ=/*„arg2�-�Temp�vol�and�user�no./Boot�file8ƒ=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and(ƒ=/*�user�number�of�command�file�(arg1).)ƒ=/*�Boot�file�defaults�to�'VERSADOS.SY'.ƒ=/*Gƒ=/&�**�Type�carriage�return�or�more�information,�'break'�to�terminate.ƒ=/*8ƒ=/*„arg3�-�List�device�or�file�name�for�sysgen�messagesƒ=/*�(defaults�to�SYSLIST.LS):ƒ=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extensionƒ=/*8ƒ=/*‡NOTE:�The�f  irst�three�arguments�are�the�same�as�the3ƒ=/*�three�command�line�fields�used�in�invoking�theƒ=/*�sysgen�utility�directly.ƒ=/*Dƒ=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')ƒ=/*4ƒ=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)Aƒ=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.9ƒ=/*�All�assembly�listings�and�link�maps�will�be�directed;ƒ=/*�To�the�specified�device�or�file�using�the�copy�utility=ƒ=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediate6ƒ=/*�file�to�contain�the�assembly�or�link�list�output.?ƒ=/*�Due�to�restrictions�in�sysgen�literal�substitution�process7ƒ=/*�this�field�cannot�contain�more�than�10�characters.ƒ=/*ƒ=END=/ENDIF=/*2=/* Force the definition of 5 exactly 5 arguments.=/* =/IF RX=0+ƒ=ARG�SYSCMD.CD,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=1$ƒ=ARG�\1,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=2&ƒ=ARG�\1,\2,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=3ƒ=ARG�\1,\2,\3,SINGLE-HARD,#PR=/ENDIF =/IF RX=4ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*8=/* We have 5 arguments - now default any null arguments=/*=/IFC \1ƒ=ARG�SYSCMD.CD,\2,\3,\4,\5=/ENDIF=/*=/IFC \3ƒ=ARG�\1,\2,SYSLIST.LS,\4,\5=/ENDIF=/*=/IFC \4ƒ=ARG�\1,\2,\3,SINGLE-HARD,\5=/ENDIF=/*=/IFC \5ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*N=/* If arg5 is not #PR,#PR1,#PR2,#PR3,# or #NULL then treat as file and delete:=/*ƒset�switch�(arg6)�to�1�for�printer�device,�0�for�file.=/*0=ARG \1,\2,\3,\4,\5,0,#PR,#PR1,#PR2,#PR3,#,#NULL =/FOR 7,\0ƒ=/IFEQ�"\5"\(RX)1†=ARG�\1,\2,\3,\4,\5,1,#PR,#PR1,#PR2,#PR3,#,#NULLƒ=/ENDIF=/ENDFOR=/RX=\6 =/IF RX=0ƒ=DEL�\5=/ENDIF=/*=/* Set switch (arg7) TO:=/*„01�--‚SINGLE-HARD=/*=ARG \1,\2,\3,\4,\5,\6,10=/IFEQ "\4"SINGLE-HARDƒ=ARG�\1,\2,\3,\4,\5,\6,01=/ENDIF=/*9=/* Abort chain if an invalid configuration was requested=/*=/RX=\7 =/IF RX=10ƒ=OPT�-N3ƒ=/*‚\4�is�an�invalid�configuration�-�(argument�#4)8ƒ=/*…The�only�valid�configuration�is�'SINGLE-HARD'�which3ƒ=/*…is�the�default.�Please�restart�chain�file�withƒ=/*…correct�parameters.ƒ=END=/ENDIF#=ARG \1,\2,\3,\4,\5,\6,\7,SYSGEN.TF=/*3=/* The argument list now looks like the following:=/* =/*ƒarg1ƒ-ƒName�of�command�file.=/*0=/*ƒarg2ƒ-ƒTemporary�volume/boot�file�(or�null).=/*3=/*ƒarg3ƒ-ƒList�device�or�file�for�sysgen�messages.=/*(=/*ƒarg4ƒ-ƒSystem�configuration�mnemonic=/*�'SINGLE-HARD'=/*�(see�arg7)=/*@=/*ƒarg5ƒ-ƒListing�file�or�device�for�assemblies�and�link-edits.4=/*�SYSGEN.TF�is�the�temporary�file�which�is�used�in1=/*�conjunction�with�=COPY�;A�to�produce�a�single=/*�listing�file.=/*�(see�arg6)=/*=/*ƒarg6ƒ-ƒSwitch�-"=/*�0�=‚arg5�specifies�a�file�name=/*�1�=‚arg5�specifies�a�device=/*�(see�arg5)=/*%=/*ƒarg7ƒ-ƒNumber�configuration�key�-%=/*�01�=‚signle-user�hard�disk�system=/*�(see�arg4)=/*8=/*ƒarg8ƒ-ƒSYSGEN.TF�temporary�file�for�use�with�copy�in+=/*�creating�listing�file�specified�by�arg3=/*=/*9=/* Justify argument positions and invoke sysgen utility.=/*=ARG \5,\6,\7,\8,\1,\2,\3,\4=/*)=/* Turn off echo of sysgen command lines=OPT J=OPT -N=SYSGEN VM01.\5,\6,\7;T=250 =OPT -J,-N8=/**‚Applying�patches�from�XVERSAPT.CF�to�the�boot�file.=/@ VM01.XVERSAPT.CFM=/***************************************************************************M=/***************************************************************************=/**=/**‚Sysgen�Completed�--=/**6=/**„Assembly�and�link�listings�have�been�output�to�\1=/**1=/**„Sysgen�command�listing�has�been�output�to�\7=/**M=/***************************************************************************M=/***************************************************************************=OPT -K=END  éééééé,1IOI ASREL'VM01 IOI SAS „í2pFMSDLEN pNOTASKS pNOCDCB pNODCBS pNOFCBS pIOCOML pIOCOMS pCCSEG pOSMTBL pNODVS pNOFATS pOSMEND pFHSASR pFMSASQ pFMSASR pNOLPRT pIOSASR pPRTASQ pPRTASR pNOVDTS pNOLTERM !HF3`F3$ IOSG((K3´@€.|*B#ü()2"|(J‘gB |)N!iLé? G3@Hè? (g (f(p=/*ƒcontain�patches�to�be�applied�to�VERSADOS�after�the�sysgen =/*ƒprocess.=/*=PATCH VERSADOS.SYH*---+----:----+----:----+----:----+----:----+----:----+----:----+----:--H*>----------------------------------------------------------------------O�\IOSSTR�*�Start�of�IOSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FHSSTR�*�Start�of�FHSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FMSSTR�*�Start�of�FMSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\EETSTR�*�Start�of�EETH*<----------------------------------------------------------------------H*>--------------------  --------------------------------------------------O�\LDRSTR�*�Start�of�LDRH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\IOCSTR�*�Start�of�IOCH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\INTSTR�*�Start�of�INTH*<----------------------------------------------------------------------QUIT=/*!=/*†PATCH�IPCDRV�ONLY�IF�IT�EXIST=/*=/RD = \TOTDSK + \NOMCCMS =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\IPCDRVRŽ*�Start�of�IPCDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�VM22DRV�ONLY�IF�IT�EXIST=/*=/RD = \NOVM22 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\VM22DRV�*�Start�of�VM22DRVt1}L…H*<----------------------------------------------------------------------QUIT=/ENDIF=/*!=/*†PATCH�PRTDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOLPRT =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PRTDRVRŽ*�Start�of�PRTDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCSUP�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM02 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSUPŽ*�Start�of�MPSCSUPH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCSPR�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM40 =/IF�RD‚>=�0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSPRŽ*�Start�of�MPSCSPRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM02+\NOTERM40 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCDRVŽ*�Start�of�MPSCDRVH*<----------------------------------------------------------------------QUIT=/ENDIF=/*!=/*†PATCH�WINDRV�ONLY�IF�IT�EXIST=/* =/RD = \NOWIN =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\WINDRVRŽ*�Start�of�WINDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�SASIDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOSASI =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\SASIDRVŽ*�Start�of�SASIDRVH*<----------------------------------------------------------------------QUIT=/ENDIF=/*#=/*†PATCH�MTADRVR�ONLY�IF�IT�EXISTS=/*=/RD = \TOTM435 =/IF RD <> 0=PATCH VERSADOS.SYG*>---------------------------------------------------------------------O�\MTADRVRŽ*�Start�of�MTADRVRG*<---------------------------------------------------------------------QUIT=/ENDIF=/*8=/* SYSTEM MUST BE RE-BOOTED FOR PATCHES TO TAKE EFFECT.=/*=ENDéé  ééééé PAGE)ASR IDNT 11,11 ASR ADDRS. FOR I/O MODULES*8*ASR-FILE OF ASR ADDRESSES OF I/O MODULES-NEEDED FOR IOI* XDEF FMSASR,FHSASR,IOSASRFMSASR EQU \FMSASRFHSASR EQU \FHSASRIOSASR EQU \IOSASR ENDééééééé�  PAGEO*********************************************************************************ˆIOC�--�DEFINE�DCB'S�AND�CDB'S*&*ˆThe�macros�used�are�defined�in�IODM.*%*ˆ9/2/83„modified�for�mag�tape�driver4*ˆ11/10/83‚modified�to�use�IOCVEC�and�IOCLVL�equates&*’includes�Winchester�and�SASI�drivers*’mag�tape�at�level�1*O******************************************************************************* *@*‚This�section�becomes�IOCOMS,�which�is�used�by�FMS,�IOS,�&�FHS.*#IOCOM„IDNT†0  4,01‡I/O�COMMON�SEGMENT SECTION 0 OPT MEX XDEF IOCOMS,IOCOML,CCSEG *1*‚Define�the�physical�addresses�of�device�drivers*‚using�the�SYSGEN�parameters.*PRT†EQU‡\PRTDRVRMSUP…EQU‡\MPSCSUPMSPR…EQU‡\MPSCSPRMPSC…EQU‡\MPSCDRVIPC†EQU‡\IPCDRVRVM22…EQU‡\VM22DRVMTA†EQU‡\MTADRVRWIN†EQU‡\WINDRVRSASI…EQU‡\SASIDRV PAGE*6*‚Here�are�parameters�describing�the�tables�and�lists.*IOCOMS  DC.L 0 I/O sysgen options. ( DC.L DCQSTR Start address of DCQ space.&�DC.L�DCQEND�Endƒaddress�of�DCQ�space.�DC.L�0†Address�of�1st�DCQ. ( DC.L LUTSTR Start address of LUT space.&�DC.L�LUTEND�Endƒaddress�of�LUT�space.�DC.L�0†Address�of�1st�LUT. ( DC.L DCBTBL Start address of DCB space.&�DC.L�DCBEND�Endƒaddress�of�DCB�space. DC.L DCBTBL Address of 1st DCB.  DC.L 0 SEMAPHORE FLAG&�DC.B�'\SYSNAME'„OPERATING�SYSTEM�I.D.�DC.B�'\REVISION'ƒANDƒREVISION( DC.L 0,0,0 TASK ID FOR UNCLAIMED BREAKS PAGEO********************************************************************************C*ˆStorage�for�DCQ's�and�LUT's.‚Initially�these�two�lists�are�empty.*O******************************************************************************* * *‚DCQ�space.* DCQSTR EQU * DS.B 256*\DCQPGEDCQEND EQU *-1 * *‚LUT�space.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1‰PAGEO**********************************************************************************ˆDefine�DCB's�based�on�SYSGEN�parameters.* –UŸ,§9¯0·0¿-Ç0Ï:×CßBç@ï5÷<ÿARNFL'HO******************************************************************************* *DCBTBL�EQU�*‡This�is�the�top�of�DCB�space. &**************************************$*‚SET�UP�DCB'S�FOR�LOCAL�TERMINALS‚*&************************************** CCRTDV„SET‚'CN00'„First�local�terminal�is�#CN00,�next�is�#CN01,�etc.  IFGT \NOTERM02ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8& \WCP$FILV,\WCP$FSOF,\WCP$FPSM,\WCP$FSHD,\WCP$FTRD,\WCP$FCOM,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC‚IFGE‚\FDWIN-2*9*�2ND�FLOPPY�DISKƒ#FDx3�-�8"�single�density,�double�sided*DSKNMƒSET�DSKNM+1WCP$FAW8 SET $0204WCP$FTNS SET 4004H DSKDCB DSKNM,IOSID,IOSESS,$1F,71,4,'WIND',3,\WCP$FATM,\WCP$PM,WCP$FAW8,L& \DCP$FBPS/2,WCP$FTNS,\DCP$WTO,\DCP$RTO,\WCP$FSPT+10,\WCP$FHDS,\WCP$FTRK-3,D& \WCP$FILV,\WCP$FSOF,\WCP$FPSM/2,\WCP$FSHD,\WCP$FTRD-3,\WCP$FCOM-2,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC ENDC** ‚IFNEƒ\NOSASI$*************************************¢**ƒSet�up�DCBs�for�disks�on‡**ƒMVME420�-�SA1403�diskŠ* *ƒcontroller.*¢*$*************************************0DSKDVƒSETƒDSKDV+$100�Bump�controller�number�by�1‚IFGE�\HDSASI-1**�1ST�HARD�DISK„#HDx0*DSKNMƒSET‚HDDV+DSKDV+$30G DSKDCB DSKNM,IOSID,IOSESS,$1F,75,4,'SASI',0,\SCP$ATM,\SCP$PM,\SCP$HAW,F& \DCP$HBPS,\SCP$HTNS,\DCP$WTO,\DCP$RTO,\SCP$HSPT,\SCP$HHDS,\SCP$HTRK,>& \SCP$HILV,\SCP$HSOF,\SCP$HPSM,\SCP$HSHD,\SCP$HTRD,\SCP$HCOM,)& \SCP$HPTD,\SCP$HSRD,\SCP$HRWC,\SCP$HECC‚ENDC‚IFGE‚\HDSASI-2**�2ND�HARD�DISK„#HDx1*DSKNMƒSET‚DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,75,4,'SASI',1,\SCP$ATM,\SCP$PM,\SCP$HAW,F& \DCP$HBPS,\SCP$HTNS,\DCP$WTO,\DCP$RTO,\SCP$HSPT,\SCP$HHDS,\SCP$HTRK,>& \SCP$HILV,\SCP$HSOF,\SCP$HPSM,\SCP$HSHD,\SCP$HTRD,\SCP$HCOM,)& \SCP$HPTD,\SCP$HSRD,\SCP$HRWC,\SCP$HECC‚ENDC‚IFGE‚\FDSASI-1**�1ST�FLOPPY�DISK„#FDx2*DSKNMƒSET�FDDV+DSKDV+$32G DSKDCB DSKNM,IOSID,IOSESS,$1F,76,4,'SASI',2,\SCP$ATM,\SCP$PM,\SCP$FAW,F& \DCP$FBPS,\SCP$FTNS,\DCP$WTO,\DCP$RTO,\SCP$FSPT,\SCP$FHDS,\SCP$FTRK,>& \SCP$FILV,\SCP$FSOF,\SCP$FPSM,\SCP$FSHD,\SCP$FTRD,\SCP$FCOM,)& \SCP$FPTD,\SCP$FSRD,\SCP$FRWC,\SCP$FECC ENDC‚IFGE‚\FDSASI-2**�2ND�FLOPPY�DISK…#FDx3*DSKNMƒSET�DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,76,4,'SASI',3,\SCP$ATM,\SCP$PM,\SCP$FAW,F& \DCP$FBPS,\SCP$FTNS,\DCP$WTO,\DCP$RTO,\SCP$FSPT,\SCP$FHDS,\SCP$FTRK,>& \SCP$FILV,\SCP$FSOF,\SCP$FPSM,\SCP$FSHD,\SCP$FTRD,\SCP$FCOM,)& \SCP$FPTD,\SCP$FSRD,\SCP$FRWC,\SCP$FECC ENDC ENDC* ‰PAGEE**********************************************************************ˆMAG�TAPE�DRIVER�ADDITIONC************** *****************************************************�IFNE…\TOTM435(*****************************************¦*$*‚SET�UP�DCB'S�FOR�MAG�TAPE�DRIVER„**¦*(******************************************—FIRST�BOARD‰SECOND�BOARD**FIRST�TRANSPORT‹MT00‘MT10*SECOND�TRANSPORTŠMT01‘MT11*THIRD�TRANSPORT‹MT02‘MT12*FOURTH�TRANSPORTŠMT03‘MT13*….*….*….*EIGHTH�TRANSPORTŠMT07‘MT17**MTA0DVƒSET‡$00003000‹__0_MTA1DVƒSET‡$00003100‹__1_MTDV…EQU‡$4D540000‹MT__‚IFGE‚\NOMTA0-1*%*ƒFIRST�TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTDV+MTA0DV+$30G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',0,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-2*&*ƒSECOND‚TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',1,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-3*%*ƒTHIRDƒTAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',2,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-4*&*ƒFOURTH‚TAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',3,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-5*%*ƒFIFTHƒTAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',4,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-6*%*ƒSIXTHƒTAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',5,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-7*'*ƒSEVENTH�TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',6,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-8*&*ƒEIGHTH‚TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',7,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-1*&*ƒFIRST‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTDV+MTA1DV+$30G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',0,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-2*'*ƒSECOND‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',1,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-3*&*ƒTHIRDƒTAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',2,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-4*'*ƒFOURTH‚TAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',3,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-5*&*ƒFIFTHƒTAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',4,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-6*&*ƒSIXTHƒTAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',5,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-7*(*ƒSEVENTH�TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',6,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-8*'*ƒEIGHTH‚TAPE�DRIVEƒON �SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',7,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC‚ENDC ‰PAGE5*****************************************************3*‚SET�UP�DCB�FOR�NULL�DEVICE;�THIS�MUST�ALWAYS�BE‚*/*‚LAST�SINCE�ITS�POINTER�TO�NEXT�IS�SET�TO�0.†*5***************************************************** LLUN: ‰DC.L†0‰ADDRESS�NEXT�DCB�IN�LIST.‰DC.L†'NULL'„ASCII�IDENTIFICATION�FOR�THIS�DCB‰DC.L†0‰DCQ�LIST‰DC.L†0,0‡DRIVER�ID/SESSION‰DC.L†0‰ADDRESS�OF�LUT‰DC.L†$FF‡DEVICE�ATTRIBUTES‰DC.W†0‰W/R�PROTECT�CODES‰DC.W†0‰DEVICE�IN�USE�FLAG‰DC.L†0‰W/R�COUNT#‰DC.B…$FFˆDEVICE�FLAG�(DEVICE�CODE)#‰DC.B†1‰DEVICE�FLAG�(DEVICE�STATUS)‰DC.L†0‰CHANNEL�ID‰DC.B†0‰CHANNEL�DEVICE�NO.‰DC.B†0‰REQUESTOR'S�PRIORITY‰DC.L†0‰CURRENT�RECORD�NO.1‰DS.B†IOSBLN„ROOM�FOR�REQUESTOR'S�PARAMETER�BLOCK:‰DC.L†0‰LOGICAL�ADDR�OF�PARAMETER�BLK�IN�USER�MEMORY�SPACE'‰DC.B†0‰CONFIGURATION�COORDINATION�FLAG‰DC.B†0‰BREAK�COUNT$‰DC.L†0‰ADDRESS�OF�BREAK�SERVICE�LUT‰DC.L†0‰BREAK�SERVICE�ADDRESS>‰DC.L†0,0,0,0ƒBUFFER�ZONE�BETWEEN�DEVICE�INDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACE�FOR�CONFIGURATION�INFO‰DCB.B…DCBLEN-(*-LLUN),0 (DCBEND�EQU�*-1…End�address�of�DCB�space.HIOCOML EQU (*-IOCOMS+255)/256*256 Get length of common segment (force to*§next�page�boundary). PAGE SECTION 1‰PAGEO*********************************************************************************‰CHANNEL�DATA�BLOCKS*O******************************************************************************* CCSEG EQU * ******‚LOCAL�PRINTERS IFGT \NOLPRTJ CDB 0,'CPRT',XTPRTL,254,PRT,0,\LPDA$00,7,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC  IFGT \NOLPRT-1J CDB 0,'CPR1',XTPRTL,254,PRT,0,\LPDA$01,7,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC ******‚LOCAL�TERMINALS  IFGT \NOTERM02I CDB $0011,'SUP1',0,254,MSUP,0,\LTDA$00,1,$8C,6,$30,0,0,0,0,0,0,0,0,0,0,0N CDB $0009,'CMPS',XTS7A2,254,MPSC,'SUP1',\LTDA$00,1,$8C,6,$30,0,0,0,0,0,0,0,0,& 0,0,0 ENDC  IFGT \NOTERM02-1N CDB $0009,'CMP1',XTS7B2,254,MPSC,'SUP1',\LTDA$01,1,$8C,6,$30,0,0,0,0,0,0,0,0,& 0,0,0 ENDC  IFGT \NOTERM40@ CDB $0011,'SUP2',0,254,MSPR,0,\LTDA$02,1,\IOCVEC3,\IOCLVL3,$30,&‚0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP2',XTS7AR,254,MPSC,'SUP2',\LTDA$02,1,\IOCVEC3,\IOCLVL3,$30,& 0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-1J CDB $0009,'CMP3',XTS7BR,254,MPSC,'SUP2',\LTDA$03,1,\IOCVEC3,\IOCLVL3,$30,& 0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-2@ CDB $0011,'SUP3',0,254,MSPR,0,\LTDA$04,1,\IOCVEC3,\IOCLVL3,$30,&„0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP4',XTS7AR,254,MPSC,'SUP3',\LTDA$04,1,\IOCVEC3,\IOCLVL3,$30,& 0,0,0 ENDC  IFGT \NOTERM40-3J CDB $0009,'CMP5',XTS7BR,254,MPSC,'SUP3',\LTDA$05,1,\IOCVEC3,\IOCLVL3,$30,& 0,0,0,0,0,0,0,0,0,0,0,0 ENDC ******‚MCCM�CHANNELS  IFNE \NOTERM0+\NOPRT0O CDB 0,'COM1',XTMIPC,254,IPC,0,$FF1000,$1FF,$F7,4,$10,0,$181,$FF,$FF,$F,0,$183,&‚$FF,$FF,$F,0 ENDC  IFNE \NOTERM1+\NOPRT1O CDB 0,'COM2',XTMIPC,254,IPC,0,$FF1200,$1FF,$F6,4,$10,0,$181,$FF,$FF,$F,0,$183,&‚$FF,$FF,$F,0 ENDC  IFNE \NOTERM2+\NOPRT2O CDB 0,'COM3',XTMIPC,254,IPC,0,$FF1400,$1FF,$F5,4,$10,0,$181,$FF,$FF,$F,0,$183,&ƒ$FF,$FF,$F,0 ENDC  IFNE \NOTERM3+\NOPRT3O CDB 0,'COM4',XTMIPC,254,IPC,0,$FF1600,$1FF,$F4,4,$10,0,$181,$FF,$FF,$F,0,$183,&ƒ$FF,$FF,$F,0 ENDC $******‚HARD�AND�FLOPPY�DISK�CHANNELS %DEVADD SET $FEFE00 INIT. DEVICE ADDR. VECTNO SET $100 INIT. VECTOR NO. IFNE \HDUDC0+\FDUDC0DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CRD1',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC IFNE \NOFD0DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CFD1',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,4,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC  IFNE \HDUDC1+\FDUDC1DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CRD2',XTDIPC,254,I PC,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC IFNE \NOFD1DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CFD2',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,4,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC ******ƒVM22�DISK�CHANNELS �IFGT‚\NOVM22DEVADD SET DEVADD+$200DEVM22 SET DEVADD+$101VECTNO SET VECTNO-1G CDB 0,'VM22',$12,254,VM22,0,DEVM22,1,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC**ˆWINCHESTER‚DISK�CHANNEL* �IFGT‚\NOWIND CDB 0,'WIND',XTDWIN,254,WIN,0,\LWIN$00,1,\IOCVEC3,\IOCLVL3,$10,0,0,&ƒ0,0,0,0,0,0,0,0,0 ENDC **ˆSASI‚DISK�CHANNEL* IFGT \NOSASIE CDB 0,'SASI',XTDSAS,254,SASI,0,\LSAS$00,1,\IOCVEC3,\IOCLVL3,$10,0,0,&ƒ0,0,0,0,0,0,0,0,0 ENDC ,*********************************************ª**ˆMAG�TAPE�DRIVER“**ˆCHANNEL�DATA�BLOCK�**ª*,*********************************************$******ƒFIRST�ADAPTER�BOARD�(MVME435)* �IFGTƒ\NOMTA0L CDB 0,'MTA0',XTM435,0,MTA,0,\LMTA$00,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0,0,0, &„0,0,0,0 ENDC*%******‚SECOND�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA1L CDB 0,'MTA1',XTM435,0,MTA,0,\LMTA$01,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0,0,0, &„0,0,0,0 ENDC* ) DC.L 0 Link of 0 marks end of CDB chain.  END é‰XDEF†OSMTBL,FMSASQ‰XDEF†OSMEND,FMSDLEN‰XREF†FHSASR,IOSASR,FMSASR*-*ˆTABLE�OF�OPERATING�SYSTEM�MODULE�TASK�NAMES*‰NOLIST‰INCLUDEƒ9995.&.IOE.EQ‰INCLUDEƒ9995.&.TR1.EQ‰INCLUDEƒ9995.&.EXE.EQ‰INCLUDEƒ9995.&.NIO.EQ‰INCLUDEƒ9995.&.LV5.EQ‰INCLUDEƒ9995.&.FME.EQ‰INCLUDEƒ9995.&.FMI.EQ‰LIST SECTION 1OSMTBLƒDC.L…FHSIDŽFHS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+FHSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+FHSNLN‡QUEUE�LENGTH‰DC.L„FHSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…IOSIDŽIOS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+IOSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L„IOSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED**‰DC.L…FMSIDŽFMS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRD‚ASQ�STATUS'‰DC.B„EVTLEN+FHSNLN‡MAX.�MESSAGE�LENGTHFMSASQƒDC.L„0�QUEUE�LENGTH‰DC.L„FMSASRŽADDR.�OF�ASR‰DC.W„0**‰DC.W„SGOPPAŽOPTIONS-LOG.�ADDR=PHYS.�ADDR.‰DC.W„SGATRW+SGATSS‡ATTRIBUTES‰DC.L„FMSD�SEG.�NAME‰DC.L„0�LOGICAL�ADDRESSFMSDLEN‚DC.L„0�SEGMENT�LENGTH**OSMENDƒEQU…*“END�OF�TABLE ‰END‡OSMTBLééé/9  PAGE*#*VALPAR VALIDATES SYSGEN PARAMETERSG*…FAIL�ERROR�IS�GENERATED�FOR�EACH�PARAMETER�THAT�IS�NOT�IN�VALID�RANGE:*ANY ERROR SHOULD MAKE OPERATOR ABORT SYSGEN SINCE FURTHER/*…SYSGEN�PROCESSING�ASSUMES�PARAMETERS�ARE�GOOD*.*MAKE SURE TOTAL NUMBER OF TERMINALS IS SUM OF*…DIFFERENT�TYPES�OF�TERMINALSH IFNE \TOTTERM-(\NOTERM02+\NOTERM40+\NOTERM0+\NOTERM1+\NOTERM2+\NOTERM3) FAIL 100 ENDC*MAKE SAME CHECK FOR PRINTERS7 IFNE \TOTPRT-(\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2+\NOPRT3) FAIL 100 ENDC *MAKE SAME CHECK FOR DISK DRIVES(DSKCNT SET \HDSASI+\FDSASI+\HDWIN+\FDWINODSKCNT SET DSKCNT+\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1+\HDVM22+\FDVM22 IFNE \TOTDSK-DSKCNT FAIL 100 ENDC1*MAKE SURE NO. OF VM22'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \HDVM22+\FDVM22 CNT SET CNT+1 ENDC IFNE CNT-\NOVM22 FAIL 100 ENDC0*MAKE SURE NO. OF IPC'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOFD0 CNT SET CNT+1 ENDC IFNE \NOFD1 CNT SET CNT+1 ENDC IFNE \HDUDC0+\FDUDC0 CNT SET CNT+1 ENDC IFNE \HDUDC1+\FDUDC1 CNT SET CNT+1 ENDC IFNE CNT-\NOIPCS FAIL 100 ENDC1*MAKE SURE NO. OF MCCM'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOTERM0+\NOPRT0 CNT SET CNT+1 ENDC IFNE \NOTERM1+\NOPRT1 CNT SET CNT+1 ENDC IFNE \NOTERM2+\NOPRT2 CNT SET CNT+1 ENDC IFNE \NOTERM3+\NOPRT3 CNT SET CNT+1 ENDC IFNE CNT-\NOMCCMS FAIL 100 ENDC=*CAN'T HAVE MORE THAN 2 LOCAL PRINTER OR MORE THAN 1 PER MCCM IFGT \NOLPRT-2 FAIL 100 ENDC IFGT \NOPRT0-1 FAIL 100 ENDC IFGT \NOPRT1-1 FAIL 100 ENDC IFGT \NOPRT2-1 FAIL 100 ENDC IFGT \NOPRT3-1 FAIL 100 ENDC'*CAN'T HAVE MORE THAN 2 VM02 TERMINALS. IFGT \NOTERM02-2 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 MVME 400 TERMINALS. IFGT \NOTERM40-4 FAIL 100 ENDC**CAN'T HAVE MORE THAN 4 TERMINALS PER MCCM IFGT \NOTERM0-4 FAIL 100 ENDC IFGT \NOTERM1-4 FAIL 100 ENDC IFGT \NOTERM2-4 FAIL 100 ENDC IFGT \NOTERM3-48cAsI FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER IPC IFGT \NOFD0-4 FAIL 100 ENDC IFGT \NOFD1-4 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 HARD DRIVES PER UDC IFGT \HDUDC0-4 FAIL 100 ENDC IFGT \HDUDC1-4 FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER UDC IFGT \FDUDC0-4 FAIL 100 ENDC IFGT \FDUDC1-4 FAIL 100 ENDC8*CAN'T HAVE MORE THAN 4 DRIVES PER WINCHESTER CONTROLLER IFGT \HDWIN+\FDWIN-4 FAIL 100 ENDC2*CAN'T HAVE MORE THAN 4 DRIVES PER SASI CONTROLLER IFGT \HDSASI+\FDSASI-4 FAIL 100 ENDC**IF NO MVME435, CAN'T HAVE ANY TAPE DRIVES IFEQ \TOTM435 ‚IFGT�\NOMTAT ‚FAIL�100‚ENDC ENDC/*CAN'T HAVE MORE THAN 8 TAPE DRIVES PER MVME435 IFGT \NOMTA0-8 FAIL 100 ENDC IFGT \NOMTA1-8 FAIL 100 ENDC9*CAN'T HAVE 0 OR MORE THAN 75 TASKS IN SYSTEM AT ONE TIME IFEQ \NOTASKS FAIL 100 ENDC IFGT \NOTASKS-75 FAIL 100 ENDC1*MAXIMUM LU CANNOT BE LESS THAN 8 OR MORE THAN 31 IFLT \MAXLU-8 FAIL 100 ENDC IFGT \MAXLU-31 FAIL 100 ENDC2*MAXIMUM LU CANNOT BE LESS THAN NO. OF DISK DRIVES IFLT \MAXLU-\TOTDSK FAIL 100 ENDCC*MAXIMUM NO. OF PAGES FOR DCQ,UST,GST,IOV, AND TRACE CANNOT BE 0 OR*…MORE�THAN�10 IFEQ \DCQPGE FAIL 100 ENDC IFGT \DCQPGE-10 FAIL 100 ENDC IFEQ \GST FAIL 100 ENDC IFGT \GST-10 FAIL 100 ENDC IFEQ \UST FAIL 100 ENDC IFGT \UST-10 FAIL 100 ENDC IFNE \TRCFLAG IFEQ \TRACE FAIL 100 ENDC ENDC IFNE \TRCFLAG IFGT \TRACE-10 FAIL 100 ENDC ENDC IFEQ \IOV FAIL 100 ENDC IFGT \IOV-10 FAIL 100 ENDCG*MAXIMUM NO. OF DIFFERENT FILES MUST BE .LE. MAXIMUM NO. OF TOTAL FILES IFGT \NODIFFIL-\NOFILES FAIL 100 ENDC2*MAXIMUM NO. O F FILES CANNOT BE 0 OR MORE THAN 200 IFEQ \NODIFFIL FAIL 100 ENDC IFGT \NODIFFIL-200 FAIL 100 ENDC IFEQ \NOFILES FAIL 100 ENDC IFGT \NOFILES-200 FAIL 100 ENDCG*MAXIMUM NO. OF DEFAULT VOLUMES CANNOT BE 0 OR MORE THAN NO. OF TASKS+3 IFEQ \NODEFVOL FAIL 100 ENDC IFGT \NODEFVOL-(\NOTASKS+3) FAIL 100 ENDCE*NUMBER OF DEFAULT VOLUMES MUST BE GREATER THAN OR EQUAL TO NUMBER OF*ƒLOGON�TERMINALS IFGT \NOLOGONS-\NODEFVOL FAIL 100 ENDC**DEFAULT FAB SIZE CANNOT BE 0 MORE THAN 20 IFEQ \DEFFAB FAIL 100 ENDC IFGT \DEFFAB-20 FAIL 100 ENDC7*DEFAULT DB SIZE CANNOT BE LESS THAN 4 OR MORE THAN 255 IFGT \DEFDAT-255 FAIL 100 ENDC IFLT \DEFDAT-4 FAIL 100 ENDC END ééééé=LINK ,IOI,\LINKLS;HAMIXSSEGMENT IOSG:0 \IOCSTRSEGMENT .IOI:1INPUT VM02.IOC.ROINPUT VM02.IOI.ROINPUT VM02.OSLIST.RO INPUT IXR.ROINPUT VM02.ASR.ROEND=ENDéééééé éQ ‚******************‚*�VM02.SYSCMD.CD�*M‚****************************************************************************‚*�SYSGEN�COMMAND�FILE�-´*?‚*ƒUSE�IN�CONJUNCTION�WITH�SYSGEN.CF�OR�EXECUTE�DIRECTLY�WITH�*‚*†THE�FOLLOWING�ARGUMENTS:¬*‚*Ê*@‚*†ARG1�-�LISTING�FILE�OR�DEVICE�FOR�ASSEMBLIES�AND�LINK�EDITS‰*‚*Ê*-‚*†ARG2�-�SWITCH�--�0�=�ARG1�IS�A�FILE�NAMEœ*‚*—1�=�ARG1�IS�A�DEVICE�NAMEš*‚*Ê*8‚*†ARG3�-�CONFIGURATION�SWITCH�--�1�=�SINGLE-USER�HARD‘*‚*Ê*@‚*†ARG4�-�WORKING�FILE�FOR�USE�WITH�COPY�;A�TO�PRODUCE�LISTING‰*‚*Ê*M‚**************************************************************************** ‚MSG‰SYSGEN�COMMAND�FILE +‚MSG‰SET�SYSGEN�PARAMETERS�FROM�PASSED�ARGS *‚ASMLSW„=�\2‹*ASSEMBLY�LISTING�FILE�SWITCH‚*”0�=�ASMLS�IS�A�FILE‚*”1�=�ASMLS�IS�A�DEVICE'‚LINKLSWƒ=�\2‹*LINK�LISTING�FILE�SWITCH‚*”0�=�LINKLS�IS�A�FILE‚*”1�=�LINKLS�IS�A�DEVICE  ‚IFEQˆ\ASMLSW$…ASMLS…=�"\4"‰*ASM�LISTING�WORK�FILE‚ENDC ‚IFNEˆ\ASMLSW!…ASMLS…=�"\1"‰*ASM�LISTING�DEVICE‚ENDC ‚IFEQˆ\LINKLSW&…LINKLS„=�"\4"‰*LINK�LISTING�WORK�FILE‚ENDC‚IFNEˆ\LINKLSW#…LINKLS„=�"\1"‰*LINK�LISTING�DEVICE‚ENDC +‚WORKLS„=�"\1"‰*OVERALL�LISTING�FILE/DEVICE6‚LINK1TFƒ=�"INIT1.TF"„*INTERMEDIATE�LINK�FILE�FOR�INIT6‚LINK2TFƒ=�"INIT2.TF"„*INTERMEDIATE�LINK�FILE�FOR�INIT C‚MSG‰**************************************************************C‚MSG‰**************************************************************?‚MSG‰**„System�generation�(SYSGEN)�command�file�for�users�of‚**?‚MSG‰**„VERSAdos�on�the�VMC�68/2�computer.‚Prepared�5/01/82.�**C‚MSG‰**************************************************************C‚MSG‰**************************************************************‚MSG‰C‚MSG‰**************************************************************(‚MSG‰**ˆParameters�describing�devices•**C‚MSG‰**************************************************************(‚*˜Total�#�of�terminals�(local�and�MCCM)B‚TOTTERMƒ=�\NOTERM02+\NOTERM40+\NOTERM0+\NOTERM1+\NOTERM2+\NOTERM3 Z<c;kJsA{/ƒ7‹9“-›3£+«1³-»1Ã(Ë1Ó,Û.ã?ëXó@ûTU *(‚*˜Total�#�of�printers�(local�and�MCCM).1‚TOTPRT„=�\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2+\NOPRT3‚*˜Total�number�of�disks�-+‚*˜floppy�drives�and�hard�disk�drives.‚Each(‚*˜volume�defined�requires�approximately‚*˜2-1/4K�bytes�of�memory.C‚&Tˆ=�\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1+\HDVM22+\FDVM22+‚TOTDSK„=�\&T+\HDWIN+\FDWIN+\HDSASI+\FDSASI‚*&‚NOIPCS„=�2Œ#�of�disk�IPC's�and�UDC's.'‚NOVM22„=�0Œ#�of�VM22�disk�controllers.‚NOMCCMSƒ=�0Œ#�of�MCCM's.‚*5‚NOTERM02‚=�2Œ#�of�terminals�using�VM02�serial�ports.9‚NOTERM40‚=�0Œ#�of�terminals�using�MVME�400�serial�ports. ‚NOLPRT„=�1Œ#�of�local�printers. ‚NOLTERMƒ=�"\NOTERM02+\NOTERM40"0‚*˜TOTAL�number�of�local�terminal�for�the�system‚*‚*-‚HDUDC0„=�2Œ#�of�hardƒdisk�drives�on�1st�UDC.-‚HDUDC1„=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC./‚FDUDC0„=�2Œ#�of�floppy�disk�drives�on�1st�UDC./‚FDUDC1„=�0Œ#�of�floppy�disk�drives�on�2nd�UDC.‚*:‚NOFD0…=�2Œ#�of�floppy�disk�drives�on�1st�floppy�disk�IPC.:‚NOFD1…=�0Œ#�of�floppy�disk�drives�on�2nd�floppy�disk�IPC.‚*+‚FDVM22„=�0Œ#�of�floppy�disk�drives�on�VM22)‚HDVM22„=�0Œ#�of�hardƒdisk�drives�on�VM22‚*‚*,‚NOWIN…=�0Œ#�of�Winchester�controller�boards9‚HDWIN…=�0Œ#�of�hard�disk�drives�on�Winchester�controller;‚FDWIN…=�0Œ#�of�floppy�disk�drives�o n�Winchester�controller‚*1‚NOSASI„=�0Œ#�of�SASI�interface�controller�boards)‚HDSASI„=�0Œ#�of�hard�disk�drives�on�SASI+‚FDSASI„=�0Œ#�of�floppy�disk�drives�on�SASI‚*‚*(‚NOTERM0ƒ=�0Œ#�of�terminals�on�1st�MCCM.&‚NOPRT0„=�0Œ#�of�printers‚on�1st�MCCM.(‚NOTERM1ƒ=�0Œ#�of�terminals�on�2nd�MCCM.&‚NOPRT1„=�0Œ#�of�printers‚on�2nd�MCCM.(‚NOTERM2ƒ=�0Œ#�of�terminals�on�3rd�MCCM.&‚NOPRT2„=�0Œ#�of�printers‚on�3rd�MCCM.(‚NOTERM3ƒ=�0Œ#�of�terminals�on�4th�MCCM.&‚NOPRT3„=�0Œ#�of�printers‚on�4th�MCCM.‚*=‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRAD1…=�0ŒNO.�OF�RAD�BOARDS‚NUSRRADƒ=�0ŒNO.�OF�RAD�USERS‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RAD�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RADRV…=�0‚*@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRIO†=�0ŒNumber�of�RIO�boards‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RIO�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RIODRVRƒ=�0‚*@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#‚NDAC1…=�0ŒNumber�of�MVME605�boards;‚NUSRDACƒ=�0ŒNumber�of�users�(total)�for�the�MVME605�boards‚*"‚NACO†=�0ŒNumber�of�MVME615�boards;‚NUSRACOƒ=�0ŒNumber�of�users�(total)�for�the�MVME615�boards‚*‚*#‚NDCO1…=�0ŒNumber�of�MVME625�boards;‚NUSRDCOƒ=�0ŒNumber�of�users�(total)�for�the�MVME625�boards‚*‚*%‚NVME610�=�0ŽNumber�of�MVME610�boards%‚NVME620�=�0ŽNumber�of�MVME620�boards‚*‚*‚*>‚PCDRV…=�0ŒIf�non-zero�include�special�I/O�channel�initializer2‚*˜for�Process�Control�Drivers�in�user�number�9992‚* 5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~F‚*†IF�the�MAGTAPE�driver�IS�to�BE�used�YOU�must�MERGE�file�MTALDPNT.SA‚*†into�VM02.INITIO1.AG5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~9**********************************************************·**ˆMAG�TAPE�DRIVER **ˆNOTES�ON�BOARD�JUMPERING—**·*9************************************************************ˆINTERRUPT�LEVEL*6*ˆThe�channel�data�block�is�configured�for�I/O�channel2*ˆinterrupt�level�1�in�IOC.AG.‚Please�be�sure�that2*ˆyour�board�is�jumpered�for�this�interrupt�level,3*ˆas�described�in�the�MVME435�magnetic�tape�adapter *ˆmanual.*7*ˆAs�described�in�the�MVME435�manual,�to�have�a‚level�17*ˆinterrupt,�the�jumper�on�J2�must�be�placed�to�connect*ˆpins�7-8�as�follows:* *’+--------+ *�1‚|�+„+�|‚2*’|ˆ| *�3‚|�+„+�|‚4*’|ˆ| *�5‚|�+„+�|‚6*’|ˆ|*�7‚|�+----+�|‚8 *’+--------+***ˆADDRESS‚ON�I/O�CHANNEL*6*ˆThe�channel�data�block�is�configured�for�I/O�channel;*ˆaddresses�LMTA$00�=�(I/O�channel‚base�address)�+�$3E9�and.*ˆLMTA$01�=�(I/O�channel�base�address)�+�$3A9.4*ˆPlease�be�sure�that�your�board(s)�is(are)�jumpered*ˆfor�one�of�these�addresses.*?*ˆTo�have�a�board�address�of�(I/O�channel�base�address)�+�$3E9,&*ˆremove�all�jumpers�on�J3�as�follows:* *’+--------+ *�1‚|�+„+�|‚2*’|ˆ| *�3‚|�+„+�|‚4*’|ˆ| *�5‚|�+„+�|‚6*’|ˆ| *�7‚|�+„+�|‚8 *’+--------+***?*ˆTo�have�a�board�address�of�(I/O�channel‚base�address)�+�$3A9,$*ˆconnect‚pins�7-8�on�J3�as�follows:* *’+--------+ *�1‚|�+„+�|‚2*’|ˆ| *�3‚|�+„+�|‚4*’|ˆ| *�5‚|�+„+�|‚6*’|ˆ|*�7‚|�+----+�|‚8 *’+--------+******8‚TOTM435ƒ=�0ŒTotal�#�of�mag�tape�MVME435�adapter�boards.3‚NOMTA0„=�0Œ#�of�tape�drives�on�first�MVME435‚board4‚NOMTA1„=�0Œ#�of�tape�drives�on�second�MVME435‚boardD‚NOMTAT„=�\NOMTA0+\NOMTA1‚Total�number�of�tape�drives�for�the�system‚MSG‰C‚MSG‰**************************************************************-‚MSG‰**ˆParameters�about�table�sizes,�etc.�**C‚MSG‰**************************************************************2‚PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*‚ASN‡=�0Œ#�of�address�spaces--not�used�but'‚*œneeded�to�satisfy�M68XXX.INITDAT.AG.4‚DCQPGE„=�2ŒNumber�o f�pages�of�memory�for�the�device-‚*˜connection�queue�(DCQ).‚Minimum�of�1�page,*‚*˜maximum�of�10�pages.‚The�DCQ�is�used�to/‚*˜save�concurrent�requests�to�the�same�file�or.‚*˜device.‚Each�page�of�the�DCQ�can�accomodate‚*˜approximately�9�entries.1‚GST‡=�2ŒNumber�of�pages�in�global�segment�table.)‚*˜Minumum�of�1,�maximum�of�10.‚Each�page+‚*˜can�accomodate�approximately�14�entries.5‚UST‡=�2ŒNumber�of�pages�in�the�user�semaphore�table.-‚*˜Minimum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�11�entries.6‚TRACE…=�0Œ*No.�of�pages�in�trace�table.‚TRACE�must�be+‚*˜nonzero�if�TRCFLAG�is�nonzero.‚Each�page+‚*˜can�accomodate�approximately�10�entries.2‚UDR‡=�1ŒNumber�of�pages�in�user-defined�directive+‚*˜table,�minimum�of�0,�maximum�of�10.‚Each0‚*˜page�can�accomodate�approximately�25�entries.2‚IOV‡=�1Œ#�of�pages�in�I/O�vector�table.ƒEach�page+‚*˜can�accomodate�approximately�12�entries.@‚PAT‡=�(\NOLOGONS*32*2+16+(\PAGESIZE-1))/\PAGESIZE�#�of�pages�in+‚*˜periodic�activation�table.‚Each�page�can'‚*˜accomodate�approximately�12�entries.‚*˜PAT�size�is�\PAT�.<‚NOTASKSƒ=�10‹Maximum�number�of�tasks�in�system�at�one�time.-‚*˜VERSAdos�contains�a�maximum�of�11�resident%‚*˜tasks.‚Allowing�for�that�plus�four/‚*˜each�terminal�will�accomodate�most�requests.<‚MAXLU…=�16‹Maximum�logical�unit�number�that�can�be�assigned/‚*˜for�each�task�in�the�system.‚Limit�is�31�and.‚*˜minimum�is�8.‚MAXLU�must�be�greater�than�or2‚*˜equal�to�TOTDSK.‚MAXLU�and�NOTASK�determine�the1‚*˜amount�of�memory�required�for�the�logical�unit1‚*˜table�(LUT).‚The�algorithm�for�determining�the!‚*˜size�of�the�LUT�is�as�follows:'‚*˜LUT�=�16*NOTASKS+8*NOTASKS*(MAXLU+1),‚*˜There�must�be�a�1�LU�for�each�disk�volume,‚*˜(FMS�assigns�a�different�logical�unit�for,‚*˜each�disk.)‚This�means�that�MAXLU�must�be#‚*˜greater�than�or�equal�to�TOTDSK.‚IFGTˆ\TOTDSK-\MAXLU!…MSG‰SYSGEN�parameter�size�error.3…MSG‰MAXLU�must�be�greater�than�or�equal�to�TOTDSK.:…MSG‰In�this�sysgen,�MAXLU�=�\MAXLU�and�TOTDSK�=�\TOTDSK�.5…MSG‰Please�adjust�parameters�and�start�sysgen�again.…ABORT‡‚ENDC;‚NOFILESƒ=�12‹Maximum�number�of�files�that�can�be�opened�in(‚*˜the�system�at�one�time.‚Limit�of�200.‚*9‚NODIFFIL‚=�12‹Maximum�number�DIFFERENT�files�that�can�be-‚*˜opened�at�one�time.‚Cannot�be�greater�than,‚*˜NOFILES.‚For�every�three�different�files,,‚*˜approximately�1K�of�memory�is�required.‚A&‚*˜ration�of�5�files�for�each�terminal‚*˜accomodates�most�requests.‚*;‚NODEFVOL‚=�8ŒMaximum�number�of�default�volumes�that�can�be-‚*˜defined.‚Cannot�be�greater�than�NOTASKS+3.‚*9‚DEFFAB„=�1ŒDefault�File�Allocation�Block�(FAB)�length�in/‚*˜sectors�(256�bytes�per�sector).‚Used�by�file-‚*˜handler�when�no�FAB�size�is�given.‚Minimum!‚*˜size�is�1,�maximum�size�is�20.‚*;‚DEFDAT„=�4ŒDefault�data�block�length�in�sectors�(256�bytes1‚*˜per�sector).‚Used�by�file�handler�when�no�data/‚*˜block�size�is�given�at�file�allocation�time.*‚*˜Minumum�size�is�4,�maximum�size�is�255.‚MSG‰C‚MSG‰**************************************************************‚MSG‰**ˆEETEQU�values¥**C‚MSG‰**************************************************************‚*>‚DEFAULTƒ=�"SYS:0.&"„*System�default�volume:usernumber.catalog‚*<‚TERMOCNT‚=�2Œ*No.�of�terminal�output�timeouts�before�logoff‚*7‚SECURITY‚=�1ŒSwitch�to�indicate�if�security�package�is-‚*˜supported.‚Value�of�zero�excludes�package,-‚*˜nonzero�includes�it.‚This�package�requires‚*˜approximately�1K�of�memory.‚*<‚SPCCMD„=�1ŒSwitch�to�indicate�if�the�following�user�session0‚*˜management�commands�are�supported:‚HELP,CLOSE0‚*˜ASSIGN,NEWS.‚Value�of�zero�excludes�commands.-‚*˜This�package�requires�approximately�1/2�of ‚*˜memory.‚*>‚CHAINBAT‚=�1ŒSwitch�to�indicate�if�chain�and�batch�processing2‚*˜are�supported.‚Value�of�zero�excludes�batch�and.‚*˜chain;�non-zero�includes�them.‚This�package+‚*˜requires�approximately�3-1/2K�of�memory.‚*9‚CONBATCH‚=�1ŒNumber�of�concurrent�batch�jobs�that�can�be(‚*˜running.‚Cannot�be�more�t han�NOTASKS.‚*<‚BATCHPGE‚=�2ŒNo.�of�pages�for�batch�job�queueing.‚Each�page0‚*˜accomodates�32�entries.‚In�addition,�there�is+‚*˜space�for�31�entries�minus�the�number�of‚*˜terminals�in�the�system.‚*=‚BATDLY„=�16000ˆ*delay�in�ms�in�batch�between�reload�attempts‚*=‚NOLOGONƒ=�3ŒMaxmimum�number�of�invalid�logon�attempts�before‚*˜being�rejected.‚*B‚NOLOGONS‚=�\TOTTERM…#�of�terminals�allowed�to�logon�in�the�system‚*,‚LOGMSG1ƒ=�"VERSAdos�V"�Logon�message�part�1)‚LOGMSG2ƒ=�"ERSION�"„Logon�message�part�2(‚REVNUMBR‚=�"�4.3�"†Logon�message�part�3‚*2‚*˜REVNUMBR�is�used�dynamically�in�CMDLIST�as�part*‚*¡of�the�log�on�message.�If�this�value�is'‚*¡changed�then�'REVISION'�in�this�file)‚*¡should�be�changed�to�match�the�dynamic ‚*¡value.‚*B‚AUTOTERM‚=�'CN00'‡Terminal�ID�of�device�auto�logon�is�to�occur�on‚*‚AUTOLOGN‚=�1ŒBit�0:‚*›0�-->�Auto�break�inactive‚*›1�-->�Auto�break�active ‚*˜Bit�1:‚*›0�-->�Auto�logon�inactive‚*›1�-->�Auto�logon�active‚*‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**‰Vector�numbers£**C‚MSG‰**************************************************************.‚IOCVEC1ƒ=�$71ŠI/O�channel�interrupt�1�vector..‚IOCVEC2ƒ=�$72ŠI/O�channel�interrupt�2�vector..‚IOCVEC3ƒ=�$73ŠI/O�channel�interrupt�3�vector..‚IOCVEC4ƒ=�$74ŠI/O�channel�interrupt�4�vector.+‚IOCLVL1ƒ=�2ŒI/O�channel�interrupt�1�level.+‚IOCLVL2ƒ=�3ŒI/O�channel�interrupt�2�level.+‚IOCLVL3ƒ=�4ŒI/O�channel�interrupt�3�level.+‚IOCLVL4ƒ=�5ŒI/O�channel�interrupt�4�level.2‚SERPTS„=�140ŠSerial�port�(7201)�interrupt�vector./‚PTMVECTƒ=�28‹Programmable�timer�vector�number./‚FAIL†=�$94ŠBoard�fail�interrupt�vector�number.*‚SWABRT„=�31‹Software�abort�vector�number.7‚KILVECTƒ=�142ŠVector�number�which�forces�system�crash./‚BCLRV…=�147ŠBus�clear�interrupt�vector�number.‚*‚MSG‰C‚MSG‰**************************************************************#‚MSG‰**ˆAddresses�of�timer,�etc.š**C‚MSG‰***************************************************************‚MMU‡=�$0‹Address�of�MMU�(none�on�a�VM02)."‚TIMER…=�$F70000†Address�of�timer.6‚CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond#‚PANEL…=�$0‹Address�of�front�panel.@‚BUGTRACƒ=�$F000BC†Address�of�firmware�debugger's�trace�routine.6‚TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The0‚*˜setting�of�bits�in�the�TRCFLAG�parameter�will2‚*˜control�which�events�cause�an�entry�to�be�built‚*˜in�the�trace�table.‚*˜Bit�#�in�TRCFLAG†Event ‚*›15‘TRAP�#1‚*›14‘I/O�interrupt�not�claimed‚*°by�user�task.‚*›13‘Timer�interrupt.‚*›12‘User�trap�(2-15)‚*›11‘Exception‚*›10‘Dispatch‚*œ9‘I/O�interrupt�claimed�by ‚*°user�task‚*œ8‘Return�from�LOADMMU‚*œ7‘Simulated�interrupt‚*œ6‘SYSFAIL�interrupt.‚*>‚HOGMODEƒ=�0ŒSpecifies�whether�or�not�you�want�the�VM02�to�hog3‚*˜the�VERSAbus�(which�allows�it�to�run�faster�when4‚*˜accessing�the�VERSAbus).‚This�may�ONLY�be�used�if4‚*˜there�are�no�other�cards�in�the�system�capable�of+‚*˜becoming�bus�master!‚If�in�doubt,�use�0.‚*š0�=�don't�hog�the�bus.1‚*š1�=�hog�the�bus�(no�other�intelligent�boards).‚*@‚SYSFAIL�=�0ŽDetermines�whether�or�not�the�operating�system�will6‚*˜be�interrupted�when�SYSFAIL�is�asserted�on�the�bus.3‚*˜Some�intelligent�boards�will�assert�SYSFAIL�when1‚*˜they�experience�a�failure�of�some�kind.‚If�you6‚*˜have�such�boards�in�the�system,�AND�THE�DRIVERS�FOR4‚*˜THESE�BOARDS�HAVE�SYSFAIL�HANDLERS,�then�you�will3‚*˜probably�want�SYSFAIL�interrupts�enabled.‚If�the5‚*˜appropriate�SYSFAIL�handlers�are�not�written,�then6‚*˜taking�a�SYSFAIL�interrupt�will�hang�up�the�system,1‚*˜so�you�would�want�SYSFAIL�interrupts�disabled."‚*š0�=�disable�SYSFAIL�interrupts.!‚*š1�=‚enable�SYSFAIL�interrupts.‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**2‚MSG‰**ƒLOCAL�TERMINAL/PRINTER�DEVICE�ADDRESSES�**+‚MSG‰**ƒMAG�TAPE�ADAPTER�BOARD�ADDRESSESˆ** ‚MSG‰**ƒRWIN1�AND�SASI�ADDRESSES ‚MSG‰**«**0‚MSG‰**ƒBase�Address�Jumpers:‚'.'�=�no�jumper‚**‚MSG‰**š'J'�=�jumper…**4 ‚MSG‰***********************************************‚MSG‰‚LTDA$00ƒ=�$F70015†VM02�port�A‚LTDA$01ƒ=�$F70017†VM02�port�BC‚LTDA$02ƒ=�$F801CD†MVME�400�with�base�address�jumpers�(...J)�port�AC‚LTDA$03ƒ=�$F801CF†MVME�400�with�base�address�jumpers�(...J)�port�BC‚LTDA$04ƒ=�$FFFFFF†MVME�400�with�base�address�jumpers�(????)�port�AC‚LTDA$05ƒ=�$FFFFFF†MVME�400�with�base�address�jumpers�(????)�port�BC‚LPDA$00ƒ=�$F801E1†MVME�410�with�base�address�jumpers�(....)�port�AC‚LPDA$01ƒ=�$F801E9†MVME�410�with�base�address�jumpers�(....)�port�B<‚LMTA$00ƒ=�$F803E9†MVME�435�with�base�address�jumpers�(....)<‚LMTA$01ƒ=�$F803A9†MVME�435�with�base�address�jumpers�(...J) ‚LWIN$00ƒ=�$F800D3†RWIN1‚address‚LSAS$00ƒ=�$F800F1†SASIƒaddress‚*‚*-‚IOBASE„=�$F80000†Base�address�of�I/O�channel‚*‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�TERMINALŠ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(TCP�=�TERMINAL�CONFIG.�PARAMETERS)…** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*2‚TCP$RECƒ=�80‹Width�of�terminal�(characters/line).-‚TCP$RSZƒ=�24‹Depth�of�terminal�(lines/page).C‚TCP$WTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.C‚TCP$RTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�read.>‚TCP$XOFƒ=�$17ŠXOFF�char;�when�received,�suspends�transmission ‚*˜(0=none).?‚TCP$XONƒ=�0ŒXON�char;�when�received,�cancels�a�prior�XOFF�char‚*˜(0=any�char).@‚TCP$BRCƒ=�$03ŠChar�to�be�interpreted�like�a�break�when�received ‚*˜(0=none).<‚TCP$DOPƒ=�$0FŠChar�which�causes�output�to�be�discarded�when‚*˜received�(0=none).:‚TCP$RLNƒ=�$13ŠChar�which�causes�line�to�be�reprinted�when‚*˜received�(0=none).A‚TCP$CLCƒ=�$18ŠChar�which�causes�line�to�be�deleted�when�received ‚*˜(0=none)./‚TCP$RTVƒ=�$0DDE0000„Read�terminators�(CR,$DE).0‚TCP$EOLƒ=�$0D0A0000„End�of�line�string�(CR,LF).<‚TCP$BRTƒ=�$0EŠBaud�rate�code�($0E=9600�baud).‚The�following1‚*˜codes�may�be�used�to�indicate�the�desired�baud‚*˜rate:*‚*˜Code‚RateƒCode�RateƒCode�RateƒCode�Rate#‚*˜$00ƒ50…$05‚300„$09‚2000ƒ$0E‚9600$‚*˜$01ƒ75…$06‚600„$0A‚2400ƒ$0F‚19200$‚*˜$02ƒ110„$07‚1200ƒ$0C‚4800ƒ$10-$FF'‚*˜$03ƒ134.5‚$08‚1800ƒ$0D‚7200ƒReserved?‚TCP$NLSƒ=�0Œ#�of�ASCII�NUL�char's�to�send�after�each�CR�or�LF.+‚TCP$TRCƒ=�$00ŠTerminator�class�($0X=none)..‚TCP$TTPƒ=�$00ŠTerminal�type�(0=EXORterm�155).J‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.>‚TCP$HCPY‚=�0Œ1�means�the�terminal�is�a�hardcopy�device,�not�a‚*˜CRT.8‚TCP$XCTL‚=�0Œ1�means�use�XON/XOFF�to�control�terminal's‚*˜transmission,�not�CTS.@‚TCP$BITS‚=�0Œ1�means�transmit�&�receive�7�bits/char�rather�than‚*˜8.<‚TCP$STPB‚=�0Œ1�means�follow�each�char�sent�with�2�stop�bits‚*˜rather�than�1.=‚TCP$USEP‚=�0Œ1�means�parity�should�be�checked�and�generated.<‚TCP$PRTY‚=�0Œ1�means�parity�(if�used)�should�be�even�rather ‚*˜than�odd.<‚TCP$ECHO‚=�0Œ1�means�the�driver�should�not�echo�characters.@‚TCP$TAHD‚=�0Œ1�means�the�type-ahead�feature�should�not�be�used.9‚TCP$TFUL‚=�1Œ1�means�filling�the�buffer�on�a�read�should‚*˜terminate�the�read.>‚TCP$PNUL‚=�0Œ1�means�NUL�char's�should�be�considered�data�for‚*˜image�reads.7‚TCP$MODM‚=�0Œ1�means�the�port�is�connected�to�a�modem.9‚TCP$OFFH‚=�0Œ1�means�the�port,�if�connected�to�modem,�is ‚*˜offhook.‚*L‚***************************************************************************'‚*†NOTE�on�how�to�modify�a�single�port:‚*<‚*†First�duplicate�all�the�parameters�that�are�to�change�for<‚*†this�particular�port�(e.g.�TCP$BRT).‚Modify�the�duplicate=‚*†labels�so�that�they�become�unique.‚One�technique�is�to�put9‚*†the�port�number�at�the�end�of�the�label�(e.g.�for�CN12;‚*†TCP$BRT�becomes�TCP$BRT2�and�TCP$BITS�becomes�TCP$BIT2).8‚*†Remember�that�the�label�must�not�exceed�8�characters!;‚*†Change�the�parameter�to�the�desired�value�(e.g.�to�set�a5‚*†300�baud�rate�for�a�non-EXORterm�terminal�on�CN12,$‚*†TCP$BRT2�=�$0 5�and�TCP$TTP2�=�1).‚*4‚*†Now�substitute�these�new�parameters�into�the�file6‚*†VM02.IOC.AG�for�the�CRTDCB�macro�defining�the�port.+‚*†To�continue�the�baud�rate�example�above:?‚*ˆTCP$ATW�SET�\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$USEP<<4+\TCP$PRTY<<5+\TCP$ECHO<<6=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$TAHD<<7+\TCP$TFUL<<8+\TCP$PNUL<<9$‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$MODM<<10=‚*‰CRTDCB�'CN12',IOSID,IOSESS,$133,31,1,'COM1',2,$047C,$5803,‚*©~~:‚*ˆ&ƒTCP$ATW,\TCP$REC,\TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,;‚*ˆ&ƒ\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,\TCP$CLC,\TCP$RTV,2‚*ˆ&„TCP$EQL,�TCP$BRT2,\TCP$NLS,\TCP$TRC,�TCP$TTP2‚*•~~~~~~~~~“~~~~~~~~~4‚*†where�~~~~~~�underlines�the�CRTDCB�modifications.‚*>‚*†This�same�technique�may�be�used�with�the�printer�parameters<‚*†by�modifying�the�PCP$xxx�labels�and�substituting�into�the=‚*†PRTDCB�macro.‚It�may�also�be�used�with�the�disk�parameters=‚*†by�modifying�the�appropriate�labels�below�and�substituting‚*†into�the�DSKDCB�macro.‚*L‚***************************************************************************‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**(‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�PRINTER‹**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**-‚MSG‰**ƒ(PCP�=�PRINTER‚CONFIG.�PARAMETERS)…** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*A‚PCP$RECƒ=�132ŠWidth�of�printer‚(characters/physical�print�line).,‚PCP$RSZƒ=�66‹Depth�of�printer‚(lines/page).B‚PCP$WTOƒ=�120000‡(2�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.6‚PCP$LRLƒ=�132ŠLogical�line�length�<=�width�of�printer<‚PCP$EOLƒ=�$0A0D0000„End�of�line�string�(LF,CR).�(MCCM�only)$‚PCP$ELCƒ=�$0DŠEnd�of�line�characterJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.9‚PCP$LNFD‚=�0Œ1�means�the�printer�supports�auto�line�feed5‚PCP$AFFƒ=�0Œ1�means�supress�auto-form�feed�on�assign>‚PCP$TLRL‚=�0Œ0�means�wrap-around�print�if�logical�line�length3‚*˜exceeded.‚1�means�truncate�print�at�logical�line ‚*˜length.‚MSG‰8‚MSG‰*************************************************** ‚MSG‰**¯**%‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�DISK’**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES‰**0‚MSG‰**ƒ(DCP�=�DISK�CONFIGURATION�PARAMETERS)‡**5‚MSG‰**ƒ(VCP�=�VM22�Disk�Configuration�Parameters)‚** ‚MSG‰**¯**/‚MSG‰**ƒSome�values�are�not�used�by�all�diskˆ**-‚MSG‰**ƒdrivers.‚That�is�controlled�by�the‰**-‚MSG‰**ƒattributes�mask�and�the�parametersŠ**,‚MSG‰**ƒmask;�however,�each�parameter�and‹**0‚MSG‰**ƒattribute�is�specified�to�allow�disks‡**0‚MSG‰**ƒto�be�interchanged�between�controller‡**‚MSG‰**ƒboards.¥**-‚MSG‰**ƒEach�controller�board�driver�caresŠ**3‚MSG‰**ƒabout�different�device/media�attributes.„** ‚MSG‰**¯**8‚MSG‰***************************************************‚MSG‰‚*&‚DCP$WTOƒ=�0ŒWrite�Timeout�-�all�disks%‚DCP$RTOƒ=�0ŒRead‚Timeout�-�all�disks?‚DCP$HBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�hard�disksA‚DCP$FBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�floppy�disks>‚DCP$HSPT‚=�064ŠNumber�of�sector's�per�track�for�hard�disk-IPC@‚DCP$FSPT‚=�026ŠNumber�of�sector's�per�track�for�floppy�disk-IPC0‚DCP$HTNS‚=�0ŒHard�-�total�number�of�sectors-IPC2‚DCP$FTNS‚=�0ŒFloppy�-�total�number�of�sectors-IPC(‚DCP$HNOH‚=�0ŒHardƒ-�number�of�heads-IPC*‚DCP$FNOH‚=�2ŒFloppy�-�number�of�heads-IPC)‚DCP$HNOT‚=�0ŒHardƒ-�number�of�tracks-IPC,‚DCP$FNOT‚=�77‹Floppy�-�number�of�tracks-IPC*‚DCP$HILF‚=�0ŒHardƒ-�interleave�factor-IPC,‚DCP$FILF‚=�1ŒFloppy�-�interleave�factor-IPC&‚DCP$HSPL‚=�0ŒHardƒ-�spiral�offset-IPC(‚DCP$FSPL‚=�0ŒFloppy�-�spiral�offset-IPCJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.3‚DCP$NONE‚=�0Œdevice�attributes�for�IPC�disk�driver‚*5‚*�CONFIGURATION�INFORMATION�FOR�VM22�DISK�CONTROLLER‚*†Hard�and�floppy�disks:4‚*†The�values�given�for�the�hard�are�for�CMD�drives.1‚*†Refer�to�your�disk�drive�manual�if�you�are�not‚*†using�the�set�configuration.‚*†(H�=�Hard,�R�=�Removable)8‚*†The�values�given�for�th e�floppy�disks�are�for�8�inch,<‚*†single-sided,�single-density,�48�TPI�disks.‚Refer�to�your=‚*†disk�drive�manual�if�you�are�not�using�that�configuration.‚*†(F�=�Floppy)‚*1‚VCP$HTNS‚=�52672ˆtotal�#�of�sectors�-�fixed�disk+‚VCP$HSPT‚=�64‹#�sectors/track�-�fixed�disk"‚VCP$HHDS‚=�1Œ#�heads�-�fixed�disk4‚VCP$HTRK‚=�823Š#�of�cylinders�on�media�-�fixed�disk,‚VCP$HILV‚=�1Œinterleave�factor�-�fixed�disk(‚VCP$HSOF‚=�0Œspiral�offset�-�fixed�disk:‚VCP$HPSM‚=�256Šphysical�sector�size�of�media�-�fixed�disk9‚VCP$HSHD‚=�16‹starting�head�number�on�drive�-�fixed�disk4‚VCP$HTRD‚=�823Š#�of�cylinders�on�drive�-�fixed�disk1‚VCP$HCOM‚=�0Œpre-compensation�value�-�fixed�disk@‚VCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�fixed�disk‚*7‚VCP$RSHD‚=�0Œstarting�head�number�on�drive�-�remv�disk‚*1‚VCP$FTNS‚=�2002‰total�#�of�sectors�-�floppy�disk,‚VCP$FSPT‚=�26‹#�sectors/track�-�floppy�disk#‚VCP$FHDS‚=�2Œ#�heads�-�floppy�disk4‚VCP$FTRK‚=�77‹#�of�cylinders�on�media�-�floppy�disk-‚VCP$FILV‚=�1Œinterleave�factor�-�floppy�disk)‚VCP$FSOF‚=�0Œspiral�offset�-�floppy�disk;‚VCP$FPSM‚=�128Šphysical�sector�size�of�media�-�floppy�disk9‚VCP$FSHD‚=�0Œstarting�head�number�on�drive�-�floppy�disk4‚VCP$FTRD‚=�77‹#�of�cylinders�on�drive�-�floppy�disk3‚VCP$FCOM‚=�38‹pre-compensation�value�-�floppy�diskA‚VCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk‚*/‚*‚The�attributes�mask�and�parameter�mask�don't)‚*‚change�for�hard�disks�or�floppy�disks.‚*‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚FM�encoding‚*‚48�TPI�on�media‚*‚Single-sided�diskette‚*‚Motorola�format‚*‚Floppy�disk‚*‚48�TPI�on�drive‚*‚8-inch�disk‚*-‚VCP$HATM‚=�$0090ˆattributes�mask�-�hard�disk/‚VCP$FATM‚=�$025Fˆattributes�mask�-�floppy�disk,‚VCP$PM„=�$5FF3ˆparameters�mask�-�both�kinds,‚VCP$HAWƒ=�$0010ˆattributes�word�-�hard�disk.‚VCP$FAWƒ=�$0200ˆattributes�word�-�floppy�disk‚*4‚*‚The�attributes�mask�(word)�is�defined�as�follows:‚*=‚*ƒBit�0:‚MFM(1)/FM(0)�encoding�method�on�media�-�floppy�disk>‚*ƒBit�1:‚96(1)/48(0)�TPI�track�density�on�media�-�floppy�disk/‚*ƒBit�2:‚Double(1)/single(0)�sided�floppy�disk7‚*ƒBit�3:‚IBM(1)/Motorola(0)�media�format�-�floppy�disk8‚*ƒBit�4:‚Hard�disk(1)/floppy�disk(0)�media�-�both�disksA‚*ƒBit�5:‚MFM(1)/FM(0)�encoding�capability�on�drive�-�floppy�disk=‚*ƒBit�6:‚96(1)/48(0)�TPI�track�density�-�drive�-�floppy�disk@‚*ƒBit�7:‚Seek�req'd�with�head�switch(1)�-�SMD�drive�-�hard�disk@‚*ƒBit�8:‚Post-read(1)/Pre-write(0)�precompensation�-�both�disks5‚*ƒBit�9:‚8�inch(1)/5-1/4�inch(0)�media�-�floppy�disk‚*‚*;‚*�Configuration�information�for�Winchester�Disk�Controller‚*�hard�and�floppy�disks.<‚*�Refer�to�your�hard�disk�drive�manual�if�you�are�not�using‚*�the�set�configuration.‚*=‚*�These�values�are�for�5�1/4"�hard�disks�(ST506�compatible).<‚*�The�following�parameters�change�for�formatted�disk�sizes:6‚*‚5�megabyte�disks:�WCP$HTNS�=�19584ƒandƒWCP$HHDS�=�27‚*�10�megabyte�disks:�WCP$HTNS�=�39168ƒandƒWCP$HHDS�=�47‚*�15�megabyte�disks:�WCP$HTNS�=�58752ƒandƒWCP$HHDS�=�6‚*=‚*�The�values�given�for�the�floppy�disks�are�for�SA400‚5�1/4"<‚*�double�sided,�double�density,�96�TPI�disks.‚Refer�to�yourD‚*�floppy�disk�drive�manual�if�you�are�not�using�that�configuration.‚*0‚WCP$HTNS‚=�58752ˆtotal�#�of�sectors�-�hard�disk1‚WCP$FTNS‚=�2552‰total�#�of�sectors�-�floppy�disk*‚WCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚WCP$FSPT‚=�16‹#�sectors/track�-�floppy�disk!‚WCP$HHDS‚=�6Œ#�heads�-�hard�disk#‚WCP$FHDS‚=�2Œ#�heads�-�floppy�disk3‚WCP$HTRK‚=�306Š#�of�cylinders�on�media�-�hard�disk4‚WCP$FTRK‚=�80‹#�of�cylinders�on�media�-�floppy�disk+‚WCP$HILV‚=�1Œinterleave�factor�-�hard�disk-‚WCP$FILV‚=�1Œinterleave�factor�-�floppy�disk'‚WCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚WCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚WCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚WCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚WCP$H SHD‚=�0Œstarting�head�number�on�drive�-�hard�disk9‚WCP$FSHD‚=�0Œstarting�head�number�on�drive�-�floppy�disk3‚WCP$HTRD‚=�306Š#�of�cylinders�on�drive�-�hard�disk4‚WCP$FTRD‚=�80‹#�of�cylinders�on�drive�-�floppy�disk2‚WCP$HCOM‚=�153Špre-compensation�value�-�hard�disk3‚WCP$FCOM‚=�40‹pre-compensation�value�-�floppy�disk?‚WCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚WCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk0‚WCP$HSRD‚=�0Œstepping�rate�of�drive�-�hard�disk2‚WCP$FSRD‚=�0Œstepping�rate�of�drive�-�floppy�disk?‚WCP$HRWC‚=�0Œreduced�write�current�cylinder�number�-�hard�diskA‚WCP$FRWC‚=�0Œreduced�write�current�cylinder�number�-�floppy�disk/‚WCP$HECC‚=�0ŒECC�data�burst�length�-�hard�disk1‚WCP$FECC‚=�0ŒECC�data�burst�length�-�floppy�disk‚*@‚*‚The�attributes�word,�attributes�mask�and�parameter�mask�don't@‚*‚change�for�hard�disks.‚The�parameter�mask�and�attributes�mask>‚*‚don't�change�for�floppy�disks.‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�encoding ‚*‚96�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*-‚WCP$HATM‚=�$0010ˆattributes�mask�-�hard�disk.‚WCP$FATM‚=�$001Fˆattributes�mask�-�flopy�disk,‚WCP$PM„=�$1AF3ˆparameters�mask�-�both�kinds,‚WCP$HAWƒ=�$0010ˆattributes�word�-�hard�disk.‚WCP$FAWƒ=�$004Fˆattributes�word�-�floppy�disk‚*I‚*‚the�following�flags�define�the�attributes�word�for�the�WIN�controller:‚*E‚*WCP$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy‚*˜diskE‚*WCP$FTDN‚=�1�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy‚*˜disk<‚*WCP$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*WCP$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*WCP$HDSC‚=�1�(bit�4)„hard�disk"‚*WCP$FDSC‚=�0�(bit�4)„floppy�diskE‚*WCP$FTDD‚=�1�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy‚*˜disk7‚*WCP$FDSS‚=�0�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size‚*E‚*‚Configuration�information�for�the�SASI�controller�board�(SA1403D).7‚*‚Refer�to�your�disk�drive�manual�if�you�are�not�usingA‚*‚the�set�configuration.‚These�values�are�for�SA1000�fixed�disks‚*‚and�SA800�floppy�disks.‚*0‚SCP$HTNS‚=�32768ˆtotal�#�of�sectors�-�hard�disk1‚SCP$FTNS‚=�3991‰total�#�of�sectors�-�floppy�disk*‚SCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚SCP$FSPT‚=�26‹#�sectors/track�-�floppy�disk!‚SCP$HHDS‚=�4Œ#�heads�-�hard�disk#‚SCP$FHDS‚=�2Œ#�heads�-�floppy�disk3‚SCP$HTRK‚=�256Š#�of�cylinders�on�media�-�hard�disk4‚SCP$FTRK‚=�77‹#�of�cylinders�on�media�-�floppy�disk,‚SCP$HILV‚=�16‹interleave�factor�-�hard�disk.‚SCP$FILV‚=�13‹interleave�factor�-�floppy�disk'‚SCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚SCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚SCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚SCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚SCP$HSHD‚=�0Œstarting�head�number�of�drive�-�hard�disk9‚SCP$FSHD‚=�0Œstarting�head�number�of�drive�-�floppy�disk3‚SCP$HTRD‚=�256Š#�of�cylinders�on�drive�-�hard�disk4‚SCP$FTRD‚=�77‹#�of�cylinders�on�drive�-�floppy�disk0‚SCP$HCOM‚=�0Œpre-compensation�value�-�hard�disk2‚SCP$FCOM‚=�0Œpre-compensation�value�-�floppy�disk?‚SCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚SCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk0‚SCP$HSRD‚=�0Œstepping�rate�of�drive�-�hard�disk2‚SCP$FSRD‚=�0Œstepping�rate�of�drive�-�floppy�disk?‚SCP$HRWC‚=�0Œreduced�write�current�cylinder�number�-�hard�diskA‚SCP$FRWC‚=�0Œreduced�write�current�cylinder�number�-�floppy�disk/‚SCP$HECC‚=�0ŒECC�data�burst�length�-�hard�disk1‚SCP$FECC‚=�0ŒECC�data�burst�length�-�floppy�disk‚*@‚*‚The�attributes�word,�attributes�mask�and�parameter�mask�don't@‚*‚change�for�hard�disks.‚The�parameter�mask�and�attributes�mask>‚*‚don't�change�for�floppy�disks.‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�e ncoding ‚*‚48�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*'‚SCP$ATMƒ=�$0015ˆattributes�mask�-�both,‚SCP$PM„=�$02F3ˆparameters�mask�-�both�kinds-‚SCP$HAWƒ=�$0210ˆattributes�word�-�hard�disks/‚SCP$FAWƒ=�$020Dˆattributes�word�-�floppy�disks‚*7‚*‚the�following�flags�are�for�the�SASI�controller�disk‚*E‚*SCP$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy‚*˜diskE‚*SCP$FTDN‚=�0�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy‚*˜disk<‚*SCP$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*SCP$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*SCP$HDSC‚=�1�(bit�4)„hard�disk"‚*SCP$FDSC‚=�0�(bit�4)„floppy�diskE‚*SCP$FTDD‚=�0�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy‚*˜disk7‚*SCP$FDSS‚=�1�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size4‚MSG‰*********************************************** ‚MSG‰**«**/‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�MAG�TAPE�DRIVE„**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(MCP�=�MAG�TAPE�CONFIG.�PARAMETERS)…** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*;‚MCP$WTOƒ=�5000‰Write�Timeout�(5�seconds�to�write�4K�bytes);‚MCP$RTOƒ=�360000‡Read‚Timeout�(6�minutes�to�read�4K�bytes,,‚*što�search�for�a�file�mark,to�read�a�blank&‚*štape�to�the�end�of�tape,�to�rewind)6‚MCP$DENƒ=�0ŒDensity�selected�for�write�from�loadpoint ‚*š0�means�1600�bpi�(PE�density)!‚*š1�means‚800�bpi�(NRZI�density)6‚MCP$RDTƒ=�3ŒNumber�of�read�tries�before�error�message1‚MCP$WRTƒ=�3ŒNumber�of�write�tries�before�erasing:‚MCP$ERTƒ=�1ŒNumber�of�times�to�erase�before�error�message‚*<‚MCP$ATMƒ=�$0002ˆBit�1�is�recognized�for�a�configure�command9‚MCP$PM„=�$00F0ˆDEN,RDT,WRT,ERT�fields�are�recognized�for‚*ša�configure�command.‚* ‚MCP$AW„=�$0000ˆBit�0�=�RESERVED4‚*˜Bit�1�=�1�means�user�requests�a�density�for�write2‚*˜Bit�1�=�0�means�user�does�not�request�a�density‚*‚MSG‰A‚MSG‰************************************************************7‚MSG‰**…Descriptive�info�about�this�operating�system‡**A‚MSG‰************************************************************5‚SYSNAMEƒ=�"VERSAdos"ƒName�for�this�operating�system.:‚REVISION‚=�"REV�04.30"‚Revision�of�this�operating�system.7‚TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.>‚TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.A‚MEMEND1ƒ=�$20000‡Ending�addr�for�on-board‚memory�must�be�<�this.9‚MEMEND2ƒ=�$20000‡Starting‚addr�for�off-board�memory�must‚*˜be�>=�this.2‚*˜Note:�For�VM11-2(512k)�RAM�board�set�MEMEND2�to#‚*ž$40000.�Jumper�board�accordinly.E‚MEMEND3ƒ=�$E0000‡Ceiling�addr�for�off-board�memory�(must�be�<�this).;‚WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded2‚*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will#‚*˜be�moved�at�initialization�time.<‚DPRVAO„=�0ŒThe�VM02's�onboard�RAM�may�be�jumpered�to�appear/‚*˜at�a�variety�of�different�addresses�from�the1‚*˜VERSAbus,�but�it�always�appears�at�0�for�local0‚*˜accesses.‚Set�this�parameter�to�the�offset�at/‚*˜which�the�RAM�is�jumpered�to�appear�from�the ‚*˜VERSAbus.‚MSG‰A‚MSG‰************************************************************;‚MSG‰**�VALPAR�--�Validate�parameters�to�keep�you�honest‡**A‚MSG‰************************************************************‚SUBSˆVM02.VALPAR.AG‚ASM‰VM02.VALPAR.AG,,\ASMLS;R-C ‚*’VALPARFOF ‚IFGTˆ\$RDD…PAUSE‡Abort�sysgen�if�errors�in�assembly�-�else�hit�carriage�return‚ENDC ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSGA‚MSG‰************************************************************/‚MSG‰**ƒCopy�C8OC.SYSPAR.RO�into�&.SYSPAR.RO‘**A‚MSG‰************************************************************‚MSG‚*#‚=COPY‚C8OC.SYSPAR.RO,&.SYSPAR.RO;Y‚*‚MSG‰B‚MSG‰*************************************************************#‚MSG‰**…Generate�exec�process�--œ**B‚MSG‰************************************************************* ‚*’EXECFOFB‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~*‚MSG‰*„PROCESS�VM02.RMS.LO¤*B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* ‚PCˆ=�$E00 ‚STACK…=�$C00‚STARTRMS‚=�$F00‚PROCESS…VM02.RMS.LO ‚END‰EXEC‚IFEQˆ\LINKLSW…=COPY‡VM02.RMS.LL,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************‚MSG‰**ˆPhysical�IPC�driverž**B‚MSG‰************************************************************* ‚IPCDRVRƒ=�*‚IFNEˆ\TOTDSK+\NOMCCMS…SUBSˆIPCDRV.LG…LINKˆIPCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…IPCD …END‰IPCD …*’IPCDFOF‚ENDC‚MSG‰B‚MSG‰*************************************************************&‚MSG‰**ˆVM22�Disk�Controller�Driver–**B‚MSG‰*************************************************************‚MSG‰ ‚VM22DRVƒ=�* ‚IFNEˆ\NOVM22…SUBSˆVM22DRV.LG…LINKˆVM22DRV.LG…IFEQˆ\LINKLSWŠ=COPY‰\LINKLS,\WORKLS;A…ENDC…PROCESS…VM22DRV …END‰VM22DRV‚ENDC **+++++++++C‚MSGˆ***************************************************************‚MSGˆ*�Winchester�disk�controller�driverš*C‚MSGˆ**************************************************************‚MSG ‚WINDRVR„=‚* ‚IFNEŠ\NOWIN‚SUBSŠWINDRV.LG‚LINKŠWINDRV.LG‚IFEQŠ\LINKLSW‚=COPY‰\LINKLS,\WORKLS;A‚ENDC ‚PROCESS‡WIND ‚END‹WIND *’WINDFOF‚ENDCK*-------------------------------------------------------------------------- **+++++++++G‚*---------------------------------------------------------------------‚MSG‰C‚MSG‰**************************************************************$‚MSG‰*‚SASI�disk�controller�driverŸ*C‚MSG‰**************************************************************‚MSG‰ ‚SASIDRVƒ=�* ‚IFNEˆ\NOSASI…SUBSˆSASIDRV.LG…LINKˆSASIDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,WORKLS;A…ENDC…PROCESS…SASIDRV …END‰SASIDRV …*’SASIDRVFOF‚ENDCG‚*---------------------------------------------------------------------B‚MSG‰*************************************************************4‚MSG‰**‡MPSCDRV�(7201)�DRIVER�FOR�LOCAL�TERMINALS‰**B‚MSG‰************************************************************* ‚MPSCSUPƒ=�*‚IFGTˆ\NOTERM02…SUBSˆMPSCSUP.LG…LINKˆMPSCSUP.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCSUP …END‰MPSCSUP‚ENDC ‚MPSCSPRƒ=�*‚IFGTˆ\NOTERM40…SUBSˆMPSCSPR.LG…LINKˆMPSCSPR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCSPR …END‰MPSCSPR‚ENDC ‚MPSCDRVƒ=�*‚IFGTˆ\NOTERM02+\NOTERM40…SUBSˆMPSCDRV.LG…LINKˆMPSCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCDRV …*’MPSCDRVFOF …END‰MPSCDRV‚ENDC ‚MSG‰B‚MSG‰*************************************************************4‚MSG‰**�IF�WE�HAVE�LOCAL�PRINTERS,�ADD�THE�DRIVER�**B‚MSG‰*************************************************************‚MSG‰ ‚PRTDRVRƒ=�* ‚IFNEˆ\NOLPRT…SUBSˆPRTDRV.LG…LINKˆPRTDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…PRTD …*’PRTDFOF …END‰PRTD‚ENDC‚MSGH‚MSG„*******************************************************************,‚MSG„*‰COPY�C8OC.SYSPAR.RO�INTO�.&.SYSPAR.ROH‚MSG„*******************************************************************‚MSG#‚=COPY‚C8OC.SYSPAR.RO,&.SYSPAR.RO;Y‚*‚*N‚*----------------------------------------------------------------------------‚IFNE�\NVME610+\NVME620‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�610/620�DRIVER¥*G‚MSG„******************************************************************‚MSGG‚D610QSIZ�=�128ƒMinimum�number�of�entries�in�Interrupt�Processing�Queue A‚INCLUDE�.&.D610GEN.CI„INCLUDE�the�SYSGEN�commands�for�the�driver ‚ENDCN‚*---------------------------------------------------------------------------- ‚IFNEƒ\NDAC1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�605�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D605GEN.CI‚ENDC ‚IFNE‚\NACO‚MSGG ‚MSG„******************************************************************‚MSG„*‰VME�615�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D615GEN.CI‚ENDC ‚IFNE‚\NDCO1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�625�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D625GEN.CI‚ENDCO*******************************************************************************O******************************************************************************* ‚MSG‰B‚MSG‰*************************************************************/‚MSG‰**�IF�WE�HAVE�MAG�TAPES,�ADD�THE�DRIVER”**B‚MSG‰*************************************************************‚MSG‰ ‚MTADRVRƒ=�* ‚IFNEˆ\NOMTAT…SUBSˆMTADRVR.LG…LINKˆMTADRVR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…MTAD …*’MTADFOF …END‰MTAD‚ENDC‚*‚MSG‰%‚MEMBEG„=�*ŒStart�of�available�memory ‚*’IXRFOF ‚SUBSˆIXR.AG‚ASM‰IXR.AG,IXR.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰@‚MSG‰***********************************************************=‚MSG‰**‚IOS�--�Input/Output�Services�(trap�#2�server�task)ƒ**@‚MSG‰***********************************************************‚TASKˆIOS,.IOS‚STATE…=�'DORM'‚PRIORITY‚=�$D1 ‚SESSIONƒ=�1‚IOSSTR„=�*ŒIOS�load�addr.!‚IOSASR„=�*+2ŠIOS�ASR�entry�point ‚*’IOSFOF ‚SUBSˆIOS.LG ‚LINKˆIOS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOS‚MSG‰B‚MSG‰*************************************************************>‚MSG‰**ƒFHS�--�File�Handling�Services�(trap�#3�server�task)ƒ**B‚MSG‰*************************************************************‚TASKˆFHS,.FHS‚STATE…=�'DORM' ‚SESSIONƒ=�1‚PRIORITY‚=�$D1‚FHSSTR„=�*ŒFHS‚load�addr.!‚FHSASR„=�*+2ŠFHS�ASR�entry�point ‚*’FHSFOF ‚SUBSˆFHS.LG ‚LINKˆFHS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FHS‚MSG‰B‚MSG‰*************************************************************(‚MSG‰**ˆFMS�--�File�Management�System”**B‚MSG‰*************************************************************‚TASKˆFMS,.FMS‚STATE…=�'DORM'‚PRIORITY‚=�$D0‚FMSSTR„=�*ŒFMS�load�addr.!‚FMSASR„=�*+2ŠFMS�ASR�entry�point ‚*’FMSFOF ‚SUBSˆFMS.LG ‚LINKˆFMS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FMS‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆEET�--�Entry�Exit�Task›**B‚MSG‰*************************************************************‚TASKˆEET,&EET‚STATE…=�'READ' ‚SESSIONƒ=�2‚PRIORITY‚=�$C8‚EETSTR„=�*ŒEET�load�addr. ‚*’EETFOF1%‚SUBSˆEET.LG,9995.&.EET.EQ,CMDLIST.AG'‚ASM‰EET.EQ/CMDLIST.AG,CMDLIST,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC ‚LINKˆEET.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰EET‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**ˆLDR�--�Loader�(trap�#4�server�task)Ž**B‚MSG‰*************************************************************‚TASKˆLDR,&LDR‚STATE…=�'READ'‚PRIORITY‚=�$C8 ‚SESSIONƒ=�4‚LDRSTR„=�*ŒLDR�load�addr.‚SUBSˆNOMMU.LOADER.LG‚LINKˆNOMMU.LOADER.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚*’LDRFOF‚END‰LDR‚MSG‰@‚MSG‰***********************************************************‚MSG‰**ˆIOCOM�&�IOI¤**@‚MSG‰***********************************************************‚TASKˆIOI,.IOI‚STATE…=�'READ' ‚SESSIONƒ=�1‚PRIORITY‚=�$DA ‚IOCSTR„=�*‚SUBSˆVM02.IOC.AG1‚ASM‰IODM.AG/VM02.IOC.AG,VM02.IOC.RO,\ASMLS;RZ=95 ‚*’IOIFOF1 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVM02.ASR.AG#‚ASM‰VM02.ASR.AG,VM02.ASR.RO,\ASMLS ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC.‚ASM‰VM02.OSLIST.AG,VM02.OSLIST.RO,\ASMLS;Z=95 ‚*’IOIFOF2 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVM02.IOI.LG‚LINKˆVM02.IOI.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚*’IOIFOF3‚END‰IOIE‚MSG‰*********************************** *****************************‚MSG‰*C‚MSG‰*‚Special�I/O�Channnel�Initializer�for�Process�Control�Drivers‚MSG‰*E‚MSG‰**************************************************************** ‚IFNEˆ\PCDRV…INCLUDE….&.IOCI.CI‚ENDC‚MSG‰@‚MSG‰***********************************************************%‚MSG‰**ˆINIT�--�System�Initializer•**@‚MSG‰*********************************************************** ‚PROCESS…INIT ‚INTSTR„=�*%‚SUBS…VM02.INITIO1.AG,VM02.INITIO2.AG‚SUBS…VM02.INT1.LG,VM02.INT2.LG-‚ASM†VM02.INITIO1.AG,VM02.INITIO1.RO,\ASMLS;R ‚IFEQ…\ASMLSW…=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VM02.INT1.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC‚=COPY„\LINK2TF,\LINK1TF;Y ‚IFNE…\NDAC1‰INCLUDEƒ.&.D605MEM.CI‚ENDC  ‚IFNE…\NACO‰INCLUDEƒ.&.D615MEM.CI‚ENDC ‚IFNE…\NDCO1‰INCLUDEƒ.&.D625MEM.CI‚ENDC ‚IFNE…\NVME610+\NVME620‰INCLUDEƒ.&.D610INT.CI‚ENDC-‚ASM�VM02.INITIO2.AG,VM02.INITIO2.RO,\ASMLS;R ‚IFEQ…\ASMLSW‹=COPY…\ASMLS,\WORKLS;A‚ENDC‚SUBS…M68XXX.INITDAT.AG1‚ASM†M68XXX.INITDAT.AG,M68XXX.INITDAT.RO,\ASMLS;R ‚IFEQ…\ASMLSW†=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VM02.INT2.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC ‚*’INITFOF ‚END‰INIT@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚MSG‰*¹*)‚MSG‰*‹MAKE�SUBSTITUTIONS�IN�VERSAPT.CFŽ*‚MSG‰*¹*@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚SUBSˆVM02.VERSAPT.CF‚MSG‰@‚MSG‰***********************************************************@‚MSG‰***********************************************************5‚MSG‰**‡"SYSGEN�COMPLETION�PROCESSING�IN�PROGRESS"†**‚MSG‰**“Have�a�nice�day.”**@‚MSG‰***********************************************************@‚MSG‰*********************************************************** ‚END‰SYSGENééé=OPT -N=/**********************=/*�VM02.SYSGEN.CF…*=/**********************=OPT K,NM=/***************************************************************************"=/*�Chain�file�to�perform�sysgen¬*=/*É*=/*�Calling�sequence:·*=/*É*)=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5£*=/*É*7=/*„Not�all�of�the�arguments�need�to�be�entered�since”*$=/*†they�each�have�a�default�value¥*=/*É*6=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)•*=/*É*,=/*„arg2�-�Temp�vol�and�user�no./Boot�fileŸ*9=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and‰*)=/*�user�number�of�command�file�(arg1).—**=/*�Boot�file�defaults�to�'VERSADOS.SY'.˜*=/*É*=/*É*9=/*„arg3�-�List�device�or�file�name�for�sysgen�messages’*=/*�(defaults�to�SYSLIST.LS)¤*;=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extension‰*=/*É*9=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the�*4=/*�three�command�line�fields�used�in�invoking�theŽ*=/*�sysgen�utility�directly.¤*=/*É*E=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')†*=/*É*5=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)–*A=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.*:=/*�All�assembly�listings�and�link�maps�will�be�directedˆ*<=/*�To�the�speci fied�device�or�file�using�the�copy�utility†*>=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediateƒ*7=/*�file�to�contain�the�assembly�or�link�list�output.‹*@=/*�Due�to�restrictions�in�sysgen�literal�substitution�process‚*8=/*�this�field�cannot�contain�more�than�10�characters.Š*M=/***************************************************************************=/*5=/* Insure that no more than 5 arguments are defined:=/*=/RX=\0 =/IF RX>5ƒ=OPT�-N<ƒ=/*�Error�-�chain�file�started�with�more�than�5�arguments�-5ƒ=/*ƒPlease�restart,�the�argument�definitions�follow:ƒ=/*(ƒ=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5ƒ=/*6ƒ=/*„Not�all�of�the�arguments�need�to�be�entered�since$ƒ=/*†they�each�have�a�default�value.ƒ=/*8F$O,5ƒ=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)ƒ=/*+ƒ=/*„arg2�-�Temp�vol�and�user�no./Boot�file8ƒ=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and(ƒ=/*�user�number�of�command�file�(arg1).)ƒ=/*�Boot�file�defaults�to�'VERSADOS.SY'.ƒ=/*Gƒ=/&�**�Type�carriage�return�or�more�information,�'break'�to�terminate.ƒ=/*8ƒ=/*„arg3�-�List�device�or�file�name�for�sysgen�messagesƒ=/*�(defaults�to�SYSLIST.LS):ƒ=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extensionƒ=/*8ƒ=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the3ƒ=/*�three�command�line�fields�used�in�invoking�theƒ=/*�sysgen�utility�directly.ƒ=/*Dƒ=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')ƒ=/*4ƒ=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)Aƒ=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.9ƒ=/*�All�assembly�listings�and�link�maps�will�be�directed;ƒ=/*�To�the�specified�device�or�file�using�the�copy�utility=ƒ=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediate6ƒ=/*�file�to�contain�the�assembly�or�link�list�output.?ƒ=/*�Due�to�restrictions�in�sysgen�literal�substitution�process7ƒ=/*�this�field�cannot�contain�more�than�10�characters.ƒ=/*ƒ=END=/ENDIF=/*2=/* Force the definition of 5 exactly 5 arguments.=/* =/IF RX=0+ƒ=ARG�SYSCMD.CD,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=1$ƒ=ARG�\1,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=2&ƒ=ARG�\1,\2,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=3ƒ=ARG�\1,\2,\3,SINGLE-HARD,#PR=/ENDIF =/IF RX=4ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*8=/* We have 5 arguments - now default any null arguments=/*=/IFC \1ƒ=ARG�SYSCMD.CD,\2,\3,\4,\5=/ENDIF=/*=/IFC \3ƒ=ARG�\1,\2,SYSLIST.LS,\4,\5=/ENDIF=/*=/IFC \4ƒ=ARG�\1,\2,\3,SINGLE-HARD,\5=/ENDIF=/*=/IFC \5ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*N=/* If arg5 is not #PR,#PR1,#PR2,#PR3,# or #NULL then treat as file and delete:=/*ƒset�switch�(arg6)�to�1�for�printer�device,�0�for�file.=/*0=ARG \1,\2,\3,\4,\5,0,#PR,#PR1,#PR2,#PR3,#,#NULL =/FOR 7,\0ƒ=/IFEQ�"\5"\(RX)1†=ARG�\1,\2,\3,\4,\5,1,#PR,#PR1,#PR2,#PR3,#,#NULLƒ=/ENDIF=/ENDFOR=/RX=\6 =/IF RX=0ƒ=DEL�\5=/ENDIF=/*=/* Set switch (arg7) TO:=/*„01�--‚SINGLE-HARD=/*=ARG \1,\2,\3,\4,\5,\6,10=/IFEQ "\4"SINGLE-HARDƒ=ARG�\1,\2,\3,\4,\5,\6,01=/ENDIF=/*9=/* Abort chain if an invalid configuration was requested=/*=/RX=\7 =/IF RX=10ƒ=OPT�-N3ƒ=/*‚\4�is�an�invalid�configuration�-�(argument�#4)8ƒ=/*…The�only�valid�configuration�is�'SINGLE-HARD'�which3ƒ=/*…is�the�default.�Please�restart�chain�file�withƒ=/*…correct�parameters.ƒ=END=/ENDIF#=ARG \1,\2,\3,\4,\5,\6,\7,SYSGEN.TF=/*3=/* The argument list now looks like the following:=/* =/*ƒarg1ƒ-ƒName�of�command�file.=/*0=/*ƒarg2ƒ-ƒTemporary�volume/boot�file�(or�null).=/*3=/*ƒarg3ƒ-ƒList�device�or�file�for�sysgen�messages.=/*(=/*ƒarg4ƒ-ƒSystem�configuration�mnemonic=/*�'SINGLE-HARD'=/*�(see�arg7)=/*@=/*ƒarg5ƒ-ƒLis ting�file�or�device�for�assemblies�and�link-edits.4=/*�SYSGEN.TF�is�the�temporary�file�which�is�used�in1=/*�conjunction�with�=COPY�;A�to�produce�a�single=/*�listing�file.=/*�(see�arg6)=/*=/*ƒarg6ƒ-ƒSwitch�-"=/*�0�=‚arg5�specifies�a�file�name=/*�1�=‚arg5�specifies�a�device=/*�(see�arg5)=/*%=/*ƒarg7ƒ-ƒNumber�configuration�key�-%=/*�01�=‚signle-user�hard�disk�system=/*�(see�arg4)=/*8=/*ƒarg8ƒ-ƒSYSGEN.TF�temporary�file�for�use�with�copy�in+=/*�creating�listing�file�specified�by�arg3=/*=/*9=/* Justify argument positions and invoke sysgen utility.=/*=ARG \5,\6,\7,\8,\1,\2,\3,\4=/*)=/* Turn off echo of sysgen command lines=OPT J=OPT -N=SYSGEN VM02.\5,\6,\7;T=350 =OPT -J,-N8=/**‚Applying�patches�from�XVERSAPT.CF�to�the�boot�file.=/@ VM02.XVERSAPT.CFM=/***************************************************************************M=/***************************************************************************=/**=/**‚Sysgen�Completed�--=/**6=/**„Assembly�and�link�listings�have�been�output�to�\1=/**1=/**„Sysgen�command�listing�has�been�output�to�\7=/**M=/***************************************************************************M=/***************************************************************************=OPT -K=ENDééééééd1IOI ASREL'VM02 IOI SA „VERSAdos I/O Initialization System Task V 4.1 - 09/13/82×2pFMSDLEN pNOTASKS pNOCDCB pNODCBS pNOFCBS pIOCOML pIOCOMS pCCSEG pOSMTBL pNODVS pNOFATS pOSMEND pFHSASR pFMSASQ  pFMSASR pNOLPRT pIOSASR pNOVDTS pNOLTERM !@F3`F3$ IOSG((K3´@€.|*B#ü()2"|(J‘gH |)N1i!iG3Lé? Hè? (g (f(p=/*ƒcontain�patches�to�be�applied�to�VERSADOS�after�the�sysgen =/*ƒprocess.=/*=PATCH VERSADOS.SYH*---+----:----+----:----+----:----+----:----+----:----+----:----+----:--H*>----------------------------------------------------------------------O�\IOSSTR�*�Start�of�IOSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FHSSTR�*�Start�of�FHSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FMSSTR�*�Start�of�FMSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\EETSTR�*�Start�of�EETH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\LDRSTR�*�Start�of�LDRH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\IOCSTR�*�Start�of�IOCH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\INTSTR�*�Start�of�INTH*<----------------------------------------------------------------------QUIT=/*!=/*†PATCH�IPCDRV�ONLY�IF�IT�EXIST=/*=/RD = \TOTDSK+\NOMCCMS =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\IPCDRVRŽ*�Start�of�IPCDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�VM22DRV�ONLY�IF�IT�EXIST=/*=/RD = \NOVM22 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\VM22DRV�*�Start�of�VM22DRVZ1c>H*<----------------------------------------------------------------------QUIT=/ENDIF=/*!=/*†PATCH�PRTDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOLPRT =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PRTDRVRŽ*�Start�of�PRTDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCSUP�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM02 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSUPŽ*�Start�of�MPSCSUPH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCSPR�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM40 =/IF�RD‚>=�0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSPRŽ*�Start�of�MPSCSPRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM02+\NOTERM40 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCDRVŽ*�Start�of�MPSCDRVH*<----------------------------------------------------------------------QUIT=/ENDI F=/*#=/*†PATCH�MTADRVR�ONLY�IF�IT�EXISTS=/*=/RD = \TOTM435 =/IF RD <> 0=PATCH VERSADOS.SYG*>---------------------------------------------------------------------O�\MTADRVRŽ*�Start�of�MTADRVRG*<---------------------------------------------------------------------QUIT=/ENDIF=/*8=/* SYSTEM MUST BE RE-BOOTED FOR PATCHES TO TAKE EFFECT.=/*=ENDé PAGEO*********************************************************************************ˆIOC�--�DEFINE�DCB'S�AND�CDB'S*&*ˆThe�macros�used�are�defined�in�IODM.*%*ˆ9/2/83„modified�for�mag�tape�driver4*ˆ11/10/83‚modified�to�use�IOCVEC�and�IOCLVL�equates&*’includes�Winchester�and�SASI�drivers*’mag�tape�at�level�1**O******************************************************************************* *@*‚This�section�becomes�IOCOMS,�which�is�used�by�FMS,�IOS,�&�FHS.*#IOCOM„IDNT†04,01‡I/O�COMMON�SEGMENT SECTION 0 OPT MEX XDEF IOCOMS,IOCOML,CCSEG *1*‚Define�the�physical�addresses�of�device�drivers*‚using�the�SYSGEN�parameters.*PRT†EQU‡\PRTDRVRMSUP…EQU‡\MPSCSUPMSPR…EQU‡\MPSCSPRMPSC…EQU‡\MPSCDRVIPC†EQU‡\IPCDRVRVM22…EQU‡\VM22DRVMTA†EQU‡\MTADRVRWIN†EQU‡\WINDRVRSASI…EQU‡\SASIDRV PAGE*6*‚Here�are�parameters�describing�the�tables�and�lists.*IOCOMS  DC.L 0 I/O sysgen options. ( DC.L DCQSTR Start address of DCQ space.&�DC.L�DCQEND�Endƒaddress�of�DCQ�space.�DC.L�0†Address�of�1st�DCQ. ( DC.L LUTSTR Start address of LUT space.&�DC.L�LUTEND�Endƒaddress�of�LUT�space.�DC.L�0†Address�of�1st�LUT. ( DC.L DCBTBL Start address of DCB space.&�DC.L�DCBEND�Endƒaddress�of�DCB�space. DC.L DCBTBL Address of 1st DCB.  DC.L 0 SEMAPHORE FLAG&�DC.B�'\SYSNAME'„OPERATING�SYSTEM�I.D.�DC.B�'\REVISION'ƒANDƒREVISION( DC.L 0,0,0 TASK ID FOR UNCLAIMED BREAKS PAGEO********************************************************************************C*ˆStorage�for�DCQ's�and�LUT's.‚Initially�these�two�lists�are�empty.*O******************************************************************************* * *‚DCQ�space.* DCQSTR EQU * DS.B 256*\DCQPGEDCQEND EQU *-1 * *‚LUT�space.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1‰PAGEO**********************************************************************************ˆDefine�DCB's�based�on�SYSGEN�parameters.* kVt,|9„0Œ0”-œ0¤:¬C´B¼@Ä5Ì<ÔAÜRäNìFôKüCO******************************************************************************* *DCBTBL�EQU�*‡This�is�the�top�of�DCB�space. &**************************************$*‚SET�UP�DCB'S�FOR�LOCAL�TERMINALS‚*&************************************** CCRTDV„SET‚'CN00'„First�local�terminal�is�#CN00,�next�is�#CN01,�etc.  IFGT \NOTERM02ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8& \WCP$FILV,\WCP$FSOF,\WCP$FPSM,\WCP$FSHD,\WCP$FTRD,\WCP$FCOM,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC‚IFGE‚\FDWIN-2*9*�2ND�FLOPPY�DISKƒ#FDx3�-�8"�single�density,�double�sided*DSKNMƒSET�DSKNM+1WCP$FAW8 SET $0204WCP$FTNS SET 4004H DSKDCB DSKNM,IOSID,IOSESS,$1F,71,4,'WIND',3,\WCP$FATM,\WCP$PM,WCP$FAW8,L& \DCP$FBPS/2,WCP$FTNS,\DCP$WTO,\DCP$RTO,\WCP$FSPT+10,\WCP$FHDS,\WCP$FTRK-3,D& \WCP$FILV,\WCP$FSOF,\WCP$FPSM/2,\WCP$FSHD,\WCP$FTRD-3,\WCP$FCOM-2,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC ENDC** ‚IFNEƒ\NOSASI$*************************************¢**ƒSet�up�DCBs�for�disks�on‡**ƒMVME420�-�SA1403�diskŠ* *ƒcontroller.*¢*$*************************************0DSKDVƒSETƒDSKDV+$100�Bump�controller�number�by�1‚IFGE�\HDSASI-1**�1ST�HARD�DISK„#HDx0*DSKNMƒSET‚HDDV+DSKDV+$30G DSKDCB DSKNM,IOSID,IOSESS,$1F,75,4,'SASI',0,\SCP$ATM,\SCP$PM,\SCP$HAW,F& \DCP$HBPS,\SCP$HTNS,\DCP$WTO,\DCP$RTO,\SCP$HSPT,\SCP$HHDS,\SCP$HTRK,>& \SCP$HILV,\SCP$H SOF,\SCP$HPSM,\SCP$HSHD,\SCP$HTRD,\SCP$HCOM,)& \SCP$HPTD,\SCP$HSRD,\SCP$HRWC,\SCP$HECC‚ENDC‚IFGE‚\HDSASI-2**�2ND�HARD�DISK„#HDx1*DSKNMƒSET‚DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,75,4,'SASI',1,\SCP$ATM,\SCP$PM,\SCP$HAW,F& \DCP$HBPS,\SCP$HTNS,\DCP$WTO,\DCP$RTO,\SCP$HSPT,\SCP$HHDS,\SCP$HTRK,>& \SCP$HILV,\SCP$HSOF,\SCP$HPSM,\SCP$HSHD,\SCP$HTRD,\SCP$HCOM,)& \SCP$HPTD,\SCP$HSRD,\SCP$HRWC,\SCP$HECC‚ENDC‚IFGE‚\FDSASI-1**�1ST�FLOPPY�DISK„#FDx2*DSKNMƒSET�FDDV+DSKDV+$32G DSKDCB DSKNM,IOSID,IOSESS,$1F,76,4,'SASI',2,\SCP$ATM,\SCP$PM,\SCP$FAW,F& \DCP$FBPS,\SCP$FTNS,\DCP$WTO,\DCP$RTO,\SCP$FSPT,\SCP$FHDS,\SCP$FTRK,>& \SCP$FILV,\SCP$FSOF,\SCP$FPSM,\SCP$FSHD,\SCP$FTRD,\SCP$FCOM,)& \SCP$FPTD,\SCP$FSRD,\SCP$FRWC,\SCP$FECC ENDC‚IFGE‚\FDSASI-2**�2ND�FLOPPY�DISK…#FDx3*DSKNMƒSET�DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,76,4,'SASI',3,\SCP$ATM,\SCP$PM,\SCP$FAW,F& \DCP$FBPS,\SCP$FTNS,\DCP$WTO,\DCP$RTO,\SCP$FSPT,\SCP$FHDS,\SCP$FTRK,>& \SCP$FILV,\SCP$FSOF,\SCP$FPSM,\SCP$FSHD,\SCP$FTRD,\SCP$FCOM,)& \SCP$FPTD,\SCP$FSRD,\SCP$FRWC,\SCP$FECC ENDC ENDC* ‰PAGEE**********************************************************************ˆMAG�TAPE�DRIVER�ADDITIONC*******************************************************************�IFNE…\TOTM435(*****************************************¦*$*‚SET�UP�DCB'S�FOR�MAG�TAPE�DRIVER„**¦*(******************************************—FIRST�BOARD‰SECOND�BOARD**FIRST�TRANSPORT‹MT00‘MT10*SECOND�TRANSPORTŠMT01‘MT11*THIRD�TRANSPORT‹MT02‘MT12*FOURTH�TRANSPORTŠMT03‘MT13*….*….*….*EIGHTH�TRANSPORTŠMT07‘MT17**MTA0DVƒSET‡$00003000‹__0_MTA1DVƒSET‡$00003100‹__1_MTDV…EQU‡$4D540000‹MT__ ‚IFNE‚\NOMTA0*%*ƒFIRST�TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTDV+MTA0DV+$30G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',0,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-1*&*ƒSECOND‚TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',1,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-2*%*ƒTHIRDƒTAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',2,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-3*&*ƒFOURTH‚TAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',3,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-4*%*ƒFIFTHƒTAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',4,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-5*%*ƒSIXTHƒTAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',5,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-6*'*ƒSEVENTH�TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',6,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA0-7*&*ƒEIGHTH‚TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',7,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFNE‚\NOMTA1*&*ƒFIRST‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTDV+MTA1DV+$30G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',0,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-1*'*ƒSECOND‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',1,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RT O,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-2*&*ƒTHIRDƒTAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',2,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-3*'*ƒFOURTH‚TAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',3,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-4*&*ƒFIFTHƒTAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',4,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-5*&*ƒSIXTHƒTAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',5,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-6*(*ƒSEVENTH�TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',6,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGT‚\NOMTA1-7*'*ƒEIGHTH‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',7,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC‚ENDC ‰PAGE5*****************************************************3*‚SET�UP�DCB�FOR�NULL�DEVICE;�THIS�MUST�ALWAYS�BE‚*/*‚LAST�SINCE�ITS�POINTER�TO�NEXT�IS�SET�TO�0.†*5***************************************************** LLUN: ‰DC.L†0‰ADDRESS�NEXT�DCB�IN�LIST.‰DC.L†'NULL'„ASCII�IDENTIFICATION�FOR�THIS�DCB‰DC.L†0‰DCQ�LIST‰DC.L†0,0‡DRIVER�ID/SESSION‰DC.L†0‰ADDRESS�OF�LUT‰DC.L†$FF‡DEVICE�ATTRIBUTES‰DC.W†0‰W/R�PROTECT�CODES‰DC.W†0‰DEVICE�IN�USE�FLAG‰DC.L†0‰W/R�COUNT#‰DC.B…$FFˆDEVICE�FLAG�(DEVICE�CODE)#‰DC.B†1‰DEVICE�FLAG�(DEVICE�STATUS)‰DC.L†0‰CHANNEL�ID‰DC.B†0‰CHANNEL�DEVICE�NO.‰DC.B†0‰REQUESTOR'S�PRIORITY‰DC.L†0‰CURRENT�RECORD�NO.1‰DS.B†IOSBLN„ROOM�FOR�REQUESTOR'S�PARAMETER�BLOCK:‰DC.L†0‰LOGICAL�ADDR�OF�PARAMETER�BLK�IN�USER�MEMORY�SPACE'‰DC.B†0‰CONFIGURATION�COORDINATION�FLAG‰DC.B†0‰BREAK�COUNT$‰DC.L†0‰ADDRESS�OF�BREAK�SERVICE�LUT‰DC.L†0‰BREAK�SERVICE�ADDRESS>‰DC.L†0,0,0,0ƒBUFFER�ZONE�BETWEEN�DEVICE�INDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACE�FOR�CONFIGURATION�INFO‰DCB.B…DCBLEN-(*-LLUN),0 (DCBEND�EQU�*-1…End�address�of�DCB�space.HIOCOML EQU (*-IOCOMS+255)/256*256 Get length of common segment (force to*§next�page�boundary). PAGE SECTION 1‰PAGEO*********************************************************************************‰CHANNEL�DATA�BLOCKS*O******************************************************************************* CCSEG EQU * ******‚LOCAL�PRINTERS IFGT \NOLPRT@ CDB 0,'CPRT',XTPRTL,254,PRT,0,\LPDA$00,7,\IOCVEC1,\IOCLVL1,$10,&ƒ0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOLPRT-1@ CDB 0,'CPR1',XTPRTL,254,PRT,0,\LPDA$01,7,\IOCVEC1,\IOCLVL1,$10,&ƒ0,0,0,0,0,0,0,0,0,0,0 ENDC ******‚LOCAL�TERMINALS  IFGT \NOTERM02I CDB $0011,'SUP1',0,254,MSUP,0,\LTDA$00,1,$43,4,$30,0,0,0,0,0,0,0,0,0,0,0N CDB $0009,'CMPS',XTS7A2,254,MPSC,'SUP1',\LTDA$00,1,$43,4,$30,0,0,0,0,0,0,0,0,& 0,0,0 ENDC  IFGT \NOTERM02-1N CDB $0009,'CMP1',XTS7B2,254,MPSC,'SUP1',\LTDA$01,1,$43,4,$30,0,0,0,0,0,0,0,0,& 0,0,0 ENDC �IFGT‚\NOTERM40 @ CDB $0011,'SUP2',0,254,MSPR,0,\LTDA$02,1,\IOCVEC3,\IOCLVL3,$30,&„0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP2',XTS7AR,254,MPSC,'SUP2',\LTDA$02,1,\IOCVEC3,\IOCLVL3,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-1J CDB $0009,'CMP3',XTS7BR,254,MPSC,'SUP2',\LTDA$03,1,\IOCVEC3,\IOCLVL3,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-2@ CDB $0011,'SUP3',0,254,MSPR,0,\LTDA$04,1,\IOCVEC3,\IOCLVL3,$30,&„0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP4',XTS7AR,254,MPSC,'SUP3',\LTDA$04,1,\IOCVEC3,\IOCLVL3,$30,&„0,  0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-3J CDB $0009,'CMP5',XTS7BR,254,MPSC,'SUP3',\LTDA$05,1,\IOCVEC3,\IOCLVL3,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC ******‚MCCM�CHANNELS  IFNE \NOTERM0+\NOPRT0O CDB 0,'COM1',XTMIPC,254,IPC,0,$FF1000,$1FF,$F7,4,$10,0,$181,$FF,$FF,$F,0,$183,&‚$FF,$FF,$F,0 ENDC  IFNE \NOTERM1+\NOPRT1O CDB 0,'COM2',XTMIPC,254,IPC,0,$FF1200,$1FF,$F6,4,$10,0,$181,$FF,$FF,$F,0,$183,&‚$FF,$FF,$F,0 ENDC  IFNE \NOTERM2+\NOPRT2O CDB 0,'COM3',XTMIPC,254,IPC,0,$FF1400,$1FF,$F5,4,$10,0,$181,$FF,$FF,$F,0,$183,&ƒ$FF,$FF,$F,0 ENDC  IFNE \NOTERM3+\NOPRT3O CDB 0,'COM4',XTMIPC,254,IPC,0,$FF1600,$1FF,$F4,4,$10,0,$181,$FF,$FF,$F,0,$183,&ƒ$FF,$FF,$F,0 ENDC $******‚HARD�AND�FLOPPY�DISK�CHANNELS %DEVADD SET $FEFE00 INIT. DEVICE ADDR. VECTNO SET $100 INIT. VECTOR NO. IFNE \HDUDC0+\FDUDC0DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CRD1',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC IFNE \NOFD0DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CFD1',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,4,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC  IFNE \HDUDC1+\FDUDC1DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CRD2',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC IFNE \NOFD1DEVADD SET DEVADD+$200VECTNO SET VECTNO-1L CDB 0,'CFD2',XTDIPC,254,IPC,0,DEVADD,$1FF,VECTNO,4,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC ******ƒVM22�DISK�CHANNELS �IFGT‚\NOVM22DEVADD SET DEVADD+$200DEVM22 SET DEVADD+$101VECTNO SET VECTNO-1G CDB 0,'VM22',$12,254,VM22,0,DEVM22,1,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC �IFGT‚\NOWIN@ CDB 0,'WIND',XTDWIN,254,WIN,0,\LWIN$00,1,\IOCVEC3,\IOCLVL3,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC IFGT \NOSASIA CDB 0,'SASI',XTDSAS,254,SASI,0,\LSAS$00,1,\IOCVEC3,\IOCLVL3,$10,&ƒ0,0,0,0,0,0,0,0,0,0,0 ENDC ,*********************************************ª**ˆMAG�TAPE�DRIVER“**ˆCHANNEL�DATA�BLOCK�**ª*,*********************************************$******ƒFIRST�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA0H CDB 0,'MTA0',XTM435,0,MTA,0,\LMTA$00,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC*%******‚SECOND�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA1H CDB 0,'MTA1',XTM435,0,MTA,0,\LMTA$01,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC* ) DC.L 0 Link of 0 marks end of CDB chain.  END éé PAGE)ASR IDNT 11,11 ASR ADDRS. FOR I/O MODULES*8*ASR-FILE OF ASR ADDRESSES OF I/O MODULES-NEEDED FOR IOI* XDEF FMSASR,FHSASR,IOSASRFMSASR EQU \FMSASRFHSASR EQU \FHSASRIOSASR EQU \IOSASR ENDééé  éééé ‰XDEF†OSMTBL,FMSASQ‰XDEF†OSMEND,FMSDLEN‰XREF†FHSASR,IOSASR,FMSASR*-*ˆTABLE�OF�OPERATING�SYSTEM�MODULE�TASK�NAMES*‰NOLIST‰INCLUDEƒ9995.&.IOE.EQ‰INCLUDEƒ9995.&.TR1.EQ‰INCLUDEƒ9995.&.EXE.EQ‰INCLUDEƒ9995.&.NIO.EQ‰INCLUDEƒ9995.&.LV5.EQ‰INCLUDEƒ9995.&.FME.EQ‰INCLUDEƒ9995.&.FMI.EQ‰LIST SECTION 1OSMTBLƒDC.L…FHSIDŽFHS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+FHSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+FHSNLN‡QUEUE�LENGTH‰DC.L„FHSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…IOSIDŽIOS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+IOSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L„IOSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED**‰DC.L…FMSIDŽFMS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRD‚ASQ�STATUS'‰DC.B„EVTLEN+FHSNLN‡MAX.�MESSAGE�LENGTHFMSASQƒDC.L„0�QUEUE�LENGTH‰DC.L„FMSASRŽADDR.�OF�ASR‰DC.W„0**‰DC.W„SGOPPAŽOPTIONS-LOG.�ADDR=PHYS.�ADDR.‰DC.W„SGATRW+SGATSS‡ATTRIBUTES‰DC.L„FMSD�SEG.�NAME‰DC.L„0�LOGICAL�ADDRESSFMSDLEN‚DC.L„0�SEGMENT�LENGTH**OSMENDƒEQU…*“END�OF�TABLE ‰END‡OSMTBLééé 9 PAGE*#*VALPAR VALIDATES SYSGEN PARAMETERSG*…FAIL�ERROR�IS�GENERATED�FOR�EACH�PARAMETER�THAT�IS�NOT�IN�VALID�RANGE:*ANY ERROR SHOULD MAKE OPERATOR ABORT SYSGEN SINCE FURTHER/*…SYSGEN�PROCESSING�ASSUMES�PARAMETERS�ARE�GOOD*.*MAKE SURE TOTAL NUMBER OF TERMINALS IS SUM OF*…DIFFERENT�TYPES�OF�TERMINALSH IFNE \TOTTERM-(\NOTERM02+\NOTERM40+\NOTERM0+\NOTERM1+\NOTERM2+\NOTERM3) FAIL 100 ENDC*MAKE SAME CHECK FOR PRINTERS7 IFNE \TOTPRT-(\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2+\NOPRT3) FAIL 10! 0 ENDC *MAKE SAME CHECK FOR DISK DRIVES(DSKCNT SET \HDSASI+\FDSASI+\HDWIN+\FDWINODSKCNT SET DSKCNT+\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1+\HDVM22+\FDVM22 IFNE \TOTDSK-DSKCNT FAIL 100 ENDC1*MAKE SURE NO. OF VM22'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \HDVM22+\FDVM22 CNT SET CNT+1 ENDC IFNE CNT-\NOVM22 FAIL 100 ENDC0*MAKE SURE NO. OF IPC'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOFD0 CNT SET CNT+1 ENDC IFNE \NOFD1 CNT SET CNT+1 ENDC IFNE \HDUDC0+\FDUDC0 CNT SET CNT+1 ENDC IFNE \HDUDC1+\FDUDC1 CNT SET CNT+1 ENDC IFNE CNT-\NOIPCS FAIL 100 ENDC1*MAKE SURE NO. OF MCCM'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOTERM0+\NOPRT0 CNT SET CNT+1 ENDC IFNE \NOTERM1+\NOPRT1 CNT SET CNT+1 ENDC IFNE \NOTERM2+\NOPRT2 CNT SET CNT+1 ENDC IFNE \NOTERM3+\NOPRT3 CNT SET CNT+1 ENDC IFNE CNT-\NOMCCMS FAIL 100 ENDC=*CAN'T HAVE MORE THAN 2 LOCAL PRINTER OR MORE THAN 1 PER MCCM IFGT \NOLPRT-2 FAIL 100 ENDC IFGT \NOPRT0-1 FAIL 100 ENDC IFGT \NOPRT1-1 FAIL 100 ENDC IFGT \NOPRT2-1 FAIL 100 ENDC IFGT \NOPRT3-1 FAIL 100 ENDC'*CAN'T HAVE MORE THAN 2 VM02 TERMINALS. IFGT \NOTERM02-2 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 MVME 400 TERMINALS. IFGT \NOTERM40-4 FAIL 100 ENDC**CAN'T HAVE MORE THAN 4 TERMINALS PER MCCM IFGT \NOTERM0-4 FAIL 100 ENDC IFGT \NOTERM1-4 FAIL 100 ENDC IFGT \NOTERM2-4 FAIL 100 ENDC IFGT \NOTERM3-4ct' FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER IPC IFGT \NOFD0-4 FAIL 100 ENDC IFGT \NOFD1-4 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 HARD DRIVES PER UDC IFGT \HDUDC0-4 FAIL 100 ENDC IFGT \HDUDC1-4 FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER UDC IFGT \FDUDC0-4 FAIL 100 ENDC IFGT \FDUDC1-4 FAIL 100 ENDC**IF NO MVME435, CAN'T HAVE ANY TAPE DRIVES IFEQ \TOTM435 ‚IFGT�\NOMTAT ‚FAIL�100‚ENDC ENDC/*CAN'T HAVE MORE THAN 8 TAPE DRIVES PER MVME435 IFGT \NOMTA0-8 FAIL 100 ENDC IFGT \NOMTA1-8 FAIL 100 ENDC9*CAN'T HAVE 0 OR MORE THAN 75 TASKS IN SYSTEM AT ONE TIME IFEQ \NOTASKS FAIL 100 ENDC IFGT \NOTASKS-75 FAIL 100 ENDC1*MAXIMUM LU CANNOT BE LESS THAN 8 OR MORE THAN 31 IFLT \MAXLU-8 FAIL 100 ENDC IFGT \MAXLU-31 FAIL 100 ENDC2*MAXIMUM LU CANNOT BE LESS THAN NO. OF DISK DRIVES IFLT \MAXLU-\TOTDSK FAIL 100 ENDCC*MAXIMUM NO. OF PAGES FOR DCQ,UST,GST,IOV, AND TRACE CANNOT BE 0 OR*…MORE�THAN�10 IFEQ \DCQPGE FAIL 100 ENDC IFGT \DCQPGE-10 FAIL 100 ENDC IFEQ \GST FAIL 100 ENDC IFGT \GST-10 FAIL 100 ENDC IFEQ \UST FAIL 100 ENDC IFGT \UST-10 FAIL 100 ENDC IFNE \TRCFLAG IFEQ \TRACE FAIL 100 ENDC ENDC IFNE \TRCFLAG IFGT \TRACE-10 FAIL 100 ENDC ENDC IFEQ \IOV FAIL 100 ENDC IFGT \IOV-10 FAIL 100 ENDCG*MAXIMUM NO. OF DIFFERENT FILES MUST BE .LE. MAXIMUM NO. OF TOTAL FILES IFGT \NODIFFIL-\NOFILES FAIL 100 ENDC2*MAXIMUM NO. OF FILES CANNOT BE 0 OR MORE THAN 200 IFEQ \NODIFFIL FAIL 100 ENDC IFGT \NODIFFIL-200 FAIL 100 ENDC IFEQ \NOFILES FAIL 100 ENDC IFGT \NOFILES-200 FAIL 100 ENDCG*MAXIMUM NO. OF DEFAULT VOLUMES CANNOT BE 0 OR MORE THAN NO. OF TASKS+3 IFEQ \NODEFVOL FAIL 100 ENDC IFGT \NODEFVOL-(\NOTASKS+3) FAIL 100 ENDCE*NUMBER OF DEFAULT VOLUMES MUST BE GREATER THAN OR EQUAL TO NUMBER OF*ƒLOGON�TERMINALS IFGT \NOLOGONS-\NODEFVOL FAIL 100 ENDC**DEFAULT FAB SIZE CANNOT BE 0 MORE THAN 20 IFEQ \DEFFAB FAIL 100 ENDC IFGT \DEFFAB-20 FAIL 100 ENDC7*DEFAULT DB SIZE CANNOT BE LESS THAN 4 OR MORE THAN 255 IFGT \DEFDAT-255 FAIL 100!  ENDC IFLT \DEFDAT-4 FAIL 100 ENDC END éééééé=LINK ,IOI,\LINKLS;HAMIXSSEGMENT IOSG:0 \IOCSTRSEGMENT .IOI:1INPUT VM03.IOC.ROINPUT VM03.IOI.ROINPUT VM03.OSLIST.RO INPUT IXR.ROINPUT VM03.ASR.ROEND=ENDééééééé/ " ‚******************‚*�VM03.SYSCMD.CD�*M‚****************************************************************************‚*�SYSGEN�COMMAND�FILE�-´*?‚*ƒUSE�IN�CONJUNCTION�WITH�SYSGEN.CF�OR�EXECUTE�DIRECTLY�WITH�*‚*†THE�FOLLOWING�ARGUMENTS:¬*‚*Ê*@‚*†ARG1�-�LISTING�FILE�OR�DEVICE�FOR�ASSEMBLIES�AND�LINK�EDITS‰*‚*Ê*-‚*†ARG2�-�SWITCH�--�0�=�ARG1�IS�A�FILE�NAMEœ*‚*—1�=�ARG1�IS�A�DEVICE�NAMEš*‚*Ê*8‚*†ARG3�-�CONFIGURATION�SWITCH�--�1�=�SINGLE-USER�HARD‘*‚*Ê*@‚*†ARG4�-�WORKING�FILE�FOR�USE�WITH�COPY�;A�TO�PRODUCE�LISTING‰*‚*Ê*M‚**************************************************************************** ‚MSG‰SYSGEN�COMMAND�FILE +‚MSG‰SET�SYSGEN�PARAMETERS�FROM�PASSED�ARGS *‚ASMLSW„=�\2‹*ASSEMBLY�LISTING�FILE�SWITCH‚*”0�=�ASMLS�IS�A�FILE‚*”1�=�ASMLS�IS�A�DEVICE'‚LINKLSWƒ=�\2‹*LINK�LISTING�FILE�SWITCH‚*”0�=�LINKLS�IS�A�FILE‚*”1�=�LINKLS�IS�A�DEVICE  ‚IFEQˆ\ASMLSW$…ASMLS…=�"\4"‰*ASM�LISTING�WORK�FILE‚ENDC ‚IFNEˆ\ASMLSW!…ASMLS…=�"\1"‰*ASM�LISTING�DEVICE‚ENDC ‚IFEQˆ\LINKLSW&…LINKLS„=�"\4"‰*LINK�LISTING�WORK�FILE‚ENDC‚IFNEˆ\LINKLSW#…LINKLS„=�"\1"‰*LINK�LISTING�DEVICE‚ENDC +‚WORKLS„=�"\1"‰*OVERALL�LISTING�FILE/DEVICE6‚LINK1TFƒ=�"INIT1.TF"ƒ*INTERMEDIATE�LINK�FILE�FOR�INIT6‚LINK2TFƒ=�"INIT2.TF"ƒ*INTERMEDIATE�LINK�FILE�FOR�INIT C‚MSG‰**************************************************************C‚MSG‰**************************************************************?‚MSG‰**„System�generation�(SYSGEN)�command�file�for�users�of‚**?‚MSG‰**„VERSAdos�on�the�VMC�68/2�computer.‚Prepared�5/01/82.�**C‚MSG‰**************************************************************C‚MSG‰**************************************************************‚MSG‰C‚MSG‰**************************************************************(‚MSG‰**ˆParameters�describing�devices•**C‚MSG‰**************************************************************B‚TOTTERMƒ=�\NOTERM02+\NOTERM40+\NOTERM0+\NOTERM1+\NOTERM2+\NOTERM3(‚*˜Total�#�of�terminals�(local�and�MCCM) 8<A<I=QKY.a*i:q-y/�*‰0‘,™2¡(©1±-¹0ÁNÉTÑCÙTáWé1‚TOTPRT„=�\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2+\NOPRT3(‚*˜Total�#�of�printers�(local�and�MCCM).B&TŠ=�\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1+\HDVM22+\FDVM22+‚TOTDSK„=�\&T+\HDWIN+\FDWIN+\HDSASI+\FDSASI+‚*˜floppy�drives�and�hard�disk�drives.‚Each(‚*˜volume�defined�requires�approximately‚*˜2-1/4K�bytes�of�memory.&‚NOIPCS„=�2Œ#�of�disk�IPC's�and�UDC's.'‚NOVM22„=�0Œ#�of�VM22�disk�controllers.‚NOMCCMSƒ=�0Œ#�of�MCCM's.‚*5‚NOTERM02‚=�2Œ#�of�terminals�using�VM03�serial�ports.9‚NOTERM40‚=�0Œ#�of�terminals�using�MVME�400�serial�ports. ‚NOLPRT„=�1Œ#�of�local�printers. ‚NOLTERMƒ=�"\NOTERM02+\NOTERM40"0‚*˜TOTAL�number�of�local�terminal�for�the�system‚*‚*-‚HDUDC0„=�2Œ#�of�hardƒdisk�drives�on�1st�UDC.-‚HDUDC1„=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC./‚FDUDC0„=�2Œ#�of�floppy�disk�drives�on�1st�UDC./‚FDUDC1„=�0Œ#�of�floppy�disk�drives�on�2nd�UDC.‚*:‚NOFD0…=�2Œ#�of�floppy�disk�drives�on�1st�floppy�disk�IPC.:‚NOFD1…=�0Œ#�of�floppy�disk�drives�on�2nd�floppy�disk�IPC.‚*+‚FDVM22„=�0Œ#�of�floppy�disk�drives�on�VM22)‚HDVM22„=�0Œ#�of�hardƒdisk�drives�on�VM22‚*(‚NOTERM0ƒ=�0Œ#�of�terminals�on�1st�MCCM.&‚NOPRT0„=�0Œ#�of�printers‚on�1st�MCCM.(‚NOTERM1ƒ=�0Œ#�of�terminals�on�2nd�MCCM.&‚NOPRT1„=�0Œ#�of�printers‚on�2nd�MCCM.(‚NOTERM2ƒ=�0Œ#�of�terminals�on�3rd�MCCM.&‚NOPRT2„=�0Œ#�of�printers‚on�3rd�MCCM.(‚NOTERM3ƒ=�0Œ#�of�terminals�on�4th�MCCM.&‚NOPRT3„=�0Œ#�of�printers‚on�4th�MCCM.‚*=‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRAD1…=�0ŒNO.�OF�RAD�BOARDS‚NUSRRADƒ=�0ŒNO.�OF�RAD�USERS‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RAD�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RADRV…=�0‚*@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRIO†=�0ŒNumber�of�RIO�boards‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RIO�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RIODRVRƒ=�0‚*A‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#‚NDAC1…=�0ŒNumber�of�MVME605�boards;‚NUSRDACƒ=�0ŒNumber�of�users�(total)�for�the�MVME605�boards‚*"‚NACO†=�0ŒNumber�of�MVME615�boards;‚NUSRACOƒ=�0ŒNumber�of�users�(total)�for�the�MVME615�boards‚*‚*#‚NDCO1…=�0ŒNumber�of�MVME625�boards;‚NUSRDCOƒ=�0ŒNumber�of�users�(total)�for�the�MVME625�boards‚*‚*%‚NVME610�=�0ŽNumber�of�MVME610�boards%‚NVME620�=�0ŽNumber�of�MVME620�boards‚*‚*O*******************************************************************************>‚PCDRV…=�0ŒIf�non-zero�include�special�I/O�channel�initializer2‚*˜for�Process�Control�Drivers�in�user�number�9992‚*‚*‚*,‚NOWIN…=�0Œ#�of�Winchester�controller�boards9‚HDWIN…=�0Œ#�of�hard�disk�drives�on�Winchester�controller;‚FDWIN…=�0Œ#�of�floppy�disk�drives�on�Winchester�controller‚*1‚NOSASI„=�0Œ#�of�SASI�interface�controller�boards)‚HDSASI„=�0Œ#�of�hard�disk�drives�on�SASI+‚FDSASI„=�0Œ#�of�floppy�disk�drives�on�SASI‚*5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~F‚*†IF�the�MAGTAPE�driver�IS�to�BE�used�YOU�must�MERGE�file�MTALDPNT.SA‚*†into�VM03.INITIO1.AG5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:‚*********************************************************‚*·*‚*ˆMAG�TAPE�DRIVER *‚*ˆNOTES�ON�BOARD�JUMPERING—*‚*·*:‚*********************************************************‚*‚*‚*ˆINTERRUPT�LEVEL‚*7‚*ˆThe�channel�data�block�is�configured�for�I/O�channel3‚*ˆinterrupt�level�1�in�IOC.AG.‚Please�be�sure�that3‚*ˆyour�board�is�jumpered�for�this�interrupt�level,4‚*ˆas�described�in�the�MVME435�magnetic�tape�adapter ‚*ˆmanual.‚*8‚*ˆAs�described�in�the�MVME435�manual,�to�have�a‚level�18‚*ˆinterrupt,�the�jumper�on�J2�must�be�placed�to�connect‚*ˆpins�7-8�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+----+�|‚8 ‚*’+--------+‚*‚*‚*ˆADDRESS‚ON�I/O�CHANNEL‚*7‚*ˆThe�channel�data�block�is�configured�for�I/O�channel<‚*ˆaddresses�LMTA$00�=�(I/O�channel‚base�address)�+�$3E9�and/‚*ˆLMTA$01�=�(I/O�channel�base�address)�+�$3A9.5‚*ˆPlease�be�sure�that�your�board(s)�is(are)�jumpered‚*ˆfor�one�of�these�addresses.‚*@‚*ˆTo�have�a�board�address�of�(I/O�channel�base�address)�+�$3E9,)‚*ˆremove�all�jumpers�from�J3�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+„+�|‚8 ‚*’+--------+‚*‚*‚*@‚*ˆTo�have�a�board�address�of�(I/O�channel‚base�address)�+�$3A9,%‚*ˆconnect‚pins�7-8�on�J3�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+----+�|‚8 ‚*’+--------+‚*‚*‚*‚*‚*‚*8‚TOTM435ƒ=�0ŒTotal�#�of�mag�tape�MVME435�adapter�boards.‚*3‚NOMTA0„=�0Œ#�of�tape�drives�on�first�MVME435‚board4‚NOMTA1„=�0Œ#�of�tape�drives�on�second�MVME435‚boardD‚NOMTAT„=�\NOMTA0+\NOMTA1‚Total�number�of�tape�drives�for�the�system‚MSG‰C‚MSG‰**************************************************************-‚MSG‰**ˆParameters�about�table�sizes,�etc.�**C‚MSG‰**************************************************************2‚PAGESIZE‚=�256ŒSize�in�bytes�of�a�page�of�memory.‚ASN‡=�127Œ#�of�address�spaces.4‚DCQPGE„=�2ŒNumber�of�pages�of�memory�for�the�device-‚*˜connection�queue�(DCQ).‚Minimum�of�1�page,*‚*˜maximum�of�10�pages.‚The�DCQ�is�used�to/‚*˜save�concurrent�requests�to�the�same�file�or.‚*˜device.‚Each�page�of�the�DCQ�can�accomodate‚*˜approximately�9�entries.‚*1‚GST‡=�2ŒNumber�of�pages�in�global�segment�table.-‚*˜Minumum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�ap# proximately�14�entries.‚*5‚UST‡=�2ŒNumber�of�pages�in�the�user�semaphore�table.-‚*˜Minimum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�11�entries.‚*8‚TRACE…=�0ŒNumber�of�pages�in�trace�table.‚TRACE�must�be/‚*˜nonzero�if�TRCFLAG�is�nonzero.‚Each�page�can'‚*˜accomodate�approximately�10�entries.‚*2‚UDR‡=�1ŒNumber�of�pages�in�user-defined�directive0‚*˜table,�minimum�of�0,�maximum�of�10.‚Each�page+‚*˜can�accomodate�approximately�25�entries.‚*7‚IOV‡=�1ŒNumber�of�pages�in�I/O�vector�table.‚Each�page3‚*˜can�accomodate�approximately�12�entries.‚Minimum!‚*˜size�is�1,�maximum�size�is�10.‚*@‚PAT‡=�(\NOLOGONS*32*2+16+(\PAGESIZE-1))/\PAGESIZE�#�of�pages�in3‚*˜periodic�activation�table.‚Each�page�can�accomo-3‚*˜date�approximately�8�entries.‚PAT�size�is�\PAT�.‚*<‚NOTASKSƒ=�10‹Maximum�number�of�tasks�in�system�at�one�time.-‚*˜VERSAdos�contains�a�maximum�of�11�resident)‚*˜tasks.‚Allowing�for�that�plus�four�for/‚*˜each�terminal�will�accomodate�most�requests.<‚MAXLU…=�08‹Maximum�logical�unit�number�that�can�be�assigned/‚*˜for�each�task�in�the�system.‚Limit�is�31�and.‚*˜minumum�is�8.‚MAXLU�must�be�greater�than�or2‚*˜equal�to�TOTDSK.‚MAXLU�and�NOTASK�determine�the1‚*˜amount�of�memory�required�for�the�logical�unit1‚*˜table�(LUT).‚The�algorithm�for�determining�the!‚*˜size�of�the�LUT�is�as�follows:'‚*˜LUT�=�16*NOTASKS+8*NOTASKS*(MAXLU+1),‚*˜There�must�be�a�1�LU�for�each�disk�volume,‚*˜(FMS�assigns�a�different�logical�unit�for,‚*˜each�disk.)‚This�means�that�MAXLU�must�be#‚*˜greater�than�or�equal�to�TOTDSK.‚IFGTˆ\TOTDSK-\MAXLU!…MSG‰SYSGEN�parameter�size�error.3…MSG‰MAXLU�must�be�greater�than�or�equal�to�TOTDSK.9…MSG‰In�this�sysgen,�MAXLU�=�\MAXLU�and�TOTDSK�=�\TOTDSK.5…MSG‰Please�adjust�parameters�and�start�sysgen�again.‚ENDC;‚NOFILESƒ=�12‹Maximum�number�of�files�that�can�be�opened�in(‚*˜the�system�at�one�time.‚Limit�of�200.9‚NODIFFIL‚=�12‹Maximum�number�DIFFERENT�files�that�can�be-‚*˜opened�at�one�time.‚Cannot�be�greater�than,‚*˜NOFILES.‚For�every�three�different�files,,‚*˜approximately�1K�of�memory�is�required.‚A&‚*˜ration�of�5�files�for�each�terminal‚*˜accomodates�most�requests.;‚NODEFVOL‚=�8ŒMaximum�number�of�default�volumes�that�can�be-‚*˜defined.‚Cannot�be�greater�than�NOTASKS+3.9‚DEFFAB„=�1ŒDefault�File�Allocation�Block�(FAB)�length�in/‚*˜sectors�(256�bytes�per�sector).‚Used�by�file-‚*˜handler�when�no�FAB�size�is�given.‚Minimum!‚*˜size�is�1,�maximum�size�is�20.;‚DEFDAT„=�4ŒDefault�data�block�length�in�sectors�(256�bytes1‚*˜per�sector).‚Used�by�file�handler�when�no�data/‚*˜block�size�is�given�at�file�allocation�time.*‚*˜Minumum�size�is�4,�maximum�size�is�255.‚MSG‰C‚MSG‰**************************************************************‚MSG‰**ˆEETEQU�values¥**C‚MSG‰**************************************************************>‚DEFAULTƒ=�"SYS:0.&"„*System�default�volume:usernumber.catalog<‚TERMOCNT‚=�2Œ*No.�of�terminal�output�timeouts�before�logoff7‚SECURITY‚=�1ŒSwitch�to�indicate�if�security�package�is-‚*˜supported.‚Value�of�zero�excludes�package,-‚*˜nonzero�includes�it.‚This�package�requires‚*˜approximately�1K�of�memory.<‚SPCCMD„=�1ŒSwitch�to�indicate�if�the�following�user�session0‚*˜management�commands�are�supported:‚HELP,CLOSE0‚*˜ASSIGN,NEWS.‚Value�of�zero�excludes�commands./‚*˜This�package�requires�approximately�1/2�K�of ‚*˜memory.>‚CHAINBAT‚=�1ŒSwitch�to�indicate�if�chain�and�batch�processing2‚*˜are�supported.‚Value�of�zero�excludes�batch�and.‚*˜chain;�non-zero�includes�them.‚This�package+‚*˜requires�approximately�3-1/2K�of�memory.9‚CONBATCH‚=�1ŒNumber�of�concurrent�batch�jobs�that�can�be(‚*˜running.‚Cannot�be�more�than�NOTASKS.<‚BATCHPGE‚=�2ŒNo.�of�pages�for�batch�job�queueing.‚Each�page0‚*˜accomodates�32�entries.‚In�addition,�there�is+‚*˜space�for�31�entries�minus�the�number�of‚*˜terminals�in�the�system.=‚BATDLY„=�16000ˆ*delay�in�ms�in�batch�between�reload�attempts=‚NOLOGONƒ=�3ŒMaxmimum�number�of�invalid�logon�attempts�before‚*# ˜being�rejected.B‚NOLOGONS‚=�\TOTTERM…#�of�terminals�allowed�to�logon�in�the�system,‚LOGMSG1ƒ=�"VERSAdos�V"�Logon�message�part�1)‚LOGMSG2ƒ=�"ERSION�"„Logon�message�part�2(‚REVNUMBR‚=�"�4.3�"†Logon�message�part�3‚*2‚*˜REVNUMBR�is�used�dynamically�in�CMDLIST�as�part*‚*¡of�the�log�on�message.�If�this�value�is'‚*¡changed�then�'REVISION'�in�this�file)‚*¡should�be�changed�to�match�the�dynamic ‚*¡value.‚*B‚AUTOTERM‚=�'CN00'‡Terminal�ID�of�device�auto�logon�is�to�occur�on‚AUTOLOGN‚=�1ŒBit�0:‚*›0�-->�Auto�break�inactive‚*›1�-->�Auto�break�active ‚*˜Bit�1:‚*›0�-->�Auto�logon�inactive‚*›1�-->�Auto�logon�active‚*‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**‰Vector�numbers£**C‚MSG‰**************************************************************.‚IOCVEC1ƒ=�$49ŠI/O�channel�interrupt�1�vector..‚IOCVEC2ƒ=�$4AŠI/O�channel�interrupt�2�vector..‚IOCVEC3ƒ=�$4BŠI/O�channel�interrupt�3�vector..‚IOCVEC4ƒ=�$4CŠI/O�channel�interrupt�4�vector.*+‚IOCLVL1ƒ=‚3‹I/O�channel�interrupt�1�level.+‚IOCLVL2ƒ=‚4‹I/O�channel�interrupt�2�level.+‚IOCLVL3ƒ=‚5‹I/O�channel�interrupt�3�level.+‚IOCLVL4ƒ=‚6‹I/O�channel�interrupt�4�level. 2‚SERPTS„=�$43ŠSerial�port�(7201)�interrupt�vector.‚*‚MSG‰C‚MSG‰**************************************************************#‚MSG‰**ˆAddresses�of�timer,�etc.š**C‚MSG‰**************************************************************‚MMU‡=�$F80000†Address�of�MMU."‚TIMER…=�$F80081†Address�of�timer.6‚CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond#‚PANEL…=�$0‹Address�of�front�panel.@‚BUGTRACƒ=�$F000BC†Address�of�firmware�debugger's�trace�routine.6‚TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The0‚*˜setting�of�bits�in�the�TRCFLAG�parameter�will2‚*˜control�which�events�cause�an�entry�to�be�built‚*˜in�the�trace�table.‚*˜Bit�#�in�TRCFLAG†Event ‚*›15‘TRAP�#1‚*›14‘I/O�interrupt�not�claimed‚*°by�user�task.‚*›13‘Timer�interrupt.‚*›12‘User�trap�(2-15)‚*›11‘Exception‚*›10‘Dispatch‚*œ9‘I/O�interrupt�claimed�by ‚*°user�task‚*œ8‘Return�from�LOADMMU‚*œ7‘Simulated�interrupt‚*œ6‘SYSFAIL�interrupt.>‚HOGMODEƒ=�0ŒSpecifies�whether�or�not�you�want�the�VM03�to�hog3‚*˜the�VERSAbus�(which�allows�it�to�run�faster�when4‚*˜accessing�the�VERSAbus).‚This�may�ONLY�be�used�if4‚*˜there�are�no�other�cards�in�the�system�capable�of+‚*˜becoming�bus�master!‚If�in�doubt,�use�0.‚*š0�=�don't�hog�the�bus.1‚*š1�=�hog�the�bus�(no�other�intelligent�boards).@‚SYSFAIL�=�0ŽDetermines�whether�or�not�the�operating�system�will6‚*˜be�interrupted�when�SYSFAIL�is�asserted�on�the�bus.3‚*˜Some�intelligent�boards�will�assert�SYSFAIL�when1‚*˜they�experience�a�failure�of�some�kind.‚If�you6‚*˜have�such�boards�in�the�system,�AND�THE�DRIVERS�FOR4‚*˜THESE�BOARDS�HAVE�SYSFAIL�HANDLERS,�then�you�will3‚*˜probably�want�SYSFAIL�interrupts�enabled.‚If�the5‚*˜appropriate�SYSFAIL�handlers�are�not�written,�then6‚*˜taking�a�SYSFAIL�interrupt�will�hang�up�the�system,1‚*˜so�you�would�want�SYSFAIL�interrupts�disabled."‚*š0�=�disable�SYSFAIL�interrupts.!‚*š1�=‚enable�SYSFAIL�interrupts.‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**2‚MSG‰**ƒLOCAL�TERMINAL/PRINTER�DEVICE�ADDRESSES�**+‚MSG‰**ƒMAG�TAPE�ADAPTER�BOARD�ADDRESSESˆ** ‚MSG‰**«**0‚MSG‰**ƒBase�Address�Jumpers:‚'.'�=�no�jumper‚**‚MSG‰**š'J'�=�jumper…**4‚MSG‰***********************************************‚MSG‰‚LTDA$00ƒ=�$F80065†VM03�port�A‚LTDA$01ƒ=�$F80067†VM03�port�BC‚LTDA$02ƒ=�$FA01CD†MVME�400�with�base�address�jumpers�(...J)�port�AC‚LTDA$03ƒ=�$FA01CF†MVME�400�with�base�address�jumpers�(...J)�port�BC‚LTDA$04ƒ=�$FFFFFF†MVME�400�with�base�address�jumpers�(????)�port�AC‚LTDA$05ƒ=�$FFFFFF†MVME�400�with�base�address�jumpers�(????)�port�BC‚LPDA$00ƒ=�$FA01E1†MVME�410�with�base�address�jumpers�(....)�port�AC‚LPDA$01ƒ=�$FA01E9†MVME�410�with�base�address�jumpers�(....)�port�B<‚LMTA$00ƒ=�$FA03E9†MVME�435�with�base�address�jumpers�(....)<‚LMTA$$ 01ƒ=�$FA03A9†MVME�435�with�base�address�jumpers�(...J) ‚LWIN$00ƒ=�$FA00D3†RWIN1�address‚LSAS$00ƒ=�$FA00F1†SASI�address‚*2‚IOBASE„=�$FA0000†I/O�Channel�bas�address�for�VM03‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�TERMINALŠ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(TCP�=�TERMINAL�CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�BELOW…**4‚MSG‰***********************************************‚MSG‰‚*2‚TCP$RECƒ=�80‹Width�of�terminal�(characters/line).-‚TCP$RSZƒ=�24‹Depth�of�terminal�(lines/page).C‚TCP$WTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.C‚TCP$RTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�read.>‚TCP$XOFƒ=�$17ŠXOFF�char;�when�received,�suspends�transmission ‚*˜(0=none).?‚TCP$XONƒ=�0ŒXON�char;�when�received,�cancels�a�prior�XOFF�char‚*˜(0=any�char).@‚TCP$BRCƒ=�$03ŠChar�to�be�interpreted�like�a�break�when�received ‚*˜(0=none).<‚TCP$DOPƒ=�$0FŠChar�which�causes�output�to�be�discarded�when‚*˜received�(0=none).:‚TCP$RLNƒ=�$13ŠChar�which�causes�line�to�be�reprinted�when‚*˜received�(0=none).A‚TCP$CLCƒ=�$18ŠChar�which�causes�line�to�be�deleted�when�received ‚*˜(0=none)./‚TCP$RTVƒ=�$0DDE0000„Read�terminators�(CR,$DE).0‚TCP$EOLƒ=�$0D0A0000„End�of�line�string�(CR,LF).<‚TCP$BRTƒ=�$0EŠBaud�rate�code�($0E=9600�baud).‚The�following1‚*˜codes�may�be�used�to�indicate�the�desired�baud‚*˜rate:*‚*˜Code‚RateƒCode�RateƒCode�RateƒCode�Rate#‚*˜$00ƒ50…$05‚300„$09‚2000ƒ$0E‚9600$‚*˜$01ƒ75…$06‚600„$0A‚2400ƒ$0F‚19200$‚*˜$02ƒ110„$07‚1200ƒ$0C‚4800ƒ$10-$FF'‚*˜$03ƒ134.5‚$08‚1800ƒ$0D‚7200ƒReserved?‚TCP$NLSƒ=�0Œ#�of�ASCII�NUL�char's�to�send�after�each�CR�or�LF.+‚TCP$TRCƒ=�$00ŠTerminator�class�($0X=none)..‚TCP$TTPƒ=�$00ŠTerminal�type�(0=EXORterm�155).J‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.>‚TCP$HCPY‚=�0Œ1�means�the�terminal�is�a�hardcopy�device,�not�a‚*˜CRT.8‚TCP$XCTL‚=�0Œ1�means�use�XON/XOFF�to�control�terminal's‚*˜transmission,�not�CTS.@‚TCP$BITS‚=�0Œ1�means�transmit�&�receive�7�bits/char�rather�than‚*˜8.<‚TCP$STPB‚=�0Œ1�means�follow�each�char�sent�with�2�stop�bits‚*˜rather�than�1.=‚TCP$USEP‚=�0Œ1�means�parity�should�be�checked�and�generated.<‚TCP$PRTY‚=�0Œ1�means�parity�(if�used)�should�be�even�rather ‚*˜than�odd.<‚TCP$ECHO‚=�0Œ1�means�the�driver�should�not�echo�characters.@‚TCP$TAHD‚=�0Œ1�means�the�type-ahead�feature�should�not�be�used.9‚TCP$TFUL‚=�1Œ1�means�filling�the�buffer�on�a�read�should‚*˜terminate�the�read.>‚TCP$PNUL‚=�0Œ1�means�NUL�char's�should�be�considered�data�for‚*˜image�reads.7‚TCP$MODM‚=�0Œ1�means�the�port�is�connected�to�a�modem.9‚TCP$OFFH‚=�0Œ1�means�the�port,�if�connected�to�modem,�is ‚*˜offhook.‚*L‚***************************************************************************'‚*†NOTE�on�how�to�modify�a�single�port:‚*<‚*†First�duplicate�all�the�parameters�that�are�to�change�for<‚*†this�particular�port�(e.g.�TCP$BRT).‚Modify�the�duplicate=‚*†labels�so�that�they�become�unique.‚One�technique�is�to�put9‚*†the�port�number�at�the�end�of�the�label�(e.g.�for�CN02;‚*†TCP$BRT�becomes�TCP$BRT2�and�TCP$BITS�becomes�TCP$BIT2).8‚*†Remember�that�the�label�must�not�exceed�8�characters!;‚*†Change�the�parameter�to�the�desired�value�(e.g.�to�set�a5‚*†300�baud�rate�for�a�non-EXORterm�terminal�on�CN02,$‚*†TCP$BRT2�=�$05�and�TCP$TTP2�=�1).‚*4‚*†Now�substitute�these�new�parameters�into�the�file6‚*†VM03.IOC.AG�for�the�CRTDCB�macro�defining�the�port.+‚*†To�continue�the�baud�rate�example�above:?‚*ˆTCP$ATW�SET�\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$USEP<<4+\TCP$PRTY<<5+\TCP$ECHO<<6=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$TAHD<<7+\TCP$TFUL<<8+\TCP$PNUL<<92‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$MODM<<10+\TCP$OFFH<<11=‚*‰CRTDCB�'CN02',IOSID,IOSESS,$133,36,0,'CMP3',0,$0FFF,$7FF3,‚*©~~:‚*ˆ&ƒTCP$ATW,\TCP$REC,\TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,;‚*ˆ&ƒ\TCP$XON,\TCP$BRC,\TCP$DOP,\T$ CP$RLN,\TCP$CLC,\TCP$RTV,2‚*ˆ&„TCP$EQL,�TCP$BRT2,\TCP$NLS,\TCP$TRC,�TCP$TTP2‚*•~~~~~~~~~“~~~~~~~~~4‚*†where�~~~~~~�underlines�the�CRTDCB�modifications.‚*>‚*†This�same�technique�may�be�used�with�the�printer�parameters<‚*†by�modifying�the�PCP$xxx�labels�and�substituting�into�the=‚*†PRTDCB�macro.‚It�may�also�be�used�with�the�disk�parameters@‚*†by�modifying�the�appropriate�labels�and�substituting�into�the‚*†DSKDCB�macro.‚*L‚***************************************************************************‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**(‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�PRINTER‹**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**-‚MSG‰**ƒ(PCP�=�PRINTER‚CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE…**4‚MSG‰***********************************************‚MSG‰‚*A‚PCP$RECƒ=�132ŠWidth�of�printer‚(characters/physical�print�line).,‚PCP$RSZƒ=�66‹Depth�of�printer‚(lines/page).B‚PCP$WTOƒ=�120000‡(2�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.6‚PCP$LRLƒ=�132ŠLogical�line�length�<=�width�of�printer<‚PCP$EOLƒ=�$0A0D0000„End�of�line�string�(LF,CR).�(MCCM�only)$‚PCP$ELCƒ=�$0DŠEnd�of�line�characterJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.9‚PCP$LNFD‚=�0Œ1�means�the�printer�supports�auto�line�feed5‚PCP$AFFƒ=�0Œ1�means�supress�auto-form�feed�on�assign>‚PCP$TLRL‚=�0Œ0�means�wrap-around�print�if�logical�line�length3‚*˜exceeded.‚1�means�truncate�print�at�logical�line ‚*˜length.‚MSG‰8‚MSG‰*************************************************** ‚MSG‰**¯**%‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�DISK’**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES‰**0‚MSG‰**ƒ(DCP�=�DISK�CONFIGURATION�PARAMETERS)‡**5‚MSG‰**ƒ(VCP�=�VM22�Disk�Configuration�Parameters)‚** ‚MSG‰**¯**/‚MSG‰**ƒSome�values�are�not�used�by�all�diskˆ**-‚MSG‰**ƒdrivers.‚That�is�controlled�by�the‰**-‚MSG‰**ƒattributes�mask�and�the�parametersŠ**,‚MSG‰**ƒmask;�however,�each�parameter�and‹**0‚MSG‰**ƒattribute�is�specified�to�allow�disks‡**0‚MSG‰**ƒto�be�interchanged�between�controller‡**‚MSG‰**ƒboards.¥**-‚MSG‰**ƒEach�controller�board�driver�caresŠ**3‚MSG‰**ƒabout�different�device/media�attributes.„** ‚MSG‰**¯**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE‰**8‚MSG‰***************************************************‚MSG‰‚*&‚DCP$WTOƒ=�0ŒWrite�Timeout�-�all�disks%‚DCP$RTOƒ=�0ŒRead‚Timeout�-�all�disks?‚DCP$HBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�hard�disksA‚DCP$FBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�floppy�disks>‚DCP$HSPT‚=�064ŠNumber�of�sector's�per�track�for�hard�disk-IPC@‚DCP$FSPT‚=�026ŠNumber�of�sector's�per�track�for�floppy�disk-IPC0‚DCP$HTNS‚=�0ŒHard�-�total�number�of�sectors-IPC2‚DCP$FTNS‚=�0ŒFloppy�-�total�number�of�sectors-IPC(‚DCP$HNOH‚=�0ŒHardƒ-�number�of�heads-IPC*‚DCP$FNOH‚=�2ŒFloppy�-�number�of�heads-IPC)‚DCP$HNOT‚=�0ŒHardƒ-�number�of�tracks-IPC,‚DCP$FNOT‚=�77‹Floppy�-�number�of�tracks-IPC*‚DCP$HILF‚=�0ŒHardƒ-�interleave�factor-IPC,‚DCP$FILF‚=�1ŒFloppy�-�interleave�factor-IPC&‚DCP$HSPL‚=�0ŒHardƒ-�spiral�offset-IPC(‚DCP$FSPL‚=�0ŒFloppy�-�spiral�offset-IPCJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.3‚DCP$NONE‚=�0Œdevice�attributes�for�IPC�disk�driver‚*5‚*�CONFIGURATION�INFORMATION�FOR�VM22�DISK�CONTROLLER‚*†Hard�and�floppy�disks:4‚*†The�values�given�for�the�hard�are�for�CMD�drives.1‚*†Refer�to�your�disk�drive�manual�if�you�are�not‚*†using�the�set�configuration.‚*†(H�=�Hard,�R�=�Removable)8‚*†The�values�given�for�the�floppy�disks�are�for�8�inch,<‚*†single-sided,�single-density,�48�TPI�disks.‚Refer�to�your=‚*†disk�drive�manual�if�you�are�not�using�that�configuration.‚*†(F�=�Floppy)‚*1‚VCP$HTNS‚=�52672ˆtotal�#�of�sectors�-�fixed�disk+‚VCP$HSPT‚=�64‹#�sectors/track�-�fixed�disk"‚VCP$HHDS‚=�1Œ#�heads�-�fixed�disk4‚VCP$HTRK‚=�823Š#�of�cylinders�on�media�-�fixed�disk,‚VCP$HILV‚=�1Œinterleave�factor�-�fixed�disk(‚VCP$HSOF‚=�0Œspiral�offset�-�fixed�disk:‚VCP$HPS% M‚=�256Šphysical�sector�size�of�media�-�fixed�disk9‚VCP$HSHD‚=�16‹starting�head�number�on�drive�-�fixed�disk4‚VCP$HTRD‚=�823Š#�of�cylinders�on�drive�-�fixed�disk1‚VCP$HCOM‚=�0Œpre-compensation�value�-�fixed�disk@‚VCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�fixed�disk‚*7‚VCP$RSHD‚=�0Œstarting�head�number�on�drive�-�remv�disk‚*1‚VCP$FTNS‚=�2002‰total�#�of�sectors�-�floppy�disk,‚VCP$FSPT‚=�26‹#�sectors/track�-�floppy�disk#‚VCP$FHDS‚=�2Œ#�heads�-�floppy�disk4‚VCP$FTRK‚=�77‹#�of�cylinders�on�media�-�floppy�disk-‚VCP$FILV‚=�1Œinterleave�factor�-�floppy�disk)‚VCP$FSOF‚=�0Œspiral�offset�-�floppy�disk;‚VCP$FPSM‚=�128Šphysical�sector�size�of�media�-�floppy�disk9‚VCP$FSHD‚=�0Œstarting�head�number�on�drive�-�floppy�disk4‚VCP$FTRD‚=�77‹#�of�cylinders�on�drive�-�floppy�disk3‚VCP$FCOM‚=�38‹pre-compensation�value�-�floppy�diskA‚VCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk‚*A‚*‚The�attributes�mask�and�parameter�mask�don't�change�for�floppy‚*‚or�hard�disks.‚*‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚FM�encoding‚*‚48�TPI�on�media‚*‚Single-sided�diskette‚*‚Motorola�format‚*‚Floppy�disk‚*‚48�TPI�on�drive‚*‚8-inch�disk‚*-‚VCP$HATM‚=�$0090ˆattributes�mask�-�hard�disk/‚VCP$FATM‚=�$025Fˆattributes�mask�-�floppy�disk,‚VCP$PM„=�$5FF3ˆparameters�mask�-�both�kinds,‚VCP$HAWƒ=�$0010ˆattributes�word�-�hard�disk.‚VCP$FAWƒ=�$0200ˆattributes�word�-�floppy�disk‚*4‚*‚The�attributes�mask�(word)�is�defined�as�follows:‚*=‚*ƒBit�0:‚MFM(1)/FM(0)�encoding�method�on�media�-�floppy�disk>‚*ƒBit�1:‚96(1)/48(0)�TPI�track�density�on�media�-�floppy�disk/‚*ƒBit�2:‚Double(1)/single(0)�sided�floppy�disk7‚*ƒBit�3:‚IBM(1)/Motorola(0)�media�format�-�floppy�disk8‚*ƒBit�4:‚Hard�disk(1)/floppy�disk(0)�media�-�both�disksA‚*ƒBit�5:‚MFM(1)/FM(0)�encoding�capability�on�drive�-�floppy�disk=‚*ƒBit�6:‚96(1)/48(0)�TPI�track�density�-�drive�-�floppy�disk@‚*ƒBit�7:‚Seek�req'd�with�head�switch(1)�-�SMD�drive�-�hard�disk@‚*ƒBit�8:‚Post-read(1)/Pre-write(0)�precompensation�-�both�disks5‚*ƒBit�9:‚8�inch(1)/5-1/4�inch(0)�media�-�floppy�disk‚*‚*‚*;‚*�Configuration�information�for�Winchester�Disk�Controller‚*�hard�and�floppy�disks.<‚*�Refer�to�your�hard�disk�drive�manual�if�you�are�not�using‚*�the�set�configuration.‚*=‚*�These�values�are�for�5�1/4"�hard�disks�(ST506�compatible).<‚*�The�following�parameters�change�for�formatted�disk�sizes:6‚*‚5�megabyte�disks:�WCP$HTNS�=�19584ƒandƒWCP$HHDS�=�27‚*�10�megabyte�disks:�WCP$HTNS�=�39168ƒandƒWCP$HHDS�=�47‚*�15�megabyte�disks:�WCP$HTNS�=�58752ƒandƒWCP$HHDS�=�6‚*=‚*�The�values�given�for�the�floppy�disks�are�for�SA400‚5�1/4"<‚*�double�sided,�double�density,�96�TPI�disks.‚Refer�to�yourD‚*�floppy�disk�drive�manual�if�you�are�not�using�that�configuration.‚*0‚WCP$HTNS‚=�58752ˆtotal�#�of�sectors�-�hard�disk1‚WCP$FTNS‚=�2552‰total�#�of�sectors�-�floppy�disk*‚WCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚WCP$FSPT‚=�16‹#�sectors/track�-�floppy�disk!‚WCP$HHDS‚=�6Œ#�heads�-�hard�disk#‚WCP$FHDS‚=�2Œ#�heads�-�floppy�disk3‚WCP$HTRK‚=�306Š#�of�cylinders�on�media�-�hard�disk4‚WCP$FTRK‚=�80‹#�of�cylinders�on�media�-�floppy�disk+‚WCP$HILV‚=�1Œinterleave�factor�-�hard�disk-‚WCP$FILV‚=�1Œinterleave�factor�-�floppy�disk'‚WCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚WCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚WCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚WCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚WCP$HSHD‚=�0Œstarting�head�number�on�drive�-�hard�disk9‚WCP$FSHD‚=�0Œstarting�head�number�on�drive�-�floppy�disk3‚WCP$HTRD‚=�306Š#�of�cylinders�on�drive�-�hard�disk4‚WCP$FTRD‚=�80‹#�of�cylinders�on�drive�-�floppy�disk2‚WCP$HCOM‚=�153Špre-compensation�value�-�hard�disk3‚WCP$FCOM‚=�40‹pre-compensation�value�-�floppy�disk?‚WCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚WCP$FPTD‚=�0Œ#�of�phys.�secto% rs�per�track�on�drive�-�floppy�disk0‚WCP$HSRD‚=�0Œstepping�rate�of�drive�-�hard�disk2‚WCP$FSRD‚=�0Œstepping�rate�of�drive�-�floppy�disk?‚WCP$HRWC‚=�0Œreduced�write�current�cylinder�number�-�hard�diskA‚WCP$FRWC‚=�0Œreduced�write�current�cylinder�number�-�floppy�disk/‚WCP$HECC‚=�0ŒECC�data�burst�length�-�hard�disk1‚WCP$FECC‚=�0ŒECC�data�burst�length�-�floppy�disk‚*@‚*‚The�attributes�word,�attributes�mask�and�parameter�mask�don't@‚*‚change�for�hard�disks.‚The�parameter�mask�and�attributes�mask>‚*‚don't�change�for�floppy�disks.‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�encoding ‚*‚96�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*-‚WCP$HATM‚=�$0010ˆattributes�mask�-�hard�disk.‚WCP$FATM‚=�$001Fˆattributes�mask�-�flopy�disk,‚WCP$PM„=�$1AF3ˆparameters�mask�-�both�kinds,‚WCP$HAWƒ=�$0010ˆattributes�word�-�hard�disk.‚WCP$FAWƒ=�$004Fˆattributes�word�-�floppy�disk‚*I‚*‚the�following�flags�define�the�attributes�word�for�the�WIN�controller:‚*E‚*WCP$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy‚*˜diskE‚*WCP$FTDN‚=�1�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy‚*˜disk<‚*WCP$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*WCP$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*WCP$HDSC‚=�1�(bit�4)„hard�disk"‚*WCP$FDSC‚=�0�(bit�4)„floppy�diskE‚*WCP$FTDD‚=�1�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy‚*˜disk7‚*WCP$FDSS‚=�0�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size‚*E‚*‚Configuration�information�for�the�SASI�controller�board�(SA1403D).7‚*‚Refer�to�your�disk�drive�manual�if�you�are�not�usingA‚*‚the�set�configuration.‚These�values�are�for�SA1000�fixed�disks‚*‚and�SA800�floppy�disks.‚*0‚SCP$HTNS‚=�32768ˆtotal�#�of�sectors�-�hard�disk1‚SCP$FTNS‚=�3991‰total�#�of�sectors�-�floppy�disk*‚SCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚SCP$FSPT‚=�26‹#�sectors/track�-�floppy�disk!‚SCP$HHDS‚=�4Œ#�heads�-�hard�disk#‚SCP$FHDS‚=�2Œ#�heads�-�floppy�disk3‚SCP$HTRK‚=�256Š#�of�cylinders�on�media�-�hard�disk4‚SCP$FTRK‚=�77‹#�of�cylinders�on�media�-�floppy�disk,‚SCP$HILV‚=�16‹interleave�factor�-�hard�disk.‚SCP$FILV‚=�13‹interleave�factor�-�floppy�disk'‚SCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚SCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚SCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚SCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚SCP$HSHD‚=�0Œstarting�head�number�of�drive�-�hard�disk9‚SCP$FSHD‚=�0Œstarting�head�number�of�drive�-�floppy�disk3‚SCP$HTRD‚=�256Š#�of�cylinders�on�drive�-�hard�disk4‚SCP$FTRD‚=�77‹#�of�cylinders�on�drive�-�floppy�disk0‚SCP$HCOM‚=�0Œpre-compensation�value�-�hard�disk2‚SCP$FCOM‚=�0Œpre-compensation�value�-�floppy�disk?‚SCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚SCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk0‚SCP$HSRD‚=�0Œstepping�rate�of�drive�-�hard�disk2‚SCP$FSRD‚=�0Œstepping�rate�of�drive�-�floppy�disk?‚SCP$HRWC‚=�0Œreduced�write�current�cylinder�number�-�hard�diskA‚SCP$FRWC‚=�0Œreduced�write�current�cylinder�number�-�floppy�disk/‚SCP$HECC‚=�0ŒECC�data�burst�length�-�hard�disk1‚SCP$FECC‚=�0ŒECC�data�burst�length�-�floppy�disk‚*@‚*‚The�attributes�word,�attributes�mask�and�parameter�mask�don't@‚*‚change�for�hard�disks.‚The�parameter�mask�and�attributes�mask>‚*‚don't�change�for�floppy�disks.‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�encoding ‚*‚48�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*'‚SCP$ATMƒ=�$0015ˆattributes�mask�-�both,‚SCP$PM„=�$02F3ˆparameters�mask�-�both�kinds-‚SCP$HAWƒ=�$0210ˆattributes�word�-�hard�disks/‚SCP$FAWƒ=�$020Dˆattributes�word�-�floppy�disks‚*7‚*‚the�following�flags�are�for�the�SASI�controller�disk‚*E‚*SCP$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy‚*˜diskE‚*SC& P$FTDN‚=�0�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy‚*˜disk<‚*SCP$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*SCP$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*SCP$HDSC‚=�1�(bit�4)„hard�disk"‚*SCP$FDSC‚=�0�(bit�4)„floppy�diskE‚*SCP$FTDD‚=�0�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy‚*˜disk7‚*SCP$FDSS‚=�1�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size* 4‚MSG‰*********************************************** ‚MSG‰**«**/‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�MAG�TAPE�DRIVE„**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(MCP�=�MAG�TAPE�CONFIG.�PARAMETERS)…** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*;‚MCP$WTOƒ=�5000‰Write�Timeout�(5�seconds�to�write�4K�bytes);‚MCP$RTOƒ=�360000‡Read‚Timeout�(6�minutes�to�read�4K�bytes,,‚*što�search�for�a�file�mark,to�read�a�blank&‚*štape�to�the�end�of�tape,�to�rewind)6‚MCP$DENƒ=�0ŒDensity�selected�for�write�from�loadpoint ‚*š0�means�1600�bpi�(PE�density)!‚*š1�means‚800�bpi�(NRZI�density)6‚MCP$RDTƒ=�3ŒNumber�of�read�tries�before�error�message1‚MCP$WRTƒ=�3ŒNumber�of�write�tries�before�erasing:‚MCP$ERTƒ=�1ŒNumber�of�times�to�erase�before�error�message‚*<‚MCP$ATMƒ=�$0002ˆBit�1�is�recognized�for�a�configure�command9‚MCP$PM„=�$00F0ˆDEN,RDT,WRT,ERT�fields�are�recognized�for‚*ša�configure�command.‚* ‚MCP$AW„=�$0000ˆBit�0�=�RESERVED4‚*˜Bit�1�=�1�means�user�requests�a�density�for�write2‚*˜Bit�1�=�0�means�user�does�not�request�a�density‚*‚MSG‰A‚MSG‰************************************************************7‚MSG‰**…Descriptive�info�about�this�operating�system‡**A‚MSG‰************************************************************5‚SYSNAMEƒ=�"VERSAdos"ƒName�for�this�operating�system.:‚REVISION‚=�"REV�04.30"‚Revision�of�this�operating�system.7‚TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.>‚TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.A‚MEMEND1ƒ=�$40000‡Ending�addr�for�on-board‚memory�must�be�<�this.9‚MEMEND2ƒ=�$40000‡Starting‚addr�for�off-board�memory�must‚*˜be�>=�this.E‚MEMEND3ƒ=�$E0000‡Ceiling�addr�for�off-board�memory�(must�be�<�this).;‚WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded2‚*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will#‚*˜be�moved�at�initialization�time.‚MSG‰A‚MSG‰************************************************************;‚MSG‰**�VALPAR�--�Validate�parameters�to�keep�you�honest‡**A‚MSG‰************************************************************‚SUBSˆVM03.VALPAR.AG‚ASM‰VM03.VALPAR.AG,,\ASMLS;R-C ‚*’VALPARFOF ‚IFGTˆ\$RDD…PAUSE‡Abort�sysgen�if�errors�in�assembly�-�else�hit�carriage�return‚ENDC ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************#‚MSG‰**…Generate�exec�process�--œ**B‚MSG‰************************************************************* ‚*’EXECFOFB‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*‚MSG‰*„PROCESS�VM03.RMS.LO¤*B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* ‚PCˆ=�$1100 ‚STACK…=�$F00‚STARTRMS‚=�$1200‚PROCESS…VM03.RMS.LO ‚END‰EXEC‚IFEQˆ\LINKLSW…=COPY‡VM03.RMS.LL,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************‚MSG‰**ˆPhysical�IPC�driverž**B‚MSG‰************************************************************* ‚IPCDRVRƒ=�*‚IFEQˆ\TOTDSK+\NOMCCMS‚ENDC‚IFNEˆ\TOTDSK+\NOMCCMS…SUBSˆIPCDRV.LG…LINKˆIPCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…IPCD …END‰IPCD …*’IPCDFOF‚ENDC‚MSG‰B‚MSG‰*************************************************************&‚MSG‰**ˆVM22�Disk�Controller�Driver–**B‚MSG‰*************************************************************‚MSG‰ ‚VM22DRVƒ=�* ‚IFNEˆ\NOVM22…SUBSˆVM22DRV.LG…LINKˆVM22DRV.LG…IFEQˆ\LINKLSWŠ=COPY‰\LINKLS,\WORKLS;A…ENDC…PROCESS…VM22DRV …END‰VM22DRV‚ENDC **+++++++++C‚MSGˆ***************************************************************‚MSGˆ*�Winchester�disk�con& troller�driverš*C‚MSGˆ**************************************************************‚MSG ‚WINDRVR„=‚* ‚IFNEŠ\NOWIN‚SUBSŠWINDRV.LG‚LINKŠWINDRV.LG‚IFEQŠ\LINKLSW‚=COPY‰\LINKLS,\WORKLS;A‚ENDC ‚PROCESS‡WIND ‚END‹WIND *’WINDFOF‚ENDCK*-------------------------------------------------------------------------- **+++++++++G‚*---------------------------------------------------------------------‚MSG‰C‚MSG‰**************************************************************$‚MSG‰*‚SASI�disk�controller�driverŸ*C‚MSG‰**************************************************************‚MSG‰ ‚SASIDRVƒ=�* ‚IFNEˆ\NOSASI…SUBSˆSASIDRV.LG…LINKˆSASIDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,WORKLS;A…ENDC…PROCESS…SASIDRV …END‰SASIDRV …*’SASIDRVFOF‚ENDCG‚*---------------------------------------------------------------------B‚MSG‰*************************************************************4‚MSG‰**‡MPSCDRV�(7201)�DRIVER�FOR�LOCAL�TERMINALS‰**B‚MSG‰************************************************************* ‚MPSCSUPƒ=�*‚IFGTˆ\NOTERM02…SUBSˆMPSCSUP.LG…LINKˆMPSCSUP.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCSUP …END‰MPSCSUP‚ENDC ‚MPSCSPRƒ=�*‚IFGTˆ\NOTERM40…SUBSˆMPSCSPR.LG…LINKˆMPSCSPR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCSPR …END‰MPSCSPR‚ENDC ‚MPSCDRVƒ=�*‚IFGTˆ\NOTERM02+\NOTERM40…SUBSˆMPSCDRV.LG…LINKˆMPSCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCDRV …*’MPSCDRVFOF …END‰MPSCDRV‚ENDC ‚MSG‰B‚MSG‰*************************************************************4‚MSG‰**�IF�WE�HAVE�LOCAL�PRINTERS,�ADD�THE�DRIVER�**B‚MSG‰*************************************************************‚MSG‰ ‚PRTDRVRƒ=�* ‚IFEQˆ\NOLPRT‚ENDC ‚IFNEˆ\NOLPRT…SUBSˆPRTDRV.LG…LINKˆPRTDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…PRTD …*’PRTDFOF …END‰PRTD‚ENDCN‚*----------------------------------------------------------------------------‚MSGA‚MSG‰************************************************************/‚MSG‰**ƒCopy�CBOF.SYSPAR.RO�into�&.SYSPAR.RO‘**A‚MSG‰************************************************************‚MSG‚*#‚=COPY‚CBOF.SYSPAR.RO,&.SYSPAR.RO;Y‚*‚IFNE�\NVME610+\NVME620‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�610/620�DRIVER¥*G‚MSG„******************************************************************‚MSGG‚D610QSIZ�=�128ƒMinimum�number�of�entries�in�Interrupt�Processing�Queue @‚INCLUDE�&.D610GEN.CI„INCLUDE�the�SYSGEN�commands�for�the�driver ‚ENDCN‚*---------------------------------------------------------------------------- ‚IFNEƒ\NDAC1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�605�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ&.D605GEN.CI‚ENDC ‚IFNE‚\NACO‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�615�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ&.D615GEN.CI‚ENDC ‚IFNE‚\NDCO1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�625�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ&.D625GEN.CI‚ENDCO*******************************************************************************N‚*----------------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************/‚MSG‰**�IF�WE�HAVE�MAG�TAPES,�ADD�THE�DRIVER”**B‚MSG‰*************************************************************‚MSG‰ ‚MTADRVRƒ=�* ‚IFNEˆ\NOMTAT…SUBSˆMTADRVR.LG…LINKˆMTADRVR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…MTAD …*’MTADFOF …END‰MTAD‚ENDC‚*‚MSG‰%‚MEMBEG„=�*ŒStart�of�available�memory ‚*’IXRFOF ‚SUBSˆIXR.AG‚ASM‰IXR.AG,IXR.RO,\ASMLS;R ‚IFEQˆ' \ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰@‚MSG‰***********************************************************=‚MSG‰**‚IOS�--�Input/Output�Services�(trap�#2�server�task)ƒ**@‚MSG‰***********************************************************‚TASKˆIOS,.IOS‚STATE…=�'DORM'‚PRIORITY‚=�$D1 ‚SESSIONƒ=�1‚IOSSTR„=�*ŒIOS�load�addr.!‚IOSASR„=�*+2ŠIOS�ASR�entry�point ‚*’IOSFOF ‚SUBSˆIOS.LG ‚LINKˆIOS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOS‚MSG‰B‚MSG‰*************************************************************>‚MSG‰**ƒFHS�--�File�Handling�Services�(trap�#3�server�task)ƒ**B‚MSG‰*************************************************************‚TASKˆFHS,.FHS‚STATE…=�'DORM' ‚SESSIONƒ=�1‚PRIORITY‚=�$D1‚FHSSTR„=�*ŒFHS‚load�addr.!‚FHSASR„=�*+2ŠFHS�ASR�entry�point ‚*’FHSFOF ‚SUBSˆFHS.LG ‚LINKˆFHS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FHS‚MSG‰B‚MSG‰*************************************************************(‚MSG‰**ˆFMS�--�File�Management�System”**B‚MSG‰*************************************************************‚TASKˆFMS,.FMS‚STATE…=�'DORM'‚PRIORITY‚=�$D0‚FMSSTR„=�*ŒFMS�load�addr.!‚FMSASR„=�*+2ŠFMS�ASR�entry�point ‚*’FMSFOF ‚SUBSˆFMS.LG ‚LINKˆFMS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FMS‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆEET�--�Entry�Exit�Task›**B‚MSG‰*************************************************************‚TASKˆEET,&EET‚STATE…=�'READ' ‚SESSIONƒ=�2‚PRIORITY‚=�$C8‚EETSTR„=�*ŒEET�load�addr. ‚*’EETFOF1%‚SUBSˆEET.LG,9995.&.EET.EQ,CMDLIST.AG'‚ASM‰EET.EQ/CMDLIST.AG,CMDLIST,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC ‚LINKˆEET.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰EET‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**ˆLDR�--�Loader�(trap�#4�server�task)Ž**B‚MSG‰*************************************************************‚TASKˆLDR,&LDR‚STATE…=�'READ'‚PRIORITY‚=�$C8 ‚SESSIONƒ=�4‚LDRSTR„=�*ŒLDR�load�addr.‚SUBSˆMMU.LOADER.LG‚LINKˆMMU.LOADER.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚*’LDRFOF‚END‰LDR‚MSG‰@‚MSG‰***********************************************************‚MSG‰**ˆIOCOM�&�IOI¤**@‚MSG‰***********************************************************‚TASKˆIOI,.IOI‚STATE…=�'READ' ‚SESSIONƒ=�1‚PRIORITY‚=�$DA ‚IOCSTR„=�*‚SUBSˆVM03.IOC.AG1‚ASM‰IODM.AG/VM03.IOC.AG,VM03.IOC.RO,\ASMLS;RZ=95 ‚*’IOIFOF1 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVM03.ASR.AG#‚ASM‰VM03.ASR.AG,VM03.ASR.RO,\ASMLS ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC.‚ASM‰VM03.OSLIST.AG,VM03.OSLIST.RO,\ASMLS;Z=95 ‚*’IOIFOF2 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVM03.IOI.LG‚LINKˆVM03.IOI.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚*’IOIFOF3‚END‰IOIE‚MSG‰****************************************************************‚MSG‰*C‚MSG‰*‚Special�I/O�Channnel�Initializer�for�Process�Control�Drivers‚MSG‰*E‚MSG‰**************************************************************** ‚IFNEˆ\PCDRV…INCLUDE….&.IOCI.CI‚ENDC‚MSG‰@‚MSG‰***********************************************************%‚MSG‰**ˆINIT�--�System�Initializer•**@‚MSG‰*********************************************************** ‚PROCESS…INIT ‚INTSTR„=�*%‚SUBS…VM03.INITIO1.AG,VM03.INITIO2.AG‚SUBS…VM03.INT1.LG,VM03.INT2.LG-‚ASM†VM03.INITIO1.AG,VM03.INITIO1.RO,\ASMLS;R ‚IFEQ…\ASMLSW…=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VM03.INT1.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC‚=COPY„\LINK2TF,\LINK1TF;Y ‚IFNE…\NDAC1‰INCLUDEƒ.&.D605MEM.CI‚ENDC ‚IFNE…\NACO‰INCLUDEƒ.&.D615MEM.CI‚ENDC ‚IFNE…\NDCO1‰INCLUDEƒ.&.D625MEM.CI‚ENDC ‚IFNE…\NVME610+\NVME620‰INCLUDEƒ.&.D610INT.CI‚ENDC-‚ASM�VM03.INITIO2.AG,VM03.INITIO2.RO,\ASMLS;R ‚IFEQ…\ASMLSW‹=COPY…\ASMLS,\WORKLS;A‚ENDC‚SUBS…M68XXX.INITDAT.AG1‚ASM†M68XXX.INITDAT.AG,M68XXX.INITDAT.RO,\ASMLS;R ‚IFEQ…\ASMLSW†=' COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VM03.INT2.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC ‚*’INITFOF ‚END‰INIT@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚MSG‰*¹*)‚MSG‰*‹MAKE�SUBSTITUTIONS�IN�VERSAPT.CFŽ*‚MSG‰*¹*@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚SUBSˆVM03.VERSAPT.CF‚MSG‰@‚MSG‰***********************************************************@‚MSG‰***********************************************************5‚MSG‰**‡"SYSGEN�COMPLETION�PROCESSING�IN�PROGRESS"†**‚MSG‰**“Have�a�nice�day.”**@‚MSG‰***********************************************************@‚MSG‰*********************************************************** ‚END‰SYSGENééééé=OPT -N=/**********************=/*�VM03.SYSGEN.CF…*=/**********************=OPT K,NM=/***************************************************************************"=/*�Chain�file�to�perform�sysgen¬*=/*É*=/*�Calling�sequence:·*=/*É*)=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5£*=/*É*7=/*„Not�all�of�the�arguments�need�to�be�entered�since”*$=/*†they�each�have�a�default�value¥*=/*É*6=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)•*=/*É*,=/*„arg2�-�Temp�vol�and�user�no./Boot�fileŸ*9=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and‰*)=/*�user�number�of�command�file�(arg1).—**=/*�Boot�file�defaults�to�'VERSADOS.SY'.˜*=/*É*=/*É*9=/*„arg3�-�List�device�or�file�name�for�sysgen�messages’*=/*�(defaults�to�SYSLIST.LS)¤*;=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extension‰*=/*É*9=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the�*4=/*�three�command�line�fields�used�in�invoking�theŽ*=/*�sysgen�utility�directly.¤*=/*É*E=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')†*=/*É*5=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)–*A=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.*:=/*�All�assembly�listings�and�link�maps�will�be�directedˆ*<=/*�To�the�specified�device�or�file�using�the�copy�utility†*>=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediateƒ*7=/*�file�to�contain�the�assembly�or�link�list�output.‹*@=/*�Due�to�restrictions�in�sysgen�literal�substitution�process‚*8=/*�this�field�cannot�contain�more�than�10�characters.Š*M=/***************************************************************************=/*5=/* Insure that no more than 5 arguments are defined:=/*=/RX=\0 =/IF RX>5ƒ=OPT�-N<ƒ=/*�Error�-�chain�file�started�with�mor( e�than�5�arguments�-5ƒ=/*ƒPlease�restart,�the�argument�definitions�follow:ƒ=/*(ƒ=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5ƒ=/*6ƒ=/*„Not�all�of�the�arguments�need�to�be�entered�since$ƒ=/*†they�each�have�a�default�value.ƒ=/*ñ8úFO 5ƒ=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)ƒ=/*+ƒ=/*„arg2�-�Temp�vol�and�user�no./Boot�file8ƒ=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and(ƒ=/*�user�number�of�command�file�(arg1).)ƒ=/*�Boot�file�defaults�to�'VERSADOS.SY'.ƒ=/*Gƒ=/&�**�Type�carriage�return�or�more�information,�'break'�to�terminate.ƒ=/*8ƒ=/*„arg3�-�List�device�or�file�name�for�sysgen�messagesƒ=/*�(defaults�to�SYSLIST.LS):ƒ=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extensionƒ=/*8ƒ=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the3ƒ=/*�three�command�line�fields�used�in�invoking�theƒ=/*�sysgen�utility�directly.ƒ=/*Dƒ=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')ƒ=/*4ƒ=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)Aƒ=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.9ƒ=/*�All�assembly�listings�and�link�maps�will�be�directed;ƒ=/*�To�the�specified�device�or�file�using�the�copy�utility=ƒ=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediate6ƒ=/*�file�to�contain�the�assembly�or�link�list�output.?ƒ=/*�Due�to�restrictions�in�sysgen�literal�substitution�process7ƒ=/*�this�field�cannot�contain�more�than�10�characters.ƒ=/*ƒ=END=/ENDIF=/*2=/* Force the definition of 5 exactly 5 arguments.=/* =/IF RX=0+ƒ=ARG�SYSCMD.CD,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=1$ƒ=ARG�\1,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=2&ƒ=ARG�\1,\2,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=3ƒ=ARG�\1,\2,\3,SINGLE-HARD,#PR=/ENDIF =/IF RX=4ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*8=/* We have 5 arguments - now default any null arguments=/*=/IFC \1ƒ=ARG�SYSCMD.CD,\2,\3,\4,\5=/ENDIF=/*=/IFC \3ƒ=ARG�\1,\2,SYSLIST.LS,\4,\5=/ENDIF=/*=/IFC \4ƒ=ARG�\1,\2,\3,SINGLE-HARD,\5=/ENDIF=/*=/IFC \5ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*N=/* If arg5 is not #PR,#PR1,#PR2,#PR3,# or #NULL then treat as file and delete:=/*ƒset�switch�(arg6)�to�1�for�printer�device,�0�for�file.=/*0=ARG \1,\2,\3,\4,\5,0,#PR,#PR1,#PR2,#PR3,#,#NULL =/FOR 7,\0ƒ=/IFEQ�"\5"\(RX)1†=ARG�\1,\2,\3,\4,\5,1,#PR,#PR1,#PR2,#PR3,#,#NULLƒ=/ENDIF=/ENDFOR=/RX=\6 =/IF RX=0ƒ=DEL�\5=/ENDIF=/*=/* Set switch (arg7) TO:=/*„01�--‚SINGLE-HARD=/*=ARG \1,\2,\3,\4,\5,\6,10=/IFEQ "\4"SINGLE-HARDƒ=ARG�\1,\2,\3,\4,\5,\6,01=/ENDIF=/*9=/* Abort chain if an invalid configuration was requested=/*=/RX=\7 =/IF RX=10ƒ=OPT�-N3ƒ=/*‚\4�is�an�invalid�configuration�-�(argument�#4)8ƒ=/*…The�only�valid�configuration�is�'SINGLE-HARD'�which3ƒ=/*…is�the�default.�Please�restart�chain�file�withƒ=/*…correct�parameters.ƒ=END=/ENDIF#=ARG \1,\2,\3,\4,\5,\6,\7,SYSGEN.TF=/*3=/* The argument list now looks like the following:=/* =/*ƒarg1ƒ-ƒName�of�command�file.=/*0=/*ƒarg2ƒ-ƒTemporary�volume/boot�file�(or�null).=/*3=/*ƒarg3ƒ-ƒList�device�or�file�for�sysgen�messages.=/*(=/*ƒarg4ƒ-ƒSystem�configuration�mnemonic=/*�'SINGLE-HARD'=/*�(see�arg7)=/*@=/*ƒarg5ƒ-ƒListing�file�or�device�for�assemblies�and�link-edits.4=/*�SYSGEN.TF�is�the�temporary�file�which�is�used�in1=/*�conjunction�with�=COPY�;A�to�produce�a�single=/*�listing�file.=/*�(see�arg6)=/*=/*ƒarg6ƒ-ƒSwitch�-"=/*�0�=‚arg5�specifies�a�file�name=/*�1�=‚arg5�specifies�a�device=/*�(see�arg5)=/*%=/*ƒarg7ƒ-ƒNumber�configuration�key�-%=/*�01�=‚signle-user�hard�disk�system=/*�(see�arg4)=/*8=/*ƒarg8ƒ-ƒSYSGEN.TF�temporary�file�for�use�with�copy�in+=/*�creating�listing�file�specified�by( �arg3=/*=/*9=/* Justify argument positions and invoke sysgen utility.=/*=ARG \5,\6,\7,\8,\1,\2,\3,\4=/*)=/* Turn off echo of sysgen command lines=OPT J=OPT -N=SYSGEN VM03.\5,\6,\7;T=350 =OPT -J,-N8=/**‚Applying�patches�from�XVERSAPT.CF�to�the�boot�file.=/@ VM03.XVERSAPT.CFM=/***************************************************************************M=/***************************************************************************=/**=/**‚Sysgen�Completed�--=/**6=/**„Assembly�and�link�listings�have�been�output�to�\1=/**1=/**„Sysgen�command�listing�has�been�output�to�\7=/**M=/***************************************************************************M=/***************************************************************************=OPT -K=ENDééééééd1IOI ASREL'VM03 IOI SAF „VERSAdos I/O Initialization System Task V 4.1 - 09/13/82×2pFMSDLEN pNOTASKS pNOCDCB pNODCBS pNOFCBS pIOCOML pIOCOMS pCCSEG pOSMTBL pNODVS pNOFATS pOSMEND pFHSASR pFMSASQ  pFMSASR pNOLPRT pIOSASR pNOVDTS pNOLTERM !@F3`F3$ IOSG((K3´@€.|*B#ü()2"|(J‘gH |)N1i!iG3Lé? Hè? (g (f(p=/*ƒcontain�patches�to�be�applied�to�VERSADOS�after�the�sysgen =/*ƒprocess.=/*=PATCH VERSADOS.SYH*---+----:----+----:----+----:----+----:----+----:----+----:----+----:--H*>----------------------------------------------------------------------O�\IOSSTR�*�Start�of�IOSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FHSSTR�*�Start�of�FHSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FMSSTR�*�Start�of�FMSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\EETSTR�*�Start�of�EETH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\LDRSTR�*�Start�of�LDRH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\IOCSTR�*�Start�of�IOCH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\INTSTR�*�Start�of�INTH*<----------------------------------------------------------------------QUIT=/*!=/*†PATCH�PRTDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOLPRT =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PRTDRVRŽ*�Start�of�PRTDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*'=/*†PATCH�EPCI�DRIVER�ONLY�IF�IT�EXISTS=/*=/RD = \NOLTERM =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\EPCIDRVRŽ*�Start�of�CHIDRVR* 019H*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�M315DRV�ONLY�IF�IT�EXIST=/*=/RD = \TOTDSK + \NOMCCMS =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\M315DRVRŽ*�Start�of�M315DRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*8=/* SYSTEM MUST BE RE-BOOTED FOR PATCHES TO TAKE EFFECT.=/*=ENDéééééé PAGEO********************************************************************************A*ˆVME101.IOC.AG--�define�DCB'S�and�CDB'S�for�VME101�module�system**ˆThe�macros�used�are�defined�in�&.IODM.AG*O******************************************************************************* *@*‚This�section�becomes�IOCOMS,�which�is�used�by�FMS,�IOS,�&�FHS.*#IOCOM„IDNT†12,12‡I/O�COMMON�SEGMENT SECTION 0 OPT MEX XDEF IOCOMS,IOCOML,CCSEG *1*‚Define�the�physical�addresses�of�device�drivers*‚using�the�SYSGEN�parameters.*PRT†EQU‡\PRTDRVRM315…EQU‡\M315DRVREPCI…EQU‡\EPCIDRVR** PAGE*6*‚Here�are�parameters�describing�the�tables�and�lists.*IOCOMS  DC.L 0 I/O sysgen options. ( DC.L DCQSTR Start address of DCQ space.&�DC.L�DCQEND�Endƒaddress�of�DCQ�space.�DC.L�0†Address�of�1st�DCQ. ( DC.L LUTSTR Start address of LUT space.&�DC.L�LUTEND�Endƒaddress�of�LUT�space.�DC.L�0†Address�of�1st�LUT. ( DC.L DCBTBL Start address of DCB space.&�DC.L�DCBEND�Endƒaddress�of�DCB�space. DC.L DCBTBL Address of 1st DCB.  DC.L 0 SEMAPHORE FLAG&�DC.B�'\SYSNAME'„OPERATING�SYSTEM�I.D.�DC.B�'\REVISION'ƒANDƒREVISION( DC.L 0,0,0 TASK ID FOR UNCLAIMED BREAKS PAGEO********************************************************************************C*ˆStorage�for�DCQ's�and�LUT's.‚Initially�these�two�lists�are�empty.*O******************************************************************************* * *‚DCQ�space.* DCQSTR EQU * DS.B 256*\DCQPGEDCQEND EQU *-1 * *‚LUT�space.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1‰PAGEO**********************************************************************************ˆDefine�DCB's�based�on�SYSG* EN�parameters.*O******************************************************************************* *DCBTBL�EQU�*‡This�is�the�top�of�DCB�space. 0PRTDV�SET�'PR‚'�INITIAL�VALUE�FOR�PRINTER�DEVICE*$************************************ARJ?RPZMbJjB#*�SET�UP�DCB'S�FOR�LOCAL�PRINTERS‚*$************************************* IFNE \NOLPRT*.PCP$ATW‚SET…\PCP$TLRL<<2+\PCP$AFF<<1+\PCP$LNFDK PRTDCB PRTDV,IOSID,IOSESS,$632,95,1,'CPRT',0,$0007,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELC ENDC &**************************************$*‚SET�UP�DCB'S�FOR�LOCAL�TERMINALS‚*&************************************** IFNE \NOLTERMITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8‰DC.L†0,0,0,0ƒBUFFER�ZONE�BETWEEN�DEVICE�INDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACE�FOR�CONFIGURATION�INFO (DCBEND�EQU�*-1…End�address�of�DCB�space.HIOCOML EQU (*-IOCOMS+255)/256*256 Get length of common segment (force to*§next�page�boundary). PAGE SECTION 1O*********************************************************************************‰CHANNEL�DATA�BLOCKS*O******************************************************************************* CCSEG EQU * ******‚LOCAL�PRINTERS IFGT \NOLPRTI CDB 0,'CPRT',XTPRTL,254,PRT,0,\LPDA$00,7,$1B,3,$10,0,0,0,0,0,0,0,0,0,0,0 ENDC  ******‚LOCAL�TERMINALS ‚IFGT�\NOLTERME CDB $0000,'EPC1',XTEPCI,254,EPCI,0,\LTDA$00,6,$1C,4,$30,0,0,0,0,0,0, & 0,0,0,0,0 ENDC   IFGT \NOLTERM-1E CDB $0000,'EPC2',XTEPCI,254,EPCI,0,\LTDA$01,6,$1D,5,$30,0,0,0,0,0,0, & 0,0,0,0,0 ENDC ‰PAGE*"*‡MVME315�disk�controller�channels*** %DEVADD SET $FEFE00 INIT. DEVICE ADDR.VECTNO SET 63 INIT. VECTOR NO. IFGT \NOIPCSDEVADD SET DEVADD+$200VECTNO SET VECTNO+1M CDB 0,'CRD1',XTD315,254,M315,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC*** IFGT \NOIPCS-1DEVADD SET DEVADD+$200VECTNO SET VECTNO+1M CDB 0,'CRD2',XTD315,254,M315,0,DEVADD,$1FF,VECTNO,3,$10,0,$181,$FF,$FF,$F,0,&ƒ$183,$FF,$FF,$F,0 ENDC** ) DC.L 0 Link of 0 marks end of CDB chain.  ENDéé PAGE*#*VALPAR VALIDATES SYSGEN PARAMETERSG*…FAIL�ERROR�IS�GENERATED�FOR�EACH�PARAMETER�THAT�IS�NOT�IN�VALID�RANGE:*ANY ERROR SHOULD MAKE OPERATOR ABORT SYSGEN SINCE FURTHER/*…SYSGEN�PROCESSING�ASSUMES�PARAMETERS�ARE�GOOD*.*MAKE SURE TOTAL NUMBER OF TERMINALS IS SUM OF*…DIFFERENT�TYPES�OF�TERMINALS IFNE \TOTTERM-(\NOLTERM) FAIL 100 ENDC'*CAN'T HAVE MORE THAT 2 LOCAL TERMINALS IFGT \NOLTERM-2 FAIL 100 ENDC *MAKE SAME CHECK FOR DISK DRIVES= IFNE \TOTDSK-(\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1) FAIL 100 ENDC0*MAKE SURE NO. OF IPC'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOFD0 CNT SET CNT+1 ENDC IFNE \NOFD1 CNT SET CNT+1 ENDC IFNE \HDUDC0+\FDUDC0 CNT SET CNT+1 ENDC IFNE \HDUDC1+\FDUDC1 CNT SET CNT+1 ENDC IFNE CNT-\NOIPCS FAIL 100 ENDC1*MAKE SURE NO. OF MCCM'S AGREES WITH DEVICE INFO. CNT SET 0 IFNE \NOTERM0+\NOPRT0 CNT SET CNT+1 ENDC IFNE \NOTERM1+\NOPRT1 CNT SET CNT+1 ENDC IFNE \NOTERM2+\NOPRT2 CNT SET CNT+1 ENDC IFNE \NOTERM3+\NOPRT3 CNT SET CNT+1 ENDC IFNE CNT-\NOMCCMS FAIL 100 ENDC=*CAN'T HAVE MORE THAN 1 LOCAL PRINTER OR MORE THAN 1 PER MCCM IFGT \NOLPRT-1 FAIL 100 ENDC IFGT \NOPRT0-1 FAIL 100 ENDC IFGT \NOPRT1-1 FAIL 100 ENDC IFGT \NOPRT2-1 FAIL 100 ENDC IFGT \NOPRT3-1 FAIL 100 ENDC9*CAN'T HAVE MORE THAN 2 LOCAL TERM. IF ANY MCCM TERMINALS IFNE \NOTERM0+\NOTERM1+\NOTERM2 IFGT \NOLTERM-2 FAIL 100 ENDC ENDC8*CAN'T,  HAVE MORE THAN 4 LOCAL TERMS IF NO MCCM TERMINALS IFEQ \NOTERM0+\NOTERM1+\NOTERM2 IFGT \NOLTERM-4 FAIL 100 ENDC ENDC**CAN'T HAVE MORE THAN 4 TERMINALS PER MCCM IFGT \NOTERM0-4 FAIL 100 ENDC IFGT \NOTERM1-4 FAIL 100 ENDC IFGT \NOTERM2-4 FAIL 100 ENDC IFGT \NOTERM3-4 FAIL 100 ENDC-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER IPC IFGT \NOFD0-4 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 HARD DRIVES PER UDC IFGT \HDUDC0-4 FAIL 100 ENDCrg{g-*CAN'T HAVE MORE THAN 4 FLOPPY DRIVES PER UDC IFGT \FDUDC0-4 FAIL 100 ENDC9*CAN'T HAVE 0 OR MORE THAN 75 TASKS IN SYSTEM AT ONE TIME IFEQ \NOTASKS FAIL 100 ENDC IFGT \NOTASKS-75 FAIL 100 ENDC1*MAXIMUM LU CANNOT BE LESS THAN 8 OR MORE THAN 31 IFLT \MAXLU-8 FAIL 100 ENDC IFGT \MAXLU-31 FAIL 100 ENDC2*MAXIMUM LU CANNOT BE LESS THAN NO. OF DISK DRIVES IFLT \MAXLU-\TOTDSK FAIL 100 ENDCC*MAXIMUM NO. OF PAGES FOR DCQ,UST,GST,IOV, AND TRACE CANNOT BE 0 OR*…MORE�THAN�10 IFEQ \DCQPGE FAIL 100 ENDC IFGT \DCQPGE-10 FAIL 100 ENDC IFEQ \GST FAIL 100 ENDC IFGT \GST-10 FAIL 100 ENDC IFEQ \UST FAIL 100 ENDC IFGT \UST-10 FAIL 100 ENDC IFNE \TRCFLAG IFEQ \TRACE FAIL 100 ENDC ENDC IFNE \TRCFLAG IFGT \TRACE-10 FAIL 100 ENDC ENDC IFEQ \IOV FAIL 100 ENDC IFGT \IOV-10 FAIL 100 ENDCG*MAXIMUM NO. OF DIFFERENT FILES MUST BE .LE. MAXIMUM NO. OF TOTAL FILES IFGT \NODIFFIL-\NOFILES FAIL 100 ENDC2*MAXIMUM NO. OF FILES CANNOT BE 0 OR MORE THAN 200 IFEQ \NODIFFIL FAIL 100 ENDC IFGT \NODIFFIL-200 FAIL 100 ENDC IFEQ \NOFILES FAIL 100 ENDC IFGT \NOFILES-200 FAIL 100 ENDCG*MAXIMUM NO. OF DEFAULT VOLUMES CANNOT BE 0 OR MORE THAN NO. OF TASKS+3 IFEQ \NODEFVOL FAIL 100 ENDC IFGT \NODEFVOL-(\NOTASKS+3) FAIL 100 ENDCE*NUMBER OF DEFAULT VOLUMES MUST BE GREATER THAN OR EQUAL TO NUMBER OF*ƒLOGON�TERMINALS IFGT \NOLOGONS-\NODEFVOL FAIL 100 ENDC**DEFAULT FAB SIZE CANNOT BE 0 MORE THAN 20 IFEQ \DEFFAB FAIL 100 ENDC IFGT \DEFFAB-20 FAIL 100 ENDC7*DEFAULT DB SIZE CANNOT BE LESS THAN 4 OR MORE THAN 255 IFGT \DEFDAT-255 FAIL 100 ENDC IFLT \DEFDAT-4  FAIL 100 ENDC END  PAGE)ASR IDNT 11,11 ASR ADDRS. FOR I/O MODULES*8*ASR-FILE OF ASR ADDRESSES OF I/O MODULES-NEEDED FOR IOI* XDEF FMSASR,FHSASR,IOSASRFMSASR EQU \FMSASRFHSASR EQU \FHSASRIOSASR EQU \IOSASR ENDéééé, éééƒ ‰XDEF†OSMTBL,FMSASQ‰XDEF†OSMEND,FMSDLEN‰XREF†FHSASR,IOSASR,FMSASR*-*ˆTABLE�OF�OPERATING�SYSTEM�MODULE�TASK�NAMES*‰NOLIST‰INCLUDEƒ9995.&.IOE.EQ‰INCLUDEƒ9995.&.TR1.EQ‰INCLUDEƒ9995.&.EXE.EQ‰INCLUDEƒ9995.&.NIO.EQ‰INCLUDEƒ9995.&.LV5.EQ‰INCLUDEƒ9995.&.FME.EQ‰INCLUDEƒ9995.&.FMI.EQ‰LIST SECTION 1‰PAGE**ˆTABLE�OF�OS�MODULE�TASK�NAMES*OSMTBLƒDC.L…FHSIDŽFHS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+FHSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+FHSNLN‡QUEUE�LENGTH‰DC.L„FHSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…IOSIDŽIOS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+IOSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L„IOSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED***‰DC.L…FMSIDŽFMS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRD‚ASQ�STATUS'‰DC.B„EVTLEN+FHSNLN‡MAX.�MESSAGE�LENGTHFMSASQƒDC.L„0�QUEUE�LENGTH‰DC.L„FMSASRŽADDR.�OF�ASR‰DC.W„0**‰DC.W„SGOPPAŽOPTIONS-LOG.�ADDR=PHYS.�ADDR.‰DC.W„SGATRW+SGATSS‡ATTRIBUTES‰DC.L„FMSD�SEG.�NAME‰DC.L„0�LOGICAL�ADDRESSFMSDLEN‚DC.L„0�SEGMENT�LENGTH**OSMENDƒEQU…*“END�OF�TABLE ‰END‡OSMTBLééŒ>=LINK ,IOI,\LINKLS;HAMIXSSEGMENT IOSG:0 \IOCSTRSEGMENT .IOI:1INPUT VME101.IOC.ROINPUT VME101.IOI.ROINPUT VME101.OSLIST.RO INPUT IXR.ROINPUT VME101.ASR.ROEND=ENDéé- ééééé• ‚********************‚*�VME101.SYSCMD.CD�*M‚****************************************************************************‚*�SYSGEN�COMMAND�FILE�-´*?‚*ƒUSE�IN�CONJUNCTION�WITH�SYSGEN.CF�OR�EXECUTE�DIRECTLY�WITH�*‚*†THE�FOLLOWING�ARGUMENTS:¬*‚*Ê*@‚*†ARG1�-�LISTING�FILE�OR�DEVICE�FOR�ASSEMBLIES�AND�LINK�EDITS‰*‚*Ê*-‚*†ARG2�-�SWITCH�--�0�=�ARG1�IS�A�FILE�NAMEœ*‚*—1�=�ARG1�IS�A�DEVICE�NAMEš*‚*Ê*8‚*†ARG3�-�CONFIGURATION�SWITCH�--�1�=�SINGLE-USER�HARD‘*‚*Ê*@‚*†ARG4�-�WORKING�FILE�FOR�USE�WITH�COPY�;A�TO�PRODUCE�LISTING‰*‚*Ê*M‚**************************************************************************** ‚MSG‰SYSGEN�COMMAND�FILE +‚MSG‰SET�SYSGEN�PARAMETERS�FROM�PASSED�ARGS *‚ASMLSW„=�\2‹*ASSEMBLY�LISTING�FILE�SWITCH‚*”0�=�ASMLS�IS�A�FILE‚*”1�=�ASMLS�IS�A�DEVICE'‚LINKLSWƒ=�\2‹*LINK�LISTING�FILE�SWITCH‚*”0�=�LINKLS�IS�A�FILE‚*”1�=�LINKLS�IS�A�DEVICE  ‚IFEQˆ\ASMLSW$…ASMLS…=�"\4"‰*ASM�LISTING�WORK�FILE‚ENDC ‚IFNEˆ\ASMLSW!…ASMLS…=�"\1"‰*ASM�LISTING�DEVICE‚ENDC ‚IFEQˆ\LINKLSW&…LINKLS„=�"\4"‰*LINK�LISTING�WORK�FILE‚ENDC‚IFNEˆ\LINKLSW#…LINKLS„=�"\1"‰*LINK�LISTING�DEVICE‚ENDC +‚WORKLS„=�"\1"‰*OVERALL�LISTING�FILE/DEVICE C‚MSG‰**************************************************************C‚MSG‰**************************************************************?‚MSG‰**„System�generation�(SYSGEN)�command�file�for�users�of‚**4‚MSG‰**„VERSAdos�on�for�VME101.�Prepared�5/05/83.�**C‚MSG‰**************************************************************C‚MSG‰**************************************************************‚MSG‰C‚MSG‰**************************************************************(‚MSG‰**ˆParameters�describing�devices•**C‚MSG‰**************************************************************(‚*˜Total�#�of�terminals�(local�and�MCCM)7‚TOTTERMƒ=�\NOLTERM+\NOTERM0+\NOTERM1+\NOTERM2+\NOTERM3(‚*˜Total�#�of�printers�(local�and�MCCM).1‚TOTPRT„=�\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2+\NOPRT3‚*˜Total�number�of�disks�- ž=§5¯1·.¿1Ç9Ï.×.ß5ç9ï+÷EÿIO +‚*˜floppy�drives�and�hard�disk�drives.‚Each(‚*˜volume�defined�requires�approximately‚*˜2-1/4K�bytes�of�memory.7‚TOTDSK„=�\NOFD0+\NOFD1+\HDUDC0+\FDUDC0+\HDUDC1+\FDUDC1‚*‚*,‚NOLTERMƒ=�2Œ#�of�local�terminals�(max�is�2)*‚NOLPRT„=�1Œ#�of�local�pri- nters�(max�is�1)‚*:‚*‚Note:�MCCM's�are�not�applicable�with�a�VME101�processor3‚*ˆboard.‚These�parameters�are�left�here�to�be�able3‚*ˆuse�the�generic�VERSAdos�modules�such�as�the�I/O‚*ˆinitializer�(IOI).‚*)‚NOTERM0ƒ=�0Œno�of�MCCM�first�serial�port*‚NOTERM1ƒ=�0Œno�of�MCCM�second�serial�port)‚NOTERM2ƒ=�0Œno�of�MCCM�third‚serial�port*‚NOTERM3ƒ=�0Œno�of�MCCM�fourth�serial�port‚*(‚NOPRT0„=�0Œno�of�MCCM�first�paral.�port)‚NOPRT1„=�0Œno�of�MCCM�second�paral.�port(‚NOPRT2„=�0Œno�of�MCCM�third‚paral.�port)‚NOPRT3„=�0Œno�of�MCCM�fourth�paral.�port‚*‚NOMCCMSƒ=�0Œnumber�of�MCCM's‚*<‚*‚Note:‚In�a�VME101�based�system�the�term�UDC�refers�to�the7‚*‰MVME315�disk�controller�board.‚This�board�is�capable=‚*‰of�controlling�4�floppy�disks�and�4�Winchester�hard�disks.B‚*‰The�4�Winchester�hard�disks�are�connected�to�a�SASI�controller..‚*‰The�floppy�disks�may�be�either�5.25"�or�8".:‚*‰The�parameters�for�FDC�are�kept�to�allow�use�of�generic‚*‰VERSAdos�modules.‚*6‚NOFD0…=�0Œno�of�floppy�drives�on�first�FDC�-�not�used7‚NOFD1…=�0Œno�of�floppy�drives�on�second�FDC�-�not�used*‚HDUDC0„=�2Œno�of�hard�drives�on�first�UDC+‚HDUDC1„=�0Œno�of�hard�drives�on�second�UDC,‚FDUDC0„=�4Œno�of�floppy�drives�on�first�UDC-‚FDUDC1„=�0Œno�of�floppy�drives�on�second�UDC1‚NOIPCS„=�1Œno�of�MVME315�disk�controller�boards.‚*‚*†Parameters�about�disk�sizes‚*1‚N8FUDC0ƒ=�2Œnumber�of�8"�floppy�disks�on�1st�UDC1‚N8FUDC1ƒ=�0Œnumber�of�8"�floppy�disks�on�2nd�UDC4‚N5FUDC0ƒ=�2Œnumber�of�5.25"�floppy�disks�on�1st�UDC4‚N5FUDC1ƒ=�0Œnumber�of�5.25"�floppy�disks�on�2nd�UDC‚*‚MSG‰C‚MSG‰**************************************************************8‚MSG‰**ˆParameters�about�table�sizes�used�by�VERSAdos…**‚MSG‰**ˆand�RMS68K.§**C‚MSG‰**************************************************************‚*2‚PAGESIZE‚=�256ŒSize�in�bytes�of�a�page�of�memory.*‚ASN‡=�0Ž#�of�address�spaces--not�used�but'‚*šneeded�to�satisfy�M68XXX.INITDAT.AG.4‚DCQPGE„=�2ŒNumber�of�pages�of�memory�for�the�device-‚*˜connection�queue�(DCQ).‚Minimum�of�1�page,*‚*˜maximum�of�10�pages.‚The�DCQ�is�used�to/‚*˜save�concurrent�requests�to�the�same�file�or.‚*˜device.‚Each�page�of�the�DCQ�can�accomodate‚*˜approximately�9�entries.‚*1‚GST‡=�2ŒNumber�of�pages�in�global�segment�table.-‚*˜Minumum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�14�entries.‚*5‚UST‡=�2ŒNumber�of�pages�in�the�user�semaphore�table.-‚*˜Minimum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�11�entries.‚*6‚TRACE…=�5Œ*No.�of�pages�in�trace�table.‚TRACE�must�be/‚*˜nonzero�if�TRCFLAG�is�nonzero.‚Each�page�can'‚*˜accomodate�approximately�10�entries.‚*2‚UDR‡=�1ŒNumber�of�pages�in�user-defined�directive0‚*˜table,�minimum�of�0,�maximum�of�10.‚Each�page'‚*˜accomodate�approximately�25�entries.‚*6‚IOV‡=�1Œ#�of�pages�in�I/O�vector�table.‚Each�page�can'‚*˜accomodate�approximately�12�entries.‚*@‚PAT‡=�(\NOLOGONS*32*2+16+(\PAGESIZE-1))/\PAGESIZE�#�of�pages�in0‚*˜periodic�activation�table.‚Each�page�can�hold.‚*˜approximately�8�entries.‚PAT�size�is�\PAT�.‚*<‚NOTASKSƒ=�10‹Maximum�number�of�tasks�in�system�at�one�time.-‚*˜VERSAdos�contains�a�maximum�of�11�resident)‚*˜tasks.‚Allowing�for�that�plus�four�for/‚*˜each�terminal�will�accomodate�most�requests.‚*<‚MAXLU…=�12‹Maximum�logical�unit�number�that�can�be�assigned/‚*˜for�each�task�in�the�system.‚Limit�is�31�and.‚*˜minumum�is�8.‚MAXLU�must�be�greater�than�or2‚*˜equal�to�TOTDSK.‚MAXLU�and�NOTASK�determine�the1‚*˜amount�of�memory�required�for�the�logical�unit1‚*˜table�(LUT).‚The�algorithm�for�determining�the!‚*˜size�of�the�LUT�is�as�follows:'‚*˜LUT�=�16*NOTASKS+8*NOTASKS*(MAXLU+1),‚*˜There�must�be�a�1�LU�for�each�disk�volume,‚*˜(FMS�assigns�a�different�logical�unit�for,‚*˜each�disk.)‚This�means�that�MAXLU�must�be#‚*˜greater�than�or�equal�to�TOTDSK.‚*‚IFGTˆ\TOTDSK-\MAXLU!…MSG‰SYSGEN�parameter�size�error.3…MSG‰MAXLU�must�be�greater�than�or�equal�to�TOTDSK.:…MSG‰In�. this�sysgen,�MAXLU�=�\MAXLU�and�TOTDSK�=�\TOTDSK�.5…MSG‰Please�adjust�parameters�and�start�sysgen�again.…ABORT‚ENDC;‚NOFILESƒ=�12‹Maximum�number�of�files�that�can�be�opened�in(‚*˜the�system�at�one�time.‚Limit�of�200.9‚NODIFFIL‚=�12‹Maximum�number�DIFFERENT�files�that�can�be-‚*˜opened�at�one�time.‚Cannot�be�greater�than,‚*˜NOFILES.‚For�every�three�different�files,,‚*˜approximately�1K�of�memory�is�required.‚A&‚*˜ration�of�5�files�for�each�terminal‚*˜accomodates�most�requests.;‚NODEFVOL‚=�4ŒMaximum�number�of�default�volumes�that�can�be-‚*˜defined.‚Cannot�be�greater�than�NOTASKS+3.9‚DEFFAB„=�1ŒDefault�File�Allocation�Block�(FAB)�length�in/‚*˜sectors�(256�bytes�per�sector).‚Used�by�file-‚*˜handler�when�no�FAB�size�is�given.‚Minimum!‚*˜size�is�1,�maximum�size�is�20.;‚DEFDAT„=�4ŒDefault�data�block�length�in�sectors�(256�bytes1‚*˜per�sector).‚Used�by�file�handler�when�no�data/‚*˜block�size�is�given�at�file�allocation�time.*‚*˜Minumum�size�is�4,�maximum�size�is�255.‚MSG‰C‚MSG‰**************************************************************‚MSG‰**ˆEETEQU�values¥**C‚MSG‰**************************************************************‚*9‚*‹These�parameters�are�used�be�the�session�control�task.9‚*‹They�define�the�operating�environment�such�as�if�batch<‚*‹and�chain�processing�is�to�be�inclued,�how�many�terminals ‚*‹may�be�logged�on�at�one�time.‚*>‚DEFAULTƒ=�"SYS:0.&"„*System�default�volume:usernumber.catalog;‚TERMOCNT‚=�2ŒNo.�of�terminal�output�timeouts�before�logoff7‚SECURITY‚=�1ŒSwitch�to�indicate�if�security�package�is-‚*˜supported.‚Value�of�zero�excludes�package,-‚*˜nonzero�includes�it.‚This�package�requires‚*˜approximately�1K�of�memory.<‚SPCCMD„=�1ŒSwitch�to�indicate�if�the�following�user�session0‚*˜management�commands�are�supported:‚HELP,CLOSE0‚*˜ASSIGN,NEWS.‚Value�of�zero�excludes�commands./‚*˜This�package�requires�approximately�1/2�K�of ‚*˜memory.>‚CHAINBAT‚=�1ŒSwitch�to�indicate�if�chain�and�batch�processing2‚*˜are�supported.‚Value�of�zero�excludes�batch�and.‚*˜chain;�non-zero�includes�them.‚This�package+‚*˜requires�approximately�3-1/2K�of�memory.9‚CONBATCH‚=�1ŒNumber�of�concurrent�batch�jobs�that�can�be(‚*˜running.‚Cannot�be�more�than�NOTASKS.<‚BATCHPGE‚=�2ŒNo.�of�pages�for�batch�job�queueing.‚Each�page0‚*˜accomodates�32�entries.‚In�addition,�there�is+‚*˜space�for�31�entries�minus�the�number�of‚*˜terminals�in�the�system.=‚BATDLY„=�16000ˆ*delay�in�ms�in�batch�between�reload�attempts=‚NOLOGONƒ=�3ŒMaxmimum�number�of�invalid�logon�attempts�before‚*˜being�rejected.B‚NOLOGONS‚=�\TOTTERM…#�of�terminals�allowed�to�logon�in�the�system ‚*˜(max�is�2),‚LOGMSG1ƒ=�"VERSAdos�V"�Logon�message�part�1)‚LOGMSG2ƒ=�"ERSION�"„Logon�message�part�2(‚REVNUMBR‚=�"�4.3�"†Logon�message�part�3‚*2‚*˜REVNUMBR�is�used�dynamically�in�CMDLIST�as�part*‚*¡of�the�log�on�message.�If�this�value�is'‚*¡changed�then�'REVISION'�in�this�file)‚*¡should�be�changed�to�match�the�dynamic ‚*¡value.‚*B‚AUTOTERM‚=�'CN00'‡Terminal�ID�of�device�auto�logon�is�to�occur�on‚AUTOLOGN‚=�1ŒBit�0:‚*›0�-->�Auto�break�inactive‚*›1�-->�Auto�break�active ‚*˜Bit�1:‚*›0�-->�Auto�logon�inactive‚*›1�-->�Auto�logon�active‚*‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**‰Vector�numbers£**C‚MSG‰**************************************************************5‚PRTVEC„=�27‹printer�port-�level�3�autovector�loc�$6C4‚SERPTS„=�29‹serial�port-�level�5�autovector�loc�$740‚PTMVECTƒ=�30‹timer†-�level�6�autovector�loc�$782‚FAIL†=�31‹Board�fail�-�level�7�autovector�loc�$7C7‚SWABRT„=�31‹Software�abort-�level�7�autovector�loc�$7C1‚*‹ACFAIL�and�software�abort�use�the�same�vector.;‚*‹The�module�status�register�must�be�read�to�determine�the7‚*‹interrupt�source.‚This�version�of�VERSAdos�sends�the3‚*‹software�abort�interrrupt�directly�to�VME101bug.‚*‚MSG‰C‚MSG‰**************************************************************#‚MSG‰**ˆAddresses�of�timer,�etc.š**C‚MSG‰*****************. *********************************************,‚MMU‡=�$0‹Address�of�MMU�(none�on�a�VME101)."‚TIMER…=�$FE00D0†Address�of�timer.7‚CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond.#‚PANEL…=�$0‹Address�of�front�panel.@‚BUGTRACƒ=�$F00552†Address�of�firmware�debugger's�trace�routine.2‚TRCFLAGƒ=�$C000ˆTrace�flag�-�0�means�don't�trace.0‚*˜setting�of�bits�in�the�TRCFLAG�parameter�will2‚*˜control�which�events�cause�an�entry�to�be�built‚*˜in�the�trace�table.‚*˜Bit�#�in�TRCFLAG†Event ‚*›15‘TRAP�#1‚*›14‘I/O�interrupt�not�claimed‚*°by�user�task.‚*›13‘Timer�interrupt.‚*›12‘User�trap�(2-15)‚*›11‘Exception‚*›10‘Dispatch‚*œ9‘I/O�interrupt�claimed�by ‚*°user�task‚*œ8‘Return�from�LOADMMU‚*œ7‘Simulated�interrupt‚*œ6‘SYSFAIL�interrupt.‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒLOCAL�TERMINAL‰DEVICE�ADDRESES‚** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰2‚LTDA$00ƒ=�$FE00A1†2661�address�-�local�terminal�12‚LTDA$01ƒ=�$FE00B1†2661�address�-�local�terminal�2-‚LPDA$00ƒ=�$FE00C1†Local�Printer�base�address‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�TERMINALŠ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(TCP�=�TERMINAL�CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�BELOW…**4‚MSG‰***********************************************‚MSG‰‚*2‚TCP$RECƒ=�80‹Width�of�terminal�(characters/line).-‚TCP$RSZƒ=�24‹Depth�of�terminal�(lines/page).C‚TCP$WTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.C‚TCP$RTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�read.>‚TCP$XOFƒ=�$17ŠXOFF�char;�when�received,�suspends�transmission ‚*˜(0=none).?‚TCP$XONƒ=�0ŒXON�char;�when�received,�cancels�a�prior�XOFF�char‚*˜(0=any�char).@‚TCP$BRCƒ=�$03ŠChar�to�be�interpreted�like�a�break�when�received ‚*˜(0=none).<‚TCP$DOPƒ=�$0FŠChar�which�causes�output�to�be�discarded�when‚*˜received�(0=none).:‚TCP$RLNƒ=�$13ŠChar�which�causes�line�to�be�reprinted�when‚*˜received�(0=none).A‚TCP$CLCƒ=�$18ŠChar�which�causes�line�to�be�deleted�when�received ‚*˜(0=none)./‚TCP$RTVƒ=�$0DDE0000„Read�terminators�(CR,$DE).0‚TCP$EOLƒ=�$0D0A0000„End�of�line�string�(CR,LF).<‚TCP$BRTƒ=�$0EŠBaud�rate�code�($0E=9600�baud).‚The�following1‚*˜codes�may�be�used�to�indicate�the�desired�baud‚*˜rate:*‚*˜Code‚RateƒCode�RateƒCode�RateƒCode�Rate#‚*˜$00ƒ50…$05‚300„$09‚2000ƒ$0E‚9600$‚*˜$01ƒ75…$06‚600„$0A‚2400ƒ$0F‚19200$‚*˜$02ƒ110„$07‚1200ƒ$0C‚4800ƒ$10-$FF'‚*˜$03ƒ134.5‚$08‚1800ƒ$0D‚7200ƒReserved?‚TCP$NLSƒ=�0Œ#�of�ASCII�NUL�char's�to�send�after�each�CR�or�LF.+‚TCP$TRCƒ=�$00ŠTerminator�class�($0X=none)..‚TCP$TTPƒ=�$00ŠTerminal�type�(0=EXORterm�155).J‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.>‚TCP$HCPY‚=�0Œ1�means�the�terminal�is�a�hardcopy�device,�not�a‚*˜CRT.8‚TCP$XCTL‚=�0Œ1�means�use�XON/XOFF�to�control�terminal's‚*˜transmission,�not�CTS.@‚TCP$BITS‚=�0Œ1�means�transmit�&�receive�7�bits/char�rather�than‚*˜8.<‚TCP$STPB‚=�0Œ1�means�follow�each�char�sent�with�2�stop�bits‚*˜rather�than�1.=‚TCP$USEP‚=�0Œ1�means�parity�should�be�checked�and�generated.<‚TCP$PRTY‚=�0Œ1�means�parity�(if�used)�should�be�even�rather ‚*˜than�odd.<‚TCP$ECHO‚=�0Œ1�means�the�driver�should�not�echo�characters.@‚TCP$TAHD‚=�0Œ1�means�the�type-ahead�feature�should�not�be�used.9‚TCP$TFUL‚=�1Œ1�means�filling�the�buffer�on�a�read�should‚*˜terminate�the�read.>‚TCP$PNUL‚=�0Œ1�means�NUL�char's�should�be�considered�data�for‚*˜image�reads.7‚TCP$MODM‚=�0Œ1�means�the�port�is�connected�to�a�modem.B‚TCP$OFFH‚=�0Œ1�means�the�port,�if�connected�to�modem,�is�offhook.‚*L‚***************************************************************************'‚*†NOTE�on�how�to�modify�a�single�port:‚*<‚*†First�duplicate�all�the�parameters�that�are�to�change�for<‚*†this�particular�port�(e.g.�TCP$BRT).‚Modify�the�duplicate=‚*†labels�so�that�they�become�unique.‚One�technique�is�to�put9‚*†the�port�number�a/ t�the�end�of�the�label�(e.g.�for�CN12;‚*†TCP$BRT�becomes�TCP$BRT2�and�TCP$BITS�becomes�TCP$BIT2).8‚*†Remember�that�the�label�must�not�exceed�8�characters!;‚*†Change�the�parameter�to�the�desired�value�(e.g.�to�set�a5‚*†300�baud�rate�for�a�non-EXORterm�terminal�on�CN12,$‚*†TCP$BRT2�=�$05�and�TCP$TTP2�=�1).‚*4‚*†Now�substitute�these�new�parameters�into�the�file:‚*†EXORMACS.IOC.AG�for�the�CRTDCB�macro�defining�the�port.+‚*†To�continue�the�baud�rate�example�above:?‚*ˆTCP$ATW�SET�\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$USEP<<4+\TCP$PRTY<<5+\TCP$ECHO<<6=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$TAHD<<7+\TCP$TFUL<<8+\TCP$PNUL<<9$‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$MODM<<10=‚*‰CRTDCB�'CN12',IOSID,IOSESS,$133,31,1,'COM1',2,$047C,$5803,‚*©~~:‚*ˆ&ƒTCP$ATW,\TCP$REC,\TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,;‚*ˆ&ƒ\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,\TCP$CLC,\TCP$RTV,2‚*ˆ&„TCP$EQL,�TCP$BRT2,\TCP$NLS,\TCP$TRC,�TCP$TTP2‚*•~~~~~~~~~“~~~~~~~~~4‚*†where�~~~~~~�underlines�the�CRTDCB�modifications.‚*>‚*†This�same�technique�may�be�used�with�the�printer�parameters<‚*†by�modifying�the�PCP$xxx�labels�and�substituting�into�the=‚*†PRTDCB�macro.‚It�may�also�be�used�with�the�disk�parameters=‚*†by�modifying�the�DCP$xxxx�labels�and�substituting�into�the‚*†DSKDCB�macro.‚*L‚***************************************************************************‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**(‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�PRINTER‹**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**-‚MSG‰**ƒ(PCP�=�PRINTER‚CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE…**4‚MSG‰***********************************************‚MSG‰‚*A‚PCP$RECƒ=�132ŠWidth�of�printer‚(characters/physical�print�line).,‚PCP$RSZƒ=�66‹Depth�of�printer‚(lines/page).B‚PCP$WTOƒ=�120000‡(2�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.6‚PCP$LRLƒ=�132ŠLogical�line�length�<=�width�of�printer<‚PCP$EOLƒ=�$0A0D0000„End�of�line�string�(LF,CR).�(MCCM�only)$‚PCP$ELCƒ=�$0DŠEnd�of�line�characterJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.9‚PCP$LNFD‚=�0Œ1�means�the�printer�supports�auto�line�feed5‚PCP$AFFƒ=�0Œ1�means�supress�auto-form�feed�on�assignB‚PCP$TLRL‚=�0Œ0�means�wrap-around�print�if�log.�line�len.�exceeded0‚*š1�means�truncate�print�at�logical�line�length‚*~~~~~~~~~~~~~‚MSG8‚MSG�*************************************************** ‚MSG�**¯**%‚MSG�**‡SYSGEN�PARAMETERS�FOR�DISKŽ**.‚MSG�**‡CONFIGURATION�PARAMETERS/ATTRIBUTES…***‚MSG�**‡DCP�=�DISK�CONFIGURE�PARAMETERS‰**‚MSG�**�COMMON�TO�ALL�DISKS�** ‚MSG�**¯**-‚MSG�**‡The�MVME315�disk�controller�driver†**&‚MSG�**‡has�several�configurations.�**+‚MSG�**‡The�substitution�parameters�usedˆ**/‚MSG�**‡depend�on�the�size�and�the�format�of„**-‚MSG�**‡the�disks.‚The�general�format�used…**‚MSG�**‡is:¥**‚MSG�**‡Myz$(parameter�name)”**'‚MSG�**‡M�=�MVME315�controller�boardŒ***‚MSG�**‡y�=�disk�size�5�=�5.25",�8�=�8"‰**2‚MSG�**‡z�=�type:�F�=�floppy�disk,�H�=�hard�disk** ‚MSG�**¯**.‚MSG�**�TO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE‹**8‚MSG�***************************************************‚MSG‚* .‚DCP$WTO=0ŠWRITE�TIMEOUT�-�must�be�0�for�disks-‚DCP$RTO=0ŠREAD‚TIMEOUT�-�must�be�0�for�disks‚*‚*7‚*‚These�2�parameters�define�the�VERSAdos�sector�size�-4‚*‚the�logical�sector�size.‚The�physical�sector�size‚*‚is�defined�by�Myz$PSM.‚*6‚DCP$HBPS=256‡Number�of�bytes�per�sector�for�hard�disk8‚DCP$FBPS=256‡Number�of�bytes�per�sector�for�floppy�disk‚*‚*†define�8"�floppies1‚*†This�is�set�up�for:‚double�sided,�FM�encoding,8‚*†48�TPI,�Motorola�format,�floppy�disk,�interleave�=�1,5‚*†128�bytes�physical�sector�size.‚(�This�is�the�same!‚*†format�as�EXORmacs�diskettes.)‚* ‚M8F$ATM�=�$021F‚attributes�mask‚M8F$PM‚=�$52F3‚parameters�mask‚M8F$AW‚=�$0204‚attributes�word0‚M8F$TNS�=‚0…total�#�of�sectors�-�returned�value!‚M8F$SPT�=‚26„#�sectors�per�track‚M8F$HDS�=‚2…#�of�heads$‚M8F$TRK�=‚77„#�of�cylinders�-�media‚M/ 8F$ILV�=‚1…interleave�factor‚M8F$SOF�=‚0…spiral�offset,‚M8F$PSM�=‚128ƒphysical�sector�size�on�media*‚M8F$PSD�=‚0…physical�sector�size�on�drive$‚M8F$TRD�=‚77„#�of�cylinders�-�drive#‚M8F$COM�=‚44„precompensation�value+‚M8F$PSPT�=�0…#�of�physical�sectors�-�drive‚M8F$SRƒ=�2…stepping�rate2‚M8F$RWC‚=�0…reduced�write�current�cylinder�number"‚M8F$ECC‚=�0…ECC�data�burst�length‚*‚*†define�5�1/4"�floppies2‚*†This�is�set�up�for:‚double�sided,�MFM�encoding,3‚*†96�TPI,�IBM�format,�floppy�disk,�interleave�=�1,"‚*†256�bytes�physical�sector�size.‚* ‚M5F$ATM�=�$021F‚attributes�mask‚M5F$PM‚=�$42F3‚parameters�mask‚M5F$AW‚=�$000F‚attributes�word0‚M5F$TNS�=‚0…total�#�of�sectors�-�returned�value!‚M5F$SPT�=‚16„#�sectors�per�track‚M5F$HDS�=‚2…#�of�heads$‚M5F$TRK�=‚80„#�of�cylinders�-�media‚M5F$ILV�=‚1…interleave�factor‚M5F$SOF�=‚0…spiral�offset,‚M5F$PSM�=‚256ƒphysical�sector�size�on�media*‚M5F$PSD�=‚0…physical�sector�size�on�drive$‚M5F$TRD�=‚80„#�of�cylinders�-�drive"‚M5F$COM�=‚0…precompensation�value+‚M5F$PSPT�=�0…#�of�physical�sectors�-�drive‚M5F$SRƒ=�1…stepping�rate2‚M5F$RWC‚=�0…reduced�write�current�cylinder�number"‚M5F$ECC‚=�0…ECC�data�burst�length‚*&‚*†define�5�1/4"�Winchester�hard�disks‚* ‚M5H$ATM�=�$0110‚attributes�mask‚M5H$PM‚=�$93F2‚parameters�mask‚M5H$AW‚=�$0010‚attributes�word0‚M5H$TNS�=‚0…total�#�of�sectors�-�returned�value!‚M5H$SPT�=‚32„#�sectors�per�track‚M5H$HDS�=‚4…#�of�heads%‚M5H$TRK�=‚306ƒ#�of�cylinders�-�media‚M5H$ILV�=‚13„interleave�factor‚M5H$SOF�=‚0…spiral�offset,‚M5H$PSM�=‚256ƒphysical�sector�size�on�media*‚M5H$PSD�=‚0…physical�sector�size�on�drive%‚M5H$TRD�=‚306ƒ#�of�cylinders�-�drive$‚M5H$COM�=‚350ƒprecompensation�value+‚M5H$PSPT�=�0…#�of�physical�sectors�-�drive‚M5H$SRƒ=�0…stepping�rate4‚M5H$RWC‚=�153ƒreduced�write�current�cylinder�number#‚M5H$ECC‚=�11„ECC�data�burst�length‚MSG‰A‚MSG‰************************************************************7‚MSG‰**…Descriptive�info�about�this�operating�system‡**A‚MSG‰************************************************************5‚SYSNAMEƒ=�"VERSAdos"ƒName�for�this�operating�system.:‚REVISION‚=�"REV�04.3�"‚Revision�of�this�operating�system.7‚TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.>‚TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.‚*A‚*‚Memory�for�the�VME101�starts�at�$0�for�on-board�RAM.‚Off-board=‚*‚memory�starts�at�$10000.‚All�memory�is�sized�together.‚The<‚*‚parameters�MEMEND2�and�MEMEND3�are�basically�for�the�VM02=‚*‚board.‚The�are�kept�here�with�zero�values�to�allow�the�use:‚*‚of�the�generic�memory�sizing�table�and�routine.‚MEMEND19‚*‚is�of�importance�for�a�VME101�based�system.‚This�valueH‚*‚must�be�larger�than�the�highest�memeory�address�by�at�least�one�byte.E‚*‚The�value�here�will�work�using�from�1�to�4�256-byte�memory�boards.>‚*‚If�you�have�more�then�4�memory�boards,�please�add�$40000�to%‚*‚MEMEND1�for�each�additional�board.‚*‚*5‚MEMEND1ƒ=�$100000†Ending�addr�memory�must�be�<�this.4‚MEMEND2ƒ=�0ŒStarting‚addr�for�off-board�memory�must ‚MEMEND3ƒ=�0(*šbe�>=�this.‚Not�applicable�for�VME110..*šNot�applicable�for�VME101.�Both�these�boards,*šuse�off-board�for�the�operating�system�and *šuser�tasks.9‚DPRVAO„=�$0‹Dual�ported�ram�versados�offset.�(VM02�only)D‚WHERLOAD‚=�$00000‡Address�at�which�to�load�in�the�operating�system.I*------------------------------------------------------------------------‚MSG‰A‚MSG‰************************************************************;‚MSG‰**�VALPAR�--�Validate�parameters�to�keep�you�honest‡**A‚MSG‰************************************************************‚SUBSˆVME101.VALPAR.AG!‚ASM‰VME101.VALPAR.AG,,\ASMLS;R-C ‚IFGT�\$RDE‚PAUSE‡Abort�sysgen�if�errors�in�assembly�-�else�hit�carriage�return.‚ENDC ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDCK*--------------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************#‚MSG‰**…Generate�exec�process�--œ**B‚MSG‰*******0 ******************************************************B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*‚MSG‰*„PROCESS�VME101.RMS.LO¢*B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* ‚PCˆ=�$10000 ‚STACK…=�$C00‚STARTRMS‚=�$10100‚PROCESS„VME101.RMS.LO‚ENDˆVME101.RMS.LO‚IFEQˆ\LINKLSW…=COPY‡VME101.RMS.LL,\WORKLS;A‚ENDCK*--------------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************)‚MSG‰**ˆMVME315�disk�controller�driver“**B‚MSG‰************************************************************* ‚M315DRVRƒ=�* ‚IFEQ‚\TOTDSK‚ENDC ‚IFNE‚\TOTDSK‚SUBSˆM315DRV.LG‚LINKˆM315DRV.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚PROCESS…M315D.LO ‚END‰M315D.LO‚ENDCO*------------------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************'‚MSG‰**�EPCIDRV�2661�terminal�driverœ**B‚MSG‰*************************************************************‚MSG‰ ‚EPCIDRVRƒ=�*‚IFEQƒ\TOTTERM5‚MSG‰~~~~~~~~~�TERMINAL�DRIVER�NOT�REQUIRED�~~~~~~~~~‚ENDC‚IFNEˆ\TOTTERM…SUBSˆEPCIDRV.LG…LINKˆEPCIDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…EPCID.LO …END‰EPCID.LO‚ENDCO*------------------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**�IF�WE�HAVE�PRINTERS,�ADD�THE�DRIVER•**B‚MSG‰*************************************************************‚MSG‰ ‚PRTDRVRƒ=�* ‚IFEQƒ\NOLPRT4‚MSG‰~~~~~~~~~�PRINTER�DRIVER�NOT�REQUIRED�~~~~~~~~~‚ENDC ‚IFNEˆ\NOLPRT…SUBSˆPRTDRV.LG…LINKˆPRTDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…PRTD …END‰PRTD‚ENDCH*----------------------------------------------------------------------- ‚MEMBEG„=�*‚MSG?‚MSGˆ**********************************************************7‚MSGˆ**‚IXR�is�used�as�input�to�the�VERSAdos�modulesˆ**?‚MSGˆ********************************************************** ‚SUBS‚IXR.AG‚ASMƒIXR.AG,IXR.RO,\ASMLS ‚IFEQ‚\ASMLSWˆ=COPY�\ASMLS,\WORKLS;A‚ENDCO*------------------------------------------------------------------------------‚MSG‰@‚MSG‰***********************************************************=‚MSG‰**‚IOS�--�Input/Output�Services�(trap�#2�server�task)ƒ**@‚MSG‰***********************************************************‚TASKˆIOS,.IOS‚STATE…=�'DORM'‚PRIORITY‚=�$D1 ‚SESSIONƒ=�1‚IOSSTR„=�*ŒIOS�load�addr.!‚IOSASR„=�*+2ŠIOS�ASR�entry�point ‚SUBSˆIOS.LG ‚LINKˆIOS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOS‚MSG‰B‚MSG‰*************************************************************>‚MSG‰**ƒFHS�--�File�Handling�Services�(trap�#3�server�task)ƒ**B‚MSG‰*************************************************************‚TASKˆFHS,.FHS‚STATE…=�'DORM' ‚SESSIONƒ=�1‚PRIORITY‚=�$D1‚FHSSTR„=�*ŒFHS‚load�addr.!‚FHSASR„=�*+2ŠFHS�ASR�entry�point ‚SUBSˆFHS.LG ‚LINKˆFHS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FHS‚MSG‰B‚MSG‰*************************************************************(‚MSG‰**ˆFMS�--�File�Management�System”**B‚MSG‰*************************************************************‚TASKˆFMS,.FMS‚STATE…=�'DORM'‚PRIORITY‚=�$D0‚FMSSTR„=�*ŒFMS�load�addr.!‚FMSASR„=�*+2ŠFMS�ASR�entry�point ‚SUBSˆFMS.LG ‚LINKˆFMS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FMS‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆEET�--�Entry�Exit�Task›**B‚MSG‰*************************************************************‚TASKˆEET,&EET‚STATE…=�'READ' ‚SESSIONƒ=�2‚PRIORITY‚=�$C8‚EETSTR„=�*ŒEET�load�addr.%‚SUBSˆEET.LG,9995.&.EET.EQ,CMDLIST.AG'‚ASM‰EET.EQ/CMDLIST.AG,CMDLIST,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC ‚LINKˆEET.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰EET‚MSG‰B‚MSG‰***********************************0 **************************.‚MSG‰**ˆLDR�--�Loader�(trap�#4�server�task)Ž**B‚MSG‰*************************************************************‚TASKˆLDR,&LDR‚STATE…=�'READ'‚PRIORITY‚=�$C8 ‚SESSIONƒ=�4‚LDRSTR„=�*ŒLDR�load�addr.‚SUBSˆNOMMU.LOADER.LG‚LINKˆNOMMU.LOADER.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰LDR‚MSG‰@‚MSG‰***********************************************************‚MSG‰**ˆIOCOM�&�IOI¤**@‚MSG‰***********************************************************‚TASKˆIOI,.IOI‚STATE…=�'READ' ‚SESSIONƒ=�1‚PRIORITY‚=�$DA ‚IOCSTR„=�*‚SUBSˆVME101.IOC.AG6‚ASM‰IODM.AG/VME101.IOC.AG,VME101.IOC.RO,\ASMLS;RZ=105 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVME101.ASR.AG'‚ASM‰VME101.ASR.AG,VME101.ASR.RO,\ASMLS ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC3‚ASM‰VME101.OSLIST.AG,VME101.OSLIST.RO,\ASMLS;Z=105 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVME101.IOI.LG‚LINKˆVME101.IOI.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOI‚MSG‰@‚MSG‰***********************************************************%‚MSG‰**ˆINIT�--�System�Initializer•**@‚MSG‰*********************************************************** ‚PROCESS…INIT ‚INTSTR„=�*6‚SUBSˆM68XXX.INITDAT.AG,VME101.INITIO.AG,VME101.INT.LG1‚ASM‰M68XXX.INITDAT.AG,M68XXX.INITDAT.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC/‚ASM‰VME101.INITIO.AG,VME101.INITIO.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚LINKˆVME101.INT.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC ‚END‰INIT@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚MSG‰*¹*)‚MSG‰*‹MAKE�SUBSTITUTIONS�IN�VERSAPT.CFŽ*‚MSG‰*¹*@‚MSG‰***********************************************************@‚MSG‰***********************************************************ƒSUBSƒVME101.VERSAPT.CF‚MSG‰@‚MSG‰***********************************************************@‚MSG‰*********************************************************** ‚MSG‰**�E�N�DƒO�FƒS�Y�S�G�E�NŽ**‚MSG‰**•Have�a�nice�day.’**@‚MSG‰***********************************************************@‚MSG‰***********************************************************éééééé=OPT -N=/**********************=/*�VME101.SYSGEN.CFƒ*=/**********************=OPT K,NM=/***************************************************************************"=/*�Chain�file�to�perform�sysgen¬*=/*É*=/*�Calling�sequence:·*=/*É*)1 =/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5£*=/*É*7=/*„Not�all�of�the�arguments�need�to�be�entered�since”*$=/*†they�each�have�a�default�value¥*=/*É*6=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)•*=/*É*,=/*„arg2�-�Temp�vol�and�user�no./Boot�fileŸ*9=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and‰*)=/*�user�number�of�command�file�(arg1).—**=/*�Boot�file�defaults�to�'VERSADOS.SY'.˜*=/*É*=/*É*9=/*„arg3�-�List�device�or�file�name�for�sysgen�messages’*=/*�(defaults�to�SYSLIST.LS)¤*;=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extension‰*=/*É*9=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the�*4=/*�three�command�line�fields�used�in�invoking�theŽ*=/*�sysgen�utility�directly.¤*=/*É*E=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')†*=/*É*5=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)–*A=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.*:=/*�All�assembly�listings�and�link�maps�will�be�directedˆ*<=/*�To�the�specified�device�or�file�using�the�copy�utility†*>=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediateƒ*7=/*�file�to�contain�the�assembly�or�link�list�output.‹*@=/*�Due�to�restrictions�in�sysgen�literal�substitution�process‚*8=/*�this�field�cannot�contain�more�than�10�characters.Š*M=/***************************************************************************=/*5=/* Insure that no more than 5 arguments are defined:=/*=/RX=\0 =/IF RX>5ƒ=OPT�-N<ƒ=/*�Error�-�chain�file�started�with�more�than�5�arguments�-5ƒ=/*ƒPlease�restart,�the�argument�definitions�follow:ƒ=/*(ƒ=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5ƒ=/*6ƒ=/*„Not�all�of�the�arguments�need�to�be�entered�since$ƒ=/*†they�each�have�a�default�value.ƒ=/*8 F(O0 5ƒ=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)ƒ=/*+ƒ=/*„arg2�-�Temp�vol�and�user�no./Boot�file8ƒ=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and(ƒ=/*�user�number�of�command�file�(arg1).)ƒ=/*�Boot�file�defaults�to�'VERSADOS.SY'.ƒ=/*Gƒ=/&�**�Type�carriage�return�or�more�information,�'break'�to�terminate.ƒ=/*8ƒ=/*„arg3�-�List�device�or�file�name�for�sysgen�messagesƒ=/*�(defaults�to�SYSLIST.LS):ƒ=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extensionƒ=/*8ƒ=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the3ƒ=/*�three�command�line�fields�used�in�invoking�theƒ=/*�sysgen�utility�directly.ƒ=/*Dƒ=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')ƒ=/*4ƒ=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)Aƒ=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.9ƒ=/*�All�assembly�listings�and�link�maps�will�be�directed;ƒ=/*�To�the�specified�device�or�file�using�the�copy�utility=ƒ=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediate6ƒ=/*�file�to�contain�the�assembly�or�link�list�output.?ƒ=/*�Due�to�restrictions�in�sysgen�literal�substitution�process7ƒ=/*�this�field�cannot�contain�more�than�10�characters.ƒ=/*ƒ=END=/ENDIF=/*2=/* Force the definition of 5 exactly 5 arguments.=/* =/IF RX=0+ƒ=ARG�SYSCMD.CD,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=1$ƒ=ARG�\1,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=2&ƒ=ARG�\1,\2,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=3ƒ=ARG�\1,\2,\3,SINGLE-HARD,#PR=/ENDIF =/IF RX=4ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*8=/* We have 5 arguments - now default any null arguments=/*=/IFC \1ƒ=ARG�SYSCMD.CD,\2,\3,\4,\5=/ENDIF=/*=/IFC \3ƒ=ARG�\1,\2,SYSLIST.LS,\4,\5=/ENDIF=/*=/IFC \4ƒ=ARG�\1,\2,\3,SINGLE-HARD,\5=/ENDIF=/*=/IFC \5ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*N=/* If arg5 is not #PR,#PR1,#PR2,#PR3,# or #NULL then treat as file and delete:=/*ƒset�switch�(arg6)�to�1�for�printer�device,�0�for�file.=/*1 0=ARG \1,\2,\3,\4,\5,0,#PR,#PR1,#PR2,#PR3,#,#NULL =/FOR 7,\0ƒ=/IFEQ�"\5"\(RX)1†=ARG�\1,\2,\3,\4,\5,1,#PR,#PR1,#PR2,#PR3,#,#NULLƒ=/ENDIF=/ENDFOR=/RX=\6 =/IF RX=0ƒ=DEL�\5=/ENDIF=/*=/* Set switch (arg7) TO:=/*„01�--‚SINGLE-HARD=/*=ARG \1,\2,\3,\4,\5,\6,10=/IFEQ "\4"SINGLE-HARDƒ=ARG�\1,\2,\3,\4,\5,\6,01=/ENDIF=/*9=/* Abort chain if an invalid configuration was requested=/*=/RX=\7 =/IF RX=10ƒ=OPT�-N3ƒ=/*‚\4�is�an�invalid�configuration�-�(argument�#4)8ƒ=/*…The�only�valid�configuration�is�'SINGLE-HARD'�which3ƒ=/*…is�the�default.�Please�restart�chain�file�withƒ=/*…correct�parameters.ƒ=END=/ENDIF#=ARG \1,\2,\3,\4,\5,\6,\7,SYSGEN.TF=/*3=/* The argument list now looks like the following:=/* =/*ƒarg1ƒ-ƒName�of�command�file.=/*0=/*ƒarg2ƒ-ƒTemporary�volume/boot�file�(or�null).=/*3=/*ƒarg3ƒ-ƒList�device�or�file�for�sysgen�messages.=/*(=/*ƒarg4ƒ-ƒSystem�configuration�mnemonic=/*�'SINGLE-HARD'=/*�(see�arg7)=/*@=/*ƒarg5ƒ-ƒListing�file�or�device�for�assemblies�and�link-edits.4=/*�SYSGEN.TF�is�the�temporary�file�which�is�used�in1=/*�conjunction�with�=COPY�;A�to�produce�a�single=/*�listing�file.=/*�(see�arg6)=/*=/*ƒarg6ƒ-ƒSwitch�-"=/*�0�=‚arg5�specifies�a�file�name=/*�1�=‚arg5�specifies�a�device=/*�(see�arg5)=/*%=/*ƒarg7ƒ-ƒNumber�configuration�key�-%=/*�01�=‚signle-user�hard�disk�system=/*�(see�arg4)=/*8=/*ƒarg8ƒ-ƒSYSGEN.TF�temporary�file�for�use�with�copy�in+=/*�creating�listing�file�specified�by�arg3=/*=/*9=/* Justify argument positions and invoke sysgen utility.=/*=ARG \5,\6,\7,\8,\1,\2,\3,\4=/*)=/* Turn off echo of sysgen command lines=OPT J=OPT -N=SYSGEN VME101.\5,\6,\7;T=300 =OPT -J,-N8=/**‚Applying�patches�from�XVERSAPT.CF�to�the�boot�file.=/@ VME101.XVERSAPT.CFM=/***************************************************************************M=/***************************************************************************=/**=/**‚Sysgen�Completed�--=/**6=/**„Assembly�and�link�listings�have�been�output�to�\1=/**1=/**„Sysgen�command�listing�has�been�output�to�\7=/**M=/***************************************************************************M=/***************************************************************************=OPT -K=NOARG=ENDéééééé2 d1IOI ASREL'VME101 IOI SA „VERSAdos I/O Initialization System Task V 4.1 - 09/13/82×2pFMSDLEN pNOTASKS pNOCDCB pNODCBS pNOFCBS pIOCOML pIOCOMS pCCSEG pOSMTBL pNODVS pNOFATS pOSMEND pFHSASR pFMSASQ  pFMSASR pNOLPRT pIOSASR pNOVDTS pNOLTERM !@F3`F3$ IOSG((K3´@€.|*B#ü()2"|(J‘gH |)N1i!iG3Lé? Hè? (g (f(p=/*ƒcontain�patches�to�be�applied�to�VERSADOS�after�the�sysgen =/*ƒprocess.=/*=PATCH VERSADOS.SYH*---+----:----+----:----+----:----+----:----+----:----+----:----+----:--H*>----------------------------------------------------------------------O�\TTYSTR�*�Start�of�TTYH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\IOSSTR�*�Start�of�IOSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FHSSTR�*�Start�of�FHSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FMSSTR�*�Start�of�FMSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\EETSTR�*�Start�of�EETH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\LDRSTR�*�Start�of�LDRH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\IOCSTR�*�Start�of�IOCH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\INTSTR�*�Start�of�INTH*<----------------------------------------------------------------------QUIT=/*!=/*†PATCH�PRTDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOLPRT =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PRTDRVRŽ*�Start�of�PRTDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*#=/*†PATCH�MPSCSPR�ONLY�IF�IT�EXISTS=/*^/gC=/RD = \NOTERM40 =/IF�RD‚>=�0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSPRŽ*�Start�of�MPSCSPRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"3 =/*†PATCH�MPSCDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM40 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCDRVŽ*�Start�of�MPSCDRVH*<----------------------------------------------------------------------QUIT=/ENDIF=/*'=/*†PATCH�CHPI�DRIVER�ONLY�IF�IT�EXISTS=/*=/RD = \NOLTERM =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\CHIDRVRŽ*�Start�of�CHIDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*!=/*†PATCH�WINDRV�ONLY�IF�IT�EXIST=/* =/RD = \NOWIN =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\WINDRVRŽ*�Start�of�WINDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�SASIDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOSASI =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\SASIDRVŽ*�Start�of�SASIDRVH*<----------------------------------------------------------------------QUIT=/ENDIF=/*#=/*†PATCH�MTADRVR�ONLY�IF�IT�EXISTS=/*=/RD = \TOTM435 =/IF RD <> 0=PATCH VERSADOS.SYG*>---------------------------------------------------------------------O�\MTADRVRŽ*�Start�of�MTADRVRG*<---------------------------------------------------------------------QUIT=/ENDIF=/*8=/* SYSTEM MUST BE RE-BOOTED FOR PATCHES TO TAKE EFFECT.=/*=END PAGE)ASR IDNT 11,11 ASR ADDRS. FOR I/O MODULES*8*ASR-FILE OF ASR ADDRESSES OF I/O MODULES-NEEDED FOR IOI*! XDEF FMSASR,FHSASR,IOSASR,TTYASRFMSASR EQU \FMSASRFHSASR EQU \FHSASRIOSASR EQU \IOSASRTTYASR EQU \TTYASR ENDéééééééo 4  PAGEO********************************************************************************>*ˆVME110.IOC.AG--�define�DCB'S�and�CDB'S�for�VME�module�system*(*ˆThe�macros�used�are�defined�in�IODM.AG*'*ˆ11/10/83‚modified�for�mag�tape�driver+*’modified�to�use�IOCVEC�and�IOCLVL�equates&*’includes�Winchester�and�SASI�drivers*’mag�tape�at�level�1*7*ˆ2/3/84„modified�for�SASI�5�1/4"�disk�controller�(BWN)*O******************************************************************************* *@*‚This�section�becomes�IOCOMS,�which�is�used�by�FMS,�IOS,�&�FHS.*#IOCOM„IDNT†12,12‡I/O�COMMON�SEGMENT SECTION 0 OPT MEX XDEF IOCOMS,IOCOML,CCSEG *1*‚Define�the�physical�addresses�of�device�drivers*‚using�the�SYSGEN�parameters.*PRT†EQU‡\PRTDRVRMSPR…EQU‡\MPSCSPRMPSC…EQU‡\MPSCDRVCHI†EQU‡\CHIDRVRWIN†EQU‡\WINDRVRSASI…EQU‡\SASIDRVGPIB…EQU‡\GPIBDRVMTA†EQU‡\MTADRVR PAGE*6*‚Here�are�parameters�describing�the�tables�and�lists.*IOCOMS  DC.L 0 I/O sysgen options. ( DC.L DCQSTR Start address of DCQ space.&�DC.L�DCQEND�Endƒaddress�of�DCQ�space.�DC.L�0†Address�of�1st�DCQ. ( DC.L LUTSTR Start address of LUT space.&�DC.L�LUTEND�Endƒaddress�of�LUT�space.�DC.L�0†Address�of�1st�LUT. ( DC.L DCBTBL Start address of DCB space.&�DC.L�DCBEND�Endƒaddress�of�DCB�space. DC.L DCBTBL Address of 1st DCB.  DC.L 0 SEMAPHORE FLAG&�DC.B�'\SYSNAME'„OPERATING�SYSTEM�I.D.�DC.B�'\REVISION'ƒANDƒREVISION( DC.L 0,0,0 TASK ID FOR UNCLAIMED BREAKS PAGEO********************************************************************************C*ˆStorage�for�DCQ's�and�LUT's.‚Initially�these�two�lists�are�empty.*O******************************************************************************* * *‚DCQ�space.* DCQSTR EQU * DS.B 256*\DCQPGEDCQEND EQU *-1 * *‚LUT�space.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1‰PAGExR�<‰I‘D™>¡Q©O±J¹NÁO**********************************************************************************ˆDefine�DCB's�based�on�SYSGEN�parameters.*O******************************************************************************* *DCBTBL�EQU�*‡This�is�the�top�of�DCB�space. &**************************************$*‚SET�UP�DCB'S�FOR�LOCAL�TERMINALS‚*&************************************** IFNE \NOLTERMB CRTDCB 'CN00',TTYID,IOSESS,$133,35,1,'CTTY',0,0,0,$9500,\TCP$REC,4& \TCP$RSZ,\TCP$WTO,\TCP$RTO,0,0,0,0,0,0,0,0,0,0,0,0 ENDC**$*ˆSET�UP�DCB'S�FOR�MVME400�TERMINALS*  IFGT \NOTERM40ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8& \WCP$FILV,\WCP$FSOF,\WCP$FPSM,\WCP$FSHD,\WCP$FTRD,\WCP$FCOM,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC‚IFGT‚\FDWIN-1*9*�2ND�FLOPPY�DISKƒ#FD03�-�8"�single�density,�double�sided*DSKNMƒSET�DSKNM+1WCP$FAW8 SET $0204WCP$FTNS SET 4004H DSKDCB DSKNM,IOSID,IOSESS,$1F,71,4,'WIND',3,\WCP$FATM,\WCP$PM,WCP$FAW8,L& \DCP$FBPS/2,WCP$FTNS,\DCP$WTO,\DCP$RTO,\WCP$FSPT+10,\WCP$FHDS,\WCP$FTRK-3,D& \WCP$FILV,\WCP$FSOF,\WCP$FPSM/2,\WCP$FSHD,\WCP$FTRD-3,\WCP$FCOM-2,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC ENDC** ‚IFNEƒ\NOSASI$*************************************¢**ƒSet�up�DCBs�for�disks�on‡**ƒMVME420�-�SA1403�diskŠ* *ƒcontroller.*¢*$************************************* ‚IFNE�\HDSASI**�1ST�HARD�DISK„#HD20*DSKNMƒSET‚HDDV+$3230G DSKDCB DSKNM,IOSID,IOSESS,$1F,75,4,'SASI',0,\SCP$ATM,\SCP$PM,\SCP$HAW,F& \DCP$HBPS,\SCP$HTNS,\DCP$WTO,\DCP$RTO,\SCP$HSPT,\SCP$HHDS,\SCP$HTRK,>& \SCP$HILV,\SCP$HSOF,\SCP$HPSM,\SCP$HSHD,\SCP$HTRD,\SCP$HCOM,)& \SCP$HPTD,\SCP$HSRD,\SCP$HRWC,\SCP$HECC‚ENDC‚IFGT‚\HDSASI-1**�2ND�HARD�DISK„#HD21*DSKNMƒSET‚DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,75,4,'SASI',1,\SCP$ATM,\SCP$PM,\SCP$HAW,F& \DCP$HBPS,\SCP$HTNS,\DCP$WTO,\DCP$RTO,\SCP$HSPT,\SCP$HHDS,\SCP$HTRK,>& \SCP$HILV,\SCP$HSOF,\SCP$HPSM,\SCP$HSHD,\SCP$HTRD,\SCP$HCOM,)& \SCP$HPTD,\SCP$HSRD,\SCP$HRWC,\SCP$HECC‚ENDC ‚IFNE‚\FDSASI**�1ST�FLOPPY�DISK„#FD22*DSKNMƒSET�FDDV+$3232G DSKDCB DSKNM,IOSID,IOSESS,$1F,76,4,'SASI',2,\SCP$ATM,\SCP$PM,\SCP$FAW,F& \DCP$FBPS,\SCP$FTNS,\DCP$WTO,\DCP$RTO,\SCP$FSPT,\SCP$FHDS,\SCP$FTRK,>& \SCP$FILV,\SCP$FSOF,\SCP$FPSM,\SCP$FSHD,\SCP$FTRD,\SCP$FCOM,)& \SCP$FPTD,\SCP$FSRD,\SCP$FRWC,\SCP$FECC ENDC‚IFGT‚\FDSASI-1**�2ND�FLOPPY�DISK…#FD23*DSKNMƒSET�DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,76,4,'SASI',3,\SCP$ATM,\SCP$PM,\SCP$FAW,F& \DCP$FBPS,\SCP$FTNS,\DCP$WTO,\DCP$RTO,\SCP$FSPT,\SCP$FHDS,\SCP$FTRK,>& \SCP$FILV,\SCP$FSOF,\SCP$FPSM,\SCP$FSHD,\SCP$FTRD,\SCP$FCOM,)& \SCP$FPTD,\SCP$FSRD,\SCP$FRWC,\SCP$FECC ENDC ENDC*‚IFNEƒ\NOSASI5$*************************************¢**ƒSet�up�DCBs�for�disks�on‡**ƒMVME420�-�DTC520A�disk‰**ƒcontroller.”**¢*$*************************************‚IFNE�\HDSASI5**�1ST�HARD�DISK„#HD10**ˆSet‚parameters�for�15�mb�disk*!WCP$HTNS�SET‡58752…No.�of�sectorsWCP$HHDS�SET‡6‰No.�of�heads$WCP$HTRK�SET‡306‡Cylinders�per�media$WCP$HTRD�SET‡306‡Cylinders�per�drive**DSKNMƒSET‚HDDV+$3130G DSKDCB DSKNM,IOSID,IOSESS,$1F,77,4,'SAS5',0,\SC5$ATM,\SC5$PM,\SC5$HAW,C5 & \DCP$HBPS,WCP$HTNS,\DCP$WTO,\DCP$RTO,\WCP$HSPT,WCP$HHDS,WCP$HTRK,=& \SC5$HILV,\WCP$HSOF,\WCP$HPSM,\WCP$HSHD,WCP$HTRD,\WCP$HCOM,)& \WCP$HPTD,\WCP$HSRD,\WCP$HRWC,\WCP$HECC‚ENDC‚IFGT‚\HDSASI5-1**�2ND�HARD�DISK„#HD11**ˆSet‚parameters�for�40�mb�disk*"WCP$HTNS�SET‡156672„No.�of�sectorsWCP$HHDS�SET‡6‰No.�of�heads$WCP$HTRK�SET‡640‡Cylinders�per�media$WCP$HTRD�SET‡640‡Cylinders�per�drive***DSKNMƒSET‚DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,77,4,'SAS5',1,\SC5$ATM,\SC5$PM,\SC5$HAW,C& \DCP$HBPS,WCP$HTNS,\DCP$WTO,\DCP$RTO,\WCP$HSPT,WCP$HHDS,WCP$HTRK,=& \SC5$HILV,\WCP$HSOF,\WCP$HPSM,\WCP$HSHD,WCP$HTRD,\WCP$HCOM,)& \WCP$HPTD,\WCP$HSRD,\WCP$HRWC,\WCP$HECC‚ENDC‚IFNE‚\FDSASI5**�1ST�FLOPPY�DISK„#FD12*DSKNMƒSET�FDDV+$3132G DSKDCB DSKNM,IOSID,IOSESS,$1F,78,4,'SAS5',2,\SC5$ATM,\SC5$PM,\SC5$FAW,F& \DCP$FBPS,\WCP$FTNS,\DCP$WTO,\DCP$RTO,\WCP$FSPT,\WCP$FHDS,\WCP$FTRK,>& \SC5$FILV,\WCP$FSOF,\WCP$FPSM,\WCP$FSHD,\WCP$FTRD,\WCP$FCOM,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC‚IFGT‚\FDSASI5-1**�2ND�FLOPPY�DISK…#FD13*DSKNMƒSET�DSKNM+1G DSKDCB DSKNM,IOSID,IOSESS,$1F,78,4,'SAS5',3,\SC5$ATM,\SC5$PM,\SC5$FAW,F& \DCP$FBPS,\WCP$FTNS,\DCP$WTO,\DCP$RTO,\WCP$FSPT,\WCP$FHDS,\WCP$FTRK,>& \SC5$FILV,\WCP$FSOF,\WCP$FPSM,\WCP$FSHD,\WCP$FTRD,\WCP$FCOM,)& \WCP$FPTD,\WCP$FSRD,\WCP$FRWC,\WCP$FECC ENDC   ENDC*‰PAGEA******************************************************************.*…Define�GPIB�Default�Parameters�and�Attribute*A******************************************************************GPD$ATM‚EQU‡$1F‘ATTRIBUTE�MASKGPD$PAM‚EQU‡$FFF�PARAMETER�MASK7GPD$AT1‚EQU‡$2137�DEVICE�ATTRIBUTES�(BUS,�NOT�SHARABLE)7GPD$AT2‚EQU‡$6137�DEVICE�ATTRIBUTES�(DEV,�NOT�SHARABLE)3GPD$AT3‚EQU‡$4137�DEVICE�ATTRIBUTSE�(DEV,�SHARABLE)/GPD$ATW‚EQU‡$3’ATTRIBUTE�WORD�(TALKER/LISTENER)(GPD$WTO‚EQU‡30000�WRITE�TIMEOUT�(30�SEC)'GPD$RTO‚EQU‡30000�READ�TIMEOUT‚(30�SEC)#GPD$EOR‚EQU‡$19010901‹END�OF�RECORDGPD$EOS‚EQU‡$0A0A�END�OF�STRING'GPD$PPC‚EQU‡$80‘PARALLEL�POLL�CONFIGUREGPD$PRA‚EQU‡$10‘PRIMARY�ADDRESS$GPD$WLN‚EQU‡$0’WRITE�TRANSFER�LENGTH#GPD$RLN‚EQU‡$0’READ�TRANSFER�LENGTH*GPD$RSM‚EQU‡$0’READ�SECONDARY�ADDRESS�MASK+GPD$WSM‚EQU‡$0’WRITE�SECONDARY�ADDRESS�MASK*6*‚DCBƒDEFINITION�FOR�IEEE-488�BUS�AND�BUSSABLE�DEVICES* IFGE \NOGPIB-1*C GPDVDCB.14 'BUSA',GPD$AT1,0,1,GPD$ATM,GPD$PAM,$1F,GPD$WTO,GPD$RTO,B& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,& $0,$0,'BUS0'*D GPDVDCB 'BA0A',GPD$AT2,0,1,GPD$ATM,GPD$PAM,GPD$ATW,GPD$WTO,GPD$RTO,B& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,& $0,$0,'BUS0'*D GPDVDCB 'BA0B',GPD$AT3,0,1,GPD$ATM,GPD$PAM,GPD$ATW,GPD$WTO,GPD$RTO,B& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,& $0,$0,'BUS0'*D GPDVDCB 'BA0C',GPD$AT2,0,1,GPD$ATM,GPD$PAM,GPD$ATW,GPD$WTO,GPD$RTO,B& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,& $0,$0,'BUS0'*D GPDVDCB 'BA0D',GPD$AT3,0,1,GPD$ATM,GPD$PAM,GPD$ATW,GPD$WTO,GPD$RTO,B& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,& $0,$0,'BUS0'**†HANDLE�THE�REST�AS�DEFAULTS* GPDFDCB.BA0E* ENDC** IFGE \NOGPIB-2*C GPDVDCB.14 'BUSB',GPD$AT1,0,1,GPD$ATM,GPD$PAM,$1F,GPD$WTO,GPD$RTO,B& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,& $0,$0,'BUS1'**†HANDLE�THE�REST�AS�DEFAULTS* GPDFDCB.BB0A*  ENDC*ˆMAG�TAPE�DRIVER�ADDITIONC*******************************************************************�IFNE…\TOTM435(*****************************************¦*$*‚SET�UP�DCB'S�FOR�MAG�TAPE�DRIVER„**¦*(******************************************—FIRST�BOARD‰SECOND�BOARD**FIRST�TRANSPORT‹MT00‘MT10*SECOND�TRANSPORTŠMT01‘MT11*THIRD�TRANSPORT‹MT02‘MT12*FOURTH�TRANSPORTŠMT03‘MT13*….*….*….*EIGHTH�TRANSPORTŠMT07‘MT17**MTA0DVƒSET‡$00003000‹__0_MTA1DVƒSET‡$00003100‹__1_MTDV…EQU‡$4D540000‹MT__‚IFGE‚\NOMTA0-1*%*ƒFIRST�TAPE�DRIVEƒON�FIRST�TRANSP5 ORT*MTANM„SET‡MTDV+MTA0DV+$30G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',0,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-2*&*ƒSECOND‚TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',1,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-3*%*ƒTHIRDƒTAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',2,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-4*&*ƒFOURTH‚TAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',3,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-5*%*ƒFIFTHƒTAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',4,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-6*%*ƒSIXTHƒTAPE�DRIVE‚ON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',5,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-7*'*ƒSEVENTH�TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',6,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA0-8*&*ƒEIGHTH‚TAPE�DRIVEƒON�FIRST�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA0',7,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-1*&*ƒFIRST‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTDV+MTA1DV+$30G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',0,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-2*'*ƒSECOND‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',1,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-3*&*ƒTHIRDƒTAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',2,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-4*'*ƒFOURTH‚TAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',3,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-5*&*ƒFIFTHƒTAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',4,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-6*&*ƒSIXTHƒTAPE�DRIVE‚ON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',5,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-7*(*ƒSEVENTH�TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',6,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC ‚IFGE‚\NOMTA1-8*'*ƒEIGHTH‚TAPE�DRIVEƒON�SECOND�TRANSPORT*MTANM„SET‡MTANM+1G�MTADCB‚MTANM,IOSID,IOSESS,$F7,60,00,'MTA1',7,\MCP$ATM,\MCP$PM,\MCP$AW,7&‚\MCP$WTO,\MCP$RTO,\MCP$DEN,\MCP$RDT,\MCP$WRT,\MCP$ERT‚ENDC  ENDC‰PAGE5*****************************************************3*‚SET�UP�DCB�FOR�NULL�DEVICE;�THIS�MUST�ALWAYS�BE‚*/*‚LAST�SINCE�ITS�POINTER�TO�NEXT�IS�SET�TO�0.†*5***************************************************** LLUN: ‰DC.L†0‰ADDRESS�NEXT�DCB�IN�LIST.‰DC.L†'NULL'„ASCII�IDENTIFICATION�FOR�THIS�DCB‰DC.L†0‰DCQ�LIST‰DC.L†0,0‡DRIVER�ID/SESSION‰DC.L†0‰ADDRESS�OF�LUT‰DC.L†$FF‡DEVICE�ATTRIBUTES6 ‰DC.W†0‰W/R�PROTECT�CODES‰DC.W†0‰DEVICE�IN�USE�FLAG‰DC.L†0‰W/R�COUNT#‰DC.B…$FFˆDEVICE�FLAG�(DEVICE�CODE)#‰DC.B†1‰DEVICE�FLAG�(DEVICE�STATUS)‰DC.L†0‰CHANNEL�ID‰DC.B†0‰CHANNEL�DEVICE�NO.‰DC.B†0‰REQUESTOR'S�PRIORITY‰DC.L†0‰CURRENT�RECORD�NO.1‰DS.B†IOSBLN„ROOM�FOR�REQUESTOR'S�PARAMETER�BLOCK:‰DC.L†0‰LOGICAL�ADDR�OF�PARAMETER�BLK�IN�USER�MEMORY�SPACE'‰DC.B†0‰CONFIGURATION�COORDINATION�FLAG‰DC.B†0‰BREAK�COUNT$‰DC.L†0‰ADDRESS�OF�BREAK�SERVICE�LUT‰DC.L†0‰BREAK�SERVICE�ADDRESS>‰DC.L†0,0,0,0ƒBUFFER�ZONE�BETWEEN�DEVICE�INDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACE�FOR�CONFIGURATION�INFO‰DCB.B…DCBLEN-(*-LLUN),0 (DCBEND�EQU�*-1…End�address�of�DCB�space.HIOCOML EQU (*-IOCOMS+255)/256*256 Get length of common segment (force to*§next�page�boundary). PAGE SECTION 1‰PAGEO*********************************************************************************‰CHANNEL�DATA�BLOCKS*O******************************************************************************* CCSEG EQU * ******‚LOCAL�PRINTERS IFGT \NOLPRTH CDB 0,'CPRT',XTPRTL,254,PRT,0,\LPDA$00,7,26,1,$10,0,0,0,0,0,0,0,0,0,0,0 ENDC  ******‚LOCAL�TERMINALS  IFGT \NOLTERMO CDB $0000,'CTTY',XTACIA,254,CHI,0,$FE8001,3,29,5,$30,1,0,$80,$80,0,3,0,0,0,0,0 ENDC   IFGT \NOTERM40@ CDB $0011,'SUP2',0,254,MSPR,0,\LTDA$01,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP2',XTS7AR,254,MPSC,'SUP2',\LTDA$01,1,\IOCVEC4,\IOCLVL4,$30,& 0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-1M CDB $0009,'CMP3',XTS7BR,254,MPSC,'SUP2',\LTDA$02,1,28,4,$30,0,0,0,0,0,0,0,0,& 0,0,0 ENDC **ˆDISK�CHANNELS* �IFGT‚\NOWIN@ CDB 0,'WIND',XTDWIN,254,WIN,0,\LWIN$00,1,\IOCVEC3,\IOCLVL3,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC IFGT \NOSASIA CDB 0,'SASI',XTDSAS,254,SASI,0,\LSAS$00,1,\IOCVEC3,\IOCLVL3,$10,&ƒ0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOSASI5A CDB 0,'SAS5',XTDSAS,254,SASI,0,\LSA5$00,1,\IOCVEC3,\IOCLVL3,$10,&ƒ0,0,0,0,0,0,0,0,0,0,0 ENDC‰PAGE******‚IEEE-488�CHANNELS  IFGE \NOGPIB-1J CDB $0001,'BUS0',XTGBUS,254,GPIB,0,\GPIB$00,64,$B0,4,$40,1,0,0,0,0,0,0,0,&…0,0,0 ENDC* IFGE \NOGPIB-2J CDB $0001,'BUS1',XTGBUS,254,GPIB,0,\GPIB$01,64,$B1,4,$40,1,0,0,0,0,0,0,0,&…0,0,0 ENDC*,*********************************************ª**ˆMAG�TAPE�DRIVER“**ˆCHANNEL�DATA�BLOCK�**ª*,*********************************************$******ƒFIRST�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA0H CDB 0,'MTA0',XTM435,0,MTA,0,\LMTA$00,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC*%******‚SECOND�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA1H CDB 0,'MTA1',XTM435,0,MTA,0,\LMTA$01,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC**) DC.L 0 Link of 0 marks end of CDB chain.  ENDéééé6 é ‰XREF†TTYASR ‰XDEF†TTYASQ‰XDEF†OSMTBL,FMSASQ‰XDEF†OSMEND,FMSDLEN‰XREF†FHSASR,IOSASR,FMSASR*-*ˆTABLE�OF�OPERATING�SYSTEM�MODULE�TASK�NAMES*‰NOLIST‰INCLUDEƒ9995.&.IOE.EQ‰INCLUDEƒ9995.&.TR1.EQ‰INCLUDEƒ9995.&.EXE.EQ‰INCLUDEƒ9995.&.NIO.EQ‰INCLUDEƒ9995.&.LV5.EQ‰INCLUDEƒ9995.&.FME.EQ‰INCLUDEƒ9995.&.FMI.EQ‰LIST SECTION 1‰PAGE**ˆTABLE�OF�OS�MODULE�TASK�NAMES*OSMTBLƒDC.L…FHSIDŽFHS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+FHSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+FHSNLN‡QUEUE�LENGTH‰DC.L„FHSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…IOSIDŽIOS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+IOSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L„IOSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED***‰DC.L…FMSIDŽFMS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRD‚ASQ�STATUS'‰DC.B„EVTLEN+FHSNLN‡MAX.�MESSAGE�LENGTHFMSASQƒDC.L„0�QUEUE�LENGTH‰DC.L„FMSASRŽADDR.�OF�ASR‰DC.W„0**‰DC.W„SGOPPAŽOPTIONS-LOG.�ADDR=PHYS.�ADDR.‰DC.W„SGATRW+SGATSS‡ATTRIBUTES‰DC.L„FMSD�SEG.�NAME‰DC.L„0�LOGICAL�ADDRESSFMSDLEN‚DC.L„0�SEGMENT�LENGTH*$‰DC.L†TTYID‡CONSOLE�DRIVER�TASK�NAME‰DC.L†1‹TASK�SESSION�NUMBER‰DC.B†07ŠASQ�STATUS ‰DC.B†$10‰MAXIMUM�MESSAGE�LENGTHTTYASQ:‰DC.L†$100ˆQUEUE�LENGTH‰DC.L†TTYASR†ADDRESS�OF�ASR‰DC.W†0$‰DC.L†0,0,0,0…NO�DATA�SEGMENT�NEEDED*OSMENDƒEQU…*“END�OF�TABLE ‰END‡OSMTBLéÉI PAGE*#*VALPAR VALIDATES SYSGEN PARAMETERSG*…FAIL�ERROR�IS�GENERATED�FOR�EACH�PARAMETER�THAT�IS�NOT�IN�VALID�RANGE:*ANY ERROR SHOULD MAKE OPERATOR ABORT SYSGEN SINCE FURTHER/*…SYSGEN�PROCESSING�ASSUMES�PARAMETERS�ARE�GOOD*+*CAN'T HAVE MORE THAN 4 MVME 400 TERMINALS. IFGT \NOTERM40-4 FAIL 100 ENDC8*CAN'T HAVE MORE THAN 4 DRIVES PER WINCHESTER CONTROLLER IFGT \HDWIN+\FDWIN-4 FAIL 100 ENDC5*CAN'T�HAVE�MORE�THAN�4�DRIVES�PER�SASI‚8"ƒCONTROLLER IFGT \HDSASI+\FDSASI-4 FAIL 100 ENDC9*CAN'T�HAVE�MORE�THAN�4�DRIVES�PER�SASI�5�1/4"ƒCONTROLLER IFGT \HDSASI5+\FDSASI5-4 FAIL 100 ENDC9*CAN'T HAVE 0 OR MORE THAN 75 TASKS IN SYSTEM AT ONE TIME IFEQ \NOTASKS FAIL 100 ENDC IFGT \NOTASKS-75 FAIL 100 ENDC1*MAXIMUM LU CANNOT BE LESS THAN 8 OR MORE THAN 31 IFLT \MAXLU-8 FAIL 100 ENDC IFGT \MAXLU-31 FAIL 100 ENDC2*MAXIMUM LU CANNOT BE LESS THAN NO. OF DISK DRIVES IFLT \MAXLU-\TOTDSK FAIL 100 ENDC**IF NO MVME435, CAN'T HAVE ANY TAPE DRIVES IFEQ \TOTM435 ‚IFGT�\NOMTAT ‚FAIL�100‚ENDC ENDC/*CAN'T HAVE MORE THAN 8 TAPE DRIVES PER MVME435 IFGT \NOMTA0-8 FAIL 100 ENDC IFGT \NOMTA1-8 FAIL 100 ENDCC*MAXIMUM NO. OF PAGES FOR DCQ,UST,GST,IOV, AND TRACE CANNOT BE 0 OR*…MORE�THAN�10 IFEQ \DCQPGE FAIL 100 ENDC IFGT \DCQPGE-10 FAIL 100 ENDC IFEQ \GST FAIL 100 ENDC IFGT \GST-10 FAIL 100 ENDC IFEQ \UST FAIL 100 ENDC IFGT \UST-10 FAIL 100 ENDC IFNE \TRCFLAG 7  IFEQ \TRACE FAIL 100 ENDC ENDC IFNE \TRCFLAG IFGT \TRACE-10 FAIL 100 ENDC ENDC IFEQ \IOV FAIL 100 ENDC IFGT \IOV-10 FAIL 100 ENDCG*MAXIMUM NO. OF DIFFERENT FILES MUST BE .LE. MAXIMUM NO. OF TOTAL FILES IFGT \NODIFFIL-\NOFILES FAIL 100 ENDC2*MAXIMUM NO. OF FILES CANNOT BE 0 OR MORE THAN 200 IFEQ \NODIFFIL FAIL 100 ENDC IFGT \NODIFFIL-200 FAIL 100 ENDC IFEQ \NOFILES FAIL 100 ENDC IFGT \NOFILES-200 FAIL 100 ENDCÒkÛG*MAXIMUM NO. OF DEFAULT VOLUMES CANNOT BE 0 OR MORE THAN NO. OF TASKS+3 IFEQ \NODEFVOL FAIL 100 ENDC IFGT \NODEFVOL-(\NOTASKS+3) FAIL 100 ENDCE*NUMBER OF DEFAULT VOLUMES MUST BE GREATER THAN OR EQUAL TO NUMBER OF*ƒLOGON�TERMINALS IFGT \NOLOGONS-\NODEFVOL FAIL 100 ENDC**DEFAULT FAB SIZE CANNOT BE 0 MORE THAN 20 IFEQ \DEFFAB FAIL 100 ENDC IFGT \DEFFAB-20 FAIL 100 ENDC7*DEFAULT DB SIZE CANNOT BE LESS THAN 4 OR MORE THAN 255 IFGT \DEFDAT-255 FAIL 100 ENDC IFLT \DEFDAT-4 FAIL 100 ENDC END ééééé=LINK ,IOI,\LINKLS;HAMIXSSEGMENT IOSG:0 \IOCSTRSEGMENT .IOI:1INPUT VME110.IOC.ROINPUT VME110.IOI.ROINPUT VME110.OSLIST.RO INPUT IXR.ROINPUT VME110.ASR.ROEND=ENDéééé7 éééã ‚********************‚*�VME110.SYSCMD.CD�*M‚****************************************************************************‚*�SYSGEN�COMMAND�FILE�-´*?‚*ƒUSE�IN�CONJUNCTION�WITH�SYSGEN.CF�OR�EXECUTE�DIRECTLY�WITH�*‚*†THE�FOLLOWING�ARGUMENTS:¬*‚*Ê*@‚*†ARG1�-�LISTING�FILE�OR�DEVICE�FOR�ASSEMBLIES�AND�LINK�EDITS‰*‚*Ê*-‚*†ARG2�-�SWITCH�--�0�=�ARG1�IS�A�FILE�NAMEœ*‚*—1�=�ARG1�IS�A�DEVICE�NAMEš*‚*Ê*8‚*†ARG3�-�CONFIGURATION�SWITCH�--�1�=�SINGLE-USER�HARD‘*‚*Ê*@‚*†ARG4�-�WORKING�FILE�FOR�USE�WITH�COPY�;A�TO�PRODUCE�LISTING‰*‚*Ê*M‚**************************************************************************** ‚MSG‰SYSGEN�COMMAND�FILE +‚MSG‰SET�SYSGEN�PARAMETERS�FROM�PASSED�ARGS *‚ASMLSW„=�\2‹*ASSEMBLY�LISTING�FILE�SWITCH‚*”0�=�ASMLS�IS�A�FILE‚*”1�=�ASMLS�IS�A�DEVICE'‚LINKLSWƒ=�\2‹*LINK�LISTING�FILE�SWITCH‚*”0�=�LINKLS�IS�A�FILE‚*”1�=�LINKLS�IS�A�DEVICE  ‚IFEQˆ\ASMLSW$…ASMLS…=�"\4"‰*ASM�LISTING�WORK�FILE‚ENDC ‚IFNEˆ\ASMLSW!…ASMLS…=�"\1"‰*ASM�LISTING�DEVICE‚ENDC ‚IFEQˆ\LINKLSW&…LINKLS„=�"\4"‰*LINK�LISTING�WORK�FILE‚ENDC‚IFNEˆ\LINKLSW#…LINKLS„=�"\1"‰*LINK�LISTING�DEVICE‚ENDC +‚WORKLS„=�"\1"‰*OVERALL�LISTING�FILE/DEVICE6‚LINK1TFƒ=�"INIT1.TF"„*INTERMEDIATE�LINK�FILE�FOR�INIT6‚LINK2TFƒ=�"INIT2.TF"„*INTERMEDIATE�LINK�FILE�FOR�INIT C‚MSG‰**************************************************************C‚MSG‰**************************************************************?‚MSG‰**„System�generation�(SYSGEN)�command�file�for�users�of‚**4‚MSG‰**„VERSAdos�on�for�VME110.�Prepared�1/26/83.�**C‚MSG‰**************************************************************C‚MSG‰**************************************************************‚MSG‰C‚MSG‰**************************************************************(‚MSG‰**ˆParameters�describing�devices•**C‚MSG‰**************************************************************+‚*˜Total�#�of�terminals�(local�and�MVME400)8‚TOTTERMƒ=�\NOLTERM+\NOTERM40+\NOTERM0+\NOTERM1+\NOTERM2 ì<õ?ýD? 385%0-,5-=-E-M1U-]4e5m-uI}Q…B�T•O�/*‚*˜Total�#�of�printers�(local�and�MVME410))‚TOTPRT„=�\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2‚*˜Total�number�of�disks�-+‚*˜floppy�drives�and�hard�disk�drives.‚Each(‚*˜volume�defined�requires�approximately‚*˜2-1/4K�bytes�of�memory.9‚TOTDSK„=�\HDWIN+\FDWIN+\HDSASI+\FDSASI+\HDSASI5+\FDSASI5‚NOGPIB„=�0Œ#�of�GPIB�channels‚*,‚NOLTERMƒ=�1Œ#�of�local�terminals�(max�is�1)8‚NOTERM40‚=�1Œ#�of�terminals�using�MVME�400�serial�ports&‚NOLPRT„=�1Œ#�of�printers�(on�MVME410)‚*,‚NOWIN…=�1Œ#�of�Winchester�controller�boards9‚HDWIN…=�2Œ#�of�hard�disk�drives�on�Winchester�controller;‚FDWIN…=�2Œ#�of�floppy�disk�drives�on�Winchester�controller‚**‚NOSASI„=�1Œ#�of�SASI�8"�controller�boards,‚HDSASI„=�2Œ#�of�hard�disk�drives�on�SASI‚8".‚FDSASI„=�2Œ#�of�floppy�disk8 �drives�on�SASI‚8"‚*/‚NOSASI5„=�1Œ#�of�SASI�5�1/4"�controller�boards1‚HDSASI5„=�2Œ#�of�hard�disk�drives�on�SASI„5�1/4"3‚FDSASI5„=�2Œ#�of�floppy�disk�drives�on�SASI‚5�1/4"‚*=‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRAD1…=�0ŒNO.�OF�RAD�BOARDS‚NUSRRADƒ=�0ŒNO.�OF�RAD�USERS‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RAD�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RADRV…=�0‚*@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRIO†=�0ŒNumber�of�RIO�boards‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RIO�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RIODRVRƒ=�0‚*D‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#‚NDAC1…=�0ŒNumber�of�MVME605�boards;‚NUSRDACƒ=�0ŒNumber�of�users�(total)�for�the�MVME605�boards‚*"‚NACO†=�0ŒNumber�of�MVME615�boards;‚NUSRACOƒ=�0ŒNumber�of�users�(total)�for�the�MVME615�boards‚*‚*#‚NDCO1…=�0ŒNumber�of�MVME625�boards;‚NUSRDCOƒ=�0ŒNumber�of�users�(total)�for�the�MVME625�boards‚*‚*%‚NVME610�=�0ŽNumber�of�MVME610�boards%‚NVME620�=�0ŽNumber�of�MVME620�boards‚*‚*B‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>‚PCDRV…=�0ŒIf�non-zero�include�special�I/O�channel�initializer2‚*˜for�Process�Control�Drivers�in�user�number�9992‚*+‚NOTERM0ƒ=�0Œnot�used�-�but�IXR.AG�wants�it*‚NOPRT0„=�0Œnot�used�-�but�IXR.AG�wants�it+‚NOTERM1ƒ=�0Œnot�used�-�but�IXR.AG�wants�it*‚NOPRT1„=�0Œnot�used�-�but�IXR.AG�wants�it+‚NOTERM2ƒ=�0Œnot�used�-�but�IXR.AG�wants�it*‚NOPRT2„=�0Œnot�used�-�but�IXR.AG�wants�it5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~F‚*†IF�the�MAGTAPE�driver�IS�to�BE�used�YOU�must�MERGE�file�MTALDPNT.SA‚*†into�VME110.INITIO1.AG5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:‚*********************************************************‚*·*‚*ˆMAG�TAPE�DRIVER *‚*ˆNOTES�ON�BOARD�JUMPERING—*‚*·*:‚*********************************************************‚*‚*‚*ˆINTERRUPT�LEVEL‚*7‚*ˆThe�channel�data�block�is�configured�for�I/O�channel3‚*ˆinterrupt�level�1�in�IOC.AG.‚Please�be�sure�that3‚*ˆyour�board�is�jumpered�for�this�interrupt�level,4‚*ˆas�described�in�the�MVME435�magnetic�tape�adapter ‚*ˆmanual.‚*8‚*ˆAs�described�in�the�MVME435�manual,�to�have�a‚level�18‚*ˆinterrupt,�the�jumper�on�J2�must�be�placed�to�connect‚*ˆpins�7-8�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+----+�|‚8 ‚*’+--------+‚*‚*‚*ˆADDRESS‚ON�I/O�CHANNEL‚*7‚*ˆThe�channel�data�block�is�configured�for�I/O�channel<‚*ˆaddresses�LMTA$00�=�(I/O�channel‚base�address)�+�$3E9�and/‚*ˆLMTA$01�=�(I/O�channel�base�address)�+�$3A9.5‚*ˆPlease�be�sure�that�your�board(s)�is(are)�jumpered‚*ˆfor�one�of�these�addresses.‚*@‚*ˆTo�have�a�board�address�of�(I/O�channel�base�address)�+�$3E9,)‚*ˆremove�all�jumpers�from�J3�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+„+�|‚8 ‚*’+--------+‚*‚*‚*@‚*ˆTo�have�a�board�address�of�(I/O�channel‚base�address)�+�$3A9,%‚*ˆconnect‚pins�7-8�on�J3�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+----+�|‚8 ‚*’+--------+‚*‚*‚*‚*‚*‚*8‚TOTM435ƒ=�0ŒTotal�#�of�mag�tape�MVME435�adapter�boards.*3‚NOMTA0„=�0Œ#�of�tape�drives�on�first�MVME435‚board4‚NOMTA1„=�0Œ#�of�tape�drives�on�second�MVME435‚boardD‚NOMTAT„=�\NOMTA0+\NOMTA1‚Total�number�of�tape�drives�for�the�system*‚MSG‰C‚MSG‰**************************************************************-‚MSG‰**ˆParameters�about�table�sizes,�etc.�**C‚MSG‰**************************************************************2‚PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*‚ASN‡=�08 Œ#�of�address�spaces--not�used�but'‚*˜needed�to�satisfy�M68XXX.INITDAT.AG.‚*4‚DCQPGE„=�2ŒNumber�of�pages�of�memory�for�the�device-‚*˜connection�queue�(DCQ).‚Minimum�of�1�page,*‚*˜maximum�of�10�pages.‚The�DCQ�is�used�to/‚*˜save�concurrent�requests�to�the�same�file�or.‚*˜device.‚Each�page�of�the�DCQ�can�accomodate‚*˜approximately�9�entries.‚*1‚GST‡=�2ŒNumber�of�pages�in�global�segment�table.-‚*˜Minumum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�14�entries.‚*5‚UST‡=�1ŒNumber�of�pages�in�the�user�semaphore�table.-‚*˜Minimum�of�1,�maximum�of�10.‚Each�page�can'‚*˜accomodate�approximately�11�entries.‚*8‚TRACE…=�0ŒNumber�of�pages�in�trace�table.‚TRACE�must�be/‚*˜nonzero�if�TRCFLAG�is�nonzero.‚Each�page�can'‚*˜accomodate�approximately�10�entries.‚*2‚UDR‡=�1ŒNumber�of�pages�in�user-defined�directive0‚*˜table,�minimum�of�0,�maximum�of�10.‚Each�page+‚*˜can�accomodate�approximately�25�entries.‚*:‚IOV‡=�1ŒNumber�of�pages�in�I/O�vector�table.‚Minimum�size5‚*˜is�1,�maximum�size�is�10.‚Each�page�can�accomodate‚*˜approximately�12�entries.‚*@‚PAT‡=�(\NOLOGONS*32*2+16+(\PAGESIZE-1))/\PAGESIZE�#�of�pages�in3‚*˜periodic�activation�table.‚Required�for�DELAY�or5‚*˜RQSTPA�RMS68K�directives.‚Each�page�can�accomodate.‚*˜approximately�8�entries.‚PAT�size�is�\PAT�.‚*<‚NOTASKSƒ=�10‹Maximum�number�of�tasks�in�system�at�one�time.-‚*˜VERSAdos�contains�a�maximum�of�11�resident)‚*˜tasks.‚Allowing�for�that�plus�four�for/‚*˜each�terminal�will�accomodate�most�requests.‚*<‚MAXLU…=�12‹Maximum�logical�unit�number�that�can�be�assigned/‚*˜for�each�task�in�the�system.‚Limit�is�31�and.‚*˜minimum�is�8.‚MAXLU�must�be�greater�than�or2‚*˜equal�to�TOTDSK.‚MAXLU�and�NOTASK�determine�the1‚*˜amount�of�memory�required�for�the�logical�unit1‚*˜table�(LUT).‚The�algorithm�for�determining�the!‚*˜size�of�the�LUT�is�as�follows:'‚*˜LUT�=�16*NOTASKS+8*NOTASKS*(MAXLU+1),‚*˜There�must�be�a�1�LU�for�each�disk�volume,‚*˜(FMS�assigns�a�different�logical�unit�for,‚*˜each�disk.)‚This�means�that�MAXLU�must�be#‚*˜greater�than�or�equal�to�TOTDSK.‚*‚IFGTˆ\TOTDSK-\MAXLU!…MSG‰SYSGEN�parameter�size�error.3…MSG‰MAXLU�must�be�greater�than�or�equal�to�TOTDSK.:…MSG‰In�this�sysgen,�MAXLU�=�\MAXLU�and�TOTDSK�=�\TOTDSK�.5…MSG‰Please�adjust�parameters�and�start�sysgen�again.…ABORT‚ENDC;‚NOFILESƒ=�12‹Maximum�number�of�files�that�can�be�opened�in(‚*˜the�system�at�one�time.‚Limit�of�200.‚*9‚NODIFFIL‚=�12‹Maximum�number�DIFFERENT�files�that�can�be-‚*˜opened�at�one�time.‚Cannot�be�greater�than,‚*˜NOFILES.‚For�every�three�different�files,,‚*˜approximately�1K�of�memory�is�required.‚A&‚*˜ration�of�5�files�for�each�terminal‚*˜accomodates�most�requests.‚*;‚NODEFVOL‚=�8ŒMaximum�number�of�default�volumes�that�can�be-‚*˜defined.‚Cannot�be�greater�than�NOTASKS+3.‚*9‚DEFFAB„=�1ŒDefault�File�Allocation�Block�(FAB)�length�in/‚*˜sectors�(256�bytes�per�sector).‚Used�by�file-‚*˜handler�when�no�FAB�size�is�given.‚Minimum!‚*˜size�is�1,�maximum�size�is�20.‚*;‚DEFDAT„=�4ŒDefault�data�block�length�in�sectors�(256�bytes1‚*˜per�sector).‚Used�by�file�handler�when�no�data/‚*˜block�size�is�given�at�file�allocation�time.*‚*˜Minumum�size�is�4,�maximum�size�is�255.‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**ˆEETEQU�values¥**C‚MSG‰**************************************************************>‚DEFAULTƒ=�"SYS:0.&"„*System�default�volume:usernumber.catalog<‚TERMOCNT‚=�2Œ*No.�of�terminal�output�timeouts�before�logoff‚*7‚SECURITY‚=�1ŒSwitch�to�indicate�if�security�package�is-‚*˜supported.‚Value�of�zero�excludes�package,-‚*˜nonzero�includes�it.‚This�package�requires‚*˜approximately�1K�of�memory.‚*<‚SPCCMD„=�0ŒSwitch�to�indicate�if�the�following�user�session0‚*˜management�commands�are�supported:‚HELP,CLOSE0‚*˜ASSIGN,NEWS.‚Value�of�zero�excludes�commands./‚*˜This�package�requires�approximately�1/2�K�of ‚*˜memory.‚*>‚CHAINBAT‚=�1ŒSwitch�to�indicate�if�chain�an9 d�batch�processing2‚*˜are�supported.‚Value�of�zero�excludes�batch�and.‚*˜chain;�non-zero�includes�them.‚This�package+‚*˜requires�approximately�3-1/2K�of�memory.‚*9‚CONBATCH‚=�1ŒNumber�of�concurrent�batch�jobs�that�can�be(‚*˜running.‚Cannot�be�more�than�NOTASKS.‚*<‚BATCHPGE‚=�2ŒNo.�of�pages�for�batch�job�queueing.‚Each�page0‚*˜accomodates�32�entries.‚In�addition,�there�is+‚*˜space�for�31�entries�minus�the�number�of‚*˜terminals�in�the�system.‚*=‚BATDLY„=�16000ˆ*delay�in�ms�in�batch�between�reload�attempts=‚NOLOGONƒ=�3ŒMaxmimum�number�of�invalid�logon�attempts�before‚*˜being�rejected.B‚NOLOGONS‚=�\TOTTERM…#�of�terminals�allowed�to�logon�in�the�system,‚LOGMSG1ƒ=�"VERSAdos�V"�Logon�message�part�1)‚LOGMSG2ƒ=�"ERSION�"„Logon�message�part�2(‚REVNUMBR‚=�"�4.3�"†Logon�message�part�3‚*2‚*˜REVNUMBR�is�used�dynamically�in�CMDLIST�as�part*‚*¡of�the�log�on�message.�If�this�value�is'‚*¡changed�then�'REVISION'�in�this�file)‚*¡should�be�changed�to�match�the�dynamic ‚*¡value.‚*B‚AUTOTERM‚=�'CN00'‡Terminal�ID�of�device�auto�logon�is�to�occur�on‚AUTOLOGN‚=�1ŒBit�0:‚*›0�-->�Auto�break�inactive‚*›1�-->�Auto�break�active ‚*˜Bit�1:‚*›0�-->�Auto�logon�inactive‚*›1�-->�Auto�logon�active‚*‚*‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**‰Vector�numbers£**C‚MSG‰***************************************************************5‚IOCVEC1ƒ=�$19ŠI/O�channel�interrupt�1�vector‚loc�$645‚IOCVEC2ƒ=�$1AŠI/O�channel�interrupt�2�vector‚loc�$685‚IOCVEC3ƒ=�$1BŠI/O�channel�interrupt�3�vector‚loc�$6C5‚IOCVEC4ƒ=�$1CŠI/O�channel�interrupt�4�vector‚loc�$70*+‚IOCLVL1ƒ=‚1‹I/O�channel�interrupt�1�level.+‚IOCLVL2ƒ=‚2‹I/O�channel�interrupt�2�level.+‚IOCLVL3ƒ=‚3‹I/O�channel�interrupt�3�level.+‚IOCLVL4ƒ=‚4‹I/O�channel�interrupt�4�level. 2‚ACIA†=�29‹serial�port-�level�5�autovector�loc�$740‚PTMVECTƒ=�30‹timer†-�level�6�autovector�loc�$782‚FAIL†=�31‹Board�fail�-�level�7�autovector�loc�$7C7‚SWABRT„=�31‹Software�abort-�level�7�autovector�loc�$7C:‚*‹ACFAIL,�SYSFAIL,�and�software�abort�use�the�same�vector>‚*‹The�status�register�must�be�read�to�determine�the�interrupt ‚*‹source.‚*‚MSG‰C‚MSG‰**************************************************************#‚MSG‰**ˆAddresses�of�timer,�etc.š**C‚MSG‰**************************************************************,‚MMU‡=�$0‹Address�of�MMU�(none�on�a�VME110)."‚TIMER…=�$FE8010†Address�of�timer.6‚CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond#‚PANEL…=�$0‹Address�of�front�panel.@‚BUGTRACƒ=�$F03974†Address�of�firmware�debugger's�trace�routine.6‚TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The0‚*˜setting�of�bits�in�the�TRCFLAG�parameter�will2‚*˜control�which�events�cause�an�entry�to�be�built‚*˜in�the�trace�table.‚*˜Bit�#�in�TRCFLAG†Event ‚*›15‘TRAP�#1‚*›14‘I/O�interrupt�not�claimed‚*°by�user�task.‚*›13‘Timer�interrupt.‚*›12‘User�trap�(2-15)‚*›11‘Exception‚*›10‘Dispatch‚*œ9‘I/O�interrupt�claimed�by ‚*°user�task‚*œ8‘Return�from�LOADMMU‚*œ7‘Simulated�interrupt‚*œ6‘SYSFAIL�interrupt.‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**2‚MSG‰**ƒLOCAL�TERMINAL/PRINTER�DEVICE�ADDRESSES�**+‚MSG‰**ƒMAG�TAPE�ADAPTER�BOARD�ADDRESSESˆ**#‚MSG‰**ƒRWIN1�AND�SASI�ADDRESSES�**$‚MSG‰**ƒGPIB�CONTROLLER�ADDRESSES�** ‚MSG‰**«**0‚MSG‰**ƒBase�Address�Jumpers:‚'.'�=�no�jumper‚**‚MSG‰**š'J'�=�jumper…**4‚MSG‰***********************************************‚MSG‰0‚LTDA$00ƒ=�$FE8001†ACIA�address�-�local�terminalC‚LTDA$01ƒ=�$FE61CD†MVME�400�with�base�address�jumpers�(...J)�port�AC‚LTDA$02ƒ=�$FE61CF†MVME�400�with�base�address�jumpers�(...J)�port�BC‚LPDA$00ƒ=�$FE61E1†MVME�410�with�base�address�jumpers�(....)�port�AC‚LPDA$01ƒ=�$FE61E9†MVME�410�with�base�address�jumpers�(....)�port�B<‚LMTA$00ƒ=�$FE63E9†MVME�435�with�base�address�jumpers�(....)<‚LMTA$01ƒ=�$FE63A9†MVME�435�with�base�address�jumpers�(...J) ‚LWIN$00ƒ=�$FE60D3†RWIN1�address-‚LSAS$00ƒ=�$FE60F1†SASI‚8"�controller�address1‚LSA9 5$00ƒ=�$FE60E1†SASI‚5�1/4"�controller�addressA‚GPIB$00ƒ=�$FF0400†VME�300�with�base�address�jumpers�(JJJJJ.JJJJ)A‚GPIB$01ƒ=�$FF0440†VME�300�with�base�address�jumpers�(JJJJJ.JJJ.)‚*-‚IOBASE„=�$FE6000†Base�address�of�I/O�channel‚*‚*4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�TERMINALŠ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(TCP�=�TERMINAL�CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�BELOW…**4‚MSG‰***********************************************‚MSG‰‚*2‚TCP$RECƒ=�80‹Width�of�terminal�(characters/line).-‚TCP$RSZƒ=�24‹Depth�of�terminal�(lines/page).C‚TCP$WTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.C‚TCP$RTOƒ=�900000‡(15�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�read.>‚TCP$XOFƒ=�$17ŠXOFF�char;�when�received,�suspends�transmission ‚*˜(0=none).?‚TCP$XONƒ=�0ŒXON�char;�when�received,�cancels�a�prior�XOFF�char‚*˜(0=any�char).@‚TCP$BRCƒ=�$03ŠChar�to�be�interpreted�like�a�break�when�received ‚*˜(0=none).<‚TCP$DOPƒ=�$0FŠChar�which�causes�output�to�be�discarded�when‚*˜received�(0=none).:‚TCP$RLNƒ=�$13ŠChar�which�causes�line�to�be�reprinted�when‚*˜received�(0=none).A‚TCP$CLCƒ=�$18ŠChar�which�causes�line�to�be�deleted�when�received ‚*˜(0=none)./‚TCP$RTVƒ=�$0DDE0000„Read�terminators�(CR,$DE).0‚TCP$EOLƒ=�$0D0A0000„End�of�line�string�(CR,LF).<‚TCP$BRTƒ=�$0EŠBaud�rate�code�($0E=9600�baud).‚The�following1‚*˜codes�may�be�used�to�indicate�the�desired�baud‚*˜rate:*‚*˜Code‚RateƒCode�RateƒCode�RateƒCode�Rate#‚*˜$00ƒ50…$05‚300„$09‚2000ƒ$0E‚9600$‚*˜$01ƒ75…$06‚600„$0A‚2400ƒ$0F‚19200$‚*˜$02ƒ110„$07‚1200ƒ$0C‚4800ƒ$10-$FF'‚*˜$03ƒ134.5‚$08‚1800ƒ$0D‚7200ƒReserved?‚TCP$NLSƒ=�0Œ#�of�ASCII�NUL�char's�to�send�after�each�CR�or�LF.+‚TCP$TRCƒ=�$00ŠTerminator�class�($0X=none)..‚TCP$TTPƒ=�$00ŠTerminal�type�(0=EXORterm�155).J‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.>‚TCP$HCPY‚=�0Œ1�means�the�terminal�is�a�hardcopy�device,�not�a‚*˜CRT.8‚TCP$XCTL‚=�0Œ1�means�use�XON/XOFF�to�control�terminal's‚*˜transmission,�not�CTS.@‚TCP$BITS‚=�0Œ1�means�transmit�&�receive�7�bits/char�rather�than‚*˜8.<‚TCP$STPB‚=�0Œ1�means�follow�each�char�sent�with�2�stop�bits‚*˜rather�than�1.=‚TCP$USEP‚=�0Œ1�means�parity�should�be�checked�and�generated.<‚TCP$PRTY‚=�0Œ1�means�parity�(if�used)�should�be�even�rather ‚*˜than�odd.<‚TCP$ECHO‚=�0Œ1�means�the�driver�should�not�echo�characters.@‚TCP$TAHD‚=�0Œ1�means�the�type-ahead�feature�should�not�be�used.9‚TCP$TFUL‚=�1Œ1�means�filling�the�buffer�on�a�read�should‚*˜terminate�the�read.>‚TCP$PNUL‚=�0Œ1�means�NUL�char's�should�be�considered�data�for‚*˜image�reads.7‚TCP$MODM‚=�0Œ1�means�the�port�is�connected�to�a�modem.9‚TCP$OFFH‚=�0Œ1�means�the�port,�if�connected�to�modem,�is ‚*˜offhook.‚*L‚***************************************************************************'‚*†NOTE�on�how�to�modify�a�single�port:‚*<‚*†First�duplicate�all�the�parameters�that�are�to�change�for<‚*†this�particular�port�(e.g.�TCP$BRT).‚Modify�the�duplicate=‚*†labels�so�that�they�become�unique.‚One�technique�is�to�put9‚*†the�port�number�at�the�end�of�the�label�(e.g.�for�CN02;‚*†TCP$BRT�becomes�TCP$BRT2�and�TCP$BITS�becomes�TCP$BIT2).8‚*†Remember�that�the�label�must�not�exceed�8�characters!;‚*†Change�the�parameter�to�the�desired�value�(e.g.�to�set�a5‚*†300�baud�rate�for�a�non-EXORterm�terminal�on�CN02,$‚*†TCP$BRT2�=�$05�and�TCP$TTP2�=�1).‚*4‚*†Now�substitute�these�new�parameters�into�the�file8‚*†VME110.IOC.AG�for�the�CRTDCB�macro�defining�the�port.+‚*†To�continue�the�baud�rate�example�above:?‚*ˆTCP$ATW�SET�\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$USEP<<4+\TCP$PRTY<<5+\TCP$ECHO<<6=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$TAHD<<7+\TCP$TFUL<<8+\TCP$PNUL<<92‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$MODM<<10+\TCP$OFFH<<11=‚*‰CRTDCB�'CN02',IOSID,IOSESS,$133,36,1,'CMP3',0,$0FFF,$7FF3,‚*©~~:‚*ˆ&ƒTCP$A: TW,\TCP$REC,\TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,;‚*ˆ&ƒ\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,\TCP$CLC,\TCP$RTV,2‚*ˆ&„TCP$EQL,�TCP$BRT2,\TCP$NLS,\TCP$TRC,�TCP$TTP2‚*•~~~~~~~~~“~~~~~~~~~4‚*†where�~~~~~~�underlines�the�CRTDCB�modifications.‚*>‚*†This�same�technique�may�be�used�with�the�printer�parameters<‚*†by�modifying�the�PCP$xxx�labels�and�substituting�into�the=‚*†PRTDCB�macro.‚It�may�also�be�used�with�the�disk�parameters@‚*†by�modifying�the�appropriate�labels�and�substituting�into�the‚*†DSKDCB�macro.‚*L‚***************************************************************************‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**(‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�PRINTER‹**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**-‚MSG‰**ƒ(PCP�=�PRINTER‚CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE…**4‚MSG‰***********************************************‚MSG‰‚*A‚PCP$RECƒ=�132ŠWidth�of�printer‚(characters/physical�print�line).,‚PCP$RSZƒ=�66‹Depth�of�printer‚(lines/page).B‚PCP$WTOƒ=�120000‡(2�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.6‚PCP$LRLƒ=�132ŠLogical�line�length�<=�width�of�printer<‚PCP$EOLƒ=�$0A0D0000„End�of�line�string�(LF,CR).�(MCCM�only)$‚PCP$ELCƒ=�$0DŠEnd�of�line�characterJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.9‚PCP$LNFD‚=�0Œ1�means�the�printer�supports�auto�line�feed5‚PCP$AFFƒ=�0Œ1�means�supress�auto-form�feed�on�assign>‚PCP$TLRL‚=�0Œ0�means�wrap-around�print�if�logical�line�length3‚*˜exceeded.‚1�means�truncate�print�at�logical�line ‚*˜length.‚MSG‰8‚MSG‰*************************************************** ‚MSG‰**¯**%‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�DISK’**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES‰***‚MSG‰**ƒ(DCP�=�DISK�CONFIG.�PARAMETERS)�**5‚MSG‰**ƒ(WCP�=�Winchester�controller�configuration‚**‚MSG‰**ƒparameters)¡**/‚MSG‰**ƒ(SCP�=�SASI�controller�configurationˆ**‚MSG‰**ƒparameters�8"�drives)˜*/‚MSG‰**ƒ(SC5�=�SASI�controller�configurationˆ**#‚MSG‰**ƒparameters�5.25"�drives)”**/‚MSG‰**ƒSome�values�are�not�used�by�all�diskˆ**-‚MSG‰**ƒdrivers.‚That�is�controlled�by�the‰**-‚MSG‰**ƒattributes�mask�and�the�parametersŠ**,‚MSG‰**ƒmask;�however,�each�parameter�and‹**0‚MSG‰**ƒattribute�is�specified�to�allow�disks‡**0‚MSG‰**ƒto�be�interchanged�between�controller‡**‚MSG‰**ƒboards.¥**-‚MSG‰**ƒEach�controller�board�driver�caresŠ**3‚MSG‰**ƒabout�different�device/media�attributes.„**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE‰**8‚MSG‰***************************************************‚MSG‰‚*&‚DCP$WTOƒ=�0ŒWrite�Timeout�-�all�disks%‚DCP$RTOƒ=�0ŒRead‚Timeout�-�all�disks?‚DCP$HBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�hard�disksA‚DCP$FBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�floppy�disks>‚DCP$HSPT‚=�064ŠNumber�of�sector's�per�track�for�hard�disk-IPC@‚DCP$FSPT‚=�026ŠNumber�of�sector's�per�track�for�floppy�disk-IPC0‚DCP$HTNS‚=�0ŒHard�-�total�number�of�sectors-IPC2‚DCP$FTNS‚=�0ŒFloppy�-�total�number�of�sectors-IPC(‚DCP$HNOH‚=�0ŒHardƒ-�number�of�heads-IPC*‚DCP$FNOH‚=�2ŒFloppy�-�number�of�heads-IPC)‚DCP$HNOT‚=�0ŒHardƒ-�number�of�tracks-IPC,‚DCP$FNOT‚=�77‹Floppy�-�number�of�tracks-IPC*‚DCP$HILF‚=�0ŒHardƒ-�interleave�factor-IPC,‚DCP$FILF‚=�1ŒFloppy�-�interleave�factor-IPC&‚DCP$HSPL‚=�0ŒHardƒ-�spiral�offset-IPC(‚DCP$FSPL‚=�0ŒFloppy�-�spiral�offset-IPC3‚DCP$NONE‚=�0Œdevice�attributes�for�IPC�disk�driver‚*;‚*�Configuration�information�for�Winchester�Disk�Controller‚*�hard�and�floppy�disks.<‚*�Refer�to�your�hard�disk�drive�manual�if�you�are�not�using‚*�the�set�configuration.‚*=‚*�These�values�are�for�5�1/4"�hard�disks�(ST506�compatible).<‚*�The�following�parameters�change�for�formatted�disk�sizes.E‚*�The�parameters�are�changed�using�the�SET�command�in�VME110.IOC.AG.‚*‚*Ž5�mb‰10�mb‹15�mbŒ40�mb‚*A‚*�WCP$HTNSƒ19584($4C80)ƒ39168($9900)‚58752($E580)†159360($26E80)‚*�WCP$HHDS‡2Ž4�6’63‚*�WCP$HTRK…306($132)†306($132)…306($132)Š830($33E)3‚*�WCP$HTRD…306($1: 32)†306($132)…306($132)Š830($33E)‚*=‚*�The�values�given�for�the�floppy�disks�are�for�SA400‚5�1/4"<‚*�double�sided,�double�density,�96�TPI�disks.‚Refer�to�yourD‚*�floppy�disk�drive�manual�if�you�are�not�using�that�configuration.‚*0‚WCP$HTNS‚=�58752ˆtotal�#�of�sectors�-�hard�disk1‚WCP$FTNS‚=�2552‰total�#�of�sectors�-�floppy�disk*‚WCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚WCP$FSPT‚=�16‹#�sectors/track�-�floppy�disk!‚WCP$HHDS‚=�6Œ#�heads�-�hard�disk#‚WCP$FHDS‚=�2Œ#�heads�-�floppy�disk4‚WCP$FTRK‚=�80‹#�of�cylinders�on�media�-�floppy�disk+‚WCP$HILV‚=�1Œinterleave�factor�-�hard�disk-‚WCP$FILV‚=�1Œinterleave�factor�-�floppy�disk'‚WCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚WCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚WCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚WCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚WCP$HSHD‚=�0Œstarting�head�number�on�drive�-�hard�disk9‚WCP$FSHD‚=�0Œstarting�head�number�on�drive�-�floppy�disk4‚WCP$FTRD‚=�80‹#�of�cylinders�on�drive�-�floppy�disk2‚WCP$HCOM‚=�153Špre-compensation�value�-�hard�disk3‚WCP$FCOM‚=�40‹pre-compensation�value�-�floppy�disk?‚WCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚WCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk0‚WCP$HSRD‚=�0Œstepping�rate�of�drive�-�hard�disk2‚WCP$FSRD‚=�0Œstepping�rate�of�drive�-�floppy�disk?‚WCP$HRWC‚=�0Œreduced�write�current�cylinder�number�-�hard�diskA‚WCP$FRWC‚=�0Œreduced�write�current�cylinder�number�-�floppy�disk/‚WCP$HECC‚=�0ŒECC�data�burst�length�-�hard�disk1‚WCP$FECC‚=�0ŒECC�data�burst�length�-�floppy�disk‚*I‚*‚The�attributes�mask�and�parameter�mask�don't�for�hard�or�floppy�disks.‚*‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�encoding ‚*‚96�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚5�1/4�inch‚*-‚WCP$HATM‚=�$0010ˆattributes�mask�-�hard�disk/‚WCP$FATM‚=�$001Fˆattributes�mask�-�floppy�disk,‚WCP$PM„=�$1AF3ˆparameters�mask�-�both�kinds,‚WCP$HAWƒ=�$0010ˆattributes�word�-�hard�disk.‚WCP$FAWƒ=�$004Fˆattributes�word�-�floppy�disk‚*I‚*‚the�following�flags�define�the�attributes�word�for�the�WIN�controller:‚*E‚*WCP$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy‚*˜diskE‚*WCP$FTDN‚=�1�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy‚*˜disk<‚*WCP$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*WCP$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*WCP$HDSC‚=�1�(bit�4)„hard�disk"‚*WCP$FDSC‚=�0�(bit�4)„floppy�diskE‚*WCP$FTDD‚=�1�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy‚*˜disk7‚*WCP$FDSS‚=�0�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size‚*F‚*--------------------------------------------------------------------‚*E‚*‚Configuration�information�for�the�SASI�controller�board�(SA1403D)."‚*‚This�is�the�8"�SASI�controller.7‚*‚Refer�to�your�disk�drive�manual�if�you�are�not�usingA‚*‚the�set�configuration.‚These�values�are�for�SA1000�fixed�disks‚*‚and�SA800�floppy�disks.‚*0‚SCP$HTNS‚=�32768ˆtotal�#�of�sectors�-�hard�disk1‚SCP$FTNS‚=�3991‰total�#�of�sectors�-�floppy�disk*‚SCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚SCP$FSPT‚=�26‹#�sectors/track�-�floppy�disk!‚SCP$HHDS‚=�4Œ#�heads�-�hard�disk#‚SCP$FHDS‚=�2Œ#�heads�-�floppy�disk3‚SCP$HTRK‚=�256Š#�of�cylinders�on�media�-�hard�disk4‚SCP$FTRK‚=�77‹#�of�cylinders�on�media�-�floppy�disk,‚SCP$HILV‚=�16‹interleave�factor�-�hard�disk.‚SCP$FILV‚=�13‹interleave�factor�-�floppy�disk'‚SCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚SCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚SCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚SCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚SCP$HSHD‚=�0Œstarting�head�number�of�drive�-�hard�disk9‚SCP$FSHD‚=�0Œstarting�head�number�of�drive�-�floppy�disk3‚SCP$HTRD‚=�256Š#�of�cylinders�on�drive�-�hard�disk4‚SCP$FTRD‚=�77‹#�of�cylinders�on�drive�-�floppy�disk0‚SCP$HCOM‚=�0Œpre-compensation�value�-�hard�disk2‚SCP$F; COM‚=�0Œpre-compensation�value�-�floppy�disk?‚SCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚SCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk0‚SCP$HSRD‚=�0Œstepping�rate�of�drive�-�hard�disk2‚SCP$FSRD‚=�0Œstepping�rate�of�drive�-�floppy�disk?‚SCP$HRWC‚=�0Œreduced�write�current�cylinder�number�-�hard�diskA‚SCP$FRWC‚=�0Œreduced�write�current�cylinder�number�-�floppy�disk/‚SCP$HECC‚=�0ŒECC�data�burst�length�-�hard�disk1‚SCP$FECC‚=�0ŒECC�data�burst�length�-�floppy�disk‚*@‚*‚The�attributes�word,�attributes�mask�and�parameter�mask�don't@‚*‚change�for�hard�disks.‚The�parameter�mask�and�attributes�mask>‚*‚don't�change�for�floppy�disks.‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�encoding ‚*‚48�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*'‚SCP$ATMƒ=�$0217ˆattributes�mask�-�both,‚SCP$PM„=�$02F3ˆparameters�mask�-�both�kinds-‚SCP$HAWƒ=�$0210ˆattributes�word�-�hard�disks/‚SCP$FAWƒ=�$020Dˆattributes�word�-�floppy�disks‚*:‚*‚the�following�flags�are�for�the�SASI�8"�controller�disk‚*E‚*SCP$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy‚*˜diskE‚*SCP$FTDN‚=�0�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy‚*˜disk<‚*SCP$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*SCP$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*SCP$HDSC‚=�1�(bit�4)„hard�disk"‚*SCP$FDSC‚=�0�(bit�4)„floppy�diskE‚*SCP$FTDD‚=�0�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy‚*˜disk7‚*SCP$FDSS‚=�1�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size‚*E‚*-------------------------------------------------------------------‚*‚*<‚*�Configuration�information�for�SASI�5�1/4"�Disk�Controller‚*�hard�and�floppy�disks.<‚*�Refer�to�your�hard�disk�drive�manual�if�you�are�not�using‚*�the�set�configuration.‚*>‚*�The�values�for�the�5�1/4"�hard�disks�on�the�SASI�controllerC‚*�are�the�same�as�those�for�the�5�1/4"‚Winchester�disk�controller,A‚*�except�for�the�attributes�and�parameters�masks,�and�interleave ‚*�factors.‚*+‚SC5$HILV‚=�1Œinterleave�factor�-�hard�disk-‚SC5$FILV‚=�1Œinterleave�factor�-�floppy�disk‚*@‚*‚The�attributes�word,�attributes�mask�and�parameter�mask�don't@‚*‚change�for�hard�disks.‚The�parameter�mask�and�attributes�mask>‚*‚don't�change�for�floppy�disks.‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚*‚MFM�encoding ‚*‚96�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*'‚SC5$ATM„=‚$0217ˆattributes�mask�-�both,‚SC5$PM…=‚$02F3ˆparameters�mask�-�both�kinds,‚SC5$HAW„=‚$0010ˆattributes�word�-�hard�disk.‚SC5$FAW„=‚$004Fˆattributes�word�-�floppy�disk‚*E‚*‚the�following�flags�define�the�attributes�word�for�the�SASI�5�1/4" ‚*‚controller‚*J‚*SC5$FDEN‚=�1�(bit�0)„MFM(1)/FM(0)�encoding�method�on�media�-�floppy�diskJ‚*SC5$FTDN‚=�1�(bit�1)„96(1)/48(0)�TPI�track�density�-�media�-�floppy�disk<‚*SC5$FSID‚=�1�(bit�2)„double(1)/single(0)�sided�floppy�diskD‚*SC5$FFMT‚=�1�(bit�3)„IBM(1)/Motorola(0)�media�format�-�floppy�disk ‚*SC5$HDSC‚=�1�(bit�4)„hard�disk"‚*SC5$FDSC‚=�0�(bit�4)„floppy�diskJ‚*SC5$FTDD‚=�1�(bit�6)„96(1)/48(0)�TPI�track�density�-�drive�-�floppy�disk7‚*SC5$FDSS‚=�0�(bit�9)„8"(1)/5-1/4"(0)�floppy�disk�size‚* ‚MSG‰;‚MSG‰******************************************************‚MSG‰*&‚MSG‰*‹GPIB�USER�CONFIGURATION�EQUATES‚MSG‰*;‚MSG‰******************************************************‚MSG‰2‚GB0$UCLƒ=�0ŒBUS�0�USER�CONFIGURATION�LENGTH�(UCL)‚G0A$UCLƒ=�0ŒBUS�0�DEV�A�UCL,‚G0B$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0C$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0D$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0E$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0F$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0G$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0H$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0I$UCLƒ=�0ŒReserved�fo; r�future�enhancement,‚G0J$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0K$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0L$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0M$UCLƒ=�0ŒReserved�for�future�enhancement‚G0N$UCLƒ=�0ŒBUS�0�DEV�N�UCL ,‚GB1$UCLƒ=�0ŒBUS�1�USER�CONFIGURATION�LENGTH‚G1A$UCLƒ=�0ŒBUS�1�DEV�A�UCL,‚G1B$UCLƒ=�0ŒReserved�for�future�enhancement,‚G1C$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1D$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1E$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1F$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1G$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1H$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1I$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1J$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1K$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1L$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1M$UCLƒ=�0ŒReserved�for�future�ehnancement‚G1N$UCLƒ=�0ŒBUS�1�DEV�N�UCL 4‚MSG‰*********************************************** ‚MSG‰**«**/‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�MAG�TAPE�DRIVE„**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(MCP�=�MAG�TAPE�CONFIG.�PARAMETERS)…** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*;‚MCP$WTOƒ=�5000‰Write�Timeout�(5�seconds�to�write�4K�bytes);‚MCP$RTOƒ=�360000‡Read‚Timeout�(6�minutes�to�read�4K�bytes,+*što�search�for�a�file�mark,to�read�a�blank%*štape�to�the�end�of�tape,�to�rewind)6‚MCP$DENƒ=�0ŒDensity�selected�for�write�from�loadpoint*š0�means�1600�bpi�(PE�density) *š1�means‚800�bpi�(NRZI�density)6‚MCP$RDTƒ=�3ŒNumber�of�read�tries�before�error�message1‚MCP$WRTƒ=�3ŒNumber�of�write�tries�before�erasing:‚MCP$ERTƒ=�1ŒNumber�of�times�to�erase�before�error�message*<‚MCP$ATMƒ=�$0002ˆBit�1�is�recognized�for�a�configure�command9‚MCP$PM„=�$00F0ˆDEN,RDT,WRT,ERT�fields�are�recognized�for*ša�configure�command.*"‚MCP$AW„=�$0000ˆBit�0�is�RESERVED.3*šBit�1�=�1�means�user�requests�a�density�for�write1*šBit�1�=�0�means�user�does�not�request�a�density*‚*‚MSG‰A‚MSG‰************************************************************7‚MSG‰**…Descriptive�info�about�this�operating�system‡**A‚MSG‰************************************************************5‚SYSNAMEƒ=�"VERSAdos"ƒName�for�this�operating�system.:‚REVISION‚=�"REV�04.30"‚Revision�of�this�operating�system.7‚TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.>‚TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.4‚MEMEND1ƒ=�$C0000‡Ending�addr�memory�must�be�<�this.9‚MEMEND2ƒ=�$00000‡Starting‚addr�for�off-board�memory�must)‚*˜be�>=�this.‚Not�applicable�for�VME110.E‚MEMEND3ƒ=�$00000‡Ceiling�addr�for�off-board�memory�(must�be�<�this).-‚DPRVAO„=�$0‹Dual�ported�ram�versados�offset.;‚WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded2‚*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will#‚*˜be�moved�at�initialization�time.E‚*-------------------------------------------------------------------‚MSG‰A‚MSG‰************************************************************;‚MSG‰**�VALPAR�--�Validate�parameters�to�keep�you�honest‡**A‚MSG‰************************************************************‚SUBSˆVME110.VALPAR.AG!‚ASM‰VME110.VALPAR.AG,,\ASMLS;R-C ‚*’VALPARFOF ‚IFGTˆ\$RDD…PAUSE‡Abort�sysgen�if�errors�in�assembly�-�else�hit�carriage�return‚ENDC ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDCG‚*---------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************#‚MSG‰**…Generate�exec�process�--œ**B‚MSG‰************************************************************* ‚*’EXECFOFB‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*‚MSG‰*„PROCESS�VME110.RMS.LO¢*B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* ‚PCˆ=�$40000 ‚STACK…=�$C00‚STARTRMS‚=�$40100‚PROCESS…VME110.RMS.LO‚END‰VME110.RMS.LO‚IFEQˆ\LINKLSW…=COPY‡VME110.RMS.LL,\WORKLS;A‚ENDCG‚*---------------------------------------------------------------------‚IFEQˆ\NOLTERM…MSG‰CHPI�DRIVER�NOT�REQUIRED< ‚ENDC‚MSG‰B‚MSG‰*************************************************************'‚MSG‰**ˆPhysical�Interpretive�Driver•**B‚MSG‰************************************************************* ‚CHIDRVRƒ=�*‚IFNEˆ\NOLTERM …SUBSˆCHPI.LG …LINKˆCHPI.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…CHID …END‰CHID …*’CHIDFOF‚ENDCG‚*--------------------------------------------------------------------- ‚GPIBDRVƒ=�* ‚IFEQˆ\NOGPIB…MSG‰GPIB�DRIVER�NOT�REQUIRED‚ENDC ‚IFNEˆ\NOGPIB…MSG‰B…MSG‰*************************************************************…MSG‰**…ADD�THE�GPIB�DRIVER¢*B…MSG‰*************************************************************…SUBSˆGPIBXTR.AG&…ASM‰GPIBXTR.AG,GPIBXTR.RO,\ASMLS;Z=85 …IFEQˆ\ASMLSWˆ=COPY‡\ASMLS,\WORKLS;A…ENDC…SUBSˆGPIBDRV.LG…LINKˆGPIBDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…GPIBDRV …END‰GPIBDRV‚ENDCK‚*-------------------------------------------------------------------------B‚MSG‰*************************************************************6‚MSG‰**‡MPSCDRV�(7201)�DRIVER�FOR�MVME400�TERMINALS‡**B‚MSG‰************************************************************* ‚MPSCSPRƒ=�*‚IFGTˆ\NOTERM40…SUBSˆMPSCSPR.LG…LINKˆMPSCSPR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCSPR …END‰MPSCSPR‚ENDC ‚MPSCDRVƒ=�*‚IFGTˆ\NOTERM40…SUBSˆMPSCDRV.LG…LINKˆMPSCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCDRV …END‰MPSCDRV‚ENDCG‚*---------------------------------------------------------------------‚MSG‰C‚MSG‰***************************************************************‚MSG‰*�Winchester�disk�controller�driverš*C‚MSG‰**************************************************************‚MSG‰ ‚WINDRVRƒ=�* ‚IFNEˆ\NOWIN…SUBSˆWINDRV.LG…LINKˆWINDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…WIND …END‰WIND …*’WINDFOF‚ENDCG‚*---------------------------------------------------------------------‚MSG‰C‚MSG‰**************************************************************$‚MSG‰*‚SASI�disk�controller�driverŸ*C‚MSG‰**************************************************************‚MSG‰ ‚SASIDRVƒ=�*‚IFNEˆ\NOSASI+\NOSASI5…SUBSˆSASIDRV.LG…LINKˆSASIDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,WORKLS;A…ENDC…PROCESS…SASIDRV …END‰SASIDRV …*’SASIDRVFOF‚ENDCG‚*---------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**�IF�WE�HAVE�PRINTERS,�ADD�THE�DRIVER•**B‚MSG‰*************************************************************‚MSG‰ ‚PRTDRVRƒ=�* ‚IFEQˆ\NOLPRT4…MSG‰~~~~~~~~~�PRINTER�DRIVER�NOT�REQUIRED�~~~~~~~~~‚ENDC ‚IFNEˆ\NOLPRT…SUBSˆPRTDRV.LG…LINKˆPRTDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…PRTD …END‰PRTD …*’PRTDFOF‚ENDC‚MSGA‚MSG‰************************************************************/‚MSG‰**ƒCopy�C8OC.SYSPAR.RO�into�&.SYSPAR.RO‘**A‚MSG‰************************************************************‚MSG‚*#‚=COPY‚C8OC.SYSPAR.RO,&.SYSPAR.RO;Y‚*N‚*----------------------------------------------------------------------------‚IFNE�\NVME610+\NVME620‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�610/620�DRIVER¥*G‚MSG„******************************************************************‚MSGG‚D610QSIZ�=�128ƒMinimum�number�of�entries�in�Interrupt�Processing�Queue A‚INCLUDE�.&.D610GEN.CI„INCLUDE�the�SYSGEN�commands�for�the�driver ‚ENDCN‚*---------------------------------------------------------------------------- ‚IFNEƒ\NDAC1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�605�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D605GEN.CI‚ENDC ‚IFNE‚\NACO‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�615�DRI< VER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D615GEN.CI‚ENDC ‚IFNE‚\NDCO1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�625�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D625GEN.CI‚ENDCO*******************************************************************************‚MSG‰B‚MSG‰*************************************************************/‚MSG‰**�IF�WE�HAVE�MAG�TAPES,�ADD�THE�DRIVER�**B‚MSG‰*************************************************************‚MSG‰ ‚MTADRVRƒ=�* ‚IFNEˆ\NOMTAT…SUBSˆMTADRVR.LG…LINKˆMTADRVR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…MTAD *’MTADFOF …END‰MTAD‚ENDC*O*******************************************************************************%‚MEMBEG„=�*ŒStart�of�available�memory‚IFEQˆ\NOLTERM…MSG‰TTY�TASK�NOT�REQUIRED‚ENDC‚MSG‰@‚MSG‰***********************************************************5‚MSG‰*‚IF�WE�HAVE�A�LOCAL�TERMINAL�ADD�THE�TTY�TASK‹*@‚MSG‰***********************************************************‚MSG‰‚IFNEˆ\NOLTERM…TTYSTR„=�*Œload�address…TTYASR„=�*+2ŠASR�address…TASKˆTTY,.TTY…STATE…=�'DORM' …SESSIONƒ=�1…PRIORITY‚=�$D4…SUBSˆTTY.LG,TTYB.AG…ASM‰TTYB.AG,TTYB,\ASMLS …IFEQˆ\ASMLSWˆ=COPY‡\ASMLS,\WORKLS;A…ENDC …LINKˆTTY.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…END‰TTY …*’TTYFOF‚ENDC‚MSG‰ ‚*’IXRFOF ‚SUBSˆIXR.AG‚ASM‰IXR.AG,IXR.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDCD‚*------------------------------------------------------------------‚MSG‰@‚MSG‰***********************************************************=‚MSG‰**‚IOS�--�Input/Output�Services�(trap�#2�server�task)ƒ**@‚MSG‰***********************************************************‚TASKˆIOS,.IOS‚STATE…=�'DORM'‚PRIORITY‚=�$D1 ‚SESSIONƒ=�1‚IOSSTR„=�*ŒIOS�load�addr.!‚IOSASR„=�*+2ŠIOS�ASR�entry�point ‚*’IOSFOF ‚SUBSˆIOS.LG ‚LINKˆIOS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOS‚MSG‰B‚MSG‰*************************************************************>‚MSG‰**ƒFHS�--�File�Handling�Services�(trap�#3�server�task)ƒ**B‚MSG‰*************************************************************‚TASKˆFHS,.FHS‚STATE…=�'DORM' ‚SESSIONƒ=�1‚PRIORITY‚=�$D1‚FHSSTR„=�*ŒFHS‚load�addr.!‚FHSASR„=�*+2ŠFHS�ASR�entry�point ‚*’FHSFOF ‚SUBSˆFHS.LG ‚LINKˆFHS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FHS‚MSG‰B‚MSG‰*************************************************************(‚MSG‰**ˆFMS�--�File�Management�System”**B‚MSG‰*************************************************************‚TASKˆFMS,.FMS‚STATE…=�'DORM'‚PRIORITY‚=�$D0‚FMSSTR„=�*ŒFMS�load�addr.!‚FMSASR„=�*+2ŠFMS�ASR�entry�point ‚*’FMSFOF ‚SUBSˆFMS.LG ‚LINKˆFMS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FMS‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆEET�--�Entry�Exit�Task›**B‚MSG‰*************************************************************‚TASKˆEET,&EET‚STATE…=�'READ' ‚SESSIONƒ=�2‚PRIORITY‚=�$C8‚EETSTR„=�*ŒEET�load�addr. ‚*’EETFOF1%‚SUBSˆEET.LG,9995.&.EET.EQ,CMDLIST.AG'‚ASM‰EET.EQ/CMDLIST.AG,CMDLIST,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC ‚*’EETFOF2 ‚LINKˆEET.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰EET‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**ˆLDR�--�Loader�(trap�#4�server�task)Ž**B‚MSG‰*************************************************************‚TASKˆLDR,&LDR‚STATE…=�'READ'‚PRIORITY‚=�$C8 ‚SESSIONƒ=�4‚LDRSTR„=�*ŒLDR�load�addr.‚SUBSˆNOMMU.LOADER.LG‚LINKˆNOMMU.LOADER.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰LDR ‚*’LDRFOF‚MSG‰@‚MSG‰***********************************************************‚MSG‰**ˆIOCOM�&�IOI¤**@‚MSG‰***********************************************************‚TASKˆIOI,.IOI‚S= TATE…=�'READ' ‚SESSIONƒ=�1‚PRIORITY‚=�$DA ‚IOCSTR„=�*‚SUBSˆVME110.IOC.AG6‚ASM‰IODM.AG/VME110.IOC.AG,VME110.IOC.RO,\ASMLS;RZ=105 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVME110.ASR.AG'‚ASM‰VME110.ASR.AG,VME110.ASR.RO,\ASMLS ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC2‚ASM‰VME110.OSLIST.AG,VME110.OSLIST.RO,\ASMLS;Z=95 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVME110.IOI.LG‚LINKˆVME110.IOI.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOIN‚MSG�*************************************************************************‚MSG�*C‚MSG�*‚Special�I/O�Channnel�Initializer�for�Process�Control�Drivers‚MSG�*N‚MSG�************************************************************************* ‚IFNE�\PCDRV†INCLUDE�.&.IOCI.CI‚ENDC‚MSG‰@‚MSG‰***********************************************************%‚MSG‰**ˆINIT�--�System�Initializer•**@‚MSG‰*********************************************************** ‚PROCESS…INIT ‚INTSTR„=�*)‚SUBS…VME110.INITIO1.AG,VME110.INITIO2.AG#‚SUBS…VME110.INT1.LG,VME110.INT2.LG1‚ASM†VME110.INITIO1.AG,VME110.INITIO1.RO,\ASMLS;R ‚IFEQ…\ASMLSW…=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VME110.INT1.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC‚=COPY„\LINK2TF,\LINK1TF;Y ‚IFNE…\NDAC1‰INCLUDE�&.D605MEM.CI‚ENDC ‚IFNE…\NACO‰INCLUDE�.&.D615MEM.CI‚ENDC ‚IFNE…\NDCO1‰INCLUDE�.&.D625MEM.CI‚ENDC ‚IFNE…\NVME610+\NVME620‰INCLUDE‚.&.D610INT.CI‚ENDC1‚ASM�VME110.INITIO2.AG,VME110.INITIO2.RO,\ASMLS;R ‚IFEQ…\ASMLSW‹=COPY…\ASMLS,\WORKLS;A‚ENDC‚SUBS…M68XXX.INITDAT.AG1‚ASM†M68XXX.INITDAT.AG,M68XXX.INITDAT.RO,\ASMLS;R ‚IFEQ…\ASMLSW†=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VME110.INT2.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC ‚END‰INIT ‚*’INITFOF@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚MSG‰*¹*)‚MSG‰*‹MAKE�SUBSTITUTIONS�IN�VERSAPT.CFŽ*‚MSG‰*¹*@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚SUBSˆVME110.VERSAPT.CF‚MSG‰@‚MSG‰***********************************************************@‚MSG‰***********************************************************5‚MSG‰**‡"SYSGEN�COMPLETION�PROCESSING�IN�PROGRESS"†**‚MSG‰**“Have�a�nice�day.”**@‚MSG‰***********************************************************@‚MSG‰*********************************************************** ‚END‰SYSGENéé=OPT -N=/**********************=/*�VME110.SYSGEN.CFƒ*=/**********************=OPT K,NM=/***************************************************************************"=/*�Chain�file�to�perform�sysgen¬*=/*É*=/*�Calling�sequence:·*=/*É*)=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5£*=/*É*7=/*„Not�all�of�the�arguments�need�to�be�entered�since”*$=/*†they�each�have�a�default�value¥*=/*É*6=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)•*=/*É*,=/*„arg2�-�Temp�vol�and�user�no./Boot�fileŸ*9=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and‰*)=/*�user�number�of�command�file�(arg1).—**=/*�Boot�file�defaults�to�'VERSADOS.SY'.˜*=/*É*=/*É*9=/*„arg3�-�List�device�or�file�name�for�sysgen�messages’*=/*�(defaults�to�SYSLI= ST.LS)¤*;=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extension‰*=/*É*9=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the�*4=/*�three�command�line�fields�used�in�invoking�theŽ*=/*�sysgen�utility�directly.¤*=/*É*E=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')†*=/*É*5=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)–*A=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.*:=/*�All�assembly�listings�and�link�maps�will�be�directedˆ*<=/*�To�the�specified�device�or�file�using�the�copy�utility†*>=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediateƒ*7=/*�file�to�contain�the�assembly�or�link�list�output.‹*@=/*�Due�to�restrictions�in�sysgen�literal�substitution�process‚*8=/*�this�field�cannot�contain�more�than�10�characters.Š*M=/***************************************************************************=/*5=/* Insure that no more than 5 arguments are defined:=/*=/RX=\0 =/IF RX>5ƒ=OPT�-N<ƒ=/*�Error�-�chain�file�started�with�more�than�5�arguments�-5ƒ=/*ƒPlease�restart,�the�argument�definitions�follow:ƒ=/*(ƒ=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5ƒ=/*6ƒ=/*„Not�all�of�the�arguments�need�to�be�entered�since$ƒ=/*†they�each�have�a�default�value.ƒ=/*¥8®F¶O¾5ƒ=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)ƒ=/*+ƒ=/*„arg2�-�Temp�vol�and�user�no./Boot�file8ƒ=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and(ƒ=/*�user�number�of�command�file�(arg1).)ƒ=/*�Boot�file�defaults�to�'VERSADOS.SY'.ƒ=/*Gƒ=/&�**�Type�carriage�return�or�more�information,�'break'�to�terminate.ƒ=/*8ƒ=/*„arg3�-�List�device�or�file�name�for�sysgen�messagesƒ=/*�(defaults�to�SYSLIST.LS):ƒ=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extensionƒ=/*8ƒ=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the3ƒ=/*�three�command�line�fields�used�in�invoking�theƒ=/*�sysgen�utility�directly.ƒ=/*Dƒ=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')ƒ=/*4ƒ=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)Aƒ=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.9ƒ=/*�All�assembly�listings�and�link�maps�will�be�directed;ƒ=/*�To�the�specified�device�or�file�using�the�copy�utility=ƒ=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediate6ƒ=/*�file�to�contain�the�assembly�or�link�list�output.?ƒ=/*�Due�to�restrictions�in�sysgen�literal�substitution�process7ƒ=/*�this�field�cannot�contain�more�than�10�characters.ƒ=/*ƒ=END=/ENDIF=/*2=/* Force the definition of 5 exactly 5 arguments.=/* =/IF RX=0+ƒ=ARG�SYSCMD.CD,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=1$ƒ=ARG�\1,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=2&ƒ=ARG�\1,\2,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=3ƒ=ARG�\1,\2,\3,SINGLE-HARD,#PR=/ENDIF =/IF RX=4ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*8=/* We have 5 arguments - now default any null arguments=/*=/IFC \1ƒ=ARG�SYSCMD.CD,\2,\3,\4,\5=/ENDIF=/*=/IFC \3ƒ=ARG�\1,\2,SYSLIST.LS,\4,\5=/ENDIF=/*=/IFC \4ƒ=ARG�\1,\2,\3,SINGLE-HARD,\5=/ENDIF=/*=/IFC \5ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*N=/* If arg5 is not #PR,#PR1,#PR2,#PR3,# or #NULL then treat as file and delete:=/*ƒset�switch�(arg6)�to�1�for�printer�device,�0�for�file.=/*0=ARG \1,\2,\3,\4,\5,0,#PR,#PR1,#PR2,#PR3,#,#NULL =/FOR 7,\0ƒ=/IFEQ�"\5"\(RX)1†=ARG�\1,\2,\3,\4,\5,1,#PR,#PR1,#PR2,#PR3,#,#NULLƒ=/ENDIF=/ENDFOR=/RX=\6 =/IF RX=0ƒ=DEL�\5=/ENDIF=/*=/* Set switch (arg7) TO:=/*„01�--‚SINGLE-HARD=/*=ARG \1,\2,\3,\4,\5,\6,10=/IFEQ "\4"SINGLE-HARDƒ=ARG�\1,\2,\3,\4,\5,\6,01=/ENDIF=/*9=/* Abort chain if an invalid configuration was requested=/*=/RX=\7 =/IF RX=10ƒ=OPT�-N3ƒ=/*‚\4�is�an�invalid�configuration�-�(argument�#4)8ƒ=> /*…The�only�valid�configuration�is�'SINGLE-HARD'�which3ƒ=/*…is�the�default.�Please�restart�chain�file�withƒ=/*…correct�parameters.ƒ=END=/ENDIF#=ARG \1,\2,\3,\4,\5,\6,\7,SYSGEN.TF=/*3=/* The argument list now looks like the following:=/* =/*ƒarg1ƒ-ƒName�of�command�file.=/*0=/*ƒarg2ƒ-ƒTemporary�volume/boot�file�(or�null).=/*3=/*ƒarg3ƒ-ƒList�device�or�file�for�sysgen�messages.=/*(=/*ƒarg4ƒ-ƒSystem�configuration�mnemonic=/*�'SINGLE-HARD'=/*�(see�arg7)=/*@=/*ƒarg5ƒ-ƒListing�file�or�device�for�assemblies�and�link-edits.4=/*�SYSGEN.TF�is�the�temporary�file�which�is�used�in1=/*�conjunction�with�=COPY�;A�to�produce�a�single=/*�listing�file.=/*�(see�arg6)=/*=/*ƒarg6ƒ-ƒSwitch�-"=/*�0�=‚arg5�specifies�a�file�name=/*�1�=‚arg5�specifies�a�device=/*�(see�arg5)=/*%=/*ƒarg7ƒ-ƒNumber�configuration�key�-%=/*�01�=‚signle-user�hard�disk�system=/*�(see�arg4)=/*8=/*ƒarg8ƒ-ƒSYSGEN.TF�temporary�file�for�use�with�copy�in+=/*�creating�listing�file�specified�by�arg3=/*=/*9=/* Justify argument positions and invoke sysgen utility.=/*=ARG \5,\6,\7,\8,\1,\2,\3,\4=/*)=/* Turn off echo of sysgen command lines=OPT J=OPT -N=SYSGEN VME110.\5,\6,\7;T=350 =OPT -J,-N8=/**‚Applying�patches�from�XVERSAPT.CF�to�the�boot�file.=/@ VME110.XVERSAPT.CFM=/***************************************************************************M=/***************************************************************************=/**=/**‚Sysgen�Completed�--=/**6=/**„Assembly�and�link�listings�have�been�output�to�\1=/**1=/**„Sysgen�command�listing�has�been�output�to�\7=/**M=/***************************************************************************M=/***************************************************************************=OPT -K=ENDééééééd1IOI ASREL'VME110 IOI SA B „VERSAdos I/O Initialization System Task V 4.1 - 09/13/82â2pFMSDLEN pNOTASKS pNOCDCB pNODCBS pNOFCBS pIOCOML pIOCOMS pCCSEG pOSMTBL pNODVS pNOFATS pOSMEND pFHSASR pFMSASQ  pFMSASR pNOLPRT pIOSASR pNOVDTS pTTYASR pNOLTERM !@F3`F3$ IOSG((K3´@€.|*> B#ü()2"|(J‘gH |)N1i!iG3Lé? Hè? (g (f(p=/*ˆthis�time�you�can�update�or�initialize�your�hard�disk�with@=/*ˆthe�VERSAdos�4.3�software�and�perform�a�new�sysgen,�changing?=/*ˆthe�WINSIZE�parameter�in�your�VMES10.SYSCMD.CD�command�file>=/*ˆto�indicate�the�appropriate�size�for�the�hard�disk�on�your;=/*ˆsystem.‚SYSGEN�will�generate�a�VERSADOS.SY�file�that�is9=/*ˆcorrectly�configured�to�support�your�hard�disk�drive.? éééÓÜEä)=/*B=/*ƒNote�that�this�chain�file�is�substuted�via�SUBS�command�duringD=/*ƒsysgen�processing�to�produce�a�file�called�VMES10.XPATCH.CF.‚TheI=/*ƒXPATCH�file�is�the�only�one�that�will�work�if�it�is�directly�invoked.=/*!=/*”Identifying�your�VME/10�unit: =/*”=============================/*=/*š|‚Motorolaƒ|3=/*…descriptionŠ|�part�number�|…physical�appearanceK=/*‚========================+=============+================================H=/*‚VME/10�w/5MB�Winchester�|�M68K101-1ƒ|�single�width�card�cage�in�rearK=/*‚------------------------+-------------+--------------------------------H=/*‚VME/10�w/15MB�Winchester|�M68K102B1ƒ|�double�width�card�cage�in�rearK=/*‚------------------------+-------------+--------------------------------H=/*‚VME/10�w/40MB�Winchester|�M68K102C3ƒ|�double�width�card�cage�in�rear=/*=/RA=0=/RD=0=/RX=\0 =/IF RX <> 1-ƒ=/*„***�INVALID�NUMBER�OF�ARGUMENTS�ENTERED!ƒ=/RD=�1=/ELSEƒ=/IFEQ�"5MB"\1&†=/*„-�Going�to�patch�for�a�5MB�unit�-†=/RX=�5ƒ=/ELSE†=/IFEQ�"15MB"\1'‰=/*„-�Going�to�patch�for�a�15MB�unit�- ‰=/RX=�15†=/ELSE‰=/IFEQ�"40MB"\1'Œ=/*„-�Going�to�patch�for�a�40MB�unit�- Œ=/RX=�40‰=/ELSEŒ=/RD=�2‰=/ENDIF†=/ENDIFƒ=/ENDIF=/ENDIF =/IF RD <> 0 ƒ=/IF�RD�=�2$†=/*„***�INVALID�ARGUMENT�SPECIFIED!ƒ=/ENDIFƒ=/*ƒ=/*„Invoke�as:*ƒ=/*†=:0.VMES10.XPATCH.CF‚5MBŒfor‚5MB�unitƒ=/*�or,ƒ=/*†=:0.VMES10.XPATCH.CF�15MBŒfor�15MB�unitƒ=/*�or,ƒ=/*†=:0.VMES10.XPATCH.CF�40MBŒfor�40MB�unitƒ=END=/ENDIF=/*1=/&‚Hit�"RETURN"�to�continue�or�"BREAK"�to�abort. =/IF RX= 5=/*************************=/*�Patch�for�5MB�system‚*=/*************************=PATCH VMES10.VERSADOS.SY O \IOCSTR2M�E4C�*�Must�point�to�WCP$HTNS�parameter�for�#HD00800004C80�*�Define�total�number�of�sectors�WCP$HTNS=19584.2M�E59�*�Must�point�to�WCP$HHDS�parameter�for�#HD00,02“*�Define�total�number�of�heads�WCP$HHDS=270132‘*�Define�number�of�cylinders�on�media�WCP$HTRK=306.2M�E62�*�Must�point�to�WCH$HTRD�parameter�for�#HD00>0132‘*�Define�total�number�of�cylinders�per�drive�WCP$HTRD=306.QUIT=/ENDIF =/IF RX= 15=/*************************=/* Patch for 15MB system *=/*************************=PATCH VMES10.VERSADOS.SY O \IOCSTR2M�E4C�*�Must�point�to�WCP$HTNS�parameter�for�#HD0080000E580�*�Define�total�number�of�sectors�WCP$HTNS=58752.2M�E59�*�Must�point�to�WCP$HHDS�parameter�for�#HD00,06“*�Define�total�number�of�heads�WCP$HHDS=670132‘*�Define�number�of�cylinders�on�media�WCH$HTRK=306.2M�E62�*�Must�point�to�WCH$HTRD�parameter�for�#HD00>0132‘*�Define�total�number�of�cylinders�per�drive�WCP$HTRD=306.QUIT=/ENDIF =/IF RX= 40=/*************************=/* Patch for 40MB system *=/*************************=PATCH VMES10.VERSADOS.SY O \IOCSTR2M�E4C�*�Must�point�to�WCP$HTNS�parameter�for�#HD00900026400�*�Define�total�number�of�sectors�WCP$HTNS=156672.2M�E59�*�Must�point�to�WCP$HHDS�parameter�for�#HD00,06“*�Define�total�nu? mber�of�heads�WCP$HHDS=670280‘*�Define�number�of�cylinders�on�media�WCP$HTRK=640.2M�E62�*�Must�point�to�WCH$HTRD�parameter�for�#HD00>0280‘*�Define�total�number�of�cylinders�per�drive�WCP$HTRD=640.QUIT=/ENDIFééé=/*=/*†VMES10.COPYSGEN.CF=/*=/RX=\0=/RD=0 =/IF RX=3…=ARG =/ELSE…=/RD=1=/ENDIF=/*=/*=/* =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=1…=/ENDIF …=/IFC�\3Š=/RD=1…=/ENDIF=/ENDIF=/* =/IF RD=1:ƒ=/*†Chainfile�to�copy�those�files�required�to�do�a�SYSGEN"ƒ=/*†into�a�specified�user�number.*ƒ=/*†EXCEPTIONS�to�copy�include�following:ƒ=/*&ƒ=/*‹EQUATE�filesƒ(9995)�(.EQ�and�.MC)ƒ=/*‹EQUATE�filesƒ(9999)�(.EQ)ƒ=/*‹0..UTILIB.ROƒ=/*4ƒ=/*†Insufficient�arguments�specified�for�chain�fileƒ=/*$ƒ=/*†Parameter�01ˆSource�volume�name$ƒ=/*†Parameter�02ˆTarget�volume�name$ƒ=/*†Parameter�03ˆTarget�user�numberƒ=/*&ƒ=/*†VMES10.COPYSGEN.CF�ARG1,ARG2,ARG3ƒ=/*ƒ=ARGƒ=END=/ENDIF =OPTION O"=COPY�\1:9992.&.IOCI.CI�\2:\3;BYPC$=COPY�\1:9992.&.IOCINT.AGŽ\2:\3;BYPC%=COPY�\1:9992.&.LIOCINT.LG�\2:\3;BYPC*=COPY�\1:9993.VMES10.CRTINIT.ROˆ\2:\3;BYPC+=COPY�\1:9993.VMES10.EDITMODE.RO‡\2:\3;BYPC)=COPY�\1:9993.VMES10.FEEDER.RO‰\2:\3;BYPC)=COPY�\1:9993.VMES10.INCHAR.RO‰\2:\3;BYPC+=COPY�\1:9993.VMES10.KEYBOARD.RO‡\2:\3;BYPC)=COPY�\1:9993.VMES10.OUTCHS.RO‰\2:\3;BYPC+=COPY�\1:9993.VMES10.PAGEMODE.RO‡\2:\3;BYPC*=COPY�\1:9993.VMES10.POUTCHS.ROˆ\2:\3;BYPC*=COPY�\1:9993.VMES10.TERMDRV.ROˆ\2:\3;BYPC%=COPY�\1:9993.&.MPSCDRV.LG�\2:\3;BYPC%=COPY�\1:9993.&.MPSCDRV.RO�\2:\3;BYPC%=COPY�\1:9993.&.MPSCSPR.LG�\2:\3;BYPC%=COPY�\1:9993.&.MPSCSPR.RO�\2:\3;BYPC%=COPY�\1:9993.&.MPSCSUP.RO�\2:\3;BYPC%=COPY�\1:9993.&.MTADRVR.LG�\2:\3;BYPC%=COPY�\1:9993.&.MTADRVR.RO�\2:\3;BYPC&=COPY�\1:9993.&.MTALDPNT.SAŒ\2:\3;BYPC%=COPY�\1:9993.&.GPIBDRV.LG�\2:\3;BYPC%=COPY�\1:9993.&.GPIBDRV.RO�\2:\3;BYPC%=COPY�\1:9998.&.GPIBXTR.AG�\2:\3;BYPC$=COPY�\1:9993.&.PRTDRV.LGŽ\2:\3;BYPC$=COPY�\1:9993.&.PRTDRV.ROŽ\2:\3;BYPC"=COPY�\1:9993.&.TNTD.LG�\2:\3;BYPC"=COPY�\1:9993.&.TNTD.RO�\2:\3;BYPC$=COPY�\1:9993.&.WINDRV.LGŽ\2:\3;BYPC$=COPY�\1:9993.&.WINDRV.ROŽ\2:\3;BYPC'=COPY�\1:9994.NTS.NTSSERV.RO‹\2:\3;BYPC&=COPY�\1:9998.VMES10.ASR.AGŒ\2:\3;BYPCìMõ4ý*=COPY�\1:9999.VMES10.INITIO1.AGˆ\2:\3;BYPC*=COPY�\1:9999.VMES10.INITIO2.AGˆ\2:\3;BYPC'=COPY�\1:9999.VMES10.INT1.LG‹\2:\3;BYPC'=COPY�\1:9999.VMES10.INT2.LG‹\2:\3;BYPC&=COPY�\1:9998.VMES10.IOC.AGŒ\2:\3;BYPC"=COPY�\1:9998.&.IODM.AG�\2:\3;BYPC&=COPY�\1:9998.VMES10.IOI.LGŒ\2:\3;BYPC&=COPY�\1:9998.VMES10.IOI.ROŒ\2:\3;BYPC)=COPY�\1:9998.VMES10.OSLIST.AG‰\2:\3;BYPC(=COPY�\1:9998.VMES10.PATCH.CFŠ\2:\3;BYPC)=COPY�\1:9998.VMES10.SYSCMD.CD‰\2:\3;BYPC)=COPY�\1:9998.VMES10.SYSGEN.CF‰\2:\3;BYPC*=COPY�\1:9998.VMES10.TERMDRV.LGˆ\2:\3;BYPC)=COPY�\1:9998.VMES10.VALPAR.AG‰\2:\3;BYPC*=COPY�\1:9998.VMES10.VERSAPT.CFˆ\2:\3;BYPC%=COPY�\1:9998.&.CMDLIST.AG�\2:\3;BYPC!=COPY�\1:9998.&.DAT.RO‘\2:\3;BYPC!=COPY�\1:9998.&.EET.LG‘\2:\3;BYPC!=COPY�\1:9998.&.EET.@ RO‘\2:\3;BYPC%=COPY�\1:9998.&.EMHNDLR.RO�\2:\3;BYPC"=COPY�\1:9998.&.FDTA.RO�\2:\3;BYPC"=COPY�\1:9998.&.FFHS.RO�\2:\3;BYPC!=COPY�\1:9998.&.FHS.LG‘\2:\3;BYPC!=COPY�\1:9998.&.FHS.RO‘\2:\3;BYPC"=COPY�\1:9998.&.FIOM.RO�\2:\3;BYPC"=COPY�\1:9998.&.FIOS.RO�\2:\3;BYPC!=COPY�\1:9998.&.FMS.LG‘\2:\3;BYPC"=COPY�\1:9998.&.FUTY.RO�\2:\3;BYPC!=COPY�\1:9998.&.IOS.LG‘\2:\3;BYPC!=COPY�\1:9998.&.IOS.RO‘\2:\3;BYPC!=COPY�\1:9998.&.IXR.AG‘\2:\3;BYPC%=COPY�\1:9998.&.SCTSASR.RO�\2:\3;BYPC&=COPY�\1:9998.&.SYSCNTRL.ROŒ\2:\3;BYPC!=COPY�\1:9998.&.USM.RO‘\2:\3;BYPC$=COPY�\1:9998.&.USMOPT.ROŽ\2:\3;BYPC&=COPY�\1:9998.MMU.LOADER.LGŒ\2:\3;BYPC&=COPY�\1:9998.MMU.LOADER.ROŒ\2:\3;BYPC'=COPY�\1:9999.CAOE.SYSPAR.RO‹\2:\3;BYPC&=COPY�\1:9999.CAOE.SYSPAR.RO‹\2:\3;BYP&=COPY�\1:9999.VMES10.RMS.LLŒ\2:\3;BYPC&=COPY�\1:9999.VMES10.RMS.LOŒ\2:\3;BYPC'=COPY�\1:9999.M68XXX.INIT.RO‹\2:\3;BYPC*=COPY�\1:9999.M68XXX.INITDAT.AGˆ\2:\3;BYPC"=COPY�\1:9992.&.D605.LG�\2:\3;BYPC"=COPY�\1:9992.&.D605.RO�\2:\3;BYPC"=COPY�\1:9992.&.D610.RO�\2:\3;BYPC"=COPY�\1:9992.&.D615.RO�\2:\3;BYPC"=COPY�\1:9992.&.D625.RO�\2:\3;BYPC%=COPY�\1:9992.&.D605GEN.CI�\2:\3;BYPC%=COPY�\1:9992.&.D605IOC.AI�\2:\3;BYPC%=COPY�\1:9992.&.D605MEM.AG�\2:\3;BYPC%=COPY�\1:9992.&.D605MEM.CI�\2:\3;BYPC%=COPY�\1:9992.&.D605MEM.LG�\2:\3;BYPC"=COPY�\1:9992.&.D615.LG�\2:\3;BYPC%=COPY�\1:9992.&.D615GEN.CI�\2:\3;BYPC%=COPY�\1:9992.&.D615IOC.AI�\2:\3;BYPC%=COPY�\1:9992.&.D615MEM.AG�\2:\3;BYPC%=COPY�\1:9992.&.D615MEM.CI�\2:\3;BYPC%=COPY�\1:9992.&.D615MEM.LG�\2:\3;BYPC"=COPY�\1:9992.&.D625.LG�\2:\3;BYPC%=COPY�\1:9992.&.D625GEN.CI�\2:\3;BYPC%=COPY�\1:9992.&.D625IOC.AI�\2:\3;BYPC%=COPY�\1:9992.&.D625MEM.AG�\2:\3;BYPC%=COPY�\1:9992.&.D625MEM.CI�\2:\3;BYPC%=COPY�\1:9992.&.D625MEM.LG�\2:\3;BYPC"=COPY�\1:9992.&.D610.LG�\2:\3;BYPC%=COPY�\1:9992.&.D610GEN.CI�\2:\3;BYPC%=COPY�\1:9992.&.D610IOC.AI�\2:\3;BYPC%=COPY�\1:9992.&.D610INT.AG�\2:\3;BYPC%=COPY�\1:9992.&.D610INT.CI�\2:\3;BYPC%=COPY�\1:9992.&.D610INT.LG�\2:\3;BYPC=ENDééééé2=/* This version of VERSAPT.CF is VME/10 oriented.=/*@=/*�XVERSAPT.CF�is�built�from�VERSAPT.CF�at�sysgen�time.‚It�will>=/*ƒcontain�patches�to�be�applied�to�VERSADOS�after�the�sysgen =/*ƒprocess.=/*=PATCH VERSADOS.SYH*---+----:----+----:----+----:----+----:----+----:----+----:----+----:--H*>----------------------------------------------------------------------O�\IOSSTR�*�Start�of�IOSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FHSSTR�*�Start�of�FHSH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\FMSSTR�*�Start�of�FMSH*<--------------@ --------------------------------------------------------H*>----------------------------------------------------------------------O�\EETSTR�*�Start�of�EETH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\LDRSTR�*�Start�of�LDRH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\IOCSTR�*�Start�of�IOCH*<----------------------------------------------------------------------H*>----------------------------------------------------------------------O�\INTSTR�*�Start�of�INTH*<----------------------------------------------------------------------QUIT=/*!=/*†PATCH�PRTDRV�ONLY�IF�IT�EXIST=/*=/RD = \TOTPRT =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PRTDRVRŽ*�Start�of�PRTDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*=/*"=/*†PATCH�MPSCSPR�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM40 =/IF�RD‚>=�0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSPRŽ*�Start�of�MPSCSPR20H*<----------------------------------------------------------------------QUIT=/ENDIF=/*"=/*†PATCH�MPSCDRV�ONLY�IF�IT�EXIST=/*=/RD = \NOTERM40 =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCDRVŽ*�Start�of�MPSCDRVH*<----------------------------------------------------------------------QUIT=/ENDIF=/*=/*†PATCH�TERMDRV=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\TERMDRVŽ*�Start�of�TERMDRVH*<----------------------------------------------------------------------QUIT=/*"=/*†PATCH�WINDRVR�ONLY�IF�IT�EXIST=/* =/RD = \NOWIN =/IF RD <> 0=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\WINDRVRŽ*�Start�of�WINDRVRH*<----------------------------------------------------------------------QUIT=/ENDIF=/*#=/*†PATCH�MTADRVR�ONLY�IF�IT�EXISTS=/*=/RD = \TOTM435 =/IF RD <> 0=PATCH VERSADOS.SYG*>---------------------------------------------------------------------O�\MTADRVRŽ*�Start�of�MTADRVRG*<---------------------------------------------------------------------QUIT=/ENDIF=/*8=/* SYSTEM MUST BE RE-BOOTED FOR PATCHES TO TAKE EFFECT.=/*=ENDéé PAGE)ASR IDNT 11,11 ASR ADDRS. FOR I/O MODULES*8*ASR-FILE OF ASR ADDRESSES OF I/O MODULES-NEEDED FOR IOI* XDEF FMSASR,FHSASR,IOSASR IFNE \NOTNT ‚XDEF‚TNTASR ENDCFMSASR EQU \FMSASRFHSASR EQU \FHSASRIOSASR EQU \IOSASR IFNE \NOTNTTNTASR EQU \TNTASR ENDC ENDA éééééé*INDV…IDNT†3,1�System�Initializer�DATA�Area*-*„THE�FOLLOWING�EQUATES�ARE�USED�FOR�BUILDING%*„A�MEMORY�TABLE�FOR�THE�INIT�ROUTINE*MTYP0‚EQU�0‰RAM�MEMORY�TYPE�0 MTYP1‚EQU�1*16†RAM�MEMORY�TYPE�1 MTYP2‚EQU�2*16†RAM�MEMORY�TYPE�2 MTYP3‚EQU�3*16†RAM�MEMORY�TYPE�3 MTYP4‚EQU�4*16†RAM�MEMORY�TYPE�4 MTYP5‚EQU�5*16†RAM�MEMORY�TYPE�5 MTYP6‚EQU�6*16†RAM�MEMORY�TYPE�6 MTYP7‚EQU�7*16†RAM�MEMORY�TYPE�7*PART0‚EQU�0‰PARTITION�NUMBER�0PART1‚EQU�1‰PARTITION�NUMBER�1PART2‚EQU�2‰PARTITION�NUMBER�2PART3‚EQU�3‰PARTITION�NUMBER�3PART4‚EQU�4‰PARTITION�NUMBER�4PART5‚EQU�5‰PARTITION�NUMBER�5PART6‚EQU�6‰PARTITION�NUMBER�6PART7‚EQU�7‰PARTITION�NUMBER�7PART8‚EQU�8‰PARTITION�NUMBER�8PART9‚EQU�9‰PARTITION�NUMBER�9!PART10�EQU�10ˆPARTITION�NUMBER�10!PART11�EQU�11ˆPARTITION�NUMBER�11!PART12�EQU�12ˆPARTITION�NUMBER�12!PART13�EQU�13ˆPARTITION�NUMBER�13!PART14�EQU�14ˆPARTITION�NUMBER�14!PART15�EQU�15ˆPARTITION�NUMBER�15‡PAGE*#*†MACRO�TO�BUILD�MEMORY�TABLE�ENTRY* MTENTRY MACRO \@A„SET„0‡IFC„'\1','RAM' ‡DC.Bƒ\4+\5,0 ‡DC.Lƒ\2,\3‡DC.B„\6‡DC.B„0 \@A„SET„1‡ENDC‡IFC„'\1','ROM' ‡DC.Bƒ$FF,0 ‡DC.Lƒ\2,\3‡DC.Wƒ0 \@A„SET„1‡ENDC ‡IFEQƒ\@A ‡FAILƒ2000‡ENDC‡ENDM* MTENDƒMACRO ˆDC.Wƒ$FFFFˆENDM ‰PAGE ‰SECTION�8*%*ˆDATA�REQUIRED�BY�SYSTEM�INITIALIZER* ‰XDEFƒTCBHEADTCBHEAD‚DC.Lƒ\$TCBLSTˆTCBHD ‰XDEFƒRDYHEADRDYHEAD‚DC.Lƒ\$TCBRDYˆREADYHD ‰XDEFƒESTART#ESTARTƒDC.Lƒ\STARTRMS‡START�OF�EXEC ‰XDEFƒEENDEEND…DC.Lƒ\MEMBEG‰END�OF�EXEC ‰XDEFƒESTACK%ESTACKƒDC.Lƒ\STACKŠEXEC�STACK�ADDRESS ‰XDEFƒMMUMMU†DC.Lƒ\MMUŒMMU�ADDRESS ‰XDEFƒPANELA&PANELAƒDC.Lƒ\PANELŠFRONT�PANEL�ADDRESS ‰XDEFƒSMEMLOSMEMLOƒDC.Lƒ0�SECMEMLO ‰XDEFƒSMEMHISMEMHIƒDC.Lƒ0�SECMEMHI‰XDEFƒDISPATCH"DISPATCH�DC.Lƒ\STARTRMS‡DISPATCHER ‰XDEFƒGSTSIZGSTSIZƒDC.Lƒ\GSTŒGST�#�OF�PAGES ‰XDEFƒUSTSIZUSTSIZƒDC.Lƒ\USTŒUST�#�OF�PAGES ‰XDEFƒUDRSIZUDRSIZƒDC.Lƒ\UDRŒUDR�#�OF�PAGES ‰XDEFƒPATSIZPATSIZƒDC.Lƒ\PATŒPAT�#�OF�PAGES ‰XDEFƒTRCSIZ\(4A )TRCSIZƒDC.Lƒ\TRACE‹TRACE�TABLE�#�OF�PAGES ‰XDEFƒTRCFLAGTRCFLAG‚DC.Wƒ\TRCFLAG ‰XDEFƒTIMERA#TIMERAƒDC.Lƒ\TIMER‹ADDRESS�OF�TIMER‰XDEFƒTIMINTVA;TIMINTVA�DC.Wƒ\TIMINTVˆ#�MILLISECS�BETWEEN�TIMER�INTERRUPTS ‰XDEFƒTIMSLIC?TIMSLIC‚DC.Wƒ\TIMSLICˆ#�TIMER�INTERRUPTS�BEFORE�TASK�RELINQUISH‰XDEFƒCLOCKFRQ1CLOCKFRQ�EQU„\CLOCKFRQ‡#�CLOCK�TICKS�PER�MILLISEC ‰XDEFƒIOVSIZ$IOVSIZƒDC.Lƒ\IOV�SIZE�OF�IOVCT�TABLE ‰XDEFƒMEMTYPA0MEMTYPA‚DC.BƒMTYP0ŒDEFAULT�MEMORY�TYPE�FOR�ASQ'S ‰XDEFƒMEMTYPT0MEMTYPT‚DC.BƒMTYP0ŒDEFAULT�MEMORY�TYPE�FOR�TCB'S ‰XDEFƒMEMTYPSEMEMTYPS‚DC.BƒMTYP0,MTYP0†DEFAULT�MEMORY�TYPE�FOR�SYSTEM�TASKS�(RO,RW) ‰XDEFƒMEMTYPUCMEMTYPU‚DC.BƒMTYP0,MTYP0†DEFAULT�MEMORY�TYPE�FOR�USER�TASKS�(RO,RW) ‰XDEFƒBUGTRAC8BUGTRAC‚DC.Lƒ\BUGTRAC‰ADDRESS�OF�MACSBUG'S�TRACE�ROUTINE‰XDEFƒDUMMYPTRADUMMYPTR�EQU„$A00‰USE�AS�DUMMY�POINTER�FOR�NON-EXISTANT�ADDRESSES‰XDEFƒWHERLOAD/WHERLOAD�DC.Lƒ\WHERLOAD…WHERE�MACSBUG�WILL�LOADŠXDEF†PAGESIZE7PAGESIZE‚DC.L…\PAGESIZE„PAGESIZE�FOR�SEGMENT�ALLOCATION ŠXDEF…ASN;ASN‡DC.L…\ASN‰NUMBER�OF�ADDRESS�SPACES�(CURRENTLY�0�OR�127)‹PAGE*9*‚MEMORY�TABLE�-�USED�BY�INIT�TO�SET�UP�FREE�MEMORY�LISTS* ‹SECTIONƒ8 ‹OPT‡NOCL*‹XDEF†MEMTABL,ENDMEMT* TOPˆSET†0 BOTTOM…SET†1* MEMTABL„EQU†*,‹MTENTRY‚RAM,$00000,\MEMEND1,MTYP0,PART0,TOP‹IFNE…\MEMEND21‹MTENTRY‚RAM,\MEMEND2,\MEMEND3,MTYP0,PART1,BOTTOM‹ENDC‹MTEND‹DS.L…10 ENDMEMT„EQU†*‹ENDéé‰XDEF†OSMTBL,FMSASQ‰XDEF†OSMEND,FMSDLEN‰XREF†FHSASR,IOSASR,FMSASR ‰IFNE�\NOTNT ‹XREF†TNTASR‰ENDC*-*ˆTABLE�OF�OPERATING�SYSTEM�MODULE�TASK�NAMES*‰NOLIST‰INCLUDEƒ9995.&.IOE.EQ‰INCLUDEƒ9995.&.TR1.EQ‰INCLUDEƒ9995.&.EXE.EQ‰INCLUDEƒ9995.&.NIO.EQ‰INCLUDEƒ9995.&.LV5.EQ‰INCLUDEƒ9995.&.FME.EQ‰INCLUDEƒ9995.&.FMI.EQ‰LIST SECTION 1OSMTBLƒDC.L…FHSIDŽFHS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+FHSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+FHSNLN‡QUEUE�LENGTH‰DC.L„FHSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED*‰DC.L…IOSIDŽIOS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRE‚ASQ�STATUS'‰DC.B„EVULEN+IOSNLN‡MAX.�MESSAGE�LENGTH ‰DC.L„EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L„IOSASRŽADDR.�OF�ASR‰DC.W„0*$‰DC.L„0,0,0,0�NO�DATA�SEGMENT�NEEDED** IFNE \NOTNT*%*ˆTRANSPARENT�NETWORK�TERMINAL�DRIVER*‰DC.L†TNTID�TNT�TASK�NAME‰DC.L†IOSESSŽSESSION*%‰DC.B†AQSTQE+AQSTME+AQSTRE�ASQ�STATUS&‰DC.B†EVULEN+IOSNLN‡MAX�MESSAGE�LENGTH ‰DC.L†EVULEN+IOSNLN‡QUEUE�LENGTH‰DC.L†TNTASRŽADDRESS�OF�ASR‰DC.W†0*$‰DC.L†0,0,0,0�NO�DATA�SEGMENT�NEEDED ENDC**‰DC.L…FMSIDŽFMS�TASK�NAME‰DC.L…IOSESS�SESSION*%‰DC.B„AQSTQE+AQSTME+AQSTRD‚ASQ�STATUS'‰DC.B„EVTLEN+FHSNLN‡MAX.�MESSAGE�LENGTHFMSASQƒDC.L„0�QUEUE�LENGTH‰DC.L„FMSASRŽADDR.�OF�ASR‰DC.W„0**‰DC.W„SGOPPAŽOPTIONS-LOG.�ADDR=PHYS.�ADDR.‰DC.W„SGATRW+SGATSS‡ATTRIBUTES‰DC.L„FMSD�SEG.�NAME‰DC.L„0�LOGICAL�ADDRESSFMSDLEN‚DC.L„0�SEGMENT�LENGTH**OSMENDƒEQU…*“END�OF�TABLE ‰END‡OSMTBLéB 0M PAGEO*********************************************************************************ˆIOC�--�DEFINE�DCB'S�AND�CDB'S*&*ˆThe�macros�used�are�defined�in�IODM.*'*ˆ11/10/83‚modified�for�mag�tape�driver+*’modified�to�use�IOCVEC�and�IOCLVL�equates&*’includes�Winchester�and�SASI�drivers*’mag�tape�at�level�1**O******************************************************************************* *@*‚This�section�becomes�IOCOMS,�which�is�used�by�FMS,�IOS,�&�FHS.*#IOCOM„IDNT†12,12‡I/O�COMMON�SEGMENT SECTION 0 OPT MEX XDEF IOCOMS,IOCOML,CCSEG *1*‚Define�the�physical�addresses�of�device�drivers*‚using�the�SYSGEN�parameters.*TERM…EQU‡\TERMDRVPRT†EQU‡\PRTDRVRMSPR…EQU‡\MPSCSPRMPSC…EQU‡\MPSCDRVWIN†EQU‡\WINDRVRMTA†EQU‡\MTADRVRGPIB…EQU‡\GPIBDRV PAGE*6*‚Here�are�parameters�describing�the�tables�and�lists.*IOCOMS  DC.L 0 I/O sysgen options. ( DC.L DCQSTR Start address of DCQ space.&�DC.L�DCQEND�Endƒaddress�of�DCQ�space.�DC.L�0†Address�of�1st�DCQ. ( DC.L LUTSTR Start address of LUT space.&�DC.L�LUTEND�Endƒaddress�of�LUT�space.�DC.L�0†Address�of�1st�LUT. ( DC.L DCBTBL Start address of DCB space.&�DC.L�DCBEND�Endƒaddress�of�DCB�space. DC.L DCBTBL Address of 1st DCB.  DC.L 0 SEMAPHORE FLAG&�DC.B�'\SYSNAME'„OPERATING�SYSTEM�I.D.�DC.B�'\REVISION'ƒANDƒREVISION( DC.L 0,0,0 TASK ID FOR UNCLAIMED BREAKS PAGEO********************************************************************************C*ˆStorage�for�DCQ's�and�LUT's.‚Initially�these�two�lists�are�empty.*O******************************************************************************* * *‚DCQ�space.* DCQSTR EQU * DS.B 256*\DCQPGEDCQEND EQU *-1 * *‚LUT�space.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1 PAGE‰PAGEO**********************************************************************************ˆDefine�DCB's�based�on�SYSGEN�parameters.*9UB+J7RMZBb?jPrNzJ‚IŠ.O******************************************************************************* *DCBTBL�EQU�*‡This�is�the�top�of�DCB�space. �IFGT…\NOTERMKSL**************************************************************************** *‚SET�UP�DCB�FOR�SCREEN/KEYBOARDL**************************************************************************** ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8.TCP$ATW‚SET‚TCP$ATW+\TCP$PNUL<<9+\TCP$MODM<<10L CRTDCB 'CNSL',IOSID,IOSESS,$133,35,1,'CNSL',0,$03C1,$77F3,TCP$ATW,\TCP$REC,J& \TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,@& \TCP$CLC,\TCP$RTV,\TCP$EOL,\TCP$BRT,\TCP$NLS,\TCP$TRC,\TCP$TTP  ENDC K***************************************************************************$*‚SET�UP�DCB'S�FOR�MVME400�TERMINALSK***************************************************************************  IFGT \NOTERM40ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8.TCP$ATW‚SET‚TCP$ATW+\TCP$PNUL<<9+\TCP$MODM<<10L CRTDCB 'CN01',IOSID,IOSESS,$133,35,1,'CMP2',0,$0FFF,$7FF3,TCP$ATW,\TCP$REC,J& \TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,@& \TCP$CLC,\TCP$RTV,\TCP$EOL,\TCP$BRT,\TCP$NLS,\TCP$TRC,\TCP$TTP ENDC  IFGT \NOTERM40-1ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚B TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8.TCP$ATW‚SET‚TCP$ATW+\TCP$PNUL<<9+\TCP$MODM<<10L CRTDCB 'CN02',IOSID,IOSESS,$133,35,1,'CMP3',0,$0FFF,$7FF3,TCP$ATW,\TCP$REC,J& \TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,@& \TCP$CLC,\TCP$RTV,\TCP$EOL,\TCP$BRT,\TCP$NLS,\TCP$TRC,\TCP$TTP ENDC  IFGT \NOTERM40-2ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8.TCP$ATW‚SET‚TCP$ATW+\TCP$PNUL<<9+\TCP$MODM<<10L CRTDCB 'CN03',IOSID,IOSESS,$133,35,1,'CMP4',0,$0FFF,$7FF3,TCP$ATW,\TCP$REC,J& \TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,@& \TCP$CLC,\TCP$RTV,\TCP$EOL,\TCP$BRT,\TCP$NLS,\TCP$TRC,\TCP$TTP ENDC  IFGT \NOTERM40-3ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8.TCP$ATW‚SET‚TCP$ATW+\TCP$PNUL<<9+\TCP$MODM<<10L CRTDCB 'CN04',IOSID,IOSESS,$133,35,1,'CMP5',0,$0FFF,$7FF3,TCP$ATW,\TCP$REC,J& \TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,@& \TCP$CLC,\TCP$RTV,\TCP$EOL,\TCP$BRT,\TCP$NLS,\TCP$TRC,\TCP$TTP ENDCL****************************************************************************%*‚SET�UP�DCB(S)�FOR�NETWORK�TERMINALSL**************************************************************************** IFNE \NOTNTITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8‰DC.L†0,0,0,0ƒBUFFER�ZONE�BETWEEN�DEVICE�INDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACE�FOR�CONFIGURATION�INFO‰DCB.B…DCBLEN-(*-LLUN),0 (DCBEND�EQU�*-1…End�address�of�DCB�space.HIOCOML EQU (*-IOCOMS+255)/256*256 Get length of common segment (force to*§next�page�boundary). PAGE SECTION 1‰PAGEO*********************************************************************************‰CHANNEL�DATA�BLOCKS*O******************************************************************************* CCSEG EQU * ******‚VME/10�KEYBOARD/SCREEN�IFGT„\NOTERMKS A CDB 0,'CNSL',XTSEXS,254,TERM,0,TERM,1,$42,3,$30,0,0,0,0,0,0,0,0,& 0,0,0  ENDC ******‚MVME410�PRINTERS IFGT \TOTPRT@ CDB 0,'CPRT',XTPRTL,254,PRT,0,\LPDA$00,7,\IOCVEC1,\IOCLVL1,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \TOTPRT-1@ CDB 0,'CPR1',XTPRTL,254,PRT,0,\LPDA$01,7,\IOCVEC1,\IOCLVL1,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC ******‚VME400�TERMINALS  IFGT \NOTERM40@ CDB $0011,'SUP2',0,254,MSPR,0,\LTDA$02,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP2',XTS7AR,254,MPSC,'SUP2',\LTDA$02,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-1J CDB $0009,'CMP3',XTS7BR,254,MPSC,'SUP2',\D LTDA$03,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-2@ CDB $0011,'SUP3',0,254,MSPR,0,\LTDA$04,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0J CDB $0009,'CMP4',XTS7AR,254,MPSC,'SUP3',\LTDA$04,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGT \NOTERM40-3J CDB $0009,'CMP5',XTS7BR,254,MPSC,'SUP3',\LTDA$05,1,\IOCVEC4,\IOCLVL4,$30,&„0,0,0,0,0,0,0,0,0,0,0 ENDC �IFGT‚\NOWIN@ CDB 0,'WIND',XTDWIN,254,WIN,0,\LWIN$00,1,\IOCVEC3,\IOCLVL3,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC�IFGT‚\NOWIN-1@ CDB 0,'WIN2',XTDWIN,254,WIN,0,\LWIN$01,1,\IOCVEC3,\IOCLVL3,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC‰PAGE******‚IEEE-488�CHANNELS  IFGE \NOGPIB-1J CDB $0001,'BUS0',XTGBUS,254,GPIB,0,\GPIB$00,64,$B0,4,$40,1,0,0,0,0,0,0,0,&…0,0,0 ENDC* IFGE \NOGPIB-2J CDB $0001,'BUS1',XTGBUS,254,GPIB,0,\GPIB$01,64,$B1,4,$40,1,0,0,0,0,0,0,0,&…0,0,0 ENDC* ,*********************************************ª**ˆMAG�TAPE�DRIVER“**ˆCHANNEL�DATA�BLOCK�**ª*,*********************************************$******ƒFIRST�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA0H CDB 0,'MTA0',XTM435,0,MTA,0,\LMTA$00,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC*%******‚SECOND�ADAPTER�BOARD�(MVME435)* �IFGT‚\NOMTA1H CDB 0,'MTA1',XTM435,0,MTA,0,\LMTA$01,1,\IOCVEC1,\IOCLVL1,$10,0,0,0,0,0, &„0,0,0,0,0,0 ENDC** ) DC.L 0 Link of 0 marks end of CDB chain.  ENDéééé PAGE*#*VALPAR VALIDATES SYSGEN PARAMETERSG*…FAIL�ERROR�IS�GENERATED�FOR�EACH�PARAMETER�THAT�IS�NOT�IN�VALID�RANGE:*ANY ERROR SHOULD MAKE OPERATOR ABORT SYSGEN SINCE FURTHER/*…SYSGEN�PROCESSING�ASSUMES�PARAMETERS�ARE�GOOD*&*CAN'T HAVE MORE THAT 1 LOCAL TERMINAL IFGT \NOTERMKS-1 FAIL 100 ENDC+*CAN'T HAVE MORE THAN 4 MVME 400 TERMINALS. IFGT \NOTERM40-4 FAIL 100 ENDC9*CAN'T HAVE 0 OR MORE THAN 75 TASKS IN SYSTEM AT ONE TIME IFEQ \NOTASKS FAIL 100 ENDC IFGT \NOTASKS-75 FAIL 100 ENDC1*MAXIMUM LU CANNOT BE LESS THAN 8 OR MORE THAN 31 IFLT \MAXLU-8 FAIL 100 ENDC IFGT \MAXLU-31 FAIL 100 ENDC2*MAXIMUM LU CANNOT BE LESS THAN NO. OF DISK DRIVES IFLT \MAXLU-\TOTDSK FAIL 100 ENDC**IF NO MVME435, CAN'T HAVE ANY TAPE DRIVES IFEQ \TOTM435 ‚IFGT�\NOMTAT ‚FAIL�100‚ENDC ENDC/*CAN'T HAVE MORE THAN 8 TAPE DRIVES PER MVME435 IFGT \NOMTA0-8 FAIL 100 ENDC IFGT \NOMTA1-8 FAIL 100 ENDCC*MAXIMUM NO. OF PAGES FOR DCQ,UST,GST,IOV, AND TRACE CANNOT BE 0 OR*…MORE�THAN�10 IFEQ \DCQPGE FAIL 100 ENDC IFGT \DCQPGE-10 FAIL 100 ENDC IFEQ \GST FAIL 100 ENDC IFGT \GST-10 FAIL 100 ENDC IFEQ \UST FAIL 100 ENDC IFGT \UST-10 FAIL 100 ENDC IFNE \TRCFLAG IFEQ \TRACE FAIL 100 ENDC ENDC IFNE \TRCFLAG IFGT \TRACE-10 FAIL 100 ENDC ENDC IFEQ \IOV FAIL 100 ENDC IFGT \IOV-10 FAIL 100 ENDCG*MAXIMUM NO. OF DIFFERENT FILES MUST BE .LE. MAXIMUM NO. OF E TOTAL FILES IFGT \NODIFFIL-\NOFILES FAIL 100 ENDC2*MAXIMUM NO. OF FILES CANNOT BE 0 OR MORE THAN 200 IFEQ \NODIFFIL FAIL 100 ENDC IFGT \NODIFFIL-200 FAIL 100 ENDC IFEQ \NOFILES FAIL 100 ENDC IFGT \NOFILES-200 FAIL 100 ENDCG*MAXIMUM NO. OF DEFAULT VOLUMES CANNOT BE 0 OR MORE THAN NO. OF TASKS+3 IFEQ \NODEFVOL FAIL 100 ENDC IFGT \NODEFVOL-(\NOTASKS+3) FAIL 100 ENDC**DEFAULT FAB SIZE CANNOT BE 0 MORE THAN 20 IFEQ \DEFFAB FAIL 100 ENDC’n›  IFGT \DEFFAB-20 FAIL 100 ENDC7*DEFAULT DB SIZE CANNOT BE LESS THAN 4 OR MORE THAN 255 IFGT \DEFDAT-255 FAIL 100 ENDC IFLT \DEFDAT-4 FAIL 100 ENDC END ééééééé=/*I=/*‚TERMDRV.LF�--�Sysgen�chainfile�to�link�VME/10�keyboard/screen�driver.=/*<=/*‚Sysgen�parameter�LINKLS�=�\LINKLS�=�file/device�to�which=/*‚to�send�the�linker�listing.=/*J=/*‚Sysgen�parameter�TERMDRV�=�\TERMDRV�=�address�at�which�to�link�driver.=/*'=LINK ,VMES10.TERMDRV.LO,\LINKLS;HAMIXSSEGMENT TERM:0-15 \TERMDRVIN VMES10.TERMDRV.ROIN VMES10.INCHAR.ROIN VMES10.KEYBOARD.ROIN VMES10.PAGEMODE.ROIN VMES10.EDITMODE.ROIN VMES10.FEEDER.ROIN VMES10.CRTINIT.ROIN VMES10.OUTCHS.ROIN VMES10.POUTCHS.ROEND=ENDééE ééé£=LINK ,IOI.LO,\LINKLS;HAMIXSSEGMENT IOSG:0 \IOCSTRSEGMENT .IOI:1INPUT VMES10.IOC.ROINPUT VMES10.IOI.ROINPUT VMES10.OSLIST.RO INPUT IXR.ROINPUT VMES10.ASR.ROEND=ENDééééééé¬ ‚********************‚*�VMES10.SYSCMD.CD�*M‚****************************************************************************‚*�SYSGEN�COMMAND�FILE�-´*‚*Ê*?‚*ƒUSE�IN�CONJUNCTION�WITH�SYSGEN.CF�OR�EXECUTE�DIRECTLY�WITH�*‚*†THE�FOLLOWING�ARGUMENTS:¬*‚*Ê*@‚*†ARG1�-�LISTING�FILE�OR�DEVICE�FOR�ASSEMBLIES�AND�LINK�EDITS‰*‚*Ê*-‚*†ARG2�-�SWITCH�--�0�=�ARG1�IS�A�FILE�NAMEœ*‚*—1�=�ARG1�IS�A�DEVICE�NAMEš*‚*Ê*8‚*†ARG3�-�CONFIGURATION�SWITCH�--�1�=�SINGLE-USER�HARD‘*‚*Ê*@‚*†ARG4�-�WORKING�FILE�FOR�USE�WITH�COPY�;A�TO�PRODUCE�LISTING‰*‚*Ê*M‚**************************************************************************** ‚MSG‰SYSGEN�COMMAND�FILE +‚MSG‰SET�SYSGEN�PARAMETERS�FROM�PASSED�ARGS *‚ASMLSW„=�\2‹*ASSEMBLY�LISTING�FILE�SWITCHF ‚*”0�=�ASMLS�IS�A�FILE‚*”1�=�ASMLS�IS�A�DEVICE'‚LINKLSWƒ=�\2‹*LINK�LISTING�FILE�SWITCH‚*”0�=�LINKLS�IS�A�FILE‚*”1�=�LINKLS�IS�A�DEVICE  ‚IFEQˆ\ASMLSW$…ASMLS…=�"\4"‰*ASM�LISTING�WORK�FILE‚ENDC ‚IFNEˆ\ASMLSW!…ASMLS…=�"\1"‰*ASM�LISTING�DEVICE‚ENDC ‚IFEQˆ\LINKLSW&…LINKLS„=�"\4"‰*LINK�LISTING�WORK�FILE‚ENDC‚IFNEˆ\LINKLSW#…LINKLS„=�"\1"‰*LINK�LISTING�DEVICE‚ENDC +‚WORKLS„=�"\1"‰*OVERALL�LISTING�FILE/DEVICE6‚LINK1TFƒ=�"INIT1.TF"„*INTERMEDIATE�LINK�FILE�FOR�INIT6‚LINK2TFƒ=�"INIT2.TF"„*INTERMEDIATE�LINK�FILE�FOR�INIT C‚MSG‰**************************************************************C‚MSG‰**************************************************************?‚MSG‰**„System�generation�(SYSGEN)�command�file�for�users�of‚**/‚MSG‰**„VERSAdos�on�VME/10’Prepared�4/28/83.�**C‚MSG‰**************************************************************C‚MSG‰**************************************************************‚MSG‰‚MSG‰C‚MSG‰**************************************************************(‚MSG‰**ˆParameters�describing�devices•**C‚MSG‰**************************************************************+‚*˜Total�#�of�terminals�(local�and�MVME400)'‚TOTTERMƒ=�\NOLTERM+\NOTERMKS+\NOTERM40 µ>¾=ÆFÎIÖ5Þ4æ2î,ö+þ/ 4 4 2 3 &W .B 6S >L F7+‚*˜Total�#�of�printers�(local�and�MVME410).)‚TOTPRT„=�\NOLPRT+\NOPRT0+\NOPRT1+\NOPRT2‚*˜Total�number�of�disks�-+‚*˜floppy�drives�and�hard�disk�drives.‚Each(‚*˜volume�defined�requires�approximately‚*˜2-1/4K�bytes�of�memory.'‚TOTDSK„=�\HDWIN+\FDWIN+\HDWIN2+\FDWIN2‚*‚*3‚NOTERMKS‚=�1Œ#�of�VME/10�keyboard/screen�terminals8‚NOTERM40‚=�2Œ#�of�terminals�using�MVME400�serial�ports. ‚NOLPRT„=�1Œ#�of�local�printers.‚*‚*-‚NOTNT…=�0Œ#�of�Transparent�Network�Terminals‚*‚*6‚WINSIZEƒ=�15‹Hard�disk�size�-�used�to�configure�disks,‚*˜during�Sysgen.‚15�=�15�Megabyte�hard�disk‚*˜5�=�5�Megabyte�hard�disk.,‚NOWIN…=�1Œ#�of�Winchester�controller�boards:‚HDWIN…=�1Œ#�of�hard�Winchester�disks�on�first�controller.<‚FDWIN…=�1Œ#�of�floppy�disks�on�first�Winchester�controller.<‚HDWIN2„=�0Œ#�of�hard�Winchester�disks�on�second�controller.>‚FDWIN2„=�0Œ#�of�floppy�disks�on�second�Winchester�controller.‚*E‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NOGPIB„=�0Œ#�of�GPIB�channels‚*‚*†NOTICE�!!!!!!‚*:‚*†If�the�GPIB�driver�is�to�be�used,�you�must�make�a�patch:‚*†in�your�VERSADOS.SY�file�for�the�VME/10.‚The�directions=‚*†for�making�this�patch�will�be�found�in�0.PRIV.NEWS.NW,�the‚*†news�file�for�this�release.‚*=‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRAD1…=�0ŒNO.�OF�RAD�BOARDS‚NUSRRADƒ=�0ŒNO.�OF�RAD�USERS‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RAD�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RADRV…=�0‚*@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‚NRIO†=�0ŒNumber�of�RIO�boards‚*‚*†NOTICE�!!!!!!‚*3‚*†If�the�RIO�driver�is�to�be�used,�you�must�DELETE%‚*†or�comment�out�the�following�line:‚* ‰RIODRVRƒ=�0‚*I‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#‚NDAC1…=�0ŒNumber�of�MVME605�boards;‚NUSRDACƒ=�0ŒNumber�of�users�(total)�for�the�MVME605�boards‚*"‚NACO†=�0ŒNumber�of�MVME615�boards;‚NUSRACOƒ=�0ŒNumber�of�users�(total)�for�the�MVME615�boards‚*‚*#‚NDCO1…=�0ŒNumber�of�MVME625�boards;‚NUSRDCOƒ=�0ŒNumber�of�users�(total)�for�the�MVME625�boards‚*‚*%‚NVME610�=�0ŽNumber�of�MVME610�boards%‚NVME620�=�0ŽNumber�of�MVME620�boards‚*‚*‚*>‚PCDRV…=�0ŒIf�non-zero�include�special�I/O�channel�initializer2‚*˜for�Process�Control�Drivers�in�user�number�9992>‚*ƒThese�parameters�arF e�used�to�verify�the�associated�VERSAbus,‚*ƒboards�are�not�being�used�by�this�system.‚* ‚NOLTERMƒ=�0 ‚NOTERM0ƒ=�0 ‚NOPRT0„=�0 ‚NOTERM1ƒ=�0 ‚NOPRT1„=�0 ‚NOTERM2ƒ=�0 ‚NOPRT2„=�0‚*G‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~G‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~F‚*ˆIf�the�MAGTAPE�driver�IS�to�BE�used�YOU�must�MERGE�file�MTALDPNT.SA‚*ˆinto�VMES10.INITIO1.AGG‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~F‚*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:‚*********************************************************‚*·*‚*ˆMAG�TAPE�DRIVER *‚*ˆNOTES�ON�BOARD�JUMPERING—*‚*·*:‚*********************************************************‚*‚*‚*ˆINTERRUPT�LEVEL‚*7‚*ˆThe�channel�data�block�is�configured�for�I/O�channel3‚*ˆinterrupt�level�1�in�IOC.AG.‚Please�be�sure�that3‚*ˆyour�board�is�jumpered�for�this�interrupt�level,4‚*ˆas�described�in�the�MVME435�magnetic�tape�adapter ‚*ˆmanual.‚*8‚*ˆAs�described�in�the�MVME435�manual,�to�have�a‚level�18‚*ˆinterrupt,�the�jumper�on�J2�must�be�placed�to�connect‚*ˆpins�7-8�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+----+�|‚8 ‚*’+--------+‚*‚*‚*ˆADDRESS‚ON�I/O�CHANNEL‚*7‚*ˆThe�channel�data�block�is�configured�for�I/O�channel<‚*ˆaddresses�LMTA$00�=�(I/O�channel‚base�address)�+�$3E9�and/‚*ˆLMTA$01�=�(I/O�channel�base�address)�+�$3A9.5‚*ˆPlease�be�sure�that�your�board(s)�is(are)�jumpered‚*ˆfor�one�of�these�addresses.‚*@‚*ˆTo�have�a�board�address�of�(I/O�channel�base�address)�+�$3E9,)‚*ˆremove�all�jumpers�from�J3�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+„+�|‚8 ‚*’+--------+‚*‚*‚*@‚*ˆTo�have�a�board�address�of�(I/O�channel‚base�address)�+�$3A9,%‚*ˆconnect‚pins�7-8�on�J3�as�follows:‚* ‚*’+--------+‚*�1‚|�+„+�|‚2‚*’|ˆ|‚*�3‚|�+„+�|‚4‚*’|ˆ|‚*�5‚|�+„+�|‚6‚*’|ˆ|‚*�7‚|�+----+�|‚8 ‚*’+--------+‚*‚*‚*‚*‚*‚*8‚TOTM435ƒ=�0ŒTotal�#�of�mag�tape�MVME435�adapter�boards.‚*3‚NOMTA0„=�0Œ#�of�tape�drives�on�first�MVME435‚board4‚NOMTA1„=�0Œ#�of�tape�drives�on�second�MVME435‚boardD‚NOMTAT„=�\NOMTA0+\NOMTA1�Total�number�of�tape�drives�for�the�system‚*‚MSG‰C‚MSG‰**************************************************************-‚MSG‰**ˆParameters�about�table�sizes,�etc.�**C‚MSG‰**************************************************************‚*4‚DCQPGE„=�2ŒNumber�of�pages�of�memory�for�the�device-‚*˜connection�queue�(DCQ).‚Minimum�size�is�1,/‚*˜maximum�size�is�10.‚Each�page�can�accomodate.‚*˜approximately�9�entries.‚The�DCQ�is�used�to/‚*˜save�concurrent�requests�to�the�save�file�or ‚*˜device.‚*5‚GST‡=�2ŒNumber�of�pages�in�the�global�segment�table..‚*˜Minimum�size�is�1,�maximum�size�is�10.‚Each0‚*˜page�can�accomodate�approximately�14�entries.‚*5‚UST‡=�2ŒNumber�of�pages�in�the�user�semaphore�table..‚*˜Minumum�size�is�1,�maximum�size�is�10.‚Each0‚*˜page�can�accomodate�approximately�11�entries.‚*9‚TRACE…=�0ŒNumber�of�pages�in�the�trace�table.‚TRACE�must1‚*˜be�nonzero�if�TRCFLAG�is�nonzero.‚Minimum�size‚*˜is�0,�maximum�size�is�20.‚*6‚UDR‡=�1ŒNumber�of�pages�in�the�user-defined�directive0‚*˜table.‚Minimum�size�is�0,�maximum�size�is�10.‚*8‚IOV‡=�1Œ#�of�pages�in�I/O�vector�table.‚Minimum�size�is2‚*˜1,�maximum�size�is�10.‚Each�page�can�accomodate‚*˜approximately�25�entries.‚*@‚PAT‡=�(\NOLOGONS*32*2+16+(\PAGESIZE-1))/\PAGESIZE�#�of�pages�in3‚*˜periodic�activation�table.‚Each�page�accomodates.‚*˜approximately�8�entries.‚PAT�size�is�\PAT�.‚*2‚NOTASKSƒ=�20‹Maximum�#�of�tasks�allowed�in�system!‚*˜simultaneously.‚Maximum�is�75.‚*<‚MAXLU…=�12‹Maximum�logical�unit�number�that�can�be�assigned/‚*˜for�each�task�in�the�system.‚Limit�is�31�and.‚*˜minumum�is�8.‚MAXLU�must�be�greater�than�or2‚*˜equal�to�TOTDSK.‚MAXLU�and�NOTASK�determine�the1‚*˜amount�of�memory�required�for�tG he�logical�unit1‚*˜table�(LUT).‚The�algorithm�for�determining�the!‚*˜size�of�the�LUT�is�as�follows:'‚*˜LUT�=�16*NOTASKS+8*NOTASKS*(MAXLU+1),‚*˜There�must�be�a�1�LU�for�each�disk�volume,‚*˜(FMS�assigns�a�different�logical�unit�for,‚*˜each�disk.)‚This�means�that�MAXLU�must�be#‚*˜greater�than�or�equal�to�TOTDSK.‚*‚IFGTˆ\TOTDSK-\MAXLU!…MSG‰SYSGEN�parameter�size�error.3…MSG‰MAXLU�must�be�greater�than�or�equal�to�TOTDSK.:…MSG‰In�this�sysgen,�MAXLU�=�\MAXLU�and�TOTDSK�=�\TOTDSK�.5…MSG‰Please�adjust�parameters�and�start�sysgen�again.…ABORT‡‚ENDC@‚NOFILESƒ=�12‹Maximum�#�of�file�assignments�allowed�in�system�at ‚*˜one�time.‚*4‚NODIFFIL‚=�12‹Maximum�#�of�DIFFERENT�files�assigned‚*˜simultaneously.‚*+‚NODEFVOL‚=�4ŒMaximum�#�of�default�volumes.‚*‚*=‚DEFFAB„=�1ŒDefault�FAB�length�in�sectors.‚Minimum�size�is�1,‚*˜maximum�is�20.‚*>‚DEFDAT„=�4ŒDefault�data�block�length�in�sectors.‚Minimum�size‚*˜is�4,�maximum�is�255.‚*‚MSG‰C‚MSG‰**************************************************************‚MSG‰**ˆEETEQU�values¥**C‚MSG‰**************************************************************>‚DEFAULTƒ=�"SYS:0.&"„*System�default�volume:usernumber.catalog<‚TERMOCNT‚=�4Œ*No.�of�terminal�output�timeouts�before�logoff6‚SECURITY‚=�1Œ*0/1�->�exclude/include�security�package:‚SPCCMD„=�1Œ*0/1�->�exclude/include�news,help,close,assign‚*˜cmds.5‚CHAINBAT‚=�1Œ*0/1�->�exclude/include�batch�and�chainA‚CONBATCH‚=�1ŒNumber�of�concurrent�batch�jobs.‚Maximum�=�NOTASKS.?‚BATCHPGE‚=�2ŒNumber�of�pages�for�batch�job�queueing.‚Each�page+‚*˜can�accomodate�approximately�31�entries.<‚BATDLY„=�16000ˆDelay�in�ms�in�batch�between�reload�attempts)‚NOLOGONƒ=�3ŒMaximum�number�of�logon�trysB‚NOLOGONS‚=�\TOTTERM…#�of�terminals�allowed�to�logon�in�the�system,‚LOGMSG1ƒ=�"VERSAdos�V"�Logon�message�part�1(‚LOGMSG2ƒ=�"ERSION"…Logon�message�part�2(‚REVNUMBR‚=�"�4.3�"†Logon�message�part�3‚*2‚*˜REVNUMBR�is�used�dynamically�in�CMDLIST�as�part*‚*¡of�the�log�on�message.�If�this�value�is'‚*¡changed�then�'REVISION'�in�this�file)‚*¡should�be�changed�to�match�the�dynamic)‚*¡value.�The�format�is�'xx.xx'�as�shown.‚*B‚AUTOTERM‚=�'CNSL'‡Terminal�ID�of�device�auto�logon�is�to�occur�on ‚AUTOLOGN‚=�1 ‚*˜Bit�0:‚*›0�-->�Auto�break�inactive‚*›1�-->�Auto�break�active ‚*˜Bit�1:‚*›0�-->�Auto�logon�inactive‚*›1�-->�Auto�logon�active‚*‚MSG‰C‚MSG‰**************************************************************<‚MSG‰**ˆVector�numbers�(Currently�for�documentation�only)�**C‚MSG‰**************************************************************‚*.‚IOCVEC1ƒ=�$41ŠI/O�channel�interrupt�1�vector..‚IOCVEC2ƒ=�$43ŠI/O�channel�interrupt�2�vector..‚IOCVEC3ƒ=�$44ŠI/O�channel�interrupt�3�vector..‚IOCVEC4ƒ=�$45ŠI/O�channel�interrupt�4�vector.‚*+‚IOCLVL1ƒ=�2ŒI/O�channel�interrupt�1�level.+‚IOCLVL2ƒ=�4ŒI/O�channel�interrupt�2�level.+‚IOCLVL3ƒ=�5ŒI/O�channel�interrupt�3�level.+‚IOCLVL4ƒ=�6ŒI/O�channel�interrupt�4�level. 4‚RXRDY…=�$42ŠReceiver-ready�interrupt�vector�number.4‚TXRDY…=�$4AŠTransmit-ready�interrupt�vector�number./‚PTMVECTƒ=�$4CŠTime-of-day�clock�vector�number.0‚FAIL†=�$4DŠSystem�fail�interrupt�vector�number.+‚SWABRT„=�$4EŠSoftware�abort�vector�number./‚BCLRV…=�$40ŠBus�clear�interrupt�vector�number.#‚MMUINT„=�$4BŠMMU�interrupt�vector.#‚DMAINT„=�$49ŠDMA�interrupt�vector.0‚VMEAVL„=�$48ŠVMEbus�available�interrupt�vector.-‚ACFAIL„=�$46ŠACFAIL�interrupt�vector�number.‚*‚MSG‰C‚MSG‰**************************************************************#‚MSG‰**ˆAddresses�of�timer,�etc.š**C‚MSG‰**************************************************************‚MMU‡=�$F1A800†Address�of�MMUA‚PAGESIZE‚=�256ŠGranularity�(bytes)�for�memory�segment�allocation#‚ASN‡=�127ŠNumber�of�address�spaces"‚TIMER…=�$F1A081†Address�of�timer.;‚CLOCKFRQ‚=�$00000000„Number�of�clock�ticks�per�millisecond)‚*˜(This�parameter�is�not�used�on�VME/10)#‚PANEL…=�$0‹Address�of�front�panel.@‚BUGTRACƒ=�$F0000C†Address�of�firmware�debugger's�trace�routine.2‚TRCFLAGƒ=�$0000ˆTG race�flag�-�0�means�don't�trace.‚*šTrace�bits�as�of�8/12/82 ‚*šBit‡Event ‚*›15‡Trap�#1"‚*›14‡I/O�Interrupt�not�claimed�by ‚*¤user�task‚*›13‡Timer�interrupt‚*›12‡User�trap�(2-15)‚*›11‡Exception‚*›10‡Dispatch'‚*œ9‡I/O�interrupt�claimed�by�user�task‚*œ8‡Return�form�LOADMMU‚*œ7‡Simulated�interrupt‚*œ6‘SYSFAIL�interrupt.‚*@‚SYSFAIL�=�0ŽDetermines�whether�or�not�the�operating�system�will6‚*˜be�interrupted�when�SYSFAIL�is�asserted�on�the�bus.3‚*˜Some�intelligent�boards�will�assert�SYSFAIL�when1‚*˜they�experience�a�failure�of�some�kind.‚If�you6‚*˜have�such�boards�in�the�system,�AND�THE�DRIVERS�FOR4‚*˜THESE�BOARDS�HAVE�SYSFAIL�HANDLERS,�then�you�will3‚*˜probably�want�SYSFAIL�interrupts�enabled.‚If�the5‚*˜appropriate�SYSFAIL�handlers�are�not�written,�then6‚*˜taking�a�SYSFAIL�interrupt�will�hang�up�the�system,1‚*˜so�you�would�want�SYSFAIL�interrupts�disabled."‚*š0�=�disable�SYSFAIL�interrupts.!‚*š1�=‚enable�SYSFAIL�interrupts.‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**+‚MSG‰**ƒTERMINAL/PRINTER�DEVICE�ADDRESESˆ** ‚MSG‰**«**0‚MSG‰**ƒBase�Address�Jumpers:‚'.'�=�no�jumper‚**‚MSG‰**š'J'�=�jumper…**4‚MSG‰***********************************************‚MSG‰C‚LTDA$02ƒ=�$F1C1CD†MVME�400�with�base�address�jumpers�(...J)�port�AC‚LTDA$03ƒ=�$F1C1CF†MVME�400�with�base�address�jumpers�(...J)�port�BC‚LTDA$04ƒ=�$FFFFFF†MVME�400�with�base�address�jumpers�(????)�port�AC‚LTDA$05ƒ=�$FFFFFF†MVME�400�with�base�address�jumpers�(????)�port�BC‚LPDA$00ƒ=�$F1C1E1†MVME�410�with�base�address�jumpers�(....)�port�AC‚LPDA$01ƒ=�$F1C1E9†MVME�410�with�base�address�jumpers�(....)�port�B ‚LWIN$00ƒ=�$F1C0D3†RWIN1�address'‚LWIN$01ƒ=�$F1C0E3†Second�RWIN1�address<‚LMTA$00ƒ=�$F1C3E9†MVME�435�with‚base�address�jumpers�(....)<‚LMTA$01ƒ=�$F1C3A9†MVME�435�with‚base�address�jumpers�(...J)"‚IOBASE„=�$F1C000†I/O�base�addressA‚GPIB$00ƒ=�$FF0400†VME�300�with�base�address�jumpers�(JJJJJ.JJJJ)A‚GPIB$01ƒ=�$FF0440†VME�300�with�base�address�jumpers�(JJJJJ.JJJ.)‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**)‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�TERMINALŠ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(TCP�=�TERMINAL�CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�BELOW…**4‚MSG‰***********************************************‚MSG‰‚*2‚TCP$RECƒ=�80‹Width�of�terminal�(characters/line).-‚TCP$RSZƒ=�24‹Depth�of�terminal�(lines/page).6‚TCP$WTOƒ=�900000‡#�of�millisec�to�allow�before�timing&‚*˜out�a�write.�(0�=�timeout�disabled)6‚TCP$RTOƒ=�900000‡#�of�millisec�to�allow�before�timing%‚*˜out�a�read.‚(0�=�timeout�disabled)>‚TCP$XOFƒ=�$17ŠXOFF�char;�when�received,�suspends�transmission ‚*˜(0=none).?‚TCP$XONƒ=�0ŒXON�char;�when�received,�cancels�a�prior�XOFF�char‚*˜(0=any�char).@‚TCP$BRCƒ=�$03ŠChar�to�be�interpreted�like�a�break�when�received ‚*˜(0=none).<‚TCP$DOPƒ=�$0FŠChar�which�causes�output�to�be�discarded�when‚*˜received�(0=none).:‚TCP$RLNƒ=�$13ŠChar�which�causes�line�to�be�reprinted�when‚*˜received�(0=none).A‚TCP$CLCƒ=�$18ŠChar�which�causes�line�to�be�deleted�when�received ‚*˜(0=none)./‚TCP$RTVƒ=�$0DDE0000„Read�terminators�(CR,$DE).0‚TCP$EOLƒ=�$0D0A0000„End�of�line�string�(CR,LF)..‚TCP$BRTƒ=�$0EŠBaud�rate�code�($0E=9600�baud).?‚TCP$NLSƒ=�0Œ#�of�ASCII�NUL�char's�to�send�after�each�CR�or�LF.+‚TCP$TRCƒ=�$00ŠTerminator�class�($0X=none)..‚TCP$TTPƒ=�$00ŠTerminal�type�(0=EXORterm�155).J‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.>‚TCP$HCPY‚=�0Œ1�means�the�terminal�is�a�hardcopy�device,�not�a‚*˜CRT.8‚TCP$XCTL‚=�0Œ1�means�use�XON/XOFF�to�control�terminal's‚*˜transmission,�not�CTS.@‚TCP$BITS‚=�0Œ1�means�transmit�&�receive�7�bits/char�rather�than‚*˜8.<‚TCP$STPB‚=�0Œ1�means�follow�each�char�sent�with�2�stop�bits‚*˜rather�than�1.=‚TCP$USEP‚=�0Œ1�means�parity�should�be�checked�and�generated.<‚TCP$PRTY‚=�0Œ1�means�parity�(if�used)�should�be�even�rather ‚*˜than�odd.<‚TCP$ECHO‚=�0Œ1�means�the�driver�should�not�echo�charaH cters.@‚TCP$TAHD‚=�0Œ1�means�the�type-ahead�feature�should�not�be�used.9‚TCP$TFUL‚=�1Œ1�means�filling�the�buffer�on�a�read�should‚*˜terminate�the�read.>‚TCP$PNUL‚=�0Œ1�means�NUL�char's�should�be�considered�data�for‚*˜image�reads.7‚TCP$MODM‚=�0Œ1�means�the�port�is�connected�to�a�modem.9‚TCP$OFFH‚=�0Œ1�means�the�port,�if�connected�to�modem,�is ‚*˜offhook.‚*L‚***************************************************************************'‚*†NOTE�on�how�to�modify�a�single�port:‚*<‚*†First�duplicate�all�the�parameters�that�are�to�change�for<‚*†this�particular�port�(e.g.�TCP$BRT).‚Modify�the�duplicate=‚*†labels�so�that�they�become�unique.‚One�technique�is�to�put9‚*†the�port�number�at�the�end�of�the�label�(e.g.�for�CN02;‚*†TCP$BRT�becomes�TCP$BRT2�and�TCP$BITS�becomes�TCP$BIT2).8‚*†Remember�that�the�label�must�not�exceed�8�characters!;‚*†Change�the�parameter�to�the�desired�value�(e.g.�to�set�a5‚*†300�baud�rate�for�a�non-EXORterm�terminal�on�CN02,$‚*†TCP$BRT2�=�$05�and�TCP$TTP2�=�1).‚*4‚*†Now�substitute�these�new�parameters�into�the�file8‚*†VMES10.IOC.AG�for�the�CRTDCB�macro�defining�the�port.+‚*†To�continue�the�baud�rate�example�above:?‚*ˆTCP$ATW�SET�\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$USEP<<4+\TCP$PRTY<<5+\TCP$ECHO<<6=‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$TAHD<<7+\TCP$TFUL<<8+\TCP$PNUL<<9$‚*ˆTCP$ATW�SET�TCP$ATW+\TCP$MODM<<10=‚*‰CRTDCB�'CN02',IOSID,IOSESS,$133,36,1,'CMP3',0,$0FFF,$7FF3,‚*©~~:‚*ˆ&ƒTCP$ATW,\TCP$REC,\TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,;‚*ˆ&ƒ\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,\TCP$CLC,\TCP$RTV,2‚*ˆ&„TCP$EQL,�TCP$BRT2,\TCP$NLS,\TCP$TRC,�TCP$TTP2‚*•~~~~~~~~~“~~~~~~~~~4‚*†where�~~~~~~�underlines�the�CRTDCB�modifications.‚*>‚*†This�same�technique�may�be�used�with�the�printer�parameters<‚*†by�modifying�the�PCP$xxx�labels�and�substituting�into�the=‚*†PRTDCB�macro.‚It�may�also�be�used�with�the�disk�parameters@‚*†by�modifying�the�appropriate�labels�and�substituting�into�the‚*†DSKDCB�macro.‚*L‚***************************************************************************‚*‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**(‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�PRINTER‹**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**-‚MSG‰**ƒ(PCP�=�PRINTER‚CONFIG.�PARAMETERS)…**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE…**4‚MSG‰***********************************************‚MSG‰‚*A‚PCP$RECƒ=�132ŠWidth�of�printer‚(characters/physical�print�line).,‚PCP$RSZƒ=�66‹Depth�of�printer‚(lines/page).B‚PCP$WTOƒ=�120000‡(2�minutes)�#�of�millisec�to�allow�before�timing‚*˜out�a�write.6‚PCP$LRLƒ=�132ŠLogical�line�length�<=�width�of�printer<‚PCP$EOLƒ=�$0A0D0000„End�of�line�string�(LF,CR).�(MCCM�only)$‚PCP$ELCƒ=�$0DŠEnd�of�line�characterJ‚*‚Each�of�the�following�is�a�flag--the�only�allowable�values�are�0�and�1.9‚PCP$LNFD‚=�0Œ1�means�the�printer�supports�auto�line�feed5‚PCP$AFFƒ=�0Œ1�means�supress�auto-form�feed�on�assign9‚PCP$TLRL‚=�0Œ0�means�wrap-around�print�if�log.�line�len. ‚*˜exceeded0‚*˜1�means�truncate�print�at�logical�line�length‚MSG‰4‚MSG‰*********************************************** ‚MSG‰**«**%‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�DISKŽ**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…***‚MSG‰**ƒ(DCP�=�DISK�CONFIG.�PARAMETERS)‰**2‚MSG‰**ƒ(WCP�=�Winchester�disk�config.�params.)�***‚MSG‰**ƒNote�that�some�values�are�zero.‰**1‚MSG‰**ƒZero�values�for�disks�are�'don't�care'‚**.‚MSG‰**ƒTO�MODIFY�PARAMETERS�SEE�NOTE�ABOVE…**4‚MSG‰***********************************************‚MSG‰‚*&‚DCP$WTOƒ=�0ŒWrite�Timeout�-�all�disks%‚DCP$RTOƒ=�0ŒRead‚Timeout�-�all�disks?‚DCP$HBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�hard�disksA‚DCP$FBPS‚=�256Š#�of�VERSAdos�bytes�per�sector�-�all�floppy�disks‚*;‚*�configuration�information�for�Winchester�Disk�Controller%‚*�handles�both�Hard�and�floppy�disks;‚*�The�following�parameters�change�based�on�hard�disk�size:‚*:‚*�<<<<<<<<<<<<<<<<<<<<<<<ƒ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>H ‚*"‚*‹5�mb�disk†15�mb�disk„40�mb�diskF‚*�WCP$HTNS‚19584�($4C80)‚58752�($E580)�159360�($26E80)‚No.�of�sectors‚*�WCP$HHDS†2Ž6Ž6‹No.�of�heads@‚*�WCP$HTRK„306�($132)…306�($132)…830�($33E)„Cylinders�per�media@‚*�WCP$HTRD„306�($132)…306�($132)…830�($33E)„Cylinders�per�drive‚*:‚*�<<<<<<<<<<<<<<<<<<<<<<<ƒ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>D‚PAUSE‡Hit�return�if�WINSIZE�parameter�\WINSIZS�megabyte�is�correct.‚*‚IFEQˆ\WINSIZE-40…WINSIZSƒ=�"40"6…WCP$HTNS‚=�159360‡total�#�of�sectors�-�40MB�hard�disk&…WCP$HHDS‚=�6Œ#�heads�-�40MB�hard�disk3…WCP$HTRK‚=�830Š#�of�cylinders�on�media�-�hard�disk3…WCP$HTRD‚=�830Š#�of�cylinders�on�drive�-�hard�disk‚ENDC‚IFEQˆ\WINSIZE-15…WINSIZSƒ=�"15"5…WCP$HTNS‚=�58752ˆtotal�#�of�sectors�-�15MB�hard�disk&…WCP$HHDS‚=�6Œ#�heads�-�15MB�hard�disk3…WCP$HTRK‚=�306Š#�of�cylinders�on�media�-�hard�disk3…WCP$HTRD‚=�306Š#�of�cylinders�on�drive�-�hard�disk‚ENDC‚IFEQˆ\WINSIZE-5…WINSIZSƒ=�"05"5…WCP$HTNS‚=�19584ˆtotal�#�of�sectors�-�5�MB�hard�disk&…WCP$HHDS‚=�2Œ#�heads�-�5�MB�hard�disk3…WCP$HTRK‚=�306Š#�of�cylinders�on�media�-�hard�disk3…WCP$HTRD‚=�306Š#�of�cylinders�on�drive�-�hard�disk‚ENDC1‚WCP$FTNS‚=�2552‰total�#�of�sectors�-�floppy�disk*‚WCP$HSPT‚=�32‹#�sectors/track�-�hard�disk,‚WCP$FSPT‚=�16‹#�sectors/track�-�floppy�disk#‚WCP$FHDS‚=�2Œ#�heads�-�floppy�disk4‚WCP$FTRK‚=�80‹#�of�cylinders�on�media�-�floppy�disk+‚WCP$HILV‚=�1Œinterleave�factor�-�hard�disk-‚WCP$FILV‚=�1Œinterleave�factor�-�floppy�disk'‚WCP$HSOF‚=�0Œspiral�offset�-�hard�disk)‚WCP$FSOF‚=�0Œspiral�offset�-�floppy�disk9‚WCP$HPSM‚=�256Šphysical�sector�size�of�media�-�hard�disk;‚WCP$FPSM‚=�256Šphysical�sector�size�of�media�-�floppy�disk7‚WCP$HSHD‚=�0Œstarting�head�number�of�drive�-�hard�disk9‚WCP$FSHD‚=�0Œstarting�head�number�of�drive�-�floppy�disk4‚WCP$FTRD‚=�80‹#�of�cylinders�on�drive�-�floppy�disk2‚WCP$HCOM‚=�153Špre-compensation�value�-�hard�disk3‚WCP$FCOM‚=�40‹pre-compensation�value�-�floppy�disk?‚WCP$HPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�hard�diskA‚WCP$FPTD‚=�0Œ#�of�phys.�sectors�per�track�on�drive�-�floppy�disk‚*I‚*‚The�attributes�mask�and�parameter�mask�don't�for�hard�or�floppy�disks.‚*‚The�attributes�word�may�varyF‚*‚for�floppy�disks.‚The�attributes�word�is�set�here�for�the�following‚*‚floppy�disk�configuration:‚*‚MFM�encoding ‚*‚96�TPI‚*‚double�sided�diskette ‚*‚IBM�format‚*‚floppy�disk‚*-‚WCP$HATM‚=�$0010ˆattributes�mask�-�hard�disk/‚WCP$FATM‚=�$001Fˆattributes�mask�-�floppy�disk,‚WCP$PM„=�$1AF3ˆparameters�mask�-�both�kinds,‚WCP$HAWƒ=�$0010ˆattributes�word�-�hard�disk.‚WCP$FAWƒ=�$000Fˆattributes�word�-�floppy�disk‚*=‚*‚the�following�flags�are�for�the�Winchester�controller�disk‚*‚attributes�word‚*:‚WCP$FDEN‚=�1Œbit�0…MFM(1)/FM(0)encoding�method�on�media�-‚*˜floppy�disk:‚WCP$FTDN‚=�1Œbit�1…96(1)/48(0)TPI�track�density�-�media�-‚*˜floppy�disk9‚WCP$FSID‚=�1Œbit�2…double(1)/single(0)�sided�floppy�disk<‚WCP$FFMT‚=�1Œbit�3…IBM(1)/Motorola(0)�media�format�-�floppy‚*˜disk‚WCP$HDSC‚=�1Œbit�4…Hard�disk‚WCP$FDSC‚=�0Œbit�4…Floppy�disk‚MSG‰;‚MSG‰******************************************************‚MSG‰*&‚MSG‰*‹GPIB�USER�CONFIGURATION�EQUATES‚MSG‰*;‚MSG‰******************************************************‚MSG‰2‚GB0$UCLƒ=�0ŒBUS�0�USER�CONFIGURATION�LENGTH�(UCL)‚G0A$UCLƒ=�0ŒBUS�0�DEV�A�UCL,‚G0B$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0C$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0D$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0E$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0F$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0G$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0H$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0I$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0J$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0K$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0L$UCLƒ=�0ŒReserved�for�future�enhancement,‚G0M$UCLƒ=�0ŒReserved�for�future�enhancement‚G0N$UCLƒ=�0ŒBUS�0�DEV�N�UCL ,‚GB1$UCLƒ=�0ŒBUS�1�USER�CONFIGURATION�LENGTH‚G1A$UCLƒ=�0ŒBUS�1�DEV�A�UCL,‚G1B$UCLƒ=�0ŒReserved�for�futureI �enhancement,‚G1C$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1D$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1E$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1F$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1G$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1H$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1I$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1J$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1K$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1L$UCLƒ=�0ŒReserved�for�future�ehnancement,‚G1M$UCLƒ=�0ŒReserved�for�future�ehnancement‚G1N$UCLƒ=�0ŒBUS�1�DEV�N�UCL4‚MSG‰*********************************************** ‚MSG‰**«**/‚MSG‰**ƒSYSGEN�PARAMETERS�FOR�MAG�TAPE�DRIVE„**.‚MSG‰**ƒCONFIGURATION�PARAMETERS/ATTRIBUTES…**.‚MSG‰**ƒ(MCP�=�MAG�TAPE�CONFIG.�PARAMETERS)…** ‚MSG‰**«**4‚MSG‰***********************************************‚MSG‰‚*;‚MCP$WTOƒ=�5000‰Write�Timeout�(5�seconds�to�write�4K�bytes);‚MCP$RTOƒ=�360000‡Read‚Timeout�(6�minutes�to�read�4K�bytes,,‚*što�search�for�a�file�mark,to�read�a�blank&‚*štape�to�the�end�of�tape,�to�rewind)6‚MCP$DENƒ=�0ŒDensity�selected�for�write�from�loadpoint ‚*š0�means�1600�bpi�(PE�density)!‚*š1�means‚800�bpi�(NRZI�density)6‚MCP$RDTƒ=�3ŒNumber�of�read�tries�before�error�message1‚MCP$WRTƒ=�3ŒNumber�of�write�tries�before�erasing:‚MCP$ERTƒ=�1ŒNumber�of�times�to�erase�before�error�message‚*<‚MCP$ATMƒ=�$0002ˆBit�1�is�recognized�for�a�configure�command9‚MCP$PM„=�$00F0ˆDEN,RDT,WRT,ERT�fields�are�recognized�for‚*ša�configure�command.‚*"‚MCP$AW„=�$0000ˆBit�0�is�RESERVED.4‚*˜Bit�1�=�1�means�user�requests�a�density�for�write2‚*˜Bit�1�=�0�means�user�does�not�request�a�density‚*‚MSG‰A‚MSG‰************************************************************7‚MSG‰**…Descriptive�info�about�this�operating�system‡**A‚MSG‰************************************************************5‚SYSNAMEƒ=�"VERSAdos"ƒName�for�this�operating�system.9‚REVISION‚=�"REV‚4.3�"‚Revision�of�this�operating�system.7‚TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.>‚TIMINTVƒ=�16‹Number�of�milliseconds�between�timer�interrupts./‚*˜(This�parameter�is�not�used�on�VME/10.‚It�is4‚*˜included�for�documentation�only.‚The�actual�value!‚*˜used�for�VME/10�is�15.625�ms.)2‚MEMEND1ƒ=�$20200‡Ceiling�address�for�partition�0.0‚MEMEND2ƒ=�$20200‡Floor�address�for�partition�1.2‚MEMEND3ƒ=�$60000‡Ceiling�address�for�partition�1.=‚DPRVAO„=�$0‹Dual�ported�ram�versados�offset�(for�VM02�only).4‚CTRLREGƒ=�$0‹base�address�of�VM02�control�registers@‚WHERLOAD‚=�$0‹Address�at�which�to�load�in�the�operating�system.‚MSG‰A‚MSG‰************************************************************;‚MSG‰**�VALPAR�--�Validate�parameters�to�keep�you�honest‡**A‚MSG‰************************************************************‚SUBSˆVMES10.VALPAR.AG!‚ASM‰VMES10.VALPAR.AG,,\ASMLS;R-C ‚IFGTˆ\$RDD…PAUSE‡Abort�sysgen�if�errors�in�assembly�-�else�hit�carriage�return‚ENDC ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************#‚MSG‰**…Generate�exec�process�--œ**B‚MSG‰************************************************************* ‚*’EXECFOFB‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*‚MSG‰*„PROCESS�VMES10.RMS.LO¢*B‚MSG‰*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* ‚PCˆ=�$1000 ‚STACK…=�$E00‚STARTRMS‚=�$1100‚PROCESS…VMES10.RMS.LO ‚END‰EXEC‚IFEQˆ\LINKLSW…=COPY‡VMES10.RMS.LL,\WORKLS;A‚ENDC ‚TERMDRVƒ=�*‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆScreen/keyboard�driver›**B‚MSG‰*************************************************************‚SUBSˆVMES10.TERMDRV.LG‚LINKˆVMES10.TERMDRV.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚PROCESS…VMES10.TERMDRV.LO ‚END‰TERMDRV‚*‚* ‚GPIBDRVƒ=�* ‚IFEQˆ\NOGPIB…MSG‰GPIB�DRIVER�NOT�REQUIRED‚ENDC ‚IFNEˆ\NOGPIB…MSG‰B…MSG‰*************************************************************…MSG‰**…ADD�THE�GPIB�DRIVER¢*B…MSG‰*******************************************************I ******…SUBSˆGPIBXTR.AG&…ASM‰GPIBXTR.AG,GPIBXTR.RO,\ASMLS;Z=85 …IFEQˆ\ASMLSWˆ=COPY‡\ASMLS,\WORKLS;A…ENDC…SUBSˆGPIBDRV.LG…LINKˆGPIBDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…GPIBDRV …END‰GPIBDRV‚ENDC‚MSG‰B‚MSG‰*************************************************************5‚MSG‰**‡MPSCDRV�(7201)�DRIVER�FOR�VME400�TERMINALSˆ**B‚MSG‰************************************************************* ‚MPSCSPRƒ=�*‚IFGTˆ\NOTERM40…SUBSˆMPSCSPR.LG…LINKˆMPSCSPR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCSPR …END‰MPSCSPR‚ENDC ‚MPSCDRVƒ=�*‚IFGTˆ\NOTERM40…SUBSˆMPSCDRV.LG…LINKˆMPSCDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC…PROCESS…MPSCDRV.LO …END‰MPSCDRV‚ENDC ‚MSG‰B‚MSG‰*************************************************************6‚MSG‰**�IF�WE�HAVE�MVME410�PRINTERS,�ADD�THE�DRIVER�**B‚MSG‰*************************************************************‚MSG‰ ‚PRTDRVRƒ=�* ‚IFEQˆ\NOLPRT4…MSG‰~~~~~~~~~�PRINTER�DRIVER�NOT�REQUIRED�~~~~~~~~~‚ENDC ‚IFNEˆ\NOLPRT…SUBSˆPRTDRV.LG…LINKˆPRTDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…PRTD …END‰PRTD‚ENDCN‚*----------------------------------------------------------------------------‚MSGA‚MSG‰************************************************************/‚MSG‰**ƒCopy�CAOE.SYSPAR.RO�into�&.SYSPAR.RO‘**A‚MSG‰************************************************************‚MSG‚*#‚=COPY‚CAOE.SYSPAR.RO,&.SYSPAR.RO;Y‚*‚IFNE�\NVME610+\NVME620‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�610/620�DRIVER¥*G‚MSG„******************************************************************‚MSGG‚D610QSIZ�=�128ƒMinimun�number�of�entries�in�Interrupt�Processing�Queue A‚INCLUDE�.&.D610GEN.CI„INCLUDE�the�SYSGEN�commands�for�the�driver ‚ENDCN‚*---------------------------------------------------------------------------- ‚IFNEƒ\NDAC1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�605�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D605GEN.CI‚ENDC ‚IFNE‚\NACO‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�615�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D615GEN.CI‚ENDC ‚IFNE‚\NDCO1‚MSGG‚MSG„******************************************************************‚MSG„*‰VME�625�DRIVER©*G‚MSG„******************************************************************‚MSG‰INCLUDEƒ.&.D625GEN.CI‚ENDCO*******************************************************************************N‚*----------------------------------------------------------------------------‚MSG‰B‚MSG‰*************************************************************0‚MSG‰**�IF�WE�HAVE�WINCHESTER,�ADD�THE�DRIVER“**B‚MSG‰*************************************************************‚MSG‰ ‚WINDRVRƒ=�* ‚IFEQˆ\NOWIN6…MSG‰~~~~~~~~~WINCHESTER�DRIVER�NOT�REQUIRED�~~~~~~~~~‚ENDC ‚IFNEˆ\NOWIN…SUBSˆWINDRV.LG…LINKˆWINDRV.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…WIND …END‰WIND‚ENDC‚MSG‰ ‚MEMBEG„=�* ‚SUBSˆIXR.AG‚ASM‰IXR.AG,IXR.RO,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚MSG‰B‚MSG‰*************************************************************/‚MSG‰**�IF�WE�HAVE�MAG�TAPES,�ADD�THE�DRIVER�**B‚MSG‰*************************************************************‚MSG‰ ‚MTADRVRƒ=�* ‚IFNEˆ\NOMTAT…SUBSˆMTADRVR.LG…LINKˆMTADRVR.LG…IFEQˆ\LINKLSWˆ=COPY‡\LINKLS,\WORKLS;A…ENDC …PROCESS…MTAD …*’MTADFOF …END‰MTAD‚ENDC‚*‚MSG‰@‚MSG‰***********************************************************=‚MSG‰**‚IOS�--�Input/Output�Services�(trap�#2�server�task)ƒ**@‚MSG‰***********************************************************‚TASKˆIOS,.IOS‚STATE…=�'DORM'‚PRIORITY‚=�$D1 ‚SESSIONƒ=J �1‚IOSSTR„=�*ŒIOS�load�addr.!‚IOSASR„=�*+2ŠIOS�ASR�entry�point ‚SUBSˆIOS.LG ‚LINKˆIOS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOS‚MSG‰B‚MSG‰*************************************************************>‚MSG‰**ƒFHS�--�File�Handling�Services�(trap�#3�server�task)ƒ**B‚MSG‰*************************************************************‚TASKˆFHS,.FHS‚STATE…=�'DORM' ‚SESSIONƒ=�1‚PRIORITY‚=�$D1‚FHSSTR„=�*ŒFHS‚load�addr.!‚FHSASR„=�*+2ŠFHS�ASR�entry�point ‚SUBSˆFHS.LG ‚LINKˆFHS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FHS‚MSG‰B‚MSG‰*************************************************************(‚MSG‰**ˆFMS�--�File�Management�System”**B‚MSG‰*************************************************************‚TASKˆFMS,.FMS‚STATE…=�'DORM'‚PRIORITY‚=�$D0‚FMSSTR„=�*ŒFMS�load�addr.!‚FMSASR„=�*+2ŠFMS�ASR�entry�point ‚SUBSˆFMS.LG ‚LINKˆFMS.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰FMS ‚IFEQˆ\NOTNT …TNTASR„=�0‚ENDC ‚IFNEˆ\NOTNT…MSG‰B…MSG‰*************************************************************5…MSG‰**†TNT�--�Transparent�Network�Terminal�Driver‰**B…MSG‰*************************************************************…TASKˆTNT,.TNT…STATE…=�'DORM'…PRIORITY‚=�$D0…TNTSTR„=�*ŒTNT�LOAD�ADDR.!…TNTASR„=�*+2ŠTNT�ASR�ENTRY�POINT …SUBSˆTNTD.LG …LINKˆTNTD.LG…IFEQˆ\LINKLSWˆ=COPY‡TNTD.LL,\WORKLS;A…ENDC…END‰TNT‚ENDC‚MSG‰B‚MSG‰*************************************************************!‚MSG‰**ˆEET�--�Entry�Exit�Task›**B‚MSG‰*************************************************************‚TASKˆEET,&EET‚STATE…=�'READ' ‚SESSIONƒ=�2‚PRIORITY‚=�$C8‚EETSTR„=�*ŒEET�load�addr.%‚SUBSˆEET.LG,9995.&.EET.EQ,CMDLIST.AG)‚ASM‰&.EET.EQ/CMDLIST.AG,CMDLIST,\ASMLS;R ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC ‚LINKˆEET.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰EET‚MSG‰B‚MSG‰*************************************************************.‚MSG‰**ˆLDR�--�Loader�(trap�#4�server�task)Ž**B‚MSG‰*************************************************************‚TASKˆLDR.LO,&LDR‚STATE…=�'READ'‚PRIORITY‚=�$C8 ‚SESSIONƒ=�4‚LDRSTR„=�*ŒLDR�load�addr.‚SUBSˆMMU.LOADER.LG‚LINKˆMMU.LOADER.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰LDR‚MSG‰@‚MSG‰***********************************************************‚MSG‰**ˆIOCOM�&�IOI¤**@‚MSG‰***********************************************************‚TASKˆIOI.LO,.IOI‚STATE…=�'READ' ‚SESSIONƒ=�1‚PRIORITY‚=�$DA ‚IOCSTR„=�*‚SUBSˆVMES10.IOC.AG6‚ASM‰IODM.AG/VMES10.IOC.AG,VMES10.IOC.RO,\ASMLS;RZ=090 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVMES10.ASR.AG'‚ASM‰VMES10.ASR.AG,VMES10.ASR.RO,\ASMLS ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVMES10.OSLIST.AG3‚ASM‰VMES10.OSLIST.AG,VMES10.OSLIST.RO,\ASMLS;Z=095 ‚IFEQˆ\ASMLSW…=COPY‡\ASMLS,\WORKLS;A‚ENDC‚SUBSˆVMES10.IOI.LG‚LINKˆVMES10.IOI.LG‚IFEQˆ\LINKLSW…=COPY‡\LINKLS,\WORKLS;A‚ENDC‚END‰IOIE‚MSG‰****************************************************************‚MSG‰*C‚MSG‰*‚Special�I/O�Channnel�Initializer�for�Process�Control�Drivers‚MSG‰*E‚MSG‰**************************************************************** ‚IFNEˆ\PCDRV…INCLUDE….&.IOCI.CI‚ENDC‚MSG‰@‚MSG‰***********************************************************%‚MSG‰**ˆINIT�--�System�Initializer•**@‚MSG‰***********************************************************‚PROCESS…INIT.LO ‚INTSTR„=�*)‚SUBS…VMES10.INITIO1.AG,VMES10.INITIO2.AG#‚SUBS…VMES10.INT1.LG,VMES10.INT2.LG1‚ASM†VMES10.INITIO1.AG,VMES10.INITIO1.RO,\ASMLS;R ‚IFEQ…\ASMLSW…=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VMES10.INT1.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC‚=COPY„\LINK2TF,\LINK1TF;Y ‚IFNE…\NDAC1‰INCLUDEƒ.&.D605MEM.CI‚ENDC ‚IFNE…\NACO‰INCLUDEƒ.&.D615MEM.CI‚ENDC ‚IFNE…\NDCO1‰INCLUDEƒ.&.D625MEM.CI‚ENDC ‚IFNE…\NVME610+\NVME620‰INCLUDEƒ.&.D610INT.CI‚ENDC1‚ASM�VMES10.INITIOJ 2.AG,VMES10.INITIO2.RO,\ASMLS;R ‚IFEQ…\ASMLSW‹=COPY…\ASMLS,\WORKLS;A‚ENDC‚SUBS…M68XXX.INITDAT.AG1‚ASM†M68XXX.INITDAT.AG,M68XXX.INITDAT.RO,\ASMLS;R ‚IFEQ…\ASMLSW†=COPYŠ\ASMLS,\WORKLS;A‚ENDC‚LINK…VMES10.INT2.LG‚IFEQ…\LINKLSW†=COPYŠ\LINKLS,\WORKLS;A‚ENDC ‚END‰INIT@‚MSG‰***********************************************************9‚MSG‰*�Make�substitutions�to�VMES10.PATCH.CF.‚This�will‡*>‚MSG‰*�create�a�file�called�VMES10.XPATCH.CF�which�can�laterƒ*<‚MSG‰*�be�run�to�configure�the�VERSADOS.SY�file�to�support…*5‚MSG‰*�either�5MB,�15MB,�or�40MB�hard�disk�systems.Œ*@‚MSG‰***********************************************************‚SUBSˆVMES10.PATCH.CF@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚MSG‰*¹*)‚MSG‰*‹MAKE�SUBSTITUTIONS�IN�VERSAPT.CFŽ*‚MSG‰*¹*@‚MSG‰***********************************************************@‚MSG‰***********************************************************‚SUBSˆVMES10.VERSAPT.CFé=OPT -N=/**********************=/*�VMES10.SYSGEN.CFƒ*=/**********************=OPT K,NM=/***************************************************************************"=/*�Chain�file�to�perform�sysgen¬*=/*É*=/*�Calling�sequence:·*=/*É*)=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5£*=/*É*7=/*„Not�all�of�the�arguments�need�to�be�entered�since”*$=/*†they�each�have�a�default�value¥*=/*É*6=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)•*=/*É*,=/*„arg2�-�Temp�vol�and�user�no./Boot�fileŸ*9=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and‰*)=/*�user�number�of�command�file�(arg1).—**=/*�Boot�file�defaults�to�'VERSADOS.SY'.˜*=/*É*=/*É*9=/*„arg3�-�List�device�or�file�name�for�sysgen�messages’*=/*�(defaults�to�SYSLIST.LS)¤*;=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extension‰*=/*É*9=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the�*4=/*�three�command�line�fields�used�in�invoking�theŽ*=/*�sysgen�utility�directly.¤*=/*É*E=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')†*=/*É*5=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)–*A=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.*:=/*�All�assembly�listings�and�link�maps�will�be�directedˆ*<=/*�To�the�specified�device�or�file�using�the�copy�utility†*>=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediateƒ*7=/*�file�to�contain�the�assembly�or�link�list�output.‹*@=/*�Due�to�restrictions�in�sysgen�literal�substitution�process‚*8=/*�this�field�cannot�contain�more�than�10�characters.Š*M=/***************************************************************************=/*5=/* Insure that no more than 5 arguments are defined:=/*=/RX=\0 =/IF RX>5ƒ=OPT�-N<ƒ=/*�Error�-�chain�file�started�with�more�than�5�arguments�-5ƒ=/*ƒPlease�restart,�the�argument�definitions�follow:ƒ=/*(ƒ=/*ƒ=SYSGEN.CF�arg1,arg2,arg3,arg4,arg5ƒ=/*6ƒ=/*„Not�all�of�the�arguments�need�to�be�entered�since$ƒ=/*†they�each�have�a�default�value.ƒ=/* N8 WF _O g5ƒ=/*„arg1�-�command�file�name�(defaults�to�SYSCMD.CD)ƒ=/*+ƒ=/*„arg2�-�Temp�vol�and�user�no./Boot�file8ƒ=/*�Temp.�vol.�and�user�no.�defaults�to�volume�name�and(ƒ=/*�user�number�of�command�file�(arg1).)ƒ=/*�Boot�file�defaults�to�'VERSADOS.SY'.ƒ=K /*Gƒ=/&�**�Type�carriage�return�or�more�information,�'break'�to�terminate.ƒ=/*8ƒ=/*„arg3�-�List�device�or�file�name�for�sysgen�messagesƒ=/*�(defaults�to�SYSLIST.LS):ƒ=/*‹If�file�name�-�sysgen�uses�'.LS'�as�default�extensionƒ=/*8ƒ=/*‡NOTE:�The�first�three�arguments�are�the�same�as�the3ƒ=/*�three�command�line�fields�used�in�invoking�theƒ=/*�sysgen�utility�directly.ƒ=/*Dƒ=/*„arg4�-�Type�of�system�configuration�(defaults�to�'SINGLE-HARD')ƒ=/*4ƒ=/*„arg5�-�Listing�device�or�file�(Defaults�to�#PR)Aƒ=/*�Legal�devices�are�#,#PR,#PR1,#PR2,#PR3,#NULL�or�a�file�name.9ƒ=/*�All�assembly�listings�and�link�maps�will�be�directed;ƒ=/*�To�the�specified�device�or�file�using�the�copy�utility=ƒ=/*�with�append�option.‚SYSGEN.TF�is�used�as�an�intermediate6ƒ=/*�file�to�contain�the�assembly�or�link�list�output.?ƒ=/*�Due�to�restrictions�in�sysgen�literal�substitution�process7ƒ=/*�this�field�cannot�contain�more�than�10�characters.ƒ=/*ƒ=END=/ENDIF=/*2=/* Force the definition of 5 exactly 5 arguments.=/* =/IF RX=0+ƒ=ARG�SYSCMD.CD,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=1$ƒ=ARG�\1,,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=2&ƒ=ARG�\1,\2,SYSLIST.LS,SINGLE-HARD,#PR=/ENDIF =/IF RX=3ƒ=ARG�\1,\2,\3,SINGLE-HARD,#PR=/ENDIF =/IF RX=4ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*8=/* We have 5 arguments - now default any null arguments=/*=/IFC \1ƒ=ARG�SYSCMD.CD,\2,\3,\4,\5=/ENDIF=/*=/IFC \3ƒ=ARG�\1,\2,SYSLIST.LS,\4,\5=/ENDIF=/*=/IFC \4ƒ=ARG�\1,\2,\3,SINGLE-HARD,\5=/ENDIF=/*=/IFC \5ƒ=ARG�\1,\2,\3,\4,#PR=/ENDIF=/*N=/* If arg5 is not #PR,#PR1,#PR2,#PR3,# or #NULL then treat as file and delete:=/*ƒset�switch�(arg6)�to�1�for�printer�device,�0�for�file.=/*0=ARG \1,\2,\3,\4,\5,0,#PR,#PR1,#PR2,#PR3,#,#NULL =/FOR 7,\0ƒ=/IFEQ�"\5"\(RX)1†=ARG�\1,\2,\3,\4,\5,1,#PR,#PR1,#PR2,#PR3,#,#NULLƒ=/ENDIF=/ENDFOR=/RX=\6 =/IF RX=0ƒ=DEL�\5=/ENDIF=/*=/* Set switch (arg7) TO:=/*„01�--‚SINGLE-HARD=/*=ARG \1,\2,\3,\4,\5,\6,10=/IFEQ "\4"SINGLE-HARDƒ=ARG�\1,\2,\3,\4,\5,\6,01=/ENDIF=/*9=/* Abort chain if an invalid configuration was requested=/*=/RX=\7 =/IF RX=10ƒ=OPT�-N3ƒ=/*‚\4�is�an�invalid�configuration�-�(argument�#4)8ƒ=/*…The�only�valid�configuration�is�'SINGLE-HARD'�which3ƒ=/*…is�the�default.�Please�restart�chain�file�withƒ=/*…correct�parameters.ƒ=END=/ENDIF#=ARG \1,\2,\3,\4,\5,\6,\7,SYSGEN.TF=/*3=/* The argument list now looks like the following:=/* =/*ƒarg1ƒ-ƒName�of�command�file.=/*0=/*ƒarg2ƒ-ƒTemporary�volume/boot�file�(or�null).=/*3=/*ƒarg3ƒ-ƒList�device�or�file�for�sysgen�messages.=/*(=/*ƒarg4ƒ-ƒSystem�configuration�mnemonic=/*�'SINGLE-HARD'=/*�(see�arg7)=/*@=/*ƒarg5ƒ-ƒListing�file�or�device�for�assemblies�and�link-edits.4=/*�SYSGEN.TF�is�the�temporary�file�which�is�used�in1=/*�conjunction�with�=COPY�;A�to�produce�a�single=/*�listing�file.=/*�(see�arg6)=/*=/*ƒarg6ƒ-ƒSwitch�-"=/*�0�=‚arg5�specifies�a�file�name=/*�1�=‚arg5�specifies�a�device=/*�(see�arg5)=/*%=/*ƒarg7ƒ-ƒNumber�configuration�key�-%=/*�01�=‚single-user�hard�disk�system=/*�(see�arg4)=/*8=/*ƒarg8ƒ-ƒSYSGEN.TF�temporary�file�for�use�with�copy�in+=/*�creating�listing�file�specified�by�arg3=/*=/*9=/* Justify argument positions and invoke sysgen utility.=/*=ARG \5,\6,\7,\8,\1,\2,\3,\4=/*)=/* Turn off echo of sysgen command lines=OPT J=OPT -N=SYSGEN VMES10.\5,\6,\7;T=350 =OPT -J,-N8=/**‚Applying�patches�from�XVERSAPT.CF�to�the�boot�file.=/@ VMES10.XVERSAPT.CFM=/***************************************************************************M=/***************************************************************************=/**=/**‚Sysgen�Completed�--=/**6=/**„Assembly�and�link�listings�have�been�output�to�\1=/**1=/**„Sysgen�command�listing�has�been�output�to�\7=/**M=/***************************************************************************M=/****************************************************K ***********************=OPT -K=/*?=/*‹***********************************************************?=/*‹***********************************************************=/*‹**�E�N�DƒO�FƒS�Y�S�G�E�NŽ**=/*‹**•Have�a�nice�day.’**?=/*‹***********************************************************?=/*‹***********************************************************=ENDéééééd1IOI ASREL'VMES10 IOI SA# „VERSAdos I/O Initialization System Task V 4.1 - 09/13/82×2pFMSDLEN pNOTASKS pNOCDCB pNODCBS pNOFCBS pIOCOML pIOCOMS pCCSEG pOSMTBL pNODVS pNOFATS pOSMEND pFHSASR pFMSASQ  pFMSASR pNOLPRT pIOSASR pNOVDTS pNOLTERM !@F3`F3$ IOSG((K3´@€.|*B#ü()2"|(J‘gH |)N1i!iG3Lé? Hè? (g (f(p*ˆto�each�driver�it�wants�to�monitor.�The�attach�call�uses�the9*ˆsame�device�name�as�the�level�4�CCB�allocate�call�used.:*ˆThese�device�names�are�entered�in�this�task�by�the�user.*;*ˆThis�task�accepts�events�from�I/O�Channel�device�drivers.:*ˆAn�event�is�queued�to�this�task�whenever�a�device�driver<*ˆexperiences�a�board�fail�interrupt.‚As�supplied,�this�task=*ˆonly�reads�the�event.‚The�user�may�add�to�or�eliminate�this*ˆtask�according�to�his�needs.*N*-----------------------------------------------------------------------------* *ˆEQUATES*8NOFDEV„EQU„16‘maximum�number�of�I/O�channel�devices�this%*§may�be�changed�to�the�actual�number&*§of�I/O�channel�devices�on�the�system*"MSGLNG„EQU„10‘event�message�length*%QUELNG„EQU„MSGLNG*NOFDEV†queue�length*1ASQOPT„EQU„$D‘ASQ�options:�don't�stack�registers,*§enable�ASQ�and�ASR*%GTASQ…EQU„31‘Get�ASQ�directive�number-WTEVNT„EQU„36‘Wait�for�event�directive�number)RDEVNT„EQU„34‘Read�event�directive�number0RTEVNT„EQU„37‘Return�from�event�directive�number+TERM†EQU„15‘Terminate�task�directive�number.CMR‡EQU„60‘Channel�management�directive�number**‰Event�layout* ŠOFFSET�0 EVTLNG„DS.Bƒ1’event�length�($0A)EVTCOD„DS.Bƒ1’event�codeƒ($09) EVTDEV„DS.Lƒ1’failed�device�name5EVTADR„DS.Lƒ1’failed�device�memory�mapped�I/O�addressŠPAGE ŠSECTION�0*+*‰Task�Creation�Date�and�Version�Identifier*D‰EQU„*’start�of�dataŠDC.Bƒ'042882�1'‰identifier**‰Device�Name�Table*6*‰THIS�TABLE�TO�BE�MODIFIED�FOR�EACH�DEVICE�TO�MONITOR**‰table�structure: |? …I � 0*‰multiple�4�byte�fields�containing�device�names8*‰last�4�byte�field�set�to�zero�to�indicate�end�of�table*-DEVTBL„DC.Lƒ'RA41'�attach�to�level�4�RAD1�CCB ŠDC.Lƒ'RA42'ŠDC.Lƒ0’end�of�table**‰misc.�data�area*7TRP1PB„DS.Bƒ22‘Trap�1�parameter�block�used�by�all�callsŠDS.Bƒ8’Stack�area STACK…EQU„* PAGE* *‰ENTRY�POINT* *‰get�an�ASQ*'IOCFAILƒLEA„STACK(PC),A7‡load�the�stack.ŠLEA„TRP1PB(PC),A1†get�parameter�block�address"ŠMOVE.L�A1,A0Žsave�it�for�the�callŠCLR.L‚(A1)+Žtask�nameŠCLR.L‚(A1)+Žsession%ŠMOVE.B�#ASQOPT,(A1)+†set�the�options$ŠMOVE.B�#MSGLNG,(A1)+†message�length"ŠMOVE.L�#QUELNG,(A1)+†queue�length"ŠLEA„IOCASR(PC),A2†Get�ASR�addressŠMOVE.L�A2,(A1)+‹ASR�addressŠCLR.W‚(A1)�not�used*ŠMOVE.L�#GTASQ,D0Šget�ASQ�L directive�numberŠTRAPƒ#1‘get�an�ASQ(ŠBNE.S‚ERRORŽbranch�if�an�error�returned*.*‰attach�to�all�devices�listed�in�device�table"*‰these�are�the�devices�to�monitor*+ŠLEA„DEVTBL(PC),A2†get�device�table�address-IOCATT„TST.L‚(A2)�a�device�left�to�attach�to?(ŠBEQ.S‚IOCWAITŒbranch�if�no�devices�left-ŠMOVE.L�A0,A1Žrestore�parameter�block�addressŠMOVE.B�#3,(A1)+‹attach�codeŠCLR.B‚(A1)+Žnot�used'ŠMOVE.W�#1,(A1)+‹set�queue�event�option9ŠMOVE.L�(A2)+,(A1)+ˆset�device�name�from�the�device�table(ŠMOVE.W�#MSGLNG,(A1)+†set�message�lengthŠCLR.L‚(A1)+Žuse�default�ASRŠCLR.L‚(A1)+Žnot�used3ŠMOVE.L�#CMR,D0Œchannel�management�directive�numberŠTRAPƒ#1‘do�the�attach*ŠBRA„IOCATT�go�see�if�another�attach�to�do**‰wait�for�an�event*9IOCWAITƒMOVE.L�#WTEVNT,D0‰wait�for�event�directive�numberŠTRAPƒ#1‘do�the�wait**‰USER�CODE�MAY�BE�ADDED�HERE*#ŠBRA„IOCWAITŒgo�wait�for�next�eventŠPAGE*"*‰IOCASR„read�the�event�and�return*“registers�are�not�stacked* IOCASR„EQU„*5ŠLEA„TRP1PB(PC),A0†Get�trap�1�parameter�block�address.ŠMOVE.L�#RDEVNT,D0‰read�event�directive�numberŠTRAPƒ#1‘read�the�event(ŠBNE.S‚ERRORŽbranch�if�an�error�returned**‰the�event�is�now�at�TRP1PB*‰USER�CODE�MAY�BE�ADDED�HERE*%ŠMOVE.L�#1,A0Žreturn�with�ASR�enabled5ŠMOVE.L�#RTEVNT,D0‰return�from�event�directive�numberŠTRAPƒ#1‘return�from�this�event*2*‰terminate�this�task�if�receive�any�trap�1�errors*5ERROR…MOVE.L�#TERM,D0‹terminate�task�directive�numberŠTRAPƒ#1‘do�the�termination ŠEND„IOCFAIL éééééé‰SPC�10!*†---†---…STANDARDƒMACROS…---…---*H*Allocate macro allocates local storage as long words on the stack,(A7).,*Up to 6 variables may be allocated by name.C*These variables may then be referred to by name offset to stack orH*they may be stored to (by macro STORE) and loaded from (by macro LOAD).*O*Prior to exit, the variables must be de-allocated by invocation of DEALLOCATE. ALLOCATE MACRO*B*Allocate reserves storage on the stack for local named variables,8*‚which�are�referred�to�as�an�offset�from�stack�pointer.\1 SET 2‰IFGT�(NARG-1)\2 SET 6‰ENDC‰IFGT�(NARG-2) \3 SET 10‰ENDC‰IFGT�(NARG-3) \4 SET 14‰ENDC‰IFGT�(NARG-4) \5 SET 18‰ENDC‰IFGT�(NARG-5) \6 SET 22‰ENDC*ƒSUB.Lƒ#(NARG*4)+4,A7M *ƒENDM*B*DEALLOCATE�MACRO‚has�to�be�named�DEALOC�to�overcome�assembler�bug DEALOC‚MACRO*>* Deallocate removes storage for local variables on the stack.ƒADD.L‚#(NARG*4)+4,A7*ƒENDMI*LOAD macro allows loading a register from local storage named variables. *The�syntax�is:‚LOAD�Rn,VARNAME.9*The storage is DYNAMICALLY ALLOCATED by macro 'ALLOCATE'* LOAD‚MACRO*‰MOVE.L„\2(A7),\1‰ENDM*H*STORE macro allows storing a register to local storage named variables.!*The�syntax�is:‚STORE�Rn,VARNAME.?*The local storage is DYNAMICALLY ALLOCATED by macro 'ALLOCATE'* STORE MACRO*‰MOVE.L„\1,\2(A7)‰ENDM*‰SPC�5PUSHPOINTŠMACRO‰MOVEM.LƒA0-A6,-(A7)‰ENDM*POP_POINTŠMACRO‰MOVEM.Lƒ(A7)+,A0-A6‰ENDM* PUSHALLŒMACRO‰MOVEM.LƒA0-A6/D0-D7,-(A7)‰ENDM* POPALLƒMACRO‰MOVEM.Lƒ(A7)+,A0-A6/D0-D7‰ENDM*4ALLREGS‚EQU‡68ˆSpace�for�all�the�reg.'s�in�the�stack** *NOW USE THEM *MACTEST:* *ˆPUSHPOINT *ˆPUSHALL&*ˆALLOCATE�COUNT,POINT,CHAR,VAL,MURPHY*ˆMOVE.L„#12345,D1*ˆSTORE†D1,COUNT*ˆLOAD‡D2,COUNT(*ˆDEALLOCATE�COUNT,POINT,CHAR,VAL,MURPHY*ˆPOPALL *ˆPOP_POINT*ˆRTS*ˆEND*‰PAGE •`5*This is TESTE the version that tests wait for event. ŠSECTION�0TEST†LEA�STACK,A7#ŠCLR.L„EVENTCNT‚clear�event�counter* *‚GET�A.S.Q.!‰MOVE.L�#31,D0‚stage�command�code-‰MOVE.L‚#ASQBLOCK,A0Šstage�command�parameters‰TRAP†#1 ‰BNE‡FAULT2*‚OPEN�THE�CHANNELS +ŠLEA„INITIO,A0�point�to�CMR�parameter�blockŠMOVE.L�#OPNCMD,CMDAŠMOVE.W�#OPNLNG,CMDLŠMOVE.L�#60,D0ŠTRAP�#1 ŠBNE„FAULT1**** WAIT EQU **‚REQUEST�WAIT�FOR�EVENT‰MOVE.L„#36,D0‰TRAP†#1 ‰BNE‡FAULT3**RUNTEST*‚read�status�of�channel‚10**‚stage�code�for�read�commandŠMOVE.Lƒ#STATCMD,CMDA%ŠMOVE.Wƒ#6,CMDL�set�up�command�lengthŠMOVE.Lƒ#60,D0Žset�up�CMR�callŠTRAP…#1 ŠBNE†FAULT7‰SPC�2*Pulse channel 7‰MOVE.L„#PLS7,CMDA‰MOVE.W„#12,CMDL‰MOVE.L„#60,D0‰TRAP†#1 ‰BNE‡FAULT10‰SPC�2*Pulse channel 8‰MOVE.L„#PLS8,CMDA‰MOVE.W„#12,CMDL‰MOVE.L„#60,D0‰TRAP†#1 ‰BNE‡FAULT11*Pulse channel 9‰MOVE.L„#PLS9,CMDA‰MOVE.W„#12,CMDL‰MOVE.L„#60,D0‰TRAP†#1 ‰BNE‡FAULT12* *Inc EVENTCNT‰ADD.L…#1,EVENTCNT**If EVENTCNT = 10 THEN‰CMP.L…#10,EVENTCNT ‰BEQ‡TEST1*DO*‚disable�channel�1�interupts*‚wait�for�event*END*IF EVENTCNT >= 20 THEN‰CMP.L…#20,EVENTCNT ‰BGE‡TEST2*DO*‚EVENTCNT�=�0*‚enable�channel�1�interrupts*‚wait�for�event*END*ELSE*DO ‰BRA‡TEST3#*‚toggle�output�on�sucessive�events*END** TEST1„EQU‡*!*Stage code for disable channel 1‰LEA‡INITIO,A0‰MOVE.L„#DSA1,CMDA‰MOVE.W„#6,CMDL‰MOVE.L„#60,D0‰TRAP†#1 ‰BNE‡FAULT8 ‰BRA‡WAIT* TEST2„EQU‡*‰CLR.L…EVENTCNT"* Stage code for enable interrupts‰LEA‡INITIO,A0‰MOVE.L„#ENA1,CMDA‰MOVE.W„#6,CMDL‰MOVE.L„#60,D0‰TRAP†#1 ‰BNE‡FAULT9 ‰BRA‡WAIT* TEST3„EQU�*-*toggle EVENTCNT & output on sucessive events:ŠBTST†#0,EVENTCNT+3†Micky�Mouse�way�to�test�LS�byte�in�mem ŠBNE.S…LAMPON*Stage code for OFF%ŠLEA‡INITIO,A0Špoint�to�command�table8ŠMOVE.L„#OFFCMD,CMDA‡pass�address�of�RIO�parameter�block#ŠMOVE.W„#6,CMDLŒpass�command�length žp §U ¯F)ŠMOVE.L„#60,D0�set�up�trap�1�service�codeŠTRAP�#1–call�for�service ŠBNE‡FAULT6�branch�on�trap�error ŠBRA‡WAITŠSPC�3#LAMPON�EQU�*‚turn�output�(lamp)�on.**Stage code for ON%ŠLEA†INITIO,A0ƒpoint�to�command�table7ŠMOVE.Lƒ#ONCMD,CMDA�pass�aM ddress�of�RIO�parameter�blockŠMOVE.Wƒ#6,CMDLƒpass�length/ŠMOVE.Lƒ#60,D0„setup�trap1�service�request�codeŠTRAP…#1 ŠBNE†FAULT5ŠBRA†WAIT†wait�for�next�eventŠSPC�8*‚CLOSE�CHANNELSŠMOVE.L�#60,D0ŠMOVE.L�#CLSCMD,CMDAŠMOVE.W�#CLSLNG,CMDLŠTRAP�#1 FAULT1ƒNOP FAULT2ƒNOP FAULT3ƒNOP FAULT4ƒNOP FAULT5ƒNOP FAULT6ƒNOP FAULT7ƒNOP FAULT8ƒNOP FAULT9ƒNOP FAULT10‚NOP FAULT11‚NOP FAULT12‚NOP*‚DE-ACTIVATE�SELF TERM†MOVE.L�#15,D0ŠTRAP�#1ŠSPC�10A*ƒ---ƒ---ƒ---�MOVE�THE�ASQ�MESSAGE�FROM�THE�ASQ�TO�RCVBUF‚---‚---‰SPC�18TESTIRQ‚EQU�*‚entry�point�moving�data�from�ASQ�to�RCVBUF!‰MOVE.L„#34,D0„stage�command�code‰MOVE.L„#RCVBUF,A0‰TRAP†#1 ‰BNE.S…FAULT4*‚RETURN�FROM�EVENT!‰MOVE.L„#37,D0„stage�command�code ‰MOVE.W„#1,A0‰TRAP†#1‰RTSASQBLOCK EQU *‰DC.L†0‰task�name‰DC.L†0‰dummy�field1‰DC.B†5‰initial�status�of�ASQ�=�ASQ�&�ASR�enabled"‰DC.B†16ˆlength�of�message�for�ASQ‰DC.L†64ˆstorage�for�4�events:‰DC.L†TESTIRQƒlogical�address�of�target�task�async�svc�rtn‰DC.L†0‰dummy�fieldASQLNGƒEQU�*-ASQBLOCK*%RCVBUFƒDS.L†64ˆdefine�reciever�bufferEVENTCNT�DS.L†1‰event�counter**‚CMR�PARAMETER�BLOCK*INITIO„DC.Bƒ7,0,0,0ŠDC.Lƒ'RI01'†TASK�NAME ŠDC.Lƒ0,0,0*CMDA†DC.Lƒ0‹address�of�RIO�parameter�blockCMDL†DC.Wƒ0‹command�length*&*‚RIO�PARAMETER�BLOCK�to�open�channels*OPNCMD„DC.Wƒ0,1ŠDC.Wƒ9‘open�9�channels1ŠDC.Wƒ0,$7F00‹CHAN�0�IRQ�on�fall,�512�ms�debounce1ŠDC.Wƒ1,$3F04‹CHAN�1�IRQ�on�fall,�255�ms�debounce)ŠDC.Wƒ2,4�CHAN�2�interrupt�on�rising�edge*ŠDC.Wƒ3,0�CHAN�3�interrupt�on�falling�edge&*¢CHAN�4ˆ{{‚CH�4�IS�NO�GOOD�ON�HARDWAR0ŠDC.Wƒ5,1�CHAN�5�output�{{�hardware�checked�ok}}ŠDC.Wƒ7,1�CHAN�7�outputŠDC.Wƒ8,1�CHAN�8�outputŠDC.Wƒ9,1�CHAN�9�outputŠDC.Wƒ10,0�CHAN�10�INPUTOPNLNG„EQU„*-OPNCMD„lengthCLSCMD„DC.Wƒ0,2‰close�command(CLSLNG„EQU„*-CLSCMD„close�command�length*$*ˆRIO�parameter�block�for�ON�command ONCMD EQU *ŠDC.W…0‰returned�command�statusŠDC.W…3‰OUTPUT�ON�commandŠDC.W…$0020…turn�on�channel�#5‰SPC�5%*ˆRio�parameter�block�for�OFF�command‰SPC�1 OFFCMD EQU *&ŠDC.W…0‰return�command�status�locationŠDC.W…4‰off�commandŠDC.W…$0020…turn�off�channel�5ŠSPC�5 STATCMD EQU *ŠDC.W…0‰returned�command�statusŠDC.W…5‰read�commandŠDC.W…$0400…read�channel�10*:*ƒRIO�parameter�block�for�DISABLE�INTERRUPTS�on�channel�1:* DSA1…EQU�*‰DC.W†0‰returned�status‰DC.W†7‰disable�interrupt�code$‰DC.W†2‰bit�mask�selecting�channel�1**8*‚RIO�parameter�block�for�ENABLE�INTERRUPTS�on�channel�1* ENA1…EQU�*‰DC.W†0‰returned�status‰DC.W†6‰enable�interrupt�code$‰DC.W†2‰bit�mask�selecting�channel�1******†stack‚definition* ŠDS.Bƒ$400 STACK…EQU„**PLS7:2* RIO parameter block to do 200 ms pulse on chan 7‰DC.W†0‰returned�cmd�status‰DC.W†8‰pulse�command�code‰DC.W†1‰one�channels‰DC.W†7‰pulse�channel�7‰DC.L†200ˆ200�ms�pulse‰SPC�2PLS8:1*RIO parameter block to do 300 ms pulse on chan 8‰DC.W†0‰returned�cmd�status‰DC.W†8‰pulse�command�code‰DC.W†1‰one�channels‰DC.W†8‰pulse�channel�8‰DC.L†300ˆ300�ms�pulsePLS9:1*RIO parameter block to do 550 ms pulse on chan 9‰DC.W†0‰returned�cmd�status‰DC.W†8‰pulse�command�code‰DC.W†1‰one�channels‰DC.W†9‰pulse�channel�9‰DC.L†550‡550�ms�pulse ŠEND�TESTé,=/* CHAIN TO ASSEMBLE DEVICE-FAILURE ROUTINE,=/*†WHICH�IS�CALLED�WHEN�A�LEVEL-4�INTERRUPT=/*†OCCURS�IN�THE�RAD1�DRIVER.=/*$=/*†DEFAULT�ARGUMENT�1�IS�IOCFAIL.LS=/*=/IFC \1=ARG IOCFAIL.LS=/ENDIF=/*&=/*†PARAMETER�01ˆ\1=OUTPUT�FILE/DEVIN CE=/*=ASM IOCFAIL,IOCFAIL,\1;R=/*{ Included files are:=/*ƒ--�none�--=/*}=ENDéééééé ·=/* =/*†TESTE.AF=/*5=/* CHAIN TO ASSEMBLE RIO DRIVER TEST ROUTINE 'TESTE'=/*&=/*†DEFAULT�OUTPUT�LISTING�IS�TESTE.LS=/*=/IFC \1 =ARG TESTE.LS=/ENDIF=/*=ASM TESTE,TESTE,\1;MR-WZ=134=/*{ Included files are:=/*ƒ--�none�--=/*}=ENDééééééN  ÀO******************************************************************************* %„MSG�START�OF�I/O�CHANNEL�INITIALIZER „TASK�IOCI „STATE='READ' „SESSION=1 „PRIORITY=$DA „IOCISTR=*„SUBS�IOCINT.AG-„ASM‚IODM.AG/IOCINT.AG,IOCINT.RO,\ASMLS;Z=100 †IFEQˆ\ASMLSW‰=COPY‡\ASMLS,\WORKLS;A†ENDC„SUBS�LIOCINT.LG„LINK�LIOCINT.LG†IFEQˆ\LINKLSW‰=COPY‡\LINKLS,\WORKLS;A†ENDC „END�IOCIO*******************************************************************************éééééé ɉPAGEF***********************************************************************#*�IOCINT�I/O�CHANNEL�CCB�ALLOCATION*$*�COPYRIGHTED�1982�BY�MOTOROLA,�INC.*F************************************************************************�PROGRAM�NAME:‚IOCINT*D*�REV.‚1.00‚6/14/82ƒ(RONI�WOOD)�-�ALLOCATE�ALL�CCB'S�FOR�I/O�CHANNEL*¥DEVICE�DRIVERS.*�SUPPORT�TABLES:‚CHANNEL�CONTROL�BLOCKS�(CCB)*’DEVICE�CONTROL�BLOCKS�(DCB)*F**********************************************************************‡NOLIST‡INCLUDE�9995.&.TR1.EQ‡INCLUDE�9995.&.EXE.EQ‡LIST*†INCLUDE�9995.&.TR1.EQ*†INCLUDE�9995.&.EXE.EQ*!IOCINT‚IDNT‚1,0„I/O�CHANNEL�CCB'S‰OPTƒMEX* ‰XDEF†IOSEG* *ˆEQUATES* ‰IFNE†\NRIORIO†EQU‡\RIODRVR‰ENDC ‰IFNE†\NRAD1RAD†EQU‡\RADRV‰ENDCINT1…EQU‡\IOCVEC1INT2…EQU‡\IOCVEC2INT3…EQU‡\IOCVEC3INT4…EQU‡\IOCVEC4*LVL1…EQU‡\IOCLVL1LVL2…EQU‡\IOCLVL2LVL3…EQU‡\IOCLVL3LVL4…EQU‡\IOCLVL4* SECTION 1*9*SET UP CHANNEL CONTROL BLOCKS FOR DEVICES ON I/O CHANNEL*K****************************************************************************-*ˆINTERRUPT�VECTORS�AND�LEVELS�ON�I/O�CHANNEL*!*ˆVECTORSƒVM02†VM03†VME110„VMES10**‰INT1†$71‡$49‡$19‡$41*‰INT2†$72‡$4A‡$1A‡$43*‰INT3†$73‡$4B‡$1B‡$44*‰INT4†$74‡$4C‡$1C‡$45** *ˆLEVELS„VM02†VM03†VME110„VMES10**ˆLVL1ˆ2‰3‰1‰2*ˆLVL2ˆ3‰4‰2‰4*ˆLVL3ˆ4‰5‰3‰5*ˆLVL4ˆ5‰6‰4‰6**6*ˆINTERRUPT�VECTOR�1�CORRESPONDS�TO�INTERRUPT�LEVEL�1,*ˆAND�SO�FORTH.5*ˆPLEASE�BE�SURE�THAT�YOO UR�BOARD�IS�JUMPERED�PROPERLY6*ˆTO�PRODUCE�THE�INTERRUPT�VECTOR�AND�LEVEL�CALLED�FOR*ˆIN�THE�CDB�MACRO.**ˆI/O�CHANNEL�BASE�ADDRESSES**—VM02†VM03†VME110„VMES10*)*ˆIOBASE:‡$F80000ƒ$FA0000ƒ$FE6000ƒ$F1C000** IOSEG EQU * ‰IFNE�\NRIO$*ˆADD�NECESSARY�CCB�INFORMATION�HERE**ˆSET�UP�RIO�CCB'S*DEVADD‚SET�\IOBASE+$19 CDB XOPEXC,'RI01',$80,254,RIO,0,DEVADD,31,INT3,LVL3,$50,&0,0,0,0,0,0,0,0,0,0,0‰ENDC IFNE \NRAD1DEVAD1 SET \IOBASE+$1E01*ˆSET�UP�RAD�CCB'S Òa ÛH ã4*ƒ(MEMORY�LENGTH�IS�511�SINCE�WE�START�AT�ODD�ADDR.): CDB XOPEXC,'RA01',$80,254,RAD,0,DEVAD1,511,INT3,LVL3,$50,&0,0,0,0,0,0,0,0,0,0,0: CDB XOPEXC,'RA41',$80,254,RAD,0,DEVAD1,511,INT4,LVL4,$50,&0,0,0,0,0,0,0,0,0,0,0 ENDCH************************************************************************H************************************************************************* *ˆSet�up�to�generate�CCB's�.�.�.**’"CDB"�MACRO�CALLS�GO�HERE�--%*œ(See�IODM.SA�for�macro�definition.)*H************************************************************************H************************************************************************‰PAGE*G*ƒIf�any�VME�610�or�VME�620�boards�are�specified�in�SYSCMD,�include�the3* code to perform CCB allocations for those boards.* ‚IFNE�\NVME610+\NVME620ŒINCLUDEƒ&.XD610IOC.AI‚ENDC‰PAGEH*************************************************************************<*ƒIf�any�VME�605�boards�are�specified�in�SYSCMD,�include�the3* code to perform CCB allocations for those boards.* ‚IFNE�\NDAC1ŒINCLUDEƒ&.XD605IOC.AI‚ENDC‰PAGEG***********************************************************************H*************************************************************************<*ƒIf�any�VME�615�boards�are�specified�in�SYSCMD,�include�the3* code to perform CCB allocations for those boards.* ‚IFNE�\NACOŒINCLUDEƒ&.XD615IOC.AI‚ENDC*‰PAGE<*************************************************************<*ƒIf�any�VME�625�boards�are�specified�in�SYSCMD,�include�the3* code to perform CCB allocations for those boards.* ‚IFNE‚\NDCO1‹INCLUDE„&.XD625IOC.AI‚ENDC*I***************************************************************************‰DC.L�0�END�OF�CCB'S‰DS.B†$10‡STACK�AREA STACK„EQU‡***ˆALLOCATE�CHANNEL*ALLBLKƒDC.B…XDCALL�COMMAND�CODE‰DC.B„0“COMMAND�SUB-CODE‰DC.B„0“RESERVED'‰DC.B…XOPEXC�OPTIONS�(EXCLUSIVE�ACCESS)‰DC.L„0“CHANNEL�MNEMONIC)‰DS.B„XIOALN+(2*XIOXLN)-XIOPRM†PARAMETERS‰DC.L„0“PRECAUTION*5*ˆWALK�CCB�CHAIN�AND�ALLOCATE�ALL�KNOWN�I/O�CHANNELS.**INIT…MOVE.L‚#STACK,A7‹SET�UP�STACK�POINTER,‰MOVE.L‚#IOSEG,A1…SET�UP�POINTER�TO�CCB�LIST‰TST.Lƒ(A1)ˆANY�TO�DO?‰BEQ.S�INIT40ˆBRANCH�IF�NO0‰MOVE.L‚#ALLBLK,A0ŠSET�UP�POINTER�TO�PARAM�BLOCK2INIT10ƒMOVE.W‚XCDBOPT(A1),XIOOPT-1(A0)‚GET�OPTIONS6‰MOVE.L‚XCDBAID(A1),XIOCID(A0)�SET�UP�CHANNEL�MNEMONIC3‰MOVEM.L�XCDBPRM(A1),D0-D5/A2-A4ƒPICK�UP�PARAMETERS=‰MOVEM.L�D0-D5/A2-A4,XIOPRM(A0)„MOVE�PARAMETERS�TO�PARAM�BLOC/INIT15ƒMOVE.L‚#XCCMR,D0‹SET�UP�DIRECTIVE�NUMBER‰TRAPƒ#1“ALLOCATE�CHANNEL)INIT17ƒMOVE.L‚XCDBPTR(A1),A1†GET�NEXT�CCB ‰TST.L�(A1)‰BNE.SƒINIT10ŽNOT�FINISHEDINIT40ƒERQ.TERM**ˆABORT* KILL…EQU…*'‰MOVEM.L�D0/A0,-(A7)‰SAVE�REG�D0�AND�A0‰ERQ.ABORT‚#0�ABORT�SELF‰PAGE ‰END…INITéO ééé*G*======================================================================*@* THIS IS THE CODE NEEDED TO SET UP A CCB FOR ONE MVME605 BOARD.*@* Add a CCB definition for each additional board in your system.@* An address for a second MVME605 board can be offset $100 bytes* from the first.=* For example, another MVME605 board could have an address of* \IOBASE+$1D01.A* Note that the memory mapped I/O address must be unique for eachB* board, must not conflict with any other board in the system, andB*�must�match�the�on-board�jumper�selections.‚Since�this�board�doesG* not generate interrupts it may be nice to choose the lowest interrupt5* level and software priority level for CCB chaining.*G*======================================================================*<*ˆSet�"DAC"�to�start�address�of�the�MVME605�driver�(obtained*’in�the�SYSGEN�process):0‰IFNE‚\NDAC1ˆassemble�if�have�any�MVME605�boardsDAC†EQU‡\DR605R*?*ˆSet�"DEVADD"�to�memory�mapped�I/O�address�for�this�DAC�board:DEVADDƒSET‡\IOBASE+$1E01*=*ˆSet�up�DAC�CCB's�(for�just�one�DAC�board,�in�this�example).*@ CDB XOPINH+XOPEXC,'DAC1',$80,254,DAC,0,DEVADD,31,INT1,LVL1,$50,&0,0,0,0,0,0,0,0,0,0,0‰ENDC**I***************************************************************************éé ë$éééé