IMD 1.17: 11/11/2014 11:34:56 82VKXSVRDOS B* VERSADOS/RMS68K SRC/OBJ 4.4 (NOT BOOTABLE) SN=49367 17 OF 30  SR17q82VKXSVRDOS 0420¤n-: ŠUSE�:.AŠ9998..COPYSGEN.CF�,, ŠWhere�-�system‹=�system�type�src_vol.‰=�source�volume �dest_vol.ˆ=�destination�volume.'�wrk_area_usr#„=�work�area�user�number.1�(Example:‚9998.VMES10.COPYSGEN.CF‚SYS,SYS,9100). ?‹NOTE:‚COPYSGEN�no�longer�automatically�copies�the�files�needed8’for�the�VME600�series�boards.‚Consult�the�COPYSGEN�file)’for�how�to�copy�the�VME600�series�files. D†3�-�Enter�"STD.SYSGEN.CF"�to�invoke�SYSGEN�(default�catalog�MUST�be(Šset�to�the�system�type�being�sysgened). CŠExample:�To�create�VMES10.VERSADOS.SY�for�the�VME/10�system,�enter“the�following: %‘USE�:.VMES10�(setup�default�catalog)&‘STD.SYSGEN.CFŽ(start�standard�sysgen) BŠThis�command�line�will�produce�VMES10.VERSADOS.SY,�sysgen�command=Šlistings�in�VMES10.SYSLIST.LS,�assembly�and�link�listings�in@ŠVMES10.SYSASML.LS,�and�a�cross-referenced�sysgen�symbol�listing>ŠVMES10.SYMBOLS.LS�under�your�sysgen�user�account�number.‚ThisAŠprocess�will�use�the�files�copied�to�your�user�number�in�step�2,  ŸNewsfile -�5�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85%…GENERATION�OF�PRODUCT�FILES¢08:00�AM  :Šincluding�all�equate�and�macro�definition�files.‚For�more =Šdetails,�list�the�file�&.SYSGEN.CF�and/or�consult�the�sysgenŠmanual. @ŠTo�create�a�VERSADOS.SY�without�the�SYSASML.LS�listing,�use�the2ŠNOLIST.SYSGEN.CF�chain�file�to�start�your�sysgen.  …2.2‚CREATING�UTILITIES DˆThe�ability�to�recreate�or�modify�the�utilities�is�provided�only‚onB…the‚source/object‚release.ƒThis‚can‚be�done�by�logging�on�as�userD…number�9997�and�invoking�the�appropriate‚assembly‚(.AF)‚chain‚files@…followed‚by‚the‚appropriate‚linkage‚(.LF)‚chain‚files‚for�thoseG…utilities�written�in�assembly�language.‚For�those�utilities�written�inD…Pascal,‚invoke‚the‚appropriate‚Pascal�compilation�(.AF)�chain�files7…followed�by�the�appropriate�linkage�(.LF)�chain�files. %†Example-�To�create�the�LIST�utility;!ˆ1�-�Type�"CHAIN�LIST.AF�LIST.LS"0Œ(The�output�will�be�the�load�module�LIST.RO�and Œthe�assembler�listing�LIST.LS).)ˆ2�-�Type�"NOARG"�to�reset�all�arguments.!ˆ3�-�Type�"CHAIN�LIST.LF�LIST.LL"0Œ(The�output�will�be�the�load�module�LIST.LO�andŒthe�link�map�LIST.LL).5ŒThe�load�modules�should�be�copied�into�user�number�0.Œafter�you�are�satisfied�with�their�operation.  …2.3‚CREATING�DRIVERS AˆThe�ability�to�recreate�or�modify�the�drivers‚is‚provided‚on‚theC…source/object‚release‚and‚on‚the�object�only�releases.‚This�can�be@…done�by�logging�on�as‚user‚number‚9992‚or‚9993‚and‚invoking‚theF…appropriate‚assembly�(.AF)�chain�files.‚Then�invoke�the�proper�sysgenB…for�your�system�if�you�want�to�use‚it.ƒSee‚the‚CREATING‚UTILITIESE…section‚above‚for‚an�example�of�the�procedure�to�use,�but�under�user…number�9992�or�9993.                 ŸNewsfile -�6�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…DOCUMENTATION°08:00�AM  …3‚DOCUMENTATION @ˆThe�following�tables�describe‚the‚revision‚of‚all‚documentation@…related‚to‚VERSAdos‚4.4.ƒThe‚/Dn‚at‚the�end�of�the�part�numbers?…represent�the�edition,�i.e.ƒD2‚would‚mean‚the‚2nd‚edition.ƒForG…current‚issues�of�manuals,�addendums,�and�general�Motorola�literature,…please�call�or�write�to: 5�Motorola�Literature�Distribution�Center‚602/994-6561�616�West�24th�Street�Tempe,�AZ‚85282�U.S.A. F…Some�documents�are�free�and�for�some�a�fee�is�charged.‚Please‚contactG…the�Literature�Distribution�Center�(LDC)�for�availability�and�pricing. †FURNISHED�WITH�VERSADOSD†-------------------------------------------------------------------‡PART�NUMBER‘DESCRIPTION‡-----------‘------------‡M68KDRVGD/D2�Guide�to�Writing�Device�Drivers ‡M68KLINK/D6‘M68K�Linkage�Editor$‡M68KMASM/D8‘M68K�Resident�Assembler5‡M68KRMS68K/D9�RMS68K�Real-Time�Multitasking�Software,‡M68KSDSS/D3‘Symbolic�Debug�Software�Sampler#‡M68KSYMBG/D3�SYMbug/DEbug�Monitors1‡M68KSYSGEN/D7�System�Generation�Utility�(SYSGEN)‡M68KSYSLET/L7�Customer�Letter(‡M68KVMSG/D3‘VERSAdos�Messages�Reference‡M68KVOVER/D5�VERSAdos�Overview%‡M68KEDIT/D8‘VERSAdos�CRT�Text�Editor‡M68KVSF/D6’VERSAdos�Facilities%‡MVDOSCARD/D2�VERSAdos�Reference�Card7‡MVDOSJMPRS/L1�Jumper�Configurations�for�VME400,�VME4105‡MVMECNFG1/D1�VMEmodule�Configuration�(VME101/VME315)1‡MVMEVDOS/D2‘VERSAdos�to�VME�Modules�Hardware�and¦Software�Configuration2‡RMS68KIO/D7‘VERSAdos�Data�Management�Services�and¦Program�Loader †FURNISHED�WITH�HARDWARED†-------------------------------------------------------------------4‡M68KMACS/D10�EXORmacs�Development�Systems�Operation1‡M68KVSOM/D2‘VME/10�Microcomputer�System�Overview/‡MVMCSM/D2“VMC�68/2�Series�Microcomputer�System!‡M68KRADDRV/D1�RAD1„Device�Driver!‡M68KRIODRV/D1�RIO1„Device�Driver ‡MVME3SW/D1’VME300‚Device�Driver$‡MVME435DRV/D2�VME435A�Device�Driver#‡MVME600DRV/D1�VME600‚Device�Driver#‡MVME605DRV/D1�VME605‚Device�Driver*‡MVME610DRV/D1�VME610/VME620�Device�Driver*‡MVME615DRV/D1�VME615/VME616�Device�Driver#‡MVME625DRV/D1�VME625‚Device�Driver  ŸNewsfile -�7�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…NEW�FEATURES±08:00�AM   …4‚NEW�SOFTWARE�COMPONENTS=†-�The�following�single�board�computers�(SBC),�microprocessor(ˆmodules,�and�systems�are�now�supported:.ŒVME115M,�VME120�series,�VME128,�VM04,�VME/12.6†-�The�following�new�software�drivers�have�been�added:ŒVME320,�VME435A,�VME600C†-�Source�for�all�drivers�has�been�included�on�the�object�releases.)†-�ROMable�I/O�subsystem�(IOS,�IOI,�FHS).E†-�New�CONFIG�utility�to�reconfigure�terminal�and�printer�parameters.C†-�New�CREF�utility�to�cross�reference�where�a�list�of�"symbols"�isˆused�in�a�list�of�filenames.F†-�New�SRCCOM�utility�to�compare�two�source�(text)�files�and�print�the ˆdifferences.  …5‚ANNOUNCEMENTSE†-�After�VERSAdos�4.4,�the�VM01�and�VM02�boards�will�not�be�supported&ˆin�future�VERSAdos�software�releases.F†-�After�VERSAdos�4.4,�the�minimum�VERSAdos�system�for�running�sysgensˆwill�be�512K�of�RAM.  …6‚MAJOR�SYSTEM�CHANGES …6.1‚RESTRICTIONSD†-�Use�of�the�VME420�SASI�disk�interface�board�is�only�guaranteed�toˆwork�on�a�VME110�system.@†-�Use�of�the�VME315�disk�controller�board�is�not�supported�on�aˆVME115M�system.C†-�The�old�VME435�Mag�Tape�controller�board�is�no�longer�supported.E†-�The�VME435A�Mag�Tape�controller�board�is�not�supported�by�the�COPYˆor�BACKUP�utilities.B†-�On�the�VM04,�only�24-bit�address�support�is�currently�available2ˆand�memory�management�is�not�currently�supported.A†-�The�VM01�and�VME/10�(keyboard/screen)�are�not�ROMable�systems.B†-�For�VM04�users,�VERSAdos�4.4�requires�version�2.0�(or�later)�ofˆ020bug�for�proper�operation. …6.2‚DELETIONS-†-�Secondary�map�support�has�been�eliminated. …6.3‚TERMINAL�CONTROL�CHARACTERSF†-�The�pause�output�character�has�been�changed�to�CTRL-S�(was�CTRL-W).F†-�The�reprint�line�character�has�been�changed�to�CTRL-Z�(was�CTRL-S). …6.4‚RMS68KF†-�Now�supports�the�concept�of�Real-Time�tasks�to�support�the�require-Aˆments�of�real-time�applications.‚It�includes�several�new�direct-@ˆives.‚Real-Time�tasks�are�more�"trustworthy"�than�non-Real-TimeBˆtasks,�i.e.‚the�exec�will�not�perform�rigorous�parameter�checkingˆfor�a�Real-Time�task.B†-�Bit�7�of�the�attributes�mask�has�been�assigned�as�the�real-timeAˆtask�attribute�bit.‚Previously,�this�bit�was�reserved.‚Users�who&ˆload�their�own�tasks�may�be�affected.  ŸNewsfile -�8�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…NEW�FEATURES±08:00�AM  /†-�ASQ�message�passing�is�significantly�faster.,†-�Task�dispatching�is�significantly�faster.;†-�Saving�and�restoring�the�task�state�has�been�speeded�up.F†-�Timer�routine�has�been�internally�improved�to�enable�the�dispatcher@ˆto�run�faster�and�to�allow�periodic�activation�to�function�in�aˆmore�predictable�manner.D†-�MC68020�support�has�been�added�for�VM04�(24-bit�addressing�only).  …6.5‚I/O�SUBSYSTEMF†-�EET,�FMS,�IOS/FHS,�and�LDR�can�be�easily�included�or�excluded�via�aˆswitch�in�VERSAdos�sysgens.  …6.6‚UTILITIES >ˆThe�utility�paragraphs�that�follow�are�intended�to�be�a�brief:ˆdescription�only.‚For�further�details�please�refer�to�the2ˆfollowing�manuals�from�the�documentation�section: <ŠM68KVSF,�M68KEDIT,M68KSYSGEN,�M68KSYMBG,�M68KMASM,�M68KLINK ?†-�All�utilities�were�checked�and�changed�where�necessary�to�beAˆposition�independent�to�avoid�the�illegal�PC�relative�addressingAˆmode.‚This�is�apparent�when�using�a�VME120�family�board�with�the<ˆcache�enabled.‚For�an�explaination�of�this�problem,�see�the:ˆsection�labeled�"VME120�&�VME128"�under�"STATUS�BY�NAME". …6.6.1‚COPY:?†-�Copy�utility�now�accepts�the�family�character�(*)�as�well�as?ˆmultiple�files�in�the�input�field�so�file�concatenation�can�beˆdone. …6.6.2‚CONFIG:6†-�New�utility�to�configure�terminal�or�printer�ports. …6.6.3‚CREF:G†-�New�utility�to�generate�a�cross�reference�listing�by�using�a�list�ofCˆsymbols�to�search�for�and�a�list�of�filenames�to�search�within�forˆthose�symbols. …6.6.4‚INIT: F†-�Now�takes�advantage�of�the�alternate�sector�capability�of�the�RWIN1ˆand�VM22�disk�controllers. …6.6.5‚IPL:5†-�Now�does�disk�retries�when�errors�are�encountered.D†-�Error�messages�will�be�displayed�on�the�system�terminal,�assumingDˆthe�firmware�debugger�provides�a�TRAP�15�capability�to�support�userDˆterminal�I/O�and�the�terminal�is�used�(as�opposed�to�panel�buttons)ˆto�initiate�the�boot�process.     ŸNewsfile -�9�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…NEW�FEATURES±08:00�AM  …6.6.6‚LINK:@†-�New�PAGESIZE�command�added�to�specify�the�page�size�of�a�loadˆmodule.8†-�Added�new�"R"�attribute�to�designate�Real-Time�tasks. …6.6.7‚REPAIR:A†-�The�REPAIR�command�now�allows�for�deletion�of�unused�directoryˆblocks.7†-�The�prompt�questions�have�been�reworded�for�clarity.!†-�Help�displays�have�been�added. …6.6.8‚SRCCOM:E†-�New�utility�to�compare�the�ASCII�source�text�between�two�files�andˆoutput�the�differences�found. …6.6.9‚SYSGEN:>†-�New�attributes�added�to�indicate�Real-Time�tasks�and�systemˆcritical�tasks.$†-�Nested�INCLUDE�files�now�allowed.B†-�Errors�reported�can�easily�be�found�in�the�listing�file�via�the<ˆCRT�Editor's�FIND�command�by�use�of�a�unique�sentinal�(%%).B†-�Sysgen�command�files�have�been�restructured�to�make�sysgens�andˆdriver/board�inclusion�easier.C†-�Added�a�new�option�(;C)�to�create�a�cross-reference�symbol�table=ˆintermediate�file�which�is�used�by�the�post-sysgen�processorˆdescribed�below.?†-�Added�a�post-sysgen�processor�to�print�a�symbol�table�of�all!ˆparamters�used�and�their�values. …6.6.10‚TRANSFER:@†-�Provides�easier�capability�to�transfer�files�to�DEC�computersˆrunning�either�UNIX�or�VMS.  …6.7‚DISK-RESIDENT�DIAGNOSTICS>†-�Now�works�with�the�new�2.0�version�of�the�MCCM�firmware,�asˆwell�as�the�old�version.                   ŸNewsfile -�10�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7‚STATUS�BY�NAME A…The�following�is�an�alphabetical‚list‚of‚status‚by‚name‚for‚thisD…release‚of‚VERSAdos.ƒUnder�each�name�where�changes�have�occurred�orC…SPRs�(Software�Problem�Reports)‚exist,‚are‚listed‚the‚ENHANCEMENTS"…MADE,�BUGS�FIXED,�and�KNOWN�BUGS.  B‡NOTE:�1.‚Items�under�"BUGS�FIXED"�may�be�written�in�a�style�which7�indicates�it�is�fixed�or�which�just�simply�states�what5�the�problem�is.‚In�either�case,�the�problem�has�been�fixed.;�2.‚Where�applicable,�Software�Problem�Report�(SPR)�numbers6�have�been�included�for�easier�trackability.‚Since�SPR2�numbers�are�issued�sequentially�for�all�of�Micro-2�system's�products,�the�numbers�shown�here�are�not �sequential.:�3.‚Some�problems�are�listed�under�multiple�headings�where5�it�was�deemed�important�to�inform�the�user�directly.   …7.1‚0.PRIV.UPSYSTEM.CF ˆBUGS�FIXED: Œ-�SPR�#511�-9ŽThis�file�will�now�make�user�0�valid�which�will�create�a+Ž0.PRIV.ACCOUNT.PW�file�if�it�doesn't�exist ˆKNOWN�BUGS:Œ-�None.  …7.2‚ACCT�(ACCOUNTING) ˆKNOWN�BUGS: Œ-�SPR�#627�-<ŽThe�accounting�system�can�not�handle�two�sessions�using�the7Žsame�user�number.‚The�amount�of�time�used�by�the�first6Žsession�is�lost�when�the�2nd�begins�or�when�the�firstŽsession�is�terminated.Œ-�SPR�#1225�-<ŽWhen�the�hours�usage�gets�large�(over�2�digits),�a�"q"�gets5Žprinted�before�the�hours�usage.‚Occurs�in�individual&Žusage�and�total�system�usage�columns.  …7.3‚ACIADRV ˆBUGS�FIXED:Œ-�SPR�#280�&�#1136�-:ŽIf�you�entered�a�line�and�hit�CTRL-X�to�cancel�it�without7Žany�other�input,�the�terminal�"hangs"�when�the�timeout Žcompletes.Œ-�SPR�#384�&�#402�-:ŽWhen�an�assembly�is�done�concurrently�with�an�edit,�a�lot8Žof�DATA�OVERRUNS�occur�and�the�editor�hangs�up�for�good  ŸNewsfile -�11�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Ž(on�DEBUG�ports). Œ-�SPR�#739�- 4ŽCTRL-C�is�now�recognized�as�a�BREAK�equivalent�key. Œ-�SPR�#886�-2ŽNow�handles�BREAK�transmission�in�DEBUG�properly.2Œ-�Missing�BREAKs�while�logging�on�has�been�fixed.=Œ-�If�a�device�connected�to�either�local�port�on�the�EXORmacs7Žuses�DCD,�it�could�cause�both�serial�ports�to�lock�up. ˆKNOWN�BUGS:Œ-�None.  …7.4‚ASM�1.8 ˆKNOWN�BUGS: Œ-�SPR�#174�-;ŽInconsistencies�exist�in�the�code�generation�for�literals:‘DC.B‚'A'‡MOVE.B�'A',D0‘DC.W‚'A'‡MOVE.W�'A',D0‘DC.L‚'A'‡MOVE.L�'A',D0 Œ-�SPR�#277�-9ŽThe�instruction�BTST�#data,#data�is�illegal�and�not�exe-4Žcuted�on�the�M68000.ƒThe�assembler�should�flag�this$Žcase�as�an�illegal�addressing�mode. Œ-�SPR�#318�-5ŽA�phasing�error�is�generated�on�the�incorrect�input:/“"MOVE.L‚A5-A6,-(A7)"�or�"MOVE.L‚A1-A2,12(A0)". Œ-�SPR�#414�-7ŽTyping�'ASM'�yields�the�"read�past�end�of�file"�error,6Žwhich�is�an�internal�assembler�error.‚It�shouldn't�doŽthis. Œ-�SPR�#430�-7ŽA�constant�greater�than�32�bits�results�in�an�internal0Žassembler�error�yielding�unpredictable�results. Œ-�SPR�#441�-;ŽThere�is�no�way�to�specify�absolute�short�or�long�address-8Žing�at�the�instruction�level.‚Users�can�get�warning�551;Ž(This�absolute�address�could�be�short),�but�have�no�way�toŽfix�it. Œ-�SPR�#450�-8ŽThe�assembler's�structured�syntax�statements�are�blank-Žsensitive.‚For�example, “IF.B�#'�'��D0 5Žis�not�handled�properly�due�to�the�existence�of�'�',$Žwhich�is�not�interpreted�correctly. Œ-�SPR�#452�-=ŽAnything�past�a�THEN�or�ELSE�in�structured�syntax�is�treated Žas�comment. Œ-�SPR�#475�-=ŽDS.B�with�a�negative�size�should�be�flagged�as�an�error.‚The*Žsame�is�true�of�DCB�with�a�negative�size.   ŸNewsfile -�12�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Œ-�SPR�#611�-;ŽLabels�defined�by�the�REG�directive�with�a�single�register:Žspecified,�later�generate�invalid�code�for�MOVEM�instr's. Œ-�SPR�#680�-9ŽRelocatable�expressions�containing�illegal�operations�doŽnot�generate�error�messages. Œ-�SPR�#794�-9ŽPaging�on�the�symbol�table�listing�does�not�occur�if�the4Žassembly�finishes�with�the�NOLIST�option�in�effect. Œ-�SPR�#826�-;ŽUse�of�the�BCHG�op�code�using�an�XREF�operand�causes�error3Ž302�to�occur.‚The�BCLR�op�code�with�XREF�works�ok. Œ-�SPR�#827�-<ŽFiles�assembled�with�both�the�D�and�-L�command�line�options9Žcreate�different�.DB�files�if�only�the�D�option�is�used. Œ-�SPR�#836�-3ŽBy�itself,�parameter�'�0'�does�not�work�in�a�macro Žexpansion. Œ-�SPR�846�-8ŽInstead�of�generating�errors�the�following�program�onlyŽgenerated�phasing�errors:›MOVE.W„CCR,D7‘XYZ‡NOP›END Œ-�SPR�#864�-<ŽUndefined�symbols�aren't�listed�in�the�symbol�table�listing#Žat�the�end�of�an�assembly�listing. Œ-�SPR�#883�-<ŽAny�data�after�the�END�directive�results�in�data�being�lost*Žat�the�beginning�of�the�assembly�listing. Œ-�SPR�#919�->ŽWhenever�the�FRS�directive�is�in�effect,�the�following�has�no!Žeffect�and�results�in�error�252:›LEA.L…ADDR,A0 Œ-�SPR�#934�->ŽA�false�error�is�generated�whenever�a�macro�is�defined�withinŽconditional�assembly.Œ-�SPR�#1025�--ŽThe�following�results�in�errors�202�and�213:"›MOVE.L„((L1-XREF+L2).W),23456(A0)Œ-�SPR�#1065�--ŽA�huge�.RO�file�is�created�by�the�following: ›DC,B†'AB'Œ-�SPR�#1088�-6ŽAssembler�generated�labels�don't�appear�to�be�working7Žcorrectly�as�error�235�is�generated.‚Additionally,�BEQ/Ždoesn't�appear�to�generate�the�correct�binary.Œ-�SPR�#1089�-ŽThe�legal�program ›REPEAT ›CLR.L…D0›UNTIL…D0��#1›END  ŸNewsfile -�13�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM   ,Žhas�errors�detected�in�it�by�the�assembler.Œ-�SPR�#1096�-;ŽIf�the�name�of�a�macro�defined�within�an�INCLUDE�directive8Žfile�is�the�same�as�the�name�of�an�EQUated�symbol,�thenŽerror�236�is�generated.Œ-�SPR�#1106�-=ŽIf�the�name�of�an�EQUated�symbol�is�redefined�as�a�label�for<Žanother�instruction,�then�a�case�index�out�of�range�results .Žinstead�of�a�"multiply�defined�symbol"�error.Œ-�SPR�#1123�-=ŽWhy�is�there�an�"exclusive�or"�function�for�the�M6800�family6Žof�cross�assemblers,�but�not�for�the�M68000�family�of Žassemblers?Œ-�SPR�#1168�-=ŽPhasing�errors�are�generated�when�forward�references�involveŽthe�REG�directive�as�in:›MOVEM.L„RTEREGS,-(SP)›...‘RTEREGSƒREGˆD0/D16ŽNo�phasing�errors�are�generated�if�the�above�order�is Žreversed.Œ-�SPR�#1218�-=ŽCreation�chain�files�all�assume�that�the�default�disk�volume;Žis�'FIX'.‚Most�customers�have�'SYS'�as�the�default�volume.<Œ-�The�assembler�generated�XDEF�references�for�a�relocatable8Žsection�which�hadn't�been�defined.‚The�resulting�object5Žmodule�was�unacceptable�to�the�Linker,�causing�it�to9Žproduce�internal�error�800.ƒThe�assembler�should�produce5Žan�error�message�warning�that�labels�declared�within9Žrelocatable�sections�of�length�0�can�yield�unpredictableŽresults�at�link�time.Œ-�The�following�code�sequence ›DC.Bƒ((A-B)&$FF00)>>8“L1†NOP“A‡EQU„*#˜�4¡'¥ ©0­±%µ ¹$½$Á#Å ÉÍÑ+ÕÙÝ"á"åéíñ(õù#ý  + % 0Žwhere�B�is�undefined,�generates�phasing�errors.Œ-�The�following�code�sequence ›ORG„0 “BASE„EQU„*›JMP„BASE(A1.W)“L3†NOP Žgenerates�phasing�errors.<Œ-�When�using�the�cross-reference�facility,�macro�names�show;Ž(incorrectly)�an�occurrence�of�the�macro�name�at�the�first+Žline�where�cross-referencing�is�in�effect.      ŸNewsfile -�14�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ;Œ-�ASM�listings�with�cross�reference�have�extra�entries�for Žmacro�names.Œ-�The�following�code�sequence ›OPT‡BRS ›BRA‡NO_SUCH 1Žcauses�phasing�errors�when�NO_SUCH�is�undefined.8Œ-�Structured�syntax�does�not�allow��as�a�relational9Žoperator�but�BLO�is�a�valid�branch.‚The�same�is�true�forŽ.Œ-�Programs�such�as ›XDEF†LAB ›SECTIONƒ15›DS.B†10 “LAB…EQU‡*›END :Žput�LAB�outside�of�section�boundaries,�causing�the�linkerŽto�give�an�internal�error.Œ-�In�the�construct ›SECTIONƒ9“TRIPLƒEQU‡$4000›BRA‡TRIPL-TRIP9+*›NOP “TRIP9ƒEQU‡* 8Žthe�expression�TRIPL-TRIP9+*�is�incorrectly�detected�as Žillegal.<Œ-�INCLUDE�directives�are�not�listed�in�ASM�listings.‚Having6Žthem�would�make�the�listing�much�more�understandable.=Œ-�Single�character�literals�generate�different�code�for�DC.LŽand�MOVE.L�instructions.>Œ-�Whenever�PC-relative�addressing�is�erroneously�used�between%Žsections,�only�phasing�errors�occur.@Œ-�'ASM‚\1,�\2,�\3'�can�result�in�\1,�\2,�or�\3�being�deleted�if%Žexplicit�extensions�aren't�included.@Œ-�The�long�form�of�the�absolute�address�is�being�generated�when1Žthe�short�form�was�requested�and�possible�as�in:œOPT…FRS œTST.BƒZZZ ’ZZZ‡DS.B„8 œTST.BƒZZZœEND>Œ-�'HS'�and�'LO'�are�not�allowed�in�structured�constructs�suchŽas:†IF‚D2‚‚D3‚THEN:Œ-�An�error�is�not�detected�in�the�following�illegal�code:“MOVEM.L‚A0-12/D0,-(A7)      ŸNewsfile -�15�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ?Œ-�In�the�following�it�is�reported�that�'BRA.L‚DUMMY2'�could�be%Žshort,�yet�the�displacement�is�zero: œSECTION…1 œBRA.S‡DUMMY œSECTION…2 œBRA.L‡DUMMY2 “DUMMY„EQU‰* œSECTION…2 “DUMMY2ƒEQU‰*?Œ-�If�the�structured�constructs�IF�or�ENDI�begin�in�column�1�of-Žthe�source�file,�then�error�238�is�reported.4Œ-�The�BRA�instruction�doesn't�allow�a�.W�size�code.  …7.5‚BACKUP:ˆENHANCEMENTS�ADDED:Œ-�The�help�option�was�added.<Œ-�Decimal�value�of�the�sector�number�will�be�displayed�when"Žprinting�differences�in�a�sector. ˆBUGS�FIXED: Œ-�SPR�#711�-<ŽThe�verify�command�now�works�correctly�when�bad�sectors�are Žencountered.Œ-�SPR�#897�&�#1157�->ŽFixed�so�the�BACKUP,�DIR,�DUMP,�and�INIT�commands�on�a�system>ŽSYSGENed�for�more�tha n�25�random�devices�will�no�longer�abort=Žwith�a�BUFFER�OVERFLOW�message.‚The�buffer�can�now�handle�upŽto�100�random�devices. Œ-�SPR�#951�-9ŽThe�command�"BACKUP�,,#PR"�was�fixed�to�do�a�backup�from+Ž#HD00�to�#HD01�as�described�in�the�manual.?Œ-�BACKUP�no�longer�"hangs"�if�the�drive�door�was�opened�duringŽa�backup�with�continue�option.@Œ-�BACKUP�no�longer�aborts�when�a�command�such�as�"BACKUP�#FD04" Žis�issued.<Œ-�When�doing�a�backup�with�5-1/4"�floppies,�the�default�was1Žfile-by-file.‚The�default�is�now�track-by-track. ˆKNOWN�BUGS:Œ-�None.  …7.6‚BATCH ˆBUGS�FIXED:Œ-�SPR�#1097�-=ŽFixed�so�a�batch�job�will�no�longer�abort�due�to�a�bus�error9Ževen�though�the�actual�problem�was�an�ASM�error�inside�a ŽCHAIN�file. ˆKNOWN�BUGS:Œ-�None.    ŸNewsfile -�16�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.7‚BUILDS ˆKNOWN�BUGS:Œ-�SPR�#1223�-<ŽExecuting�BUILDS�on�a�non-existent�file�results�in�an�abort Žprintout.  …7.8‚CHAIN ˆBUGS�FIXED: Œ-�SPR�#540�-:ŽFixed�an�error�in�IF/ELSE�logic�which�could�cause�a�chain:Žfile�to�prematurely�exit�from�the�skip�mode�during�nestedŽIF�statements. ˆKNOWN�BUGS:Œ-�SPR�#1149�-:ŽBit�tests�on�the�pseudo�registers�under�CHAIN�do�not�work0Žfor�inequality.‚"=/IF�RD(15)�=�1"�works�ok,�but"Ž"=/IF�RD(15)�<>�1"�does�not�work.  …7.9‚CONFIGŒ-�SPR�#1256�-?ŽOn�a�VM03�system,�the�system�will�hang�if�you�try�to�configure5ŽCN01�from�CN00�after�already�configuring�CN00�first.  …7.10‚CONNECT ˆBUGS�FIXED:>Œ-�CONNECT�would�allow�users�to�connect�to�their�own�terminal.%ŽThe�new�version�will�not�allow�this. ˆKNOWN�BUGS:Œ-�SPR�#1221�-=ŽCONNECT�utility�terminates�in�two�unacceptable�ways:‚1)�When?Žconnected�to�another�VERSAdos�system�and�CTRL-V�is�entered,�it7Žappears�to�do�nothing,�but�in�reality�is�disconnected.<Ž2)�When�connected�to�another�system�(VERSAdos)�that�we�just<Žlogged�off�from,�all�you�get�is�a�prompt�(=)�and�no�message Žsaying�DISCONNECTED�FROM�#CNXX.Œ-�SPR�#1261�-,ŽCONNECT�does�not�work�on�MCCM�(VM30)�ports.Œ-�SPR�#1281�-<ŽCONNECT�on�a�VME101�local�terminal�port�does�not�respond�to=Žthe�BREAK�key.‚All�other�characters�are�transferred�success-Žfully.  …7.11‚COPYˆENHANCEMENTS�ADDED: Œ-�SPR�#809�-:ŽWildcard�(*)�copies�to�concatenate�files�are�now�allowed.<ŽMultiple�input�files�may�be�specified�if�separated�by�'/'s.   ŸNewsfile -�17�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ˆBUGS�FIXED: Œ-�SPR�#874�->ŽUsing�the�verify�only�option�(;V)�on�a�family�of�files�in�two=Ždifferent�catalogs�gives�incorrect�number�of�files�verified.!ŽIt�is�1�less�than�what�is�shown.Œ-�SPR�#1035�-7ŽComparing�ASCII�files�that�contained�binary�data�would;Žproduce�a�Buffer�Overflow�message,�but�if�they�were�copied5Žfirst�and�then�compared,�it�would�function�properly.Œ-�SPR�#1076�&�#1153�-5ŽWhen�using�the�verify�option�(;V)�on�two�files�which9Ždiffer�only�in�one�line�by�the�line�length,�COPY�reports#Žthe�error�on�all�subsequent�lines. ˆKNOWN�BUGS:Œ-�SPR�#1144�-;ŽIn�the�FAB�segment�descriptor,�differences�between�the�key<Žof�the�last�record�of�the�data�block�are�not�flagged�by�theŽverify�option�(;V).Œ-�SPR�#1226�-:ŽWhen�the�no�overwrite�option�(;N)�is�used�and�some�of�the8Žfiles�exist�in�the�destination�directory,�COPY�gives�no,Žindication�which�files�actually�got�copied.  …7.12‚DEBUG ˆKNOWN�BUGS: Œ-�SPR�#962�-8ŽWhen�using�the�DE�command,�it�asks�"PR�echo�(Y�or�N):".4ŽEntering�a�"Y"�will�crash�DEBUG�with�an�8010�error.  …7.13‚DIRˆENHANCEMENTS�ADDED:?Œ-�Changed�DIR�so�instead�of�displaying�".."�for�a�NULL�catalog:Žit�will�display�".&.".‚So�far,�only�DIR�has�been�upgraded Žto�do�this.<Œ-�A�Help�option�was�added�which�displays�command�syntax�andŽvalid�options. ˆBUGS�FIXED:Œ-�SPR�#897�&�#1157�->ŽFixed�so�the�BACKUP,�DIR,�DUMP,�a nd�INIT�commands�on�a�system>ŽSYSGENed�for�more�than�25�random�devices�will�no�longer�abort=Žwith�a�BUFFER�OVERFLOW�message.‚The�buffer�can�now�handle�upŽto�100�random�devices. ˆKNOWN�BUGS:Œ-�SPR�#1137�-:ŽEntering�"DIR�:::::::::::::::::"�works.‚It�should�give�anŽerror�message.Œ-�SPR�#1268�-;ŽIf�the�user�does�a�DIR�on�the�alternate�disk�of�a�VM22�and:Žboth�disks�are�write-protected,�the�DIR�will�work�the�1st  ŸNewsfile -�18�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  8Žtime.‚Any�subsequent�disk�commands�will�result�in�an�E4;Žmessage�from�the�session�controller,�and�EMH�will�issue�an&ŽUNABLE�TO�ASSIGN�ERRORMSG.SY�message.  …7.14‚DMTˆENHANCEMENTS�ADDED:AŒ-�DMT�would�cause�a�BUFFER�OVERFLOW�if�you�had�more�than�20�disk<Ždevices�in�VERSAdos.‚The�value�was�raised�from�20�to�50�forŽthe�fetch�device�mneumonics. ˆKNOWN�BUGS:Œ-�None.  …7.15‚DRIVERS�(GENERAL) ˆBUGS�FIXED:Œ-�SPR�#1178�-=ŽDue�to�the�printer�driver�design,�the�system�could�"hang"�if;ŽACK�is�received�between�the�time�polling�starts�and�inter-<Žrupts�are�enabled�(stack�grows).‚This�was�only�noticed�when;Žusing�an�Epson�RX80�printer.‚All�printer�drivers�have�been Žcorrected.Œ-�SPR�#1084�-:ŽThe�&.VERSADOS.CD�file�parameters�PCP$REC�and�PCP$LRL�for>Žprinters�now�function�correctly.‚Previously�the�printer�wouldŽalways�default�to�132�columns. ˆKNOWN�BUGS:Œ-�None.  …7.16‚DUMP ˆBUGS�FIXED:Œ-�SPR�#897�&�#1157�->ŽFixed�so�the�BACKUP,�DIR,�DUMP,�and�INIT�commands�on�a�system>ŽSYSGENed�for�more�than�25�random�devices�will�no�longer�abort=Žwith�a�BUFFER�OVERFLOW�message.‚The�buffer�can�now�handle�upŽto�100�random�devices.=Œ-�Fetch�Device�Mnemonics�call�had�a�buffer�too�small�for�the=Žnumber�of�random�access�devices�sysgened�for�the�very�large,Žheavily�used�systems. ˆKNOWN�BUGS:Œ-�SPR�#1251�-?ŽDumping�a�file�results�in�an�EOF�error�message�when�the�end�ofŽthe�file�is�reached.  …7.17‚DUMPANAL ˆBUGS�FIXED:Œ-�SPR�#1036�-9ŽDUMPANAL�would�not�work�(returns�with�disk�error)�if�the8Žuser�INITed�the�disk�with�too�small�of�a�dump�area.‚The  ŸNewsfile -�19�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  :Ždocumentation�for�INIT�is�being�expanded�to�explain�this. ˆKNOWN�BUGS:Œ-�None.  …7.18‚EDIT�(E.LO)ˆENHANCEMENTS�ADDED:Œ-�SPR�#1162�-?ŽAdded�automatic�line�number�display�of�the�current�line�in�the4Žfunction�key�prompt�area�(display�lines�23�and�24). ˆBUGS�FIXED:Œ-�SPR�#384�&�#402�-=ŽWhen�an�assembly�is�done�concurrently�with�an�edit,�a�lot�of9ŽDATA�OVERRUNS�occur�and�the�editor�hangs�up�for�good�(on$ŽDEBUG�ports).‚(ACIA�driver�problem) Œ-�SPR�#395�->ŽSometimes�placing�a�character�in�the�79th�column�(screen�col-=Žumn�80)�will�cause�the�78th�column�to�be�blanked�out.‚Retyp-0Žing�the�character�will�get�around�this�problem. Œ-�SPR�#850�-.ŽEntering�"F�*-1"�no�longer�aborts�the�editor.Œ-�SPR�#1028�-?ŽEntering�a�CHANGE�command�with�a�line�number�range�and�nothing=Želse�(e.g.,�"C�7")�no�longer�causes�the�editor�to�abort�withŽTASKDUMP?�and�keyboard�lockup.Œ-�SPR�#1071�-:ŽThe�correct�line�number�is�now�outputted�after�an�attempt!Žto�change�a�non-existent�string.Œ-�SPR�#1075�-<ŽFixed�horizontal�range�problem�when�used�with�FIND�command.Œ-�SPR�#1147�->ŽFixed�crash�problem�when�the�EXTEND�command�is�used�on�a�fullŽrecord.@Œ-�Fixed�to�come�up�in�SCROLL�MODE�if�the�logon�port�is�properly+Žconfigured�as�a�non-EXORterm�155�terminal.>Œ-�Fixed�the�MERGE�command�so�it�will�work�when�no�volume�name Žis�given.8Œ-�Fixed�the�SAVE�and�MERGE�commands�so�they�will�acceptŽlower�case�text.?Œ-�Fixed�so�the�LINE�command�will�work�with�large�line�numbers.=ŽValues�greater�than�655,360�caused�non-numeric�characters�toŽbe�generated. ˆKNOWN�BUGS: Œ-�SPR�#804�-8ŽUsing�two�different�STAB�commands�to�set�tabs�will�only 0Ždisplay�the�first�set�of�tabs�(line�mode�only). Œ-�SPR�#815�-;ŽThe�FIND�command�can�not�find�strings�preceded�by�multiple9Žblanks�at�the�end�of�the�line�if�only�1�space�is�used�toŽpreceed�the�string.   ŸNewsfile -�20�-   …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Œ-�SPR�#843�-=ŽIn�line�mode,�a�"F�/target/A"�command�concatenates�the�lines.Žacross�the�page�for�lines�with�79�characters. Œ-�SPR�#927�-=ŽThe�editor�does�not�recognize�a�RANGE�command�in�the�form�of'Ž"R�*-".‚It�responds�with�"WHAT?". Œ-�SPR�#993�-=ŽForgeting�to�use�the�line�mode�option�(;L)�when�invoking�the<Žeditor�on�a�port�configured�for�direct�connect�and�EXORterm>Ž155�but�using�a�foreign�terminal�instead�will�"hang"�the�edit Žsession.Œ-�SPR�#1015�->ŽWhen�editing�a�file�with�the�no�changes�option�(;K),�the�file=Ždate�is�being�updated�to�indicate�that�the�file�has�changed.'ŽAffects�using�BACKUP�with�date�ranges.Œ-�SPR�#1146�-<ŽOverflowing�the�extract�buffer�with�either�an�AMOVE�or�ADUP9Žcommand�results�in�the�entire�extract�buffer�being�lost.Œ-�SPR�#1151�->ŽAttempting�to�edit�a�file�on�a�write�protected�device�results;Žin�an�OPEN�ERROR�message.‚A�more�descriptive�error�messageŽwould�be�better.Œ-�SPR�#1267�-;ŽThe�DELETE�key�("DEL")�functions�differently�on�the�VME/108Žand�on�the�EXORterm�155.‚On�the�VME/10,�it�replaces�the9Žcharacter�to�the�left�of�the�cursor�with�a�blank.‚On�the=ŽEXORterm�155,�it�moves�the�cursor�left�one�position,�deletes7Žthe�character�there�and�moves�the�rest�of�the�line�one9Žposition�to�the�left�to�fill�the�void.‚A�space�fills�the:Žlast�character�position�of�the�line.‚The�EXORterm�versionŽis�the�correct�operation.  …7.19‚EET�(ENTRY/EXIT�TASK) ˆKNOWN�BUGS: Œ-�SPR�#844�-=ŽSTOP�ALL�tries�to�stop�task�ALL�instead�of�all�tasks�when�in;Žuser�number�0.‚User�must�issue�individual�STOP�commands�by,Žsession�number�until�all�tasks�are�stopped.Œ-�SPR�#1058�-<ŽLogging�on�with�2�users�already�on�can�cause�"ER:�NO�CHANGE:ŽTO�DEFAULT�VOLUME"�error�message�to�occur�when�the�actual&Žproblem�is�insufficient�system�space.Œ-�SPR�#1082�-=ŽThe�priority�specified�via�a�PRIORITIES�command�at�LINK�time:Žis�ignored�by�EET/SCT�and�the�LOADER.‚SCT�sets�the�loader9Žoption�bits�to�use�the�caller�supplied�initial�priority.Œ-�SPR�#1100�-<ŽEET�substitution�doesn't�work�correctly�for�file�names�with"Žthe�null�("&")�catalog�specified.      ŸNewsfile -�21�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  !…7.20‚EMH�(ERROR�MESSAGE�HANDLER)ˆENHANCEMENTS�ADDED:?Œ-�Changed�the�internal�message�from�'UNABLE�TO�READ�KEY�VALUE'9Žto�'NO�ERROR�MESSAGE�AVAILABLE'�when�the�specified�error"Žcode�is�not�found�in�ERRORMSG.SY. ˆBUGS�FIXED: Œ-�SPR�#341�-7ŽIf�you�run�out�of�disk�space�(e.g.,�COPY�command),�the4Žvery�cryptic�error�message�"CD"�has�been�changed�toŽ"DISK�SPACE�FULL". ˆKNOWN�BUGS:Œ-�None.  …7.21‚EXORMACS ˆKNOWN�BUGS:Œ-�SPR�#1125�-<ŽThe�MPU�diagnostic�will�hang�if�there�is�no�memory�jumperedŽfor�the�secondary�memory�map. 4‡NOTE:�1.‚Notes�for�Sysgening�on�EXORmacs�with�384K: >ˆWhen‚running‚on‚an‚EXORmacs‚with‚384K‚of�memory�and�using�theF…standard�boot�file�received�with�VERSAdos�4.4,�special�action‚must‚be&…taken�to�avoid�running�out�of�memory. ?ˆThe‚standard‚boot‚file‚for‚an‚EXORmacs�system�is�sysgened�as�aC…multi-user�hard�disk�system�(6�users).ƒThis‚VERSAdos‚requires‚moreH…memory�to�run�than�a�system�sysgened�for�fewer�than�6�users�or�one�thatF…is�sysgened�for�fewer�devices.‚For�this�reason,�it�is�not�possible‚toE…sysgen‚under‚the‚'as-shipped'�VERSAdos�using�the�standard�chain�fileB…(9998.STD.SYSGEN.CF)�without�running�out‚of‚memory‚on‚some‚of‚theC…assemblies‚requiring‚a‚large‚'Z'�option.‚Systems�with�512K�or�more#…memory�will�not�have�this�problem. >ˆTo�sysgen�on‚a‚384K‚EXORmacs‚using‚the‚'as-shipped'‚VERSAdos,…perform�the�following�steps: :‰1.‚Remove‚the�V M20�(floppy�disk�controller)�board�and�the2ŒVM30‚(MCCM)‚board‚(if‚present)‚from‚your‚EXORmacs4Œsystem.ƒThis‚is‚necessary‚to�prevent�extra�RAM�from7Œbeing�used�which�would�normally�be�required‚to‚supportŒthese�boards. 8‰2.‚Reboot‚your‚system,‚log�on�and�invoke�the�chain�file7Œ9998.EXORMACS.COPYSGEN.CF�just�as�for�a�normal�sysgen. ;‰3.‚Invoke�the�STD.SYSGEN.CF�chain�file�and�observe�the�log$Œmessages�that�appear�on�the�screen. 6‰4.‚When‚the‚message‚'Beginning‚pass‚1'�appears�on�the9Œscreen,�abort�the�sysgen�process�by�depressing�the�BREAK  ŸNewsfile -�22�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  8Œkey.‚At�this�point�all�of�the�sysgen�required�arguments$Œhave�been�set�up�by�the�chain�file. 6‰5.‚Manually�invoke�sysgen�by�keying�in�the�following:”=SYSGEN‚\5,\6,\7;CT=217 EˆThe�sysgen�will�require�a�smaller�amount�of�space�to�run�because�theE…session‚control‚task‚will�not�be�taking�up�system�space�by�assigningB…the�chain�file�which�is�normally‚assigned‚during‚sysgen.ƒAlso‚theC…'T=217'‚option‚is‚as‚small‚as�it�can�be�to�run�the�sysgen�with�the…'as-shipped'�configuration. DˆIf�you�sysgen�a�new�boot�file�that�supports�fewer�users�or‚devices,D…you‚may‚be‚able‚to�perform�sysgens�under�your�new�smaller�operating#…system�using�the�normal�procedure. <ˆAn�additional‚reminder:ƒVERSAdos‚4.4‚is‚the‚last‚version‚ofG…VERSAdos‚that�will�support�sysgen�capability�with�only�384K�of�memroy.0…Subsequent�releases�will�require�at�least�512K.  …7.22‚FHS�(FILE�HANDLER�SYSTEM) ˆBUGS�FIXED: Œ-�SPR�#755�-3ŽFHS�will�not�return�an�error�code�indicating�it�is3Žillegal�to�output�to�#NULL�using�a�shared�segment. Œ-�SPR�#801�-8ŽThe�FHS�checkpoint�call�now�works�for�sequential�files. ˆKNOWN�BUGS:Œ-�None.  $…7.23‚FMS�(FILE�MANAGEMENT�SERVICES) ˆKNOWN�BUGS: Œ-�SPR�#681�-;ŽFetch�device�mneumonic�call�for�interactive�devices�always9Žsays�that�all�interactive�devices�are�on-line.‚This�is�a8Ždesign�limitation.‚There�is�no�way�to�tell�when�devices Žon/off�line.  …7.24‚HDS-400 ˆKNOWN�BUGS: Œ-�SPR�#914�-9ŽSNAPSHOT�will�not�work�on�HDS-400�with�version�1.2�firm-5Žware.‚Using�it�results�in�the�HDS-400�terminal�being Žhung�up. 9‡NOTE:�1.‚The�parameter�'MAXSEC'�that�appears�in�the�file9�9998.&.EMLINK.CD�should�be�set�equal�to�twice�the�number�of�HDS400�systems�required.*�2.‚The�EXORmacs�SYSGEN�configuration�file8�9998.EXORMACS.CNFGDRVR.CI�should�have�'NOTNT'�set�equal  ŸNewsfile -�23�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  (�to�5�in�order�to�configure�for�HDS-400.  …7.25‚INITˆENHANCEMENTS�ADDED: Œ-�SPR�#839�-<ŽINIT�will�allow�for�the�size�of�the�dump�area�to�be�entered7Žin�hexadecimal�or�decimal�form.‚Also,�the�user�will�be8Žallowed�to�enter�a�'$'�before�a�load�address.‚The�value*Žwill�always�be�assumed�to�be�a�hex�value.;Œ-�Added�alternate�sector�support�for�controllers�that�have!Žthe�capability�(RWIN1�and�VM22). ˆBUGS�FIXED:Œ-�SPR�#897�&�#1157�->ŽFixed�so�the�BACKUP,�DIR,�DUMP,�and�INIT�commands�on�a�system>ŽSYSGENed�for�more�than�25�random�devices�will�no�longer�abort=Žwith�a�BUFFER�OVERFLOW�message.‚The�buffer�can�now�handle�upŽto�100�random�devices.Œ-�SPR�#1023�-<ŽINIT�accepts�more�than�4�characters�for�the�volume�name�and;Žgives�no�warning�that�it�truncates�to�the�first�4�entered.Œ-�SPR�#1036�-=ŽDUMPANAL�would�not�work�(return�with�disk�error)�if�the�user<ŽINITed�the�disk�with�too�small�of�a�dump�area.‚The�documen-3Žtation�for�INIT�is�being�expanded�to�explain�this.Œ-�SPR�#1054�->ŽWhen�using�INIT,�one�is�not�able�to�make�more�than�42�lockoutŽsector�entries.Œ-�SPR�#1105�-?ŽIf�a�bad�sector�is�encountered�when�INITing�a�hard�disk�during?Žthe�validation�phase,�an�entire�track�is�skipped�before�valid-Žation�proceeds.Œ-�SPR�#1143�-=ŽIf�two�successive�entries�are�entered�into�the�SLT,�only�th e!Žfirst�entry�makes�it�in�the�SLT. ˆKNOWN�BUGS: Œ-�SPR�#931�-=ŽA�write�protected/unformatted�diskette�gives�TRACK�SECTOR/ID>ŽNOT�FOUND�when�trying�to�INIT�it.‚A�write�protected/formattedŽdisk�gives�WRITE�PROTECTED.Œ-�SPR�#1254�-=ŽWhen�INITing�a�floppy�disk�on�a�VME320�controller,�the�drive<Žlamp�will�remain�on�if�no�diskette�is�present�in�the�drive,"Ževen�after�BREAK�is�used�to�exit. @‡NOTE:�1.‚There�are�a�different�number�of�responses�requested�by<�INIT,�depending�upon�which�controller�is�being�used�(alter-6�nate�sector�vs�non-alternate�sector�capability).‚This8�means�that�chain�files�that�use�INIT�are�now�controller6�dependent.‚Currently,�only�the�RWIN1�and�VM22�support�alternate�sector�capability.   ŸNewsfile -�24�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  !…7.26‚IOS�(INPUT/OUTPUT�SERVICES) ˆBUGS�FIXED: Œ-�SPR�#709�-;ŽError�C7�on�attempt�to�read�exactly�$10000�bytes�no�longerŽoccurs. Œ-�SPR�#793�-<ŽThe�most�significant�bit�of�the�terminal�timeout�parameters6Žcan�not�be�set.‚This�parameter�is�treated�as�a�signed6Žinteger,�thus�setting�the�msb.‚Documentation�has�been9Žchanged�to�clarify�this.‚IOS�will�adjust�this�value�to�a*Žmaximum�of�24�hrs.‚worth�of�milliseconds.>Œ-�Fixed�a�crash�problem�when�an�output�with�input�request�was8Žfollowed�by�an�output�only�request�such�that�the�output6Žrequest�was�put�on�the�Device�Connection�Queue�(DCQ).Ž(EXORmacs�and�MCCM�related.) ˆKNOWN�BUGS:Œ-�None.  …7.27‚IPCDRVˆENHANCEMENTS�ADDED:=Œ-�The�IPC�driver�has�been�modified�to�take�advantages�of�the:Žincreased�functionality�provided�by�recent�changes�to�theŽMCCM�firmware.?Œ-�The�CONFIGURATION�command�has�been�modified�to�allow�for�the7Žspecification�of�XON/XOFF,�BREAK,�CANCEL‚LINE�and�READŽTERMINATING�character(s).@Œ-�The�TRANSMIT�BREAK�request�is�a�command�implemented�with�this:Žrelease.‚This�request�applies�only�to�interactive�devices;Žand�sends�a�break�condition�to�the�logical�unit�specified.;Œ-�An�option�to�flush�the�type�ahead�buffer�has�been�imple-:Žmented�with�this�release.‚This�option�only�applies�to�the0ŽCONFIGURE,�READ�and�OUTPUT�WITH�INPUT�commands.;Œ-�The�following�attributes�have�been�implemented�with�this Žrelease.�-�Accept�NULLS�-�Accept�type�ahead�-�Accept�XON/XOFF�or�CTS ˆBUGS�FIXED:<Œ-�In�the�event�of�a�serious�system�error�involving�IPC�only<Žwas�detected,�the�system�would�attempt�to�recover�by�reset-7Žing�the�IPC�which�would�crash�the�system�due�to�an�oddŽaddress�error�trap.9Œ-�DCT�had�space�for�only�5�devices.‚Expanded�LUMAX�to�8.9Œ-�Added�code�to�allow�configuration�of�"lines�per�page." ˆKNOWN�BUGS:Œ-�None.      ŸNewsfile -�25�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.28‚IPLˆENHANCEMENTS�ADDED:=Œ-�Coded�new�interface�to�firmware�debugger�which�allows�user?Žfriendly�messages�to�appear�on�console�from�which�boot�commandŽwas�initiated.<Œ-�Added�code�to�retry�disk�accesses�up�to�5�times�when�diskŽerror�occurrs. ˆKNOWN�BUGS:?Œ-�At�boot�time,�lower�case�entry�is�not�handled�properly,�e.g.=Ž"bo"�works�ok,�but�"bo�0,0,vm04.versados.sy"�will�produce�anŽerror�message.  …7.29‚LINK�1.8ˆENHANCEMENTS�ADDED:9Œ-�The�PAGESIZE��interactive�user�command�enables*Žmodifying�the�page�size�of�a�load�module.9Œ-�The�ATTRIBUTE�interactive�user�command�now�accepts�the7Žnew�'R'��which�designates�a�real-time�task. ˆBUGS�FIXED: Œ-�SPR�#513�-9ŽExternally�defined�forward�branches�with�offsets�between4Ž$7FFF�and�$FFFF�were�not�flagged�with�a�warning�7055Ž(truncation).‚Now�they�are�flagged�with�warning�705. Œ-�SPR�#792�-<ŽError�511�was�generated�when�relocatable�modules�containing7Žexternally�defined�symbols�that�were�later�defined�via8ŽDEF�interactive�user�commands,�were�linked�with�others.Œ-�SPR�#964,�#1188 ,�&�#1189�-9ŽIf�a�forward�reference�to�a�relocatable�value�overflowed9Ža�16-bit�displacement,�then�warning�705�was�not�reported5ŽA�backward�reference�to�a�relocatable�value�reported6Žwarning�705�on�an�overflow.‚Now�both�correctly�report/Žwarning�705�on�a�16-bit�displacement�overflow.Œ-�SPR�#1008�-7ŽA�debug�file�cannot�be�generated�if�relocatable�output7Žis�requested�(i.e.‚the�RD�command�line�options).‚Error7Ž144�is�generated.‚This�is�now�documented�in�the�linkerŽmanual.Œ-�SPR�#1132�-7ŽOut-of-range�BSR�(and�BRA,�Bcc)�offsets�were�not�being6Žflagged�with�a�warning�705�(truncation).‚Now�BSR,�BRA4Žand�Bcc�offsets�all�generate�705�warnings�on�offset Žoverflows.5Œ-�When�the�Z=32�command�line�option�was�specified�it5Žwas�flagged�as�an�error.‚This�is�no�longer�the�case.6Žconsists�only�of�reserved�space,�the�linker�no�longer&Žcreates�an�incorrect�S-record�module.      ŸNewsfile -�26�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ˆKNOWN�BUGS: Œ-�SPR�#334�-4ŽThe�-D�option�does�not�delete�the�existing�.DB�file4Žwhen�re-linking.‚This�can�inadvertantly�result�in�aŽ.DB/.LO�file�version�mismatch. Œ-�SPR�#385�-:ŽAn�internal�error�is�generated�if�a�section�has�XDEFs�andŽEQUs�but�no�code. Œ-�SPR�#386�->ŽSpecifying�just�the�listing�file's�volume�name�in�the�command<Žline�generates�a�command�line�error�(unlike�the�assembler). Œ-�SPR�#429�-;ŽThe�linker�does�not�generate�symbolic�entries�for�external Žreferences. Œ-�SPR�#453�-=ŽA�section�containing�only�an�XDEFed�symbol�and�DS�directivesŽgenerates�code. Œ-�SPR�#597�-:ŽAssembly�programs�using�the�SECTION.S�directive�cannot�be9Žlinked�at�the�address�range�$FFFF8000�through�$FFFFFFFF.=ŽAlso�treating�the�high�byte�of�a�32-bit�address�as�zero�on�a&Ž24-bit�machine�should�not�be�assumed. Œ-�SPR�#770�-8ŽAn�error�319�is�generated�whenever�named�short�sections7Žare�linked�before�unnamed�short�sections.‚A�workaround8Žis�to�include�an�unnamed�short�section�before�any�namedŽcommons�in�that�same�section. Œ-�SPR�#866�-8ŽSYMbug�aborted�with�a�"verify�DB�error"�due�to�improperŽgeneration�of�the�.DB�file Œ-�SPR�#928�-;ŽAlthough�the�interactive�user�command�ATTRIBUTE�D�(dump�on;Žprogram�abort)�is�specified,�no�dump�is�generated�when�the:Žprogram�is�aborted�with�the�BREAK�key.‚It�works�ok�if�the;Žabort�is�due�to�an�illegal�instruction�e.g.,�divide�by�0).Œ-�SPR�#1041�-4ŽChain�file�RX�pseudo�register�substitutions�are�not/Žrecognized�by�the�interactive�user�command�IN.Œ-�SPR�#1053�-:ŽIf�a�command�line�error�is�made�when�running�from�a�chain:Žfile,�error�134�is�reported�to�the�terminal�but�the�chainŽdoesn't�terminate.Œ-�SPR�#1074�-6ŽWhen�an�eight-character�file�name�is�the�only�command5Žline�parameter,�an�error�133�occurs.‚A�workaround�is6Žto�follow�the�name�by�a�load�module�of�the�same�name.Œ-�SPR�#1155�-8ŽCode�ending�within�the�last�8�bytes�of�a�segment's�page9Žresults�in�the�segment's�last�few�instructions�not�beingŽgenerated�and�an�error�801.Œ-�SPR�#1200�-7ŽIf�the�user/system�data�spaces�logically�overlap,�thenŽerror�400�results.8Œ-�A�common�section�esd�record�does�not�contain�informa-  ŸNewsfile -�27�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  7Žtion�as�to�whether�the�section�is�'short'�or�'regular.=Œ-�Symbols�defined�within�relocatable�sections�with�addresses=Žresolved�at�link�time�that�don't�reside�within�the�section's Žspace�cause�errors�800�and�801.=Œ-�The�linker�wants�to�allocate�all�short�sections�to�address;Žrange�$0000�to�$7FFF.‚When�short�sections�are�allocated�to'Ž$FF8000�to�$FFFFFF,�error�400�results.>Œ-�Although�LINK�supports�the�"F"�option,�the�LOADER�does�not.  …7.30‚LOADERˆENHANCEMENTS�ADDED:8Œ-�The�LOADER�was�modified�to�force�segments�of�position8Žindependent�tasks�to�load�on�logical�addresses� that�areŽmultiples�of�64K.8Œ-�Modified�to�allow�dynamic�loading�of�Real-Time�tasks. ˆBUGS�FIXED: Œ-�SPR�#938�-7ŽFixed�so�the�caller�can�dictate�task�attributes�rather)Žthan�having�the�.LO�module�dictate�them.9Œ-�User�could�not�force�the�loader�to�load�a�task�and�use8Žthe�monitor�name�found�in�the�loader�information�block.3ŽThe�user�would�instead�get�the�calling�task�as�the6Žmonitor�even�though�bit�3�of�the�options�field�was�0. ˆKNOWN�BUGS:>Œ-�Although�LINK�supports�the�"F"�option,�the�LOADER�does�not.  …7.31‚MBLMˆENHANCEMENTS�ADDED:Œ-�SPR�#1006�-8ŽMBLM�now�works�properly�when�invoked�from�a�CHAIN�file. ˆBUGS�FIXED: Œ-�SPR�#819�-1ŽAdd�capability�for�MBLM�to�process�"S3"�records.Œ-�SPR�#1107�-=ŽNow�correctly�converts�files�that�had�more�than�one�section. ˆKNOWN�BUGS:Œ-�SPR�#1038�-9ŽIf�the�user's�program�starts�at�an�address�other�than�0,,ŽMBLM�does�not�add�the�code�to�the�.LO�file.Œ-�SPR�#1039�-;ŽWhen�run�from�a�chain�file�and�the�starting�address�is�not;Ž0,�it�puts�the�end�of�input�("/")�as�a�segment�name�in�the Ž.LO�file.       ŸNewsfile -�28�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.32‚MT�(MOUNT) ˆKNOWN�BUGS: Œ-�SPR�#956�-;ŽDoes�not�check�the�volume�name�of�the�floppy�being�mounted5Žto�determine�if�the�volume�is�already�on�the�system.  …7.33‚PATCHˆENHANCEMENTS�ADDED:>Œ-�Now�supports�the�68000,�68008,�68010,�and�68020�instruction>Žsets�when�modifying�a�load�module�using�the�1-line�assembler/'Ždisassembler�feature�(P=680xx‚option). ˆBUGS�FIXED:Œ-�SPR�#1070�-6ŽA�Bus�Error�no�longer�occurs�when�only�a�line�feed�is'Žentered�as�input�when�in�the�;DI�mode. ˆKNOWN�BUGS:<Œ-�The�"P=68020"�option�does�not�work�(says�INVALID�OPTION).  …7.34‚RENAME ˆKNOWN�BUGS:Œ-�SPR�#1077�-9ŽIf�you�type�"RENAME�*.*.*(PPPP),(OOPP)",�it�works�ok.‚If6Žyou�type�"RENAME�*.*.*.*(PPPP),(OOPP)",�you�get�errorŽmessage�INVALID�ENTRY.  …7.35‚REPAIRˆENHANCEMENTS�ADDED: Œ-�SPR�#764�-6ŽDeletes�all�empty�directory�data�structures�and�listsŽthe�number�of�sectors�deleted.9Œ-�Added�the�ability�to�print�HELP�messages�while�runningŽinteractively.8Œ-�Accomodates�disks�that�have�been�initialized�with�theŽalternate�sector�capability. ˆBUGS�FIXED:Œ-�SPR�#852�&�#853�-6ŽErrors�found�in�the�sector�lockout�table�(SLT)�or�the5Žsector�allocation�table�(SAT)�would�terminate�REPAIR*Žwithout�a�method�of�repairing�the�sector.Œ-�SPR�#1142�-8ŽCan�now�handle�more�than�42�SLT�entries�because�it�goes4Žthru�the�VID�to�find�where�and�how�long�the�SLT�is. ˆKNOWN�BUGS:Œ-�SPR�#1237�-;ŽWith�the�check�only�option�(;C),�REPAIR�does�not�stop�when:Žan�error�is�found.‚If�unused�sectors�are�marked�as�alloc-8Žated�in�the�SAT,�REPAIR�asks�to�delete�it.‚A�"Y"�answer  ŸNewsfile -�29�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  #Žcauses�an�abort�with�an�I/O�error.  …7.36‚RMS68KˆENHANCEMENTS�ADDED:AŒ-�Added�Real-Time�task�feature�for�improved�performance�(speed).7ŽSee�the�new�restructured�RMS68K�manual�for�all�the�new Žfeatures.8Œ-�Event�handling�(message�passing)�has�been�extensively Ženhanced.Žœ%!")&*$.2$6:> BF!JNRV,Z#^bfj'nr%vz'~‚†?Œ-�EXCEPT�now�has�code�for�dealing�with�the�68020's�form�of�bus,Žerror,�address�error,�and�trace�exceptions. ˆBUGS�FIXED: Œ-�SPR�#493�-7ŽStack�pointer�is�no�longer�stored�in�2�places�(TCBUSP,6ŽASQUSP)�which�could�have�compromised�the�user's�stack3Žpointer.‚The�ASQUSP�parameter�has�been�eliminated. Œ-�SPR�#879�-?ŽA�task�could�issue�a�trap�to�a�user�server�task�in�a�different6Žsession�and�could�not�acknowledge�it.‚This�caused�the8Žrequesting�task�to�"hang�up".‚Server�trap�service�is�no>  Žlonger�allowed�across�sessions�for�trap�servers�which�are�notŽsystem�tasks.Œ-�SPR�#1014�-;ŽYou�can�now�describe�a�null�partition�without�crashing�the;Žsystem.‚System�will�detect,�and�ignore�the�null�partition.Œ-�SPR�#1044�-9ŽFixed�INIT�module�so�that�it�no�longer�overlaps�with�theŽlast�entry�in�the�PAT�table.Œ-�SPR�#1045�-8ŽRMS68K�initializer�code�that�creates�the�periodic�acti-4Žvation�table�(PAT),�allows�1�too�many�entries�to�be Žcreated.Œ-�SPR�#1049�-8ŽNow�the�TRAP�#1�handler�should�properly�handle�the�case1Žwhen�the�user�requests�a�non-existent�directive.Œ-�SPR�#1083�-8ŽThe�TRAP�#0�entry�point�to�killer�(KILLER�TO)�should�be3Ž"DS.W�0".‚It�was�"DC.W�0".‚This�caused�a�LINE�1111Žemulator�trap.Œ-�SPR�#1095�-7ŽThere�was�a�bug�for�GETSEG�to�a�ROM�partition.‚The�FML;Žsearch�to�see�if�the�memory�is�available�is�now�skipped�ifŽthe�memory�type�is�ROM.Œ-�SPR�#1203�-9ŽCorrected�GTSEG�problem�in�a�non-MMU�system.‚Previously,5Žif�the�user�does�not�specify�the�log=phy�option�when8Žallocating�memory�in�a�non-MMU�system,�the�system�would;Žset�up�an�offset�and�allocate�certain�memory�for�the�user.9ŽNow�an�error�return�message�tells�the�user�the�memory�isŽnot�available.    ŸNewsfile -�30�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ˆKNOWN�BUGS:Œ-�SPR�#1042�-<ŽIf�a�server�disables�servership�and�then�enables�servership;Žusing�DERQST�and�then�a�task�TRAPs�to�it,�the�TRAPing�task0Žwaits�in�the�server�queue�and�no�event�is�sent.Œ-�SPR�#1087�-=ŽIf�you�do�a�GETSEG�for�a�ROM�segment�out�of�a�RAM�partition,=Žthe�exec�should�give�an�error�but�does�not.‚It�allocates�the:ŽRAM,�but�remembers�it�in�the�TST�as�ROM,�so�when�the�task8Ždeletes�the�segment,�the�RAM�never�gets�returned�to�the Žpartition.Œ-�SPR�#1240�-;ŽThe�GTSEG�documentation�says�A1=�largest�free�memory�block6Žavailable�if�an�error�occurs.‚A1�seems�to�contain�the8Žamount�of�free�memory,�not�the�largest�block�available.Œ-�SPR�#1242�-:ŽGTSEG�doesn't�return�the�largest�amount�of�free�memory�if9Žbit�9�is�set.‚Asking�for�any�amount�greater�than�$FFFF00Žreturns�an�error.Œ-�SPR�#1258�-=ŽIf�a�user�task�issues�a�CISR�directive�with�invalid�options,<Žthe�directive�is�returned�with�an�abort�code�of�$07�(vector<Ždoes�not�belong�to�caller)�instead�of�with�an�abort�code�ofŽ$0F�(invalid�options).Œ-�SPR�#1263�->ŽIf�a�user�directive�(established�via�CDIR)�issues�any�TRAP�#2%Žinstructions,�the�system�will�crash.Œ-�SPR�#1277�-=ŽIf�a�task�gets�a�segment�of�RAM�memory�(GTSEG)�at�an�address=Žwhich�is�not�on�a�256�byte�boundary�(i.e.,�ends�in�$00),�the;Žsystem�will�crash�when�the�task�deallocates�the�segment�or Žterminates. :ˆNOTE:�1.‚Possible�problem�w/new�ASQ�is�the�user�setting�a7‘previously�unused�bit�(bit�1)�in�the�SETASQ�directive.$‘This�bit�is�now�used�by�the�system.  …7.37‚RWIN1ˆENHANCEMENTS�ADDED:%Œ-�Added�alternate�sector�capability. ˆBUGS�FIXED:<Œ-�When�a�track/sector�ID�error�occurs�on�a�sector,�the�realŽsector�number�is�returned.?Œ-�Incorrect�configuration�information�is�now�tested�for�at�the;Žstart�instead�of�causing�errors�later,�i.e.‚writing�beyondŽthe�end�of�the�disk. ˆKNOWN�BUGS:Œ-�None.     ŸNewsfile -�31�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  #…7.38‚SCT�(SESSION�CONTROLLER�TASK) ˆBUGS�FIXED: Œ-�SPR�#682�-7ŽSCT�does�not�terminate�system�tasks�that�it�initiated. ŽDocumentation�has�been�updated. ˆKNOWN�BUGS: Œ-�SPR�#944�-7ŽIf�the�user�disconnects�the�cable�from�the�terminal�or;Žhangs�up�the�modem�line�before�logging�off,�the�session�is-Žnot�terminated.‚Could�be�a�security�problem.Œ-�SPR�#1154�-<ŽIf�the�user�tries�to�log�on�as�user�number�10000�or�higher,8Žthe�error�message�returned�is�"INVALID�FILE�DESCRIPTOR"-Žinstead�of�a�more�descriptive�error�message.Œ-�SPR�#1180�-;ŽUsing�"=ARG�:."�in�a�chain�file�with;Žconditional  �statements�"=/IFS�\1"�or�"=/IFC�\1"�says�\1�is=Žclear�if��is�null�and�set�if��is�not�null.Œ-�SPR�#1227�-8ŽIf�one�disconnects�a�port�before�logoff,�SCT�gets�stuck;Žwaiting�for�acknowledgement�from�TRAP�2�(timeout�message).  …7.39‚SNAPSHOT ˆKNOWN�BUGS: Œ-�SPR�#914�-9ŽSNAPSHOT�will�not�work�on�HDS-400�with�version�1.2�firm-5Žware.‚Using�it�results�in�the�HDS-400�terminal�being Žhung�up.Œ-�SPR�#1233�-;ŽWhen�the�spooler�is�active,�output�from�"SNAPSHOT�#,#CN01">Žhas�2-3�blank�lines�between�each�line�(CN01=�serial�printer).Œ-�SPR�#1260�-.ŽSNAPSHOT�does�not�work�on�the�VME/10�console.  …7.40‚SPOOL‹ENHANCEMENTS�ADDED:AŒ-�A�"CANC�*"�command�has�been�added�to�SPOOL�which�allows�user�0Žto�clear�the�printer�queue.@Œ-�The�lines�of�asterisks�which�are�printed�between�listings�are9Žnow�output�over�the�page�perforations�for�easier�identi-"Žfication�of�the�end�of�a�listing.<Œ-�Entering�"SPL�;H"�will�print�a�message�describing�the�SPLŽcommand�and�possible�options. ˆBUGS�FIXED: Œ-�SPR�#630�->ŽThe�CANC�command�with�no�options�now�works�correctly�for�user Žnumber�0. Œ-�SPR�#976�-?ŽThe�P�and�Q�commands�now�work�correctly�for�when�the�number�of#Žprinter�devices�is�greater�than�4.  ŸNewsfile -�32�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Œ-�SPR�#1001�-=ŽSPOOLer�no�longer�"hangs"�when�listing�to�certain�Centronics8Ž"compatible"�printers�(Tally�Mannesman�MT180�and�AnadexŽSilent�Scribe).8Œ-�The�continue�option�now�functions�as�described�in�theŽfacilities�manual.=Œ-�Files�sent�to�a�printer�whose�status�is�WAIT�now�receive�a'ŽWAIT�status�instead�of�a�READY�status.AŒ-�The�correct�error�message�is�output�when�a�non-existent�volume(Žname�is�entered�for�the�spooler�volume. ˆKNOWN�BUGS:Œ-�SPR�#1141�-7ŽNot�possible�to�have�the�SPOOLer�running�on�the�system;Ž(EXORmacs)�MCCM/debug�port�and�at�the�same�time�not�active!Žon�another�port�(DCB�bit-10=�0).Œ-�SPR�#1194�-;ŽThe�result�of�SPOOL�Q�is�always�sent�to�the�terminal,�evenŽif�invoked�from�a�batch�file.Œ-�SPR�#1219�-7ŽExecuting�a�SPOOL�PRINT�command�to�a�non-existant�(not;Žsysgened�in)�printer�does�not�return�an�error�message,�nor#Ždoes�it�put�the�file�in�the�queue.Œ-�SPR�#1224�-8ŽIf�one�enters�more�than�the�maximum�of�255�copies�to�be9Žprinted,�SPOOL�takes�N-255�as�the�number�of�copies�to�be*Žprinted�without�issuing�an�error�message.Œ-�SPR�#1252�-=ŽIf�the�spooler�is�not�active�when�a�SPOOL�command�is�issued,:Žan�INVALID�COMMAND�message�is�given�instead�of�saying�theŽSPOOLer�is�not�active.  …7.41‚SRCCOM ˆKNOWN�BUGS:Œ-�SPR�#1266�-<ŽIn�batch�mode,�some�beginning�output�from�SRCCOM�is�sent�to0Žthe�terminal�instead�of�the�batch�listing�file.  …7.42‚SYMBUGˆENHANCEMENTS�ADDED:>Œ-�Added�the�ability�to�enter�68010�and�68020�code,�as�well�as<Žthe�ability�to�decode�68010�and�68020�code.‚To�use�this�new;Žability,�the�user�must�enter�SYMBUG�in�the�"multi-tasking"9Žmode�and�answer�the�question�of�which�processor�they�are2Žusing.‚Legal�choices�are�68000,�68010,�and�68020. ˆBUGS�FIXED: Œ-�SPR�#526�-6ŽSYMBUG�will�not�directly�load�and�attach�a�file�which3Žcontains�a�large�number�of�modules�and/or�symbols. Œ-�SPR�#528�-9ŽSYMBUG�issues�its�prompt�to�the�user's�terminal�inside�a  ŸNewsfile -�33�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  8Žrunning�task.‚One�must�enter�something�(GO)�so�the�task:Žwill�continue.‚The�documentation�is�being�changed�to�tell:Žthe�user�to�assign�the�user�task�to�a�remote�terminal�viaŽthe�ATTA�command. Œ-�SPR�#965�-;ŽLOAD�command�now�passes�a�long�command�line�to�the�task�as;Žthe�manual�indicates�it�should.‚Limit�is�now�80�characters Ž(was�40).Œ-�SPR�#1043�-<ŽThe�detach�directive�now�detaches�the�named�task�instead�of;Žthe�running�task.‚Previously,�SYMBUG�could�only�detach�the-Žforeground�task,�no  t�the�one�the�user�named. ˆKNOWN�BUGS: Œ-�SPR�#334�-9ŽThe�version�information�between�.DB�and�.LO�files�is�not Žchecked. Œ-�SPR�#335�-<ŽWhen�SYMBUG�aborts�with�a�MAP�FULL�ERROR,�a�second�abort�is#Žgiven�on�the�next�command�entered. Œ-�SPR�#367�-<ŽThe�disassembler�can't�distinguish�between�a�symbolic�and�a=Žnumeric�operand,�nor�can�it�determine�the�difference�betweenŽsymbols�of�the�same�value. Œ-�SPR�#413�->ŽSYMBUG's�assembler�will�justify�ASCII�characters�to�the�left-7Žmost�byte.‚The�resident�assembler�justifies�to�a�"word6Žboundary�if�1�or�2�characters�are�specified,�or�...". Œ-�SPR�#533�-;ŽIf�the�user's�VERSAdos�system�does�not�have�an�MCCM�board,8Žthere�is�no�way�to�attach�a�printer�to�SYMBUG.‚Only�#PR Žis�allowed. Œ-�SPR�#689�-;ŽIf�the�name�of�a�task�as�specified�in�the�LIB�is�different9Žfrom�the�1st�four�characters�of�the�load�module,�its�.DB*Žfile�is�not�found�after�loading�the�task. Œ-�SPR�#829�-;ŽWhen�doing�disassembly�near�the�end�of�a�segment,�the�user<Žcan�get�target�task�address�error�even�when�they�specify�anŽaddress�range. Œ-�SPR�#939�-8ŽSYMBUG�uses‚the�label�with�the�greater�ASCII�value�when2Žtwo�or�more�labels�are�equated�to�the�same�value. Œ-�SPR�#943�-:ŽSYMBUG�gives�label�references�from�the�start�of�a�section9Žas�defined�by�the�LINKer,�not�the�entry�point�as�definedŽby�the�LINKer.Œ-�SPR�#1104�-<ŽMM�command�doesn't�allow�modifying�memory�in�multiple�bytes8Žas�PATCH�does.‚If�more�than�2�bytes�are�entered,�SYMBUG:Žuses�the�last�2�entered�with�no�error�message�or�warning.Œ-�SPR�#1108�-=ŽCan�not�attach�to�a�task�that�is�created�by�another�task�and<Žhas�a�common�program�section.‚SYMBUG�uses�the�address�space  ŸNewsfile -�34�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ?Žof�the�task�to�determine�which�task�it�is�in,�but�doesn't�have>Žthe�ability�to�determine�if�more�than�1�task�can�lay�claim�to Žthe�memory.Œ-�SPR�#1131�-9Ž"LOAD�ERROR"�no�longer�displays�the�trap�code.‚It�should"Žbe�included�in�the�error�message.Œ-�SPR�#1134�-7Ž1)�No�backspacing.‚2)�Must�use�"proc_name:mod_name"�to;Žreference�outside�labels�for�breakpoints.‚3)�Sometimes�you;Žbounce�back�into�VERSAdos�without�warning�or�error�messageŽwhen�tracing.Œ-�SPR�#1167�-;ŽWhen�code�is�disassembled�and�one�of�the�fields�references<Žan�external�label,�the�label�is�represented�by�Ž+�.Œ-�SPR�#1259�-<ŽSYMBUG�does�not�translate�lower�case�letters�in�upper�case.  …7.43‚SYSANALˆENHANCEMENTS�ADDED:Œ-�SPR�#1222�-8ŽThe�HELP�command�now�shows�the�commands�in�alphabeticalŽorder. ˆBUGS�FIXED: Œ-�SPR�#892�-5ŽNo�longer�gives�incorrect�free�memory�available�fromŽthe�MEM�command�on�a�VME/10. Œ-�SPR�#906�-<ŽMAP�subcommand�will�now�display�all�free�partitions�if�noneŽwere�specified.Œ-�SPR�#1027�->ŽWhen�dumping�from�location�to�location,�using�the�AD�command,0Žthe�program�would�not�dump�the�ending�location.Œ-�SPR�#1068�-=ŽThe�MD�command�does�not�print�the�starting�address�correctly8Žwhen�you�specify�an�odd�starting�address�and�the�offset;Žfield�is�also�odd.‚The�bytes�dumped�are�correct.‚The�docu-=Žmentation�has�been�updated�to�explain�that�odd�addresses�are8Žrounded�down�to�the�even�byte�boundary�before�printing.Œ-�SPR�#1069�-=ŽThe�documentation�has�been�updated�to�explain�the�purpose�of7Žthe�first�two�columns�for�large�numbers�of�bytes�to�beŽdumped�via�the�MD�command.Œ-�SPR�#1166�-7ŽThe�memory�map�was�not�correctly�interpreted�after�the0Žorganization�of�memory�changed�in�VERSAdos�4.2. ˆKNOWN�BUGS:Œ-�SPR�#1205�-8ŽSeveral�of�the�SYSPAR�parameters�aren't�listed�when�the;ŽSYSPAR�sub-command�is�used;‚TIAT,�TIOT,�ADEFTYPE,�SDEFTYP,8ŽUDEFTYP,�SEMTCB,�SEMGST,�SEMCCB,�SEMTIOT,�BRK-HEAD,�...  ŸNewsfile -�35�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Œ-�SPR�#1262�->ŽIf�a�user�allocates�either�trap�or�execution�vectors,�SYSANAL>Žrep  orts�that�information�via�the�TASK�subcommand.‚However,�if;Žthese�claimed�vectors�are�deallocated,�the�TASK�subcommand-Žcontinues�to�report�that�they�are�allocated.  …7.44‚SYSGENˆENHANCEMENTS�ADDED:Œ-�SPR�#1156�-=ŽThe�COPYSGEN�chain�files�now�copy�all�equate�and�macro�files<Žneeded�to�do�a�sysgen�into�the�user's�account�number�so�all<Žusers�have�their�own�private�copy.‚COPYSGEN�no�longer�auto-=Žmatically�copies�all�the�VME600�series�drivers�unless�speci-Žfically�requested.?Œ-�Added�the�option�'C'�which�allows�SYSGEN�to�create�a�symbols<Žcross�reference�file.‚See�the�SYSGEN�manual�for�details.‚It:Žshows�the�value�of�the�parameter,�where�the�parameter�was0Ždefined�and�where�the�parameter�was�referenced.@Œ-�Added�new�automatic�parameters�$ROPT,�and�$POPT�which�reflect5Žthe�setting�of�the�'R'�or�'P'�options,�respectively.7Œ-�Now�allow�nesting�of�'INCLUDE'�files�to�four�levels.9Œ-�Set�the�bit�(10)�in�the�task�segment�table�(TST)�which>Žindicates�that�this�is�physical�ROM.‚Necessary�in�case�a�task9Žtries�to�abort�itself�and�RMS�tries�to�give�back�the�ROM>Žmemory�which�RMS�thinks�is�RAM�unless�this�bit�is�set.‚If�RMS?Ždoesn't�know�that�it�is�physical�ROM,�the�kill�routine�will�beŽinvoked�by�RMS.@Œ-�Messages�that�cause�an�error�but�allow�the�sysgen�to�continue9Žwere�modified�to�have�a�leading�"%%"�so�that�they�can�be9Žeasily�found�via�the�editor�in�a�search�for�that�pattern@Œ-�Modified�the�ATTRIB�and�STATE�commands�to�only�affect�one�bit>Žin�the�attributes�word�of�the�TCB�and�added�three�new�attrib-;Žutes�commands:�'CRIT'=�critical,�'NOCR'=�not�critical,�and6Ž'RTIM'=�real-time.‚See�the�M68KSYSGEN�manual�for�more Ždetails.;Œ-�When�a�new�TASK�command�is�encountered,�SYSGEN�no�longer<Žcarries�the�old�attributes�and�state�bits�forward.‚Instead,5Žit�defaults�to�system�task,�critical,�on�ready�list.=Œ-�Extensively�restructed�the�command�files�to�make�adding�or;Žsubtracting�drivers/boards�much�easier.‚All�parameters�are2Žindependent,�i.e.‚set�one�and�others�are�derived.:�NOTE:�The�MAXLU�parameter�is�now�set�equal�to�TOTDSK�with5–a�range�check�to�force�the�value�to�be�between�8�and)–254�instead�of�the�previous�constant�16. ˆBUGS�FIXED:Œ-�SPR�#990�&�#1002�-<ŽStandard�sysgen�will�now�run�in�the�standard�minimum�system%Žas�described�in�the�Customer�Letter. Œ-�SPR�#995�-?ŽFixed�typo�in�the�old�sysgen�file�9998.EXORMACS.SYSCMD.CD�that9Žcaused�the�total�number�of�disk�volumes�to�be�incorrect.   ŸNewsfile -�36�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Œ-�SPR�#1055�-?ŽFixed�"BEGIN/END�include�file�problem"�where�the�END�file�nameŽwas�not�correctly�shown.Œ-�SPR�#1072�-?ŽFixed�so�SYSGEN�no�longer�puts�an�incorrect�segment�count�intoŽthe�task�segment�table.Œ-�SPR�#1127�-6ŽSysgening�exactly�16�tasks�into�a�ROM�based�system�no5Žlonger�writes�over�the�memory�table�at�the�bottom�of ŽSYSINIT.Œ-�SPR�#1235�-<ŽIf�the�number�of�local�printers�in�a�VM02�sysgen�was�set�to<Žnon-zero,�a�DCB‚and�CDB�for�a�device�using�exception�vector>Ž$71�is�created,�but�the�VM02�board�has�no�local�printer�port.4ŽWith�the�new�sysgen�method,�there�is�no�flag�in�the*ŽVM02.CNFGDRVR.CI�file�for�local�printers.@Œ-�Now�puts�the�correct�number�of�segments�into�the�task�segment6Žtable�for�tasks�which�were�included�in�the�boot�file.@Œ-�Fixed�so�specifying�the�ROM�option�(;R)�will�set�the�physical6ŽROM�bit�(Bit�10=�SEGAPROM)�in�the�task�segment�table. ˆKNOWN�BUGS:Œ-�SPR�#1102�-=ŽEXCLUDE�command�excludes�the�segment/task/procedure�by�over-9Žlaying�it�in�the�generated�contiguous�file.‚The�load�map$Žgives�no�indication�of�the�overlay.  …7.45‚TASKDUMP ˆBUGS�FIXED:Œ-�SPR�#1101�->ŽTASKDUMP�modified�to�remove�invalid�check�for�suspended�task. ˆKNOWN�BUGS:Œ-�None.  …7.46‚TNTD�(NETWORK�SERVICES) ˆBUGS�FIXED:Œ-�SPR�#1037�-?ŽFixed�DLC�multi-drop�problem�of�creation�of�"orphan�sessions". ˆKNOWN�BUGS:Œ-�None.  …7.47‚TRANSFERˆENHANCEMENTS�  ADDED:=Œ-�Added�an�option�(R)�to�allow�appending�carriage�returns�to;Žthe�blocks�of�data�transferred�to�a�host�system,�for�thoseŽhosts�requiring�it.:Œ-�Added�Fortran�equivalent�files�(ULOAD.F�and�DLOAD.F)�to;Žaccomodate�customers�with�a�Fortran�compiler�and�no�Pascal Žcompiler.  ŸNewsfile -�37�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM   ˆBUGS�FIXED:>Œ-�When�TRANSFER�was�used�with�an�IBM�host�system,�the�program<Žbased�its�conversion�of�lower�case�characters�to�upper�case;Žon�the�wrong�option�byte�of�the�Preamble.‚It�now�correctlyŽuses�byte�11. ˆKNOWN�BUGS:Œ-�SPR�#1264�-;ŽDoes�not�function�properly�when�trying�to�transfer�a�file-8Žname�that�starts�with�"Q".‚It�interprets�this�as�a�QUIT Žcommand.Œ-�SPR�#1269�-=ŽWhen�TRANSFER�is�invoked�without�the�D�option,�any�character<Žentered�causes�ULOAD�to�hang�up.‚Thus�one�can�not�terminateŽthe�TRANSFER�with�'T'.Œ-�SPR�#1279�->ŽWhen�TRANSFER�is�invoked�for�the�first�time�after�CONNECTing,=Ža�DEVICE�BUSY�error�is�erroneously�sent�to�the�terminal.‚The9Žmessage�should�be�ignored,�as�everything�works�properly.  …7.48‚UPLOADS ˆBUGS�FIXED: Œ-�SPR�#994�-;ŽFixed�so�UPLOADS�between�an�ECB�and�a�VME/10�will�work�ok.$Ž(Actually�a�VME400�driver�problem.)Œ-�SPR�#1138�-;ŽFixed�to�support�for�S3�and�S7�records�and�to�terminate�onŽS7,�S8�and�S9�records. ˆKNOWN�BUGS:Œ-�None.  …7.49‚VERSADOS ˆKNOWN�BUGS: Œ-�SPR�#667�-;ŽThe�starting�command�line�from�a�LOAD�command�can�get�lost8Žif�another�command�is�entered�before�STARTing�the�task. Œ-�SPR�#873�-9ŽUsers�who�use�the�PASSWORD�command�to�change�their�pass-9Žword�will�prevent�anyone�else�from�being�able�to�totally;Žlog�on�to�the�system�until�the�PASSWORD�program�completes.Œ-�SPR�#1103�-:ŽWhen�a�task�is�aborted,�part�of�the�abort�message�may�not;Žappear�on�the�terminal�until�the�user�has�entered�the�next8Žcommand.‚This�is�a�timing�problem�for�which�there�is�no7Žcurrent�workaround.‚Users�could�enter�a�RETURN�only�to#Žget�the�rest�of�the�abort�message.Œ-�SPR�#1118�->ŽIf�the�VME/10�"CLEAR"�key�is�hit�during�output�to�the�screen,:ŽVERSAdos�may�lock�up.‚All�tasks�are�stopped�but�KILLER�is Žnot�called.  ŸNewsfile -�38�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  Œ-�SPR�#1126�-:ŽEntry�of�":"�only�when�logging�on�for�session�number�1�to;Žallow�usage�of�the�default�volume�name�specified�at�sysgenŽdoes�not�work.Œ-�SPR�#1135�-5ŽTwo�problems�exist�with�the�date�conversion�routines=Ž(UTILIB.RO):‚1)�Julian�day�0�and�1�both�produce�Jan.‚1,�19807Žand‚2)�Last�day�of�a�year�preceding�a�leap�year�is�not3Žhandled�correctly.‚Entering�12/31/1991�will�return Ž01/01/1992.Œ-�SPR�#1158�-:ŽIf�error�number�F4�occurs�when�using�the�VM21�controller,:Žthe�REPAIR�utility�should�be�run�immediately�to�avoid�any7Žloss�of�data�due�to�a�bug�in�the�VM21�firmware.‚The�F40Žerror�does�not�occur�but�once�in�a�great�while.Œ-�SPR�#1190�-7Ž"=USE�9999.68000"�is�accepted�without�an�error�message9Ževen�though�68000�is�an�illegal�catalog�name.‚You�get�an5Žerror�if�you�try�to�do�anything�with�these�defaults.Œ-�SPR�#1265�-9ŽVERSAdos�does�not�always�update�the�status�of�the�write-:Žprotect�button�on�the�CMD�disk�drives.‚The�result�is�that>Žsometimes�commands�are�rejected�with�a�WRITE-PROTECTED�DEVICE>ŽERROR�when�in�fact�the�device�is�not�write�protected.‚Issuing+Žthe�command�a�second�time�works�correctly.;Œ-�If�your�system�disk�is�the�type�that�has�a�write-protect<Žbutton�and�the�button�is�depressed�(PROTECT)�after�VERSAdos<Žis�booted,�it�may�be�possible�to�get�into�a�situation�where?Žany�command�which�requires�disk�access�will�result�in�a�write-:Žprotect�error�(error�status�$E4).‚It�is�possible�for�this>Žsituation�to�arise�even�though�no�explicit�write�operation�is=Žcalled�for�by�the�command.‚(For�example,�loading�the�SYSANAL>Žutility�does�not�explicitly�involve�writing�to�the�disk.)‚The?Žreaso  n�for�this�is�that�the�file�management�system�updates�the?Ž'date�accessed'�field�in�the�directory�memory�image�every�time>Ža�file�is�assigned.‚It�is�then�forced�to�write�this�directory=Žentry�to�the�disk�in�order�to�make�the�change�permanent.‚The<Žerror�condition�can�be�removed�by�simply�write-enabling�theŽdisk. ?ŽIf�this�is�a�chronic�problem�in�your�particular�application,�a>Žpatch�is�available�from�your�Field�Service�organization�which:Žwill�inhibit�the�file�management�system�from�updating�theŽ'date�accessed'�field. 9ŽAs�an�added�note,�remember�that�when�write-protection�is9Ždesired�after�the�system�is�booted,�the�button�should�be>Ždepressed�only�when�all�I/O�activity�to�that�disk�has�ceased.        ŸNewsfile -�39�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.50‚VM02 ˆKNOWN�BUGS:Œ-�SPR�#1128�-<ŽThe�system�clock�does�not�keep�accurate�time.‚The�following0Žprocedure�can�be�used�to�adjust�the�VM02�clock:.�1.‚Observe�system�time.‚Call�it�T1�(minutes).%�2.‚Wait�one�real�day�(1440�minutes)..�3.‚Observe�system�time.‚Call�it�T2�(minutes).:�4.‚Alter�sysgen�parameter�CLOCKFRQ�in�9998.VM02.SYSTEM.CI “as�follows:$˜new_value=�((T2-T1)/1440)*old_value ;ŽAn�alternate�method�is�to�replace�the�32�MHz�1%�oscillatorŽwith�a�more�accurate�unit. 3�Microsystems‚Motorola�Comp.„oscillator‚time�of�day)�part�#ˆProducts�part�#ƒaccuracy„accuracy5�------------‚---------------ƒ----------‚------------%�48AW1068B01ƒK1116AŒ1.0%ˆ14.4�min/day%�48AW1015B12ƒK1100A�.01%‡8.64�sec/day'�48-W4898B01ƒK1145AMŒ.005%†4.32�sec/day 7ŽThese�oscillators�are�available�directly�from�Motorola>ŽComponent�Products�Division,�2553�N.‚Edginton,�Franklin�Park,9ŽIL,�60131�(phone�312/451-1000)�or�will�be�available�from&ŽMotorola/Four�Phase�Customer�Service. >ŽNote�that�the�VM03�is�not�included�in�this�problem�because�it6Žhas�has�a�real-time�clock�chip�running�it's�own�.005% Žcrystal.  …7.51‚VM04BˆNOTE:�1.‚Proper�operation�of�020bug�on�the�VM04�requires�that�the;‘TRAP�#15�vector�NOT�be�taken�over�by�the�operating�system.6‘VERSAdos�as�released�for�the�VM04�leaves�the�TRAP�#15‘vector�alone. 8‘This�means�that�declaring�yourself�a�TRAP�#15�server�is9‘useless�on�the�VM04.‚A�task�issuing�a�TRAP�#15�would�NOT7‘be�communicating�with�the�server�task,�but�rather�with:‘020bug.‚Communicating�with�020bug�from�the�task�level�may6‘have�undesirable�side�effects,�so�we�do�not�recommend6‘using�it�nor�do�we�guarantee�that�it�will�work�in�any$‘future�versions�in�the�same�manner. 3‘If�this�setup�seems�unsatisfactory,�you�may�change:‘9999.VM04.VECTTBL.AG�so�that�the�TRAP�#15�vector�is�taken6‘over�by�the�exec.‚However,�020bug�will�not�be�useable‘after�booting.      ŸNewsfile -�40�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.52‚VM21�(DISK�CONTROLLER) ˆKNOWN�BUGS:Œ-�SPR�#1029�->ŽWhen�the�fixed�(non-removable)�disk�spins�down�due�to�a�power<Žfailure,�it�won't�become�"ready"�again�unless�the�system�is&Žreset�and�rebooted.‚Gives�"E1"�error.  …7.53‚VM22�(DISK�CONTROLLER)ˆENHANCEMENTS�ADDED:;Œ-�Modified�VM22�Driver�to�allow�formatting�of�sectors�with7Žerrors�as�BAD�with�Alternate�sectors�assigned�to�them.>ŽModified�VM22�Driver�to�use�different�retry�counts�for�floppy<Žand�hard�disks�and�also�to�use�zero�retries�when�the�IOPRTY Žbit�is�set.?Œ-�Now�uses�FDx8�and�FDx9�as�8"�floppy�drives�and�FDxA�and�FDxBŽas�5-1/4"�floppy�drives. ˆBUGS�FIXED:<Œ-�Corrected�a�problem�in�the�error�handler�which�would�only8Žoccur�when�there�was�an�error�on�a�double�sided,�double Ždensity�5-1/4"�floppy�diskette. ˆKNOWN�BUGS:Œ-�SPR�#1268�-;ŽIf�the�user�does�a�DIR�on�the�alternate�disk�of�a�VM22�and:Žboth�disks�are�write-protected,�the�DIR�will�work�the�1st8Žtime.‚Any�subsequent�disk�commands�will�result�in�an�E4;Žmessage�from�the�session�cont  roller,�and�EMH�will�issue�an&ŽUNABLE�TO�ASSIGN�ERRORMSG.SY�message.  …7.54‚VM30�(MCCM)ˆENHANCEMENTS�ADDED::Œ-�New�MCCM�diagnostic�for�VERSAdos�4.4�(requires�new�MCCMŽfirmware�2.0).8Œ-�Added�configuration�request�capability�to�IPC�driver. ˆBUGS�FIXED: Œ-�SPR�#280�-8ŽFixed�timeout�bug�on�MCCM�and�DEBUG�ports.‚On�the�DEBUG8Žport,�if�you�entered�a�line�and�hit�CTRL-X�to�cancel�it7Žwithout�any�other�input,�the�terminal�"hangs"�when�theŽtimeout�completes. ˆKNOWN�BUGS:Œ-�None.         ŸNewsfile -�41�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.55‚VME/10ˆENHANCEMENTS�ADDED:8Œ-�New�VME/10�diagnostics�for�VERSAdos�4.4�are�included.?Œ-�Changed�the�device�name�from�"CNSL"�to�"CN00"�for�the�VME/10Žin�the�new�sysgen�method.:Œ-�A�sysgen�parameter�has�been�added�(VMES10.SYSTEM.CI)�to8Ženable�the�keyboard�when�the�keyswitch�is�in�the�locked8Žposition�(the�panel�switches�are�still�locked�out).‚The:Ž"as-shipped"�configuration�locks�out�the�keyboard�and�the6Žfront�panel�switches�when�the�switch�is�in�the�locked Žposition. ˆBUGS�FIXED:>Œ-�GET_CHAR�in�the�VMES10.KEYBOARD.SA�module�no�longer�assumes9Žan�interrupt�is�for�it.‚If�not�ours,�it�returns�with�the5Žcarry�bit�clear�so�CMR�can�pass�the�interrupt�along.<ŽPreviously,�a�device�would�never�get�passed�an�interrupt�if,Žit�had�the�same�vector�as�the�keyboard�did. ˆKNOWN�BUGS:Œ-�SPR�#1228�-4ŽThe�integrated�screen�driver�does�not�recognize�the7Žsysgen�parameter�for�the�number�of�lines�on�the�screen Ž(TCP$RSZ).Œ-�SPR�#1280�-;ŽDuring�interactive�execution�of�the�SYSANAL,�DUMPANAL,�and;ŽDUMP�utilities,�the�BREAK�key�does�not�terminate�output�to=Žthe�terminal.‚As�a�workaround,�you�must�first�pause�the�out-:Žput�via�CTRL-S�and�then�press�the�BREAK�key�to�terminate.Œ-�Not�a�ROMable�system. BˆNOTE:�1.‚The�FIND�command�of�the�editor�can�be�used�on�this�news-6‘file�to�find�other�problems�that�were�specific�to�the5‘VME/10,�but�are�listed�under�a�utility�(EDIT,�etc.).7Ž2.‚Now�automatically�recognizes�additional�memory�from‘$180000�to�$280000.4Ž3.‚The�Graphics�Demo�Package�now�requires�512K�RAM.  …7.56‚VME/12BˆNOTE:�1.‚Since�a�VME120�based�VERSAdos�is�used�for�the�VME/12,�it6‘assumes�EXORterm�155�terminals�as�the�default.‚If�you7‘wish�to�use�non-EXORterm�155�terminals�on�your�VME/12,7‘use�the�0.PRIV.UPSYS12.CF�file�(which�calls�the�CONFIG$‘utility)�by�renaming�it�as�follows:.”RENAME�0.PRIV.UPSYSTEM.CF,0.PRIOR.UPSYSTEM.CF-”RENAME�0.PRIV.UPSYST12.CF,0.PRIV.UPSYSTEM.CF1‘Or�you�can�set�the�TCP$TTP�parameter�in�the�file5‘&.VERSADOS.CD�to�non-155�type�terminals�and�resysgen‘(=0�for�155,�not�0=�non-155). 7‘Consult�the�file�0.PRIV.UPSYS12.CF�as�to�the�baud�rate7‘and�others�parameters�that�are�set�to�see�if�they�meet‘your�requirements.  ŸNewsfile -�42�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.57‚VME050�(SYSTEM�CONTROLLER)A‡NOTE:�1.‚VERSAdos�as�supplied�does�not�support�the�M146818�real-8�time�clock�chip�on�this�board�because�we�do�not�require9�the�VME050�board�to�be�present�in�all�configurations.‚If:�you�wish�to�utilize�the�real-time�clock�chip,�please�call5�the�Administration�Specialist�at�Motorola/Four�Phase;�Customer�Support,�800/528-1908�or�602/438-3100�and�request9�the�VERSAdos�"ERRATA"�diskette�(82VVXBERRATA�5-1/4")�for7�VERSAdos�4.4.‚For�customers�outside�the�U.S.A.,�please/�contact�your�local�Motorola�area�sales�office.  …7.58‚VME120,�VME121,�&�VME123 AˆThere‚is‚a‚potential‚problem�when�executing�code�on�these�VME120G…family�boards�with�the�cache�enabled.‚The�problem�is�improper�usage�ofD…the‚PC‚relative‚mode‚for�fetching�data�operands;�specifically,�dataE…operands�could�be�altered�by�an�external�program,�such‚as‚the‚RMS68K…executive�or�a�device�driver. BˆWe‚strongly‚recommend‚that�users�avoi  d�the�use�of�the�PC�relativeF…mode�for�accessing�alterable�data.‚There�is�no�problem�if�the�data‚isH…non-alterable,�such�as�constants,�decision�tables,�mapping�tables,�etc.<…which�will�never�be�modified.‚Instead�of�writing�code�like: …Incorrect�Code-->‚BASE: ˜DATA:‹DS.W ¨MOVE.W„DATA(PC),D0 '…we�recommend�using�the�following�code: ŠGood�Code-->‚BASE: ˜DATA:‹DS.W ¨LEA‡BASE(PC),A0¨MOVE.W„DATA-BASE(A0),D0 G…(i.e.,�when�writing�position-independent�code,�it�is�preferable�to‚setF…up‚a‚base�address�register�to�the�data�area�and�use�it�for�both�reads@…and�writes).‚Please‚note‚that‚since‚the‚assembler's‚default‚forG…backward-referenced‚data�accesses�is�PC�relative,�it�is�also�necessary6…to�use�the�"OPT�NOPCO"�option�within�the�source�code.  …7.59‚VME120�&�VME128 EˆWhen�loading�programs�on�the�VME120�family�or�a�VME128�system�it�mayG…be‚possible�to�encounter�an�error�message�'SEGMENT�ERROR�-�TASK�LINKED>…INCORRECTLY'.ƒThis‚message‚may‚appear‚for‚tasks‚that‚have‚runF…unaltered‚on�other�systems.‚The�following�paragraphs�describe�specialG…linking�considerations�that�must�be�taken�when�linking�tasks�to�run‚on…either�of�these�systems.   ŸNewsfile -�43�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  @ˆSpecial‚care‚must‚be‚taken‚to�run�programs�that�are�known�to�beE…NON-position�independent�on�a�VME120�or�VME128.‚Due�to�the‚nature‚ofŠ�“$—(›(Ÿ£§"«&?…the‚memory‚array‚architecture,‚segments‚must‚appear‚on‚even‚2KE…boundaries�to�run�properly�on�the�VME120�or�on�even‚4K‚boundaries‚toD…run‚properly‚on‚the�VME128.‚By�adhering�to�the�following�guidelines4…your�programs�should�run�properly�on�these�systems. 7‰1.‚If�your�program�is�known‚to‚be‚position‚independent0Œthen‚it‚is‚important‚that‚it‚be‚linked‚with‚the2Œ'ATTRIBUTES‚P'‚option‚specified‚in‚the‚link‚input7Œcommands.ƒDoing�this�insures�that�the�loader�will�make6Œthe�proper�adjustments�so�the‚task‚segment‚boundaries3Œare‚properly‚aligned.ƒYou‚can‚tell�if�the�task�was9Œlinked�with�this�attribute�by�displaying�sector�0�of�the5Œload‚module‚using‚the�DUMP�utility.‚If�bit�3�of�byte9Œ$14�is�set�then�the�task�was�linked�with�the�'ATTRIBUTES5ŒP'‚option.ƒNote‚that�merely�linking�with�this�option8Œdoes�not�guarantee�that�your�task�is�position‚independ-8Œent.‚It�simply�tells�the�loader�to�treat�the�task�as�if6Œit�were.‚This�will�allow�for�movement�of‚the‚segments8Œrelative�to�one�another�as�they�are�loaded�into�memory. 9‰2.‚If‚your‚task�is�NOT�position�independent�then�it�will6Œbe�necessary�to�relink�the�task�with‚the‚new‚PAGESIZE8Œinteractive�command.‚The�start�address�for�each�segment9Œmust�be�on�2K�boundaries�for�the�VME120�or�4K�boundaries3Œfor‚the‚VME128.ƒAs‚an‚example�let's�assume�you�are7Œlinking�a�task�to�run�on�the�VME128�and�that‚the‚input*Œcommands�to�the�linker�are�the�following: ”=LINK�,TASK,TASK;HAMIXS”SEG�SEG0:5,3ƒ$0000”SEG�SEG1(RL):0-2 ”SEG�SEG2:4 ”INPUT�MAIN ”INPUT�SUBRTN ”INPUT�A,B,C ”LIBƒMYLIB”END ?ˆThe�start�and�end�addresses�of�the�segments�may�be�as�follows:—START†END‡LENGTH—-----…-----†------‡SEG0:5,3ˆ$0000…$06FF†$0700‡SEG1(RL):0-2„$0700…$22FF†$1B00‡SEG2:4Š$23FF…$25FF†$0200  ?ˆNotice‚that‚only‚the‚first‚segment�starts�on�a�4K�boundary.‚ToE…force�all�of�the�segments�to�start�on�a�4K�boundary�we‚would‚use‚the4…PAGESIZE�command�as�shown�in�the�following�example:      ŸNewsfile -�44�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  ”=LINK�,TASK,TASK;HAMIXS”PAGESIZE…4096”SEG�SEG0:5,3ƒ$0000”SEG�SEG1(RL):0-2 ”SEG�SEG2:4 ”INPUT�MAIN ”INPUT�SUBRTN ”INPUT�A,B,C ”LIBƒMYLIB”E  ND  AˆNotice‚the‚new�interactive�command�'PAGESIZE�4096'.ƒThis�command>…will�force�the�segments�to�appear�at�the�following�addresses: —START†END‡LENGTH—-----…-----†------‡SEG0:5,3ˆ$0000…$06FF†$0700‡SEG1(RL):0-2„$1000…$2AFF†$1B00‡SEG2:4Š$3000…$31FF†$0200  DˆThe�segments�are�now�forced�to�begin�on�even�4K�boundaries.‚It�doesC…not‚matter‚whether‚you‚are�running�with�the�MMU�enabled�or�not.‚IfG…running�without�an�MMU,�a�NON-position�independent�task�must�be‚linkedC…to‚run‚at‚the‚desired�physical�address.‚The�loader�will�attempt�toE…load�the�task�at�the�specified�location�if�possible.‚If�no‚memory‚is;…available�at�the�linked�location,�a�load�error�will�occur.  …7.60‚VME300�(GPIB) ˆBUGS�FIXED:?Œ-�Fixed�problem�where�system�would�crash�while�serial�polling.<Œ-�Fixed�problem�where�IOSPB�and�DCB�pointers�were�not�setupŽproperly�after�serial�polling.5Œ-�Fixed�system�crash�problem�when�IOHALT�was�issued.;Œ-�Fixed�problem�where�system�would�"hang"�during�a�DMA�I/OŽoperation�when�a�SRQ�occurs.<Œ-�Fixed�problem�where�a�DMA�read�did�not�terminate�on�fixedŽlength�data�input. ˆKNOWN�BUGS:Œ-�None.  …7.61‚VME315�(DISK�CONTROLLER)ˆENHANCEMENTS�ADDED:!Œ-�Configuration�Error�$47�added.9ŽWill�not�allow�single�data�density�with�256�bytes/sector7ŽOR�double�data�density�with�128�bytes/sector�on�floppy Ždisks�only. ˆKNOWN�BUGS:Œ-�None.  ŸNewsfile -�45�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM   @ˆNOTE:�1.‚The�VME315�disk�controller�board�is�not�supported�on�a‘VME115�system.  …7.62‚VME320�(DISK�CONTROLLER)ˆENHANCEMENTS�ADDED:8Œ-�Has�new�ECC�software�installed.‚Requires�new�debugger"Žfirmware�with�ECC�as�shown�below:“BoardŒMonitor…Revision$“------------…---------ƒ------------“MVME110ŠVMEbug†4.1�or�later “MVME115M‰VME115bugƒ1.1�or�later&“MVME120�seriesƒVME120bugƒ1.1�or�later ˆKNOWN�BUGS:Œ-�SPR�#1254�-=ŽWhen�INITing�a�floppy�disk�on�a�VME320�controller,�the�drive<Žlamp�will�remain�on�if�no�diskette�is�present�in�the�drive,"Ževen�after�BREAK�is�used�to�exit.;Œ-�The�VME320�controller�does�not�return�command�completion9Žstatus�or�interrupt�for�the�Format�Command�Code�when�the7Ždrive�is�"not�ready"�(as�when�the�drive�door�is�open).9ŽThis�is�an�error�in�the�firmware�on�the�VME320�card.‚The5Žsystem�will�"hang"�if�the�drive�door�is�opened�after"Žstarting�a�format�(INIT)�command. $ˆNOTE:�1.�**************************�***ƒC�A�U�T�I�O�N�!‚***�**************************8‘If�separate�power�supplies�are�used�for�the�CPU�and�the6‘VME320,�you�MUST�power�down�the�VME320�first�or�it�is2‘possible�to�destroy�data�on�the�hard�disk�(only).8Ž2.‚VERSAdos�is�released�on�double�sided,�single�density:‘Motorola�format�8"�diskettes,�which�are�incompatible�with2‘the�IBM�format�used�by�the�VME320�and�VME420�disk6‘controllers.‚If�another�controller�which�supports�the7‘Motorola�format�(RWIN1,�VM21,�VM22,�or�VME315)�is�also8‘on�the�system,�use�that�controller�to�load�the�contents5‘of�the�diskettes�onto�your�hard�disk.‚Otherwise,�you6‘must�use�a�system�with�a�controller�that�supports�the6‘Motorola�format�to�copy�the�contents�to�single�sided,7‘single�density�format�diskettes.‚Since�this�is�equiva-9‘lent�to�the�IBM�single�sided,�single�density�format,�you1‘can�use�these�diskettes�on�your�VME320�or�VME4205‘controller�to�load�the�contents�onto�your�hard�disk.<Ž3.‚If�your�VERSAdos�is�configured�with�a�VME320,�it�is�pre-8‘set�for�one�hard�disk�and�one�5-1/4"�diskette�drive.‚If8‘the�5-1/4"�drive�is�physically�not�present,�it�can�take8‘significantly�longer�than�normal�to�boot�the�system.‚To9‘avoid�this,�resysgen�to�match�the�exact�number�of�5-1/4"+‘drives�that�physically�are�in�your�system.    ŸNewsfile -�46�-  …VERSAdos�4.4�NEWSFILE¨08-Mar-85…STATUS�BY�NAME¯08:00�AM  …7.63‚VME400�(SERIAL�I/O)>ˆNOTE:  �1.‚The�interrupt�level�is�now�set�to�4�for�all�systems.:‘Previously,�only�the�VME/10�used�this�card�as�level�4.‚It;‘is�now�compatible�with�other�operating�systems�supplied�by‘Microsystems.  …7.64‚VME420�(SASI)3ˆNOTE:�1.‚See�NOTE�2�under�the�VME320�listed�above.;Ž2.‚The�VME420�SASI�disk�interface�board�is�only�guaranteed‘to�work�on�a�VME110�system.  …7.65‚VME435A�(MAG�TAPE)ˆENHANCEMENTS�ADDED:=Œ-�Allows�users�to�select�buffered�mode�read�by�designating�a;Žbuffer�size�of�4096�or�less�bytes.‚This�allows�the�VME435A;Žto�correctly�transfer�data�from�some�non-PERTEC�compatible4Žtape�drives�with�which�it�was�not�designed�to�work.8ŽMotorola�is�under�no�obligation�to�make�the�VME435�tape;Žcontroller�board�to�work�with�non-PERTEC�compatible�drives:Ž(must�be�compatible�with�PERTEC�spec.‚#79609,�"OEM�User's4ŽManual�for�Pertec�Microformatted�Tape�Transports").:Œ-�The�user�can�now�specify�the�timeouts�he�would�like�for=Žcertain�commands�such�as�rewind,�search�for�filemark,�erase,Žetc. ˆBUGS�FIXED:0Œ-�Fixed�so�two�transports�are�handled�properly.;Œ-�Fixed�problem�reading�tape�at�100�ips�or�more�(1600�BPI)Žon�a�VME/10�system.6Œ-�Requesting�"0"�read�tries�or�"0"�write�tries�is�now8Žequivalent�to�requesting�"1"�read�try�or�"1"�write�try. ˆKNOWN�BUGS:Œ-�None. AˆNOTE:‚1.‚VERSAdos�only�supports�the�new�VME435A�board.‚Jumper�it:’as�per�the�manual.‚The�old�VME435�board�is�not�supported.8�2.‚Recommended�interrupt�level�is�now�4�(instead�of�1).=�3.‚Jumper�the�board�so�interrupts�are�disabled�upon�booting.               ŸNewsfile -�47�-**ˆFILE:…PRIV.REJECT.NW*JThis file should be edited by the SYSTEM ADMINISTRATOR to provide help and6information for users who are rejected at log on time.   ééééééé¯ =/*=/*†FILE:…PRIV.UPSYSTEM.CF=/*J=/* This is a chain file which is activated as an option when session 0001I=/*�log�on�is�completed.‚It�is�run�on�behalf�of�user�=�0�(even�though�theI=/* initial logon was under another user number). Some possible uses are:J=/*�=SPL�‚(note�the�volume�name�now�goes�on�the�command�line) =/* =SECUREJ=/*�3‚(note�no�preceding�"="�for�the�reponse�to�security�level�for�user=0)=/*�0‚(no�security�for�user<>0) =/* =SWORD:=/*�xxxxxxxxƒ(no�preceding�"="�for�the�response�to�prompt)=/* etc.=/*A=/* This file should be protected from other users on the system.*=/* To protect this file do the following:%=/* =RENAME 0.PRIV.UPSYSTEM.CF,(OOOO)O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>M=/*>>>‚IF�THE�USER�SELECTED�THE�AUTO-LOGON�OPTION,�BE�SURE�THE�TIME/DATE‚>>>>M=/*>>>‚VALUES�ARE�CORRECT.‚IF�NOT,�SET�THEM�WITH�THE�TIME/DATE�COMMANDS.�>>>>O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=VALID 0=TIME=ENDééé¸=/*=/*†FILE:…PRIV.USER.CF=/*H=/* This is a user oriented chain file which is initiated at logon time.I=/* It provides the logon user the capability to initiate a predeterminedN=/* set of processes automatically. This chain file is not required for logon.=/*=ENDééééé éÁLARK25 FBFOBJ CFÖÖ `qqFBFSRC CFçç jqqSETUPOBJCFøø aqqSETUPSRCCF  lqq=/*==/*‚FBFOBJ.CF†25MB�LARK�CARTIDGE�FILE-BY-FILE�BACKUPŠ03/09/84=/*6=/*‹--------------------------------------------------4=/*‹>>>>>>>>>>>>‚OBJECT�CARTRIDGES�ONLY‚<<<<<<<<<<<<6=/*‹--------------------------------------------------=/*J=/*‚This�chain�file�does�a�file-by-file�backup�from�SOURCE�to�TARGET�disk.G=/*‚It�assumes�the�user�has�copied�the�SOURCE�disk�to�#HD00�fixed�mediaH=/*‚and�then�rebooted�using�the�fixed�media�as�the�system�default�(so�weG=/*‚will�get�the�right�IPL.SY�file�and�default�load�address!).‚It�takes4=/*‚this�chain�file�approximately�30�minutes�to�run.=/*K=/*‚It�is�assumed�that�the�user�has�logged�onto�the�system�using�the�source>=/*‚volume�name�as�the�default�volume�name�and�user�0�(SYS:0).=/*=/*‚Invoke�as:>=/*†LARK25.FBFOBJ.CF‚[,]=/*,=/*Œwhere:‚#HD00�=�SOURCE�disk�(fixed�media))=/*”#HD01�=�TARGET�disk�(cartridge�media)=/*9=/*†The�TARGET�disk's�default�volume�name�will�be�"COPY".=/*O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/IFC \1=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*7=/*—Argument�01�(target�vol.�descr.)�MUST�be�specified.=/*=END=/ENDIF =/RX = \0 =/IF RX > 2=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*$=/*—More�than�2�arguments�specified.=/*=ARG=NOARG=END=/ENDIF=/IFC \2=/*'=/*†Substituting�"COPY"�for�Argument�02=/* =ARG \1,COPY=/ENDIFO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*=/*ƒCurrent�arguments�are:=ARG=/*@=/*ƒ*‚Argument�01=‚target�volume�description�(20�characters�max)=/*9=/*ƒ*‚Argument�02=‚target�volume�nameˆ(�4�characters�max)=/*=/*=/*=/*D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<==/*‚>>>>>>>>>„GOING�TO�INITIALIZE�(OVERWRITE)�#HD01…<<<<<<<<<D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=/*4=/&†PRESS�RETURN�to�proceed‡PRESS�BREAK�to�terminate=/*ÎF×0=/*†Initialize�the�target�diskƒ(bootable�object)=/* =INIT #HD01;VYY\20\1YNNY62464YSYS:0.&.IPL.SY NO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*I=/*‚Copy�files�from� the�Source�volume�to�the�Target�volume�(file-by-file)=/*š(SYS:)Ž(\2:)=/*=COPY SYS:*.*.*.*,\2:*.*.*.*;NBA=NOARG=ENDéééééé=/*==/*‚FBFSRC.CF†25MB�LARK�CARTIDGE�FILE-BY-FILE�BACKUPŠ03/15/84=/*6=/*‹--------------------------------------------------4=/*‹>>>>>>>>>>>>‚SOURCE�CARTRIDGES�ONLY‚<<<<<<<<<<<<6=/*‹--------------------------------------------------=/*J=/*‚This�chain�file�does�a�file-by-file�backup�from�SOURCE�to�TARGET�disk.G=/*‚It�assumes�the�user�has�copied�the�SOURCE�disk�to�#HD00�fixed�mediaH=/*‚and�then�rebooted�using�the�fixed�media�as�the�system�default�(so�we>=/*‚will�get�the�right�IPL.SY�file�and�default�load�address!).=/*=/*‚ASSUMPTIONS:=/*F=/*†It�is�assumed�that�the�user�has�another�type�of�media�to�boot�fromE=/*†besides�the�LARK�drive.‚If�the�user�only�has�one�LARK�drive�unit,H=/*†then�they�cannot�use�this�chain�file�to�backup�the�Source�cartridge.G=/*†The�user�would�have�to�copy�files�from�the�Source�release�cartridgeC=/*†onto�their�fixed�media,�then�back�to�a�different�LARK�cartridge@=/*†until�all�the�files�have�been�copied�from�the�Source�release=/*†cartridge.=/*D=/*†It�is�assumed�that�the�user�has�logged�onto�the�system�using�the/=/*†volume�name�of�the�disk�he/she�booted�from.=/*=/*=/*‚Invoke�as:E=/*†SRL1:0.LARK25.FBFSRC.CF‚[,];=/*�Note:‚SRL1�will�need�to�be�changed�to�SRL2�when�backing =/*—up�SRL2.=/*,=/*Œwhere:‚#HD00�=�SOURCE�disk�(fixed�media))=/*”#HD01�=�TARGET�disk�(cartridge�media)=/*9=/*†The�TARGET�disk's�default�volume�name�will�be�"SRL1".=/*O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/IFC \1=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*7=/*—Argument�01�(target�vol.�descr.)�MUST�be�specified.=/*=END=/ENDIF =/RX = \0 =/IF RX > 2=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*$=/*—More�than�2�arguments�specified.=/*=ARG=NOARG=END=/ENDIF=/IFC \2=/*'=/*†Substituting�"SRL1"�for�Argument�02=/* =ARG \1,SRL1=/ENDIFO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*ßBè) =/*ƒCurrent�arguments�are:=ARG=/*@=/*ƒ*‚Argument�01=‚target�volume�description�(20�characters�max)=/*9=/*ƒ*‚Argument�02=‚target�volume�nameˆ(�4�characters�max)=/*=/*=/*=/*D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<==/*‚>>>>>>>>>„GOING�TO�INITIALIZE�(OVERWRITE)�#HD01…<<<<<<<<<D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=/*4=/&†PRESS�RETURN�to�proceed‡PRESS�BREAK�to�terminate=/*0=/*†Initialize�the�target�diskƒ(bootable�object)=/* =INIT #HD01YY\20\1YNNY62464NNO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*I=/*‚Copy�files�from�the�Source�volume�to�the�Target�volume�(file-by-file)=/*›(SYS:)�(\2:)=/*=COPY SYS:*.*.*.*,\2:*.*.*.*;NBA=NOARG=ENDéééé=/*?=/*‚SETUPOBJ.CF†25MB�LARK�CARTIDGE�FILE-BY-FILE�BACKUPŠ03/09/84=/*6=/*‹--------------------------------------------------4=/*‹>>>>>>>>>>>>‚OBJECT�CARTRIDGES�ONLY‚<<<<<<<<<<<<6=/*‹--------------------------------------------------=/*I=/*‚This�chain�file�does�a�file-by-file�backup�from�SOURCE�(#HD01)�to�theI=/*‚TARGET�(#HD00)�disk.‚It�takes�the�chain�file�approximately�30�minutes =/*‚to�run.=/*K=/*‚It�is�assumed�that�the�user�has�logged�onto�the�system�using�the�source?=/*‚volume�name�as�the�default�volume�name�and�user�0�(SYST:0).=/*5=/*‚It�is�also�assumed�that�#HD00�has�been�formatted.=/*=/*=/*‚Invoke�as:@=/*†LARK25.SETUPOBJ.CF‚[,]=/*0=/*Œwhere:‚#HD01�=�SOURCE�disk�(cartridge�media)%=/*”#HD00�=�TARGET�disk�(fixed�media)=/*.=/*†The�TARGET�disk�volume�name�will�be�"SYS".9=/*†The�SOURCE�disk's�default�volume�name�will�be�"SYST".=/*O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/IFC \1=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*7=/*�Argument�01�(target�vol.�descr.)�MUST�be�specified.=/*=END=/ENDIF =/RX = \0 =/IF RX > 2=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*$=/*�More�than�2�arguments�specified.=/*=ARG=NOARG=END=/ENDIF=/IFC \2=/*'=/*†Substituting�"SYST"�for�Argument�02=/* =ARG \1,SYST=/ENDIFO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*=/*ƒCurrent�arguments�are:=ARG=/*@=/*ƒ*‚Argument�01=‚target�volume�description�(20�characters�max)=/*9=/*ƒ*‚Argument�02=‚source�volume�nameˆ(�4�characters�max)=/*=/*=/*=/*D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<==/*‚>>>>>>>>>„GOING�TO�INITIALIZE�(OVERWRITE)�#HD00…<<<<<<<<<D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=/*4=/&†PRESS�RETURN�to�proceed‡PRESS�BREAK�to�terminate=/*8=/*†Initialize�the�target�disk�(#HD00)‚(bootable�object)=/* =INIT #HD00;VY ðLùYSYS0\1YNNY62464Y \2:0.&.IPL.SY NO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*K=/*‚BACKUP�FILES�FROM�THE�SOURCE�VOLUME�TO�THE�TARGET�VOLUME�(file-by-file)=/*=COPY \2:*.*.*.*,SYS:*.*.*.*;NBA=NOARG=ENDéééééé=/*?=/*‚SETUPSRC.CF†25MB�LARK�CARTIDGE�FILE-BY-FILE�BACKUPŠ03/15/84=/*6=/*‹--------------------------------------------------4=/*‹>>>>>>>>>>>>‚SOURCE�CARTRIDGES�ONLY‚<<<<<<<<<<<<6=/*‹--------------------------------------------------=/*I=/*‚This�chain�file�does�a�file-by-file�backup�from�SOURCE�(#HD01)�to�the=/*‚TARGET�(#HD00)�disk.=/*=/*=/*‚ASSUMPTIONS:=/*F=/*†It�is�assumed�that�the�user�has�another�type�of�media�to�boot�fromE=/*†besides�the�LARK�drive.‚If�the�user�only�has�one�LARK�drive�unit,H=/*†then�they�cannot�use�this�chain�file�to�backup�the�Source�cartridge.G=/*†The�user�would�have�to�copy�files�from�the�Source�release�cartridgeC=/*†onto�their�fixed�media,�then�back�to�a�different�LARK�cartridge@=/*†until�all�the�files�have�been�copied�from�the�Source�release=/*†cartridge.=/*D=/*†It�is�assumed�that�the�user�has�logged�onto�the�system�using�the/=/*†volume�name�of�the�disk�he/she�booted�from.=/*=/*=/*=/*=/*‚Invoke�as:G=/*†SRL1:0.LARK25.SETUPSRC.CF‚[,];=/*�Note:‚SRL1�will�need�to�be�changed�to�SRL2�when�backing=/*—up�volume�SRL2=/*0=/*Œwhere:‚#HD01�=�SOURCE�disk�(cartridge�media)%=/*”#HD00�=�TARGET�disk�(fixed�media)=/*.=/*†The�TARGET�disk�volume�name�will�be�"SYS".9=/*†The�SOURCE�disk's�default�volume�name�will�be�"SRL1".2=/*†When�backing�up�SRL2,�Argument�02�must�be�SRL2=/*O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/IFC \1=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*7=/*�Argument�01�(target�vol.�descr.)�MUST�be�specified.=/*=END=/ENDIF =/RX = \0 =/IF RX > 2=/*=/*#=/*ƒ*****�F�A�T�A�LƒE�R�R�O�R‚!�!�!=/*$=/*�More�than�2�arguments�specified.=/*=ARG=NOARG =END=/ENDIF=/IFC \2=/*'=/*†Substituting�"SRL1"�for�Argument�02=/* =ARG \1,SRL1=/ENDIFO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*=/*ƒCurrent�arguments�are:=ARG=/*H %@=/*ƒ*‚Argument�01=‚target�volume�description�(20�characters�max)=/*9=/*ƒ*‚Argument�02=‚source�volume�nameˆ(�4�characters�max)=/*=/*=/*=/*D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<==/*‚>>>>>>>>>„GOING�TO�INITIALIZE�(OVERWRITE)�#HD00…<<<<<<<<<D=/*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=/*4=/&†PRESS�RETURN�to�proceed‡PRESS�BREAK�to�terminate=/*8=/*†Initialize�the�target�disk�(#HD00)‚(bootable�object)=/* =INIT #HD00YYSYS0\1YNNY62464NNO=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*K=/*‚BACKUP�FILES�FROM�THE�SOURCE�VOLUME�TO�THE�TARGET�VOLUME�(file-by-file)=/*=COPY \2:*.*.*.*,SYS:*.*.*.*;NBA=NOARG=ENDéééé' APLICATNCIqqPTASKFP CI''*qqPTASK SA00qqPTASK RO55qqMSG@MSG�************************************************************'MSG�**ˆApplication�task�include�file“**@MSG�************************************************************ ƒINCLUDE‚&.PTASKFP.CIé éééééé B�MSG…*************************************************************�MSG…*»*?�MSG…*‚LINK�THE�GLOBALLY�SHARABLE�PASCAL�RUNTIME�ROUTINES�FORƒ*�MSG…*‚ROM�USAGE°*�MSG…*»*B�MSG…************************************************************* GSPLSTR = *�SUBS„RROM.RLIBFP.LG�LINK„RROM.RLIBFP.LG�IFEQˆ\LINKLSW„=COPY‡\LINKLS,\WORKLS;A ENDC PROCESS RROM.RLIBFP.LO B�MSG…*************************************************************�MSG…*»*>�MSG…*‚LINK�THE�GLOBALLY�SHARABLE�PASCAL�RUNTIME�ROUTINES�TO„*=�MSG…*‚THE�USER�TASK.�THIS�IS�NECESSARY�TO�SATISFY�EXTERNAL…*5�MSG…*‚REFERENCES�BUT�SEG0�WILL�BE�EXCLUDED�AS�SEG0�*:�MSG…*‚IS�DEFINED�ABOVE�IN�THE�ROM�LIBRARY�AND�SEG2�WILLˆ*3�MSG…*‚BE�OBTAINED�DYNAMICALLY�BY�THE�INITIALIZER�*�MSG…*»*B�MSG…************************************************************* �TASK‡&.PTASK.LO�ATTRIBƒ=�'USER' TSKSTART = *�STATE„=�'READ'�SESSION‚=�$100 PRIORITY = $90 �EXCLUDE„SEG0 �EXCLUDE„SEG2�SUBS‡RROM.TASKFP.LG�LINK‡RROM.TASKFP.LG�IFEQ…\LINKLSWŠ=COPY…\LINKLS,\WORKLS;A ENDC �END†PTASK * * *ééé+ PROGRAM ptask(output);VAR�i†:�integer;VAR�a,b,c‚:�real; devpr†:�text; BEGINrewrite (devpr,'#PR');i := 1; WHILE i <> 10 DO‚BEGIN1‚writeln�(devpr,�'�MOTOROLA�MOTOROLA�MOTOROLA�'); ‚i�:=�i+1;‚END; i := 1; a := 3.14159; b := 2.71828; WHILE�1=1‚DO‚BEGIN6‚writeln�(�i,�'‚MOTOROLA�MOTOROLA�MOTOROLA‚',c:‚10:5); ‚i:=�i+1; ‚b:=�b+0.035; ‚c:=�b*a;‚END; END.éééééé(]1PTASK PSYS ' PTASK PC1…M68000 Pascal object from 2.30 resident compilerÂ2h.PLJSR I.PMAIN h.PIFD h.PRWT h.PAFI h.PLDCS h.PWRS h.PWLN h.PWRJ h.PFPOINT h.PWRR h.PCLO O.PZSTART O.PZMAIN  h.PFINIT )R/ �¬ŸK3@ˆ žü tr pAíÿàN«@trpAíÿøN«@AíÿøN«@Hmÿà?=/*†This�chain�file�when�invoked�will�perform�all�of�the�steps==/*†necessary�to�create�a�ROM�system.�It�has�been�provided�as>=/*†an�example.�The�result�of�this�can�file�can�be�burned�into>=/*†ROM�and�executed.�The�application�was�executed�on�a�VME1107=/*†system�using�the�MVME210�board�and�MCM68764�EPROMs.=/*=/*†CHAIN�FILE�ASSUMPTIONS:=/*;=/*†1.�Chain�file�will�use�user�number�8007�for�the�SYSGEN.(=/*†2.�The�default�volume�name�is�'SYS'.B=/*†3.�All�files�required�to�execute�this�chain�file�reside�on�the=/*‰default�volume.D=/*†4.�The�PASCAL�task�will�be�compiled�unless�the�user�modifies�the+=/*‰psuedo�register�RX�to�a�non-zero�value.=/R?=/*=/*?=/&†PRESS�'RETURN'�if�the�assumptions�are�ok‡ELSE�PRESS�'BREAK'     =/IF RX = 0O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*)=/*†Compile�the�PASCAL�demonstration�task=/* =USE SYS:9990=0..PASCAL.LO‚PTASK=0..PASCAL2.LO PTASKO=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=/ENDIF     O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*)=/*†Perform�the�RMSGEN�for�the�ROM�system=/*=/*:JCvKVS =USE SYS:9999=/*$=/*†Edit�file�SYS:9999.VME110.RMS.CD=/*#=/*†Establish�the�ROM�start�address=/*=E VME110.RMS.CD F /$40000/C /$40000/$300000/QUIT=/@ RMSGEN.CF VME110=/*O=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*/=/*†Perform�the�COPYSGEN�for�the�target�product-=/*†Edit�required�files�to�perform�the�SYSGEN=/*=USE SYS:8007.VME110.=/@ SYS:9998.VME110.COPYSGEN.CF SYS,SYS,8007,Y    =/*$=/*†Edit�file�SYS:9999.VME110.RMS.CD=/*6=/*†Restore�the�VME110�RMS�back�to�its�original�state.E=/*†This�step�is�not�necessary�to�complete�the�ROM�building�procedureE=/*†but�rather�has�been�inserted�to�restore�the�VME110�RMS�files�back=/*†to�their�original�state.=/*=USE SYS:9999.&.=E VME110.RMS.CD F /$300000/C /$300000/$40000/QUIT=/@ RMSGEN.CF VME110=USE SYS:8007.VME110     =/*=/*=/*†Edit�SYS:8007.&.SYSGEN.CF=/*2=/*†Establish�that�this�SYSGEN�is�for�a�ROM�system=/*=E &.SYSGEN.CF F /CT=350/C /CT=350/CT=350,R/QUIT    =/*=/*†Edit�SYS:8007.&.CNFGTASK.CI=/*(=/*†Remove�the�following�from�the�system=/*‹File�M anagement=/*‹Session�Control =/*‹Loader=/*=E &.CNFGTASK.CI F�/FMS$†=�1/C�/FMS$†=�1/FMS$†=�0/ F�/EET$†=�1/C�/EET$†=�1/EET$†=�0/ F�/LDR$†=�1/C�/LDR$†=�1/LDR$†=�0/QUIT    =/*"=/*†Edit�SYS:8007.VME110.SYSTEM.CI=/*$=/*†Establish�the�ROM�ending�address=/*=E VME110.SYSTEM.CIF�/ROMEADDR‚=�$0/$C�/ROMEADDR‚=�$0/ROMEADDR‚=�$313200/QUIT    =/*=/*†Edit�SYS:8007.&.VERSADOS.CD=/*(=/*†Include�the�application�command�file=/*=E &.VERSADOS.CD F /FHS$IOS$/UP 1MERGE SYS:9990.&.APLICATN.CIQUIT    =/*$=/*†Edit�SYS:8007.VME110.CNFGDRVR.CI=/*8=/*†Remove�drivers�not�required�for�the�ROM�application.=/*=E VME110.CNFGDRVR.CIF�/NORWIN„=�1/C�/NORWIN„=�1/NORWIN„=�0/F�/NVME315ƒ=�1/C�/NVME315ƒ=�1/NVME315ƒ=�0/F�/NVME320ƒ=�1/C�/NVME320ƒ=�1/NVME320ƒ=�0/F�/NVME4205‚=�1/C�/NVME4205‚=�1/NVME4205‚=�0/F�/NVME400ƒ=�1/C�/NVME400ƒ=�1/NVME400ƒ=�0/QUIT     =/* =/*†Copy�the8=/*�User�created�application�related�files�to�the�target=/*•SYSGEN�user�number==/*�ROM�related�SYSGEN�files�for�the�user�created�application=/*•task=/*4=COPY�SYS:9990.&.PTASKFP.CIŒSYS:8007.&.PTASKFP.CI;BY8=COPY�SYS:9998.RROM.RLIBFP.LGŠSYS:8007.RROM.RLIBFP.LG;BY8=COPY�SYS:9998.RROM.RLIBFP.ROŠSYS:8007.RROM.RLIBFP.RO;BY8=COPY�SYS:9998.RROM.TASKFP.LGŠSYS:8007.RROM.TASKFP.LG;BY0=COPY�SYS:9990.&.PTASK.ROŽSYS:8007.&.PTASK.RO;BY4=COPY�SYS:9998.RROM.INIT.ROŒSYS:8007.RROM.INIT.RO;BY<=COPY�SYS:9998.RROM.ASSIGNLU.AFˆSYS:8007.RROM.ASSIGNLU.AF;BY<=COPY�SYS:9998.RROM.ASSIGNLU.SAˆSYS:8007.RROM.ASSIGNLU.SA;BY     =/*"=/*†Edit�SYS:8007.RROM.ASSIGNLU.SA=/* =/*†EDIT�to>=/*‹Assign�the�input/output�for�the�terminal�device�as�desired=/*†THEN>=/*‹Assemble�the�module�to�create�the�.RO�to�be�used�at�SYSGEN=/*‹time=/*=E RROM.ASSIGNLU.SAF /,CR/C /;Z/O=#CN00;Z/QUIT=/*(=/*†Assemble�the�RROM.ASSIGNLU.SA�module=/*=NOARG=/@ RROM.ASSIGNLU.AF=NOARG    =/* =/*†Edit�SYS:8007.RROM.TASKFP.LG=/*(=/*†Establish�the�task�name�for�the�link=/*=E RROM.TASKFP.LG F /=LINK/C�*-99‚;A/????/PTASK/AQUITO=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*=/*†Perform�the�ROM�SYSGEN.=/@ SYS:8007.STD.SYSGEN.CFO=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     =/*C=/*†The�file�VME110.VERSADOS.SY�is�now�ready�to�be�burned�into�ROM.F=/*†Examination�of�the�SYSGEN�output�listing,�VME110.SYSLIST.LS,�showsG=/*†that�the�startup�address�is�$313900.�Invoking�the�directory�requestD=/*†"DIR�8007.VME110.VERSADOS.SY;A"�will�show�that�the�file�has�$146H=/*†sectors�which�translates�into�a�file�size�of�approximately�$14600�or=/*†84K�bytes.=/*=END éééé ééé' EXORMACSACIALOC SIggqqF*�EXORMACS.ACIALOC.SI�-‚Local�include�file�for�ACIA�driver�on�EXORmacs7CTYPE1ƒSET‡XTACD1„Set�the�channel�type�for�Debug�port�17CTYPE2ƒSET‡XTACD2„Set�the�channel�type�for�Debug�port�2VECTNBR‚SET‡$8B‡Vector�number%VECTLVL‚SET‡5‰Vector�level�(priority)3PRIORTY1�SET‡$30‡Software�priority�for�1st�terminal3PRIORTY2�SET‡$20‡Software�priority�for�2nd�terminaléééééé_ ' VM01 EPCILOC SIttqq>*�VM01.EPCILOC.SI�-‚Local�include�file�for�EPCI�driver�on�VM01VECTNBR‚SET‡$1D‡Vector�number%VECTLVL‚SET‡5‰Vector�level�(priority)ééééééél' VME110 ACIALOC SI��qq B*�VME110.ACIALOC.SI�-‚Local�include�file�for�ACIA�driver�on�VME110=CTYPE1ƒSET‡XTS110„Set�the�channel�type�for�VME110�serial�port(CTYPE2ƒSET‡0‰---�Not�used�for�the�VME110VECTNBR‚SET‡$1D‡Vector�number%VECTLVL‚SET‡5‰Vector�level�(priority)3PRIORTY1�SET‡$30‡Software�priority�for�1st�terminal*PRIORTY2�SET‡0‰---�Not�used�for�the�VME110ééééééy' VME101 EPCILOC SIŽŽqqB*�VME101.EPCILOC.SI�-‚Local�include�file�for�EPCI�driver�on�VME101VECTNBR‚SET‡$1C‡Vector�number%VECTLVL‚SET‡4‰Vector�level�(priority)é éééééé†' VME122 MFPLOC SI››qq@*�VME122.MFPLOC.SI�-‚Local�include�file�for�MFP�driver�on�VME122=CTYPE1ƒEQU‡XTMFP0„Set�the�channel�type�for�VME122�serial�portéééé ééé“' VME128 MFPLOC SI¨¨qq@*�VME128.MFPLOC.SI�-‚Local�include�file�for�MFP�driver�on�VME128=CTYPE1ƒEQU‡XTMFP8„Set�the�channel�type�for�VME128�serial�portééééééé  ' VME120 MFPLOC SIµµqq@*�VME120.MFPLOC.SI�-‚Local�include�file�for�MFP�driver�on�VME120=CTYPE1ƒEQU‡XTMFP0„Set�the�channel�type�for�VME120�serial�portééééééé­'NOLIST SYSGEN CFÂÂqq =/*)=/*‚Chain�file�to�invoke�standard�sysgen.H=/*„Assumes�CATALOG�has�been�set=�system�type‚(VM02,VMES10,EXORMACS,etc)=/*=ARG ,,,,#NULL=/@ &.SYSGEN.CF=/* =/*‚All�done!éééééééº'STD SYSGEN CFÏÏqq=/*)=/*‚Chain�file�to�invoke�standard�sysgen.H=/*„Assumes�CATALOG�has�been�set=�system�type‚(VM02,VMES10,EXORMACS,etc)=/*=NOARG=/@ &.SYSGEN.CF=/* =/*‚All�done! éééééééLj'VERSAPT PV01DRV CFÜÜqqP050DRV CFååqqP115DRV CFîîqqM300DRV CF÷÷qqM315DRV CFqqM320DRV CF  qqM420DRV CFqqM435DRV CFqqM600DRV CF$$qqM605DRV CF--qqM610DRV CF66qqM615DRV CF??qqM625DRV CFHHqqACIADRV CFQQqqDARTDRV CFZZ qqEPCIDRV CFccqqIPCDRV CFllqqMFPDRV CFuuqqRADDRV CF~~qqPIADRV CF‡‡qq=/*=/* VERSAPT.PV01DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PV01DRVŽ*�Start�of�PV01DRVH*<----------------------------------------------------------------------QUITééé ééééÔ=/*=/* VERSAPT.P050DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\P050DRVŽ*�Start�of�P050DRVH*<----------------------------------------------------------------------QUITéééééééÝ=/*=/* VERSAPT.P115DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\P115DRVŽ*�Start�of�P115DRVH*<----------------------------------------------------------------------QUITé ééééééæ=/*=/* VERSAPT.M300DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\M300DRVŽ*�Start�of�M300DRVH*<----------------------------------------------------------------------QUITéééééééï =/*=/* VERSAPT.M315DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\M315DRVŽ*�Start�of�M315DRVH*<----------------------------------------------------------------------QUITéééééééø=/*=/* VERSAPT.M320DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\M320DRVŽ*�Start�of�M320DRVH*<----------------------------------------------------------------------QUITéééééé é=/*,=/* VERSAPT.M420DRV.CF - SASI driver patches=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\M420DRVŽ*�Start�of�M420DRVH*<----------------------------------------------------------------------QUITéééééé =/*0=/* VERSAPT.M435DRV.CF - Mag Tape Driver Patches=/*=PATCH VERSADOS.SYG*>---------------------------------------------------------------------O�\M435DRVŽ*�Start�of�M435DRVG*<---------------------------------------------------------------------QUITééé ééé=/*=/*ƒVERSAPT.M600DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------#O�\M600DRVŽ*�Start�of�VME600�driverH*<----------------------------------------------------------------------QUITééééééé=/*=/*ƒVERSAPT.M605DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------#O�\M605DRVŽ*�Start�of�VME605�driverH*<----------------------------------------------------------------------QUITéé ééééé%=/*=/*ƒVERSAPT.M610DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------#O�\M610DRVŽ*�Start�of�VME610�driverH*<----------------------------------------------------------------------QUITééééééé.=/*=/*ƒVERSAPT.M615DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------#O�\M615DRVŽ*�Start�of�VME615�driverH*<----------------------------------------------------------------------QUIT ééééééé7=/*=/*ƒVERSAPT.M625DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------#O�\M625DRVŽ*�Start�of�VME625�driverH*<----------------------------------------------------------------------QUITééééééé @=/*=/* VERSAPT.ACIADRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\ACIADRVŽ*�Start�of�ACIADRVH*<----------------------------------------------------------------------QUITéééééééI=/*,=/* VERSAPT.DARTDRV.CF - DART driver patches=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------%O�\DARTSPRŽ*�Start�of�DART�supervisorH*>----------------------------------------------------------------------&O�\DARTDRVŽ*�Start�of�DART�subordinateH*<----------------------------------------------------------------------QUITéééé ééR =/*7=/*‚VERSAPT.EPCIDRV.CF�-�EPCI�driver�patches�for�VME101=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\EPCIDRVŽ*�Start�of�EPCIDRVH*<----------------------------------------------------------------------QUITéééééé[=/*=/* VERSAPT.IPCDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\IPCDRV�*�Start�of�IPCDRVM A14;DI BSR O+$1330. M 1330;DIMOVE.W #$0082,D3MOVE.B #$82,4(A3)RTS.M 7DC;DI BSR O+$1340. M 1340;DIMOVE.B #$00,4(A3) BSR O+$952RTS.H*<----------------------------------------------------------------------QUITéé ééééd=/*=/* VERSAPT.MFPDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MFPDRV�*�Start�of�MFPDRVH*<----------------------------------------------------------------------QUITééééééém=/*=/* VERSAPT.RADDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\RADDRV�*�Start�of�RADDRVH*<----------------------------------------------------------------------QUITé éééééév=/*=/* VERSAPT.PIADRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\PIADRV�*�Start�of�PIADRVH*<----------------------------------------------------------------------QUITééééééé 'VERSAPT RWINDRV CF””qqDRVS10 CF��qqVM22DRV CF¦¦qqEET CF¯¯qqEND CF¸¸qqFHS CFÁÁqqFMS CFÊÊqqIOS CFÓÓqqLDR CFÜÜqqMPCCDRV CFååqqMPSCDRV CFîîqqMPSCSPR CF÷÷qqMPSCSUP CFqqTNTDRV CF  qqRIODRV CFqqIOI CFqqSYSINIT CF$$qqSIODRV CF--qqVM01 CF66qqBEGIN CF?? qq=/*=/* VERSAPT.RWINDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\RWINDRVŽ*�Start�of�RWINDRVH*<----------------------------------------------------------------------QUITéééééééŒ=/*9=/*‚VERSAPT.DRVS10.CF�-�TERMDRV�driver�patches�for�VME/10=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\TERMDRVŽ*�Start�of�TERMDRVH*<----------------------------------------------------------------------QUITé ééééé•=/*=/* VERSAPT.VM22DRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\VM22DRV�*�Start�of�VM22DRVH*<----------------------------------------------------------------------QUITéééééééž=/*=/*†VERSAPT.EET.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\EETSTR�*�Start�of�EETH*<----------------------------------------------------------------------QUIT ééééééé§=/*8=/* SYSTEM MUST BE RE-BOOTED FOR PATCHES TO TAKE EFFECT.=/*=ENDééééééé °=/*=/*†VERSAPT.FHS.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\FHSSTR�*�Start�of�FHSH*<----------------------------------------------------------------------QUITééééééé¹=/*=/*†VERSAPT.FMS.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\FMSSTR�*�Start�of�FMSH*<----------------------------------------------------------------------QUITééééé ééÂ=/*=/*†VERSAPT.IOS.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\IOSSTR�*�Start�of�IOSH*<----------------------------------------------------------------------QUITéééééééË=/*=/*†VERSAPT.LDR.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\LDRSTR�*�Start�of�LDRH*<----------------------------------------------------------------------QUITééé ééééÔ=/*=/* VERSAPT.MPCCDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPCCDRVŽ*�Start�of�MPCCDRVH*<----------------------------------------------------------------------QUITéééééééÝ=/*=/* VERSAPT.MPSCDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCDRVŽ*�Start�of�MPSCDRVH*<----------------------------------------------------------------------QUITé ééééééæ=/*=/* VERSAPT.MPSCSPR.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSPRŽ*�Start�of�MPSCSPRH*<----------------------------------------------------------------------QUITéééééééï  =/*=/*ƒVERSAPT.MPSCSUP.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\MPSCSUPŽ*�Start�of�MPSCSUPH*<----------------------------------------------------------------------QUITéééééééø=/*=/*†VERSAPT.TNTDRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\TNTSTR�*�Start�of�TNTH*<----------------------------------------------------------------------QUITéééééé  é=/*=/* VERSAPT.RIODRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\RIODRV�*�Start�of�RIODRVH*<----------------------------------------------------------------------QUITééééééé =/*=/*†VERSAPT.IOI.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\IOCSTR�*�Start�of�IOCH*<----------------------------------------------------------------------QUITéééé! ééé=/*=/*†VERSAPT.SYSINIT.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\INTSTR�*�Start�of�INTH*<----------------------------------------------------------------------QUITééééééé=/*=/* VERSAPT.SIODRV.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------O�\SIODRVŽ*�Start�of�SIODRVH*<----------------------------------------------------------------------QUITéé! ééééé%=/*=/*†VERSAPT.VM01.CF=/*=PATCH VERSADOS.SYH*>----------------------------------------------------------------------M $E02C.M $E0400›*�Patch�for�VM01�VERSADOS027800.H*<----------------------------------------------------------------------QUITéééééé.F=/* .VERSAPT.CF is built from VERSAPT.BEGIN.CF at sysgen time.F=/* It will contain patches to be applied to VERSADOS after the sysgenA=/*�process.‚The�.VERSAPT.CF�file�is�built�dynamically�atC=/* sysgen time depending on the configura" tion of your system whichC=/*�is�defined�by�.CNFGDRVR.CI�and�&.CNFGTASK.CI�files.‚TheE=/* other VERSAPT.*.CF files are copy appended to this file to createB=/*�the�final�.VERSAPT.CF�file.‚The�SUBS�command�is�run�onE=/* .VERSAPT.CF to create the .XVERSAPT.CF file whichB=/* is run after the sysgen has completed, to apply any patches to%=/* .VERSADOS.SY as required.=/*ééééé7 'COPYGEN A'EXORMACS<'VM01 µ'VM02 .'VM03 Ï'VME101 ˆ'VME110 'VME115 ªù'COPYGEN BEGINENDCFMMqqCNFGTASKCFVVqqM050DRV CF__qqP050DRV CFhhqqP115DRV CFqqqqM300DRV CFzzqqM315DRV CFƒƒqqM316DEF CFŒŒqqM320DRV CF••qqM420DRV CFžž qqM435DRV CF§§qqM600DRV CF°°qqM605DRV CF¹¹qqM610DRV CFÂÂqqM615DRV CFËËqqM625DRV CFÔÔqqPCDRV CFÝÝqqACIADRV CFææqqDARTDRV CFïï qqEPCIDRV CFøø qq=/*K=/* COPYGEN.BEGINEND.CF - Chain file to copy all files for sysgen of BEGIN/$=/*—END�files�for�OSLIST�and�VERSAPT'=COPY�\1:9998.OSLIST.BEGIN.AGŠ\2:\3;\4C%=COPY�\1:9998.OSLIST.END.AGŒ\2:\3;\4C(=COPY�\1:9998.VERSAPT.BEGIN.CF‰\2:\3;\4C&=COPY�\1:9998.VERSAPT.END.CF‹\2:\3;\4Cé" éééééE=/*L=/* COPYGEN.CNFGTASK.CF - Chain file to copy all files for sysgen of CONFIG-=/*—URATION�TASKS%=COPY�\1:9998.&.CNFGTASK.CIŒ\2:\3;\4C#=COPY�\1:9998.&.IFTASK.CIŽ\2:\3;\4C%=COPY�\1:9998.GET.TASKID.AGŒ\2:\3;\4C éééééééN=/*J=/* COPYGEN.M050DRV.CF - Chain file to copy all files for sysgen of VME050$=COPY�\1:9993.&.M050DRV.CI�\2:\3;\4C# éééééééW=/*K=/* COPYGEN.P050DRV.CF - Chain file to copy all files for sysgen of printer =/*–driver�for�the�VME050�board.$=COPY�\1:9993.&.P050DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.P050DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.P050DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.P050DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.P050DRV.CF‡\2:\3;\4Céééééé# `=/*J=/* COPYGEN.P115DRV.CF - Chain file to copy all files for sysgen of VME115=/*–local�printer�driver$=COPY�\1:9993.&.P115DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.P115DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.P115DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.P115DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.P115DRV.CF‡\2:\3;\4Cééééééi=/*J=/* COPYGEN.M300DRV.CF - Chain file to copy all files for sysgen of VME300=/*•(GPIB�driver)$=COPY�\1:9993.&.M300DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.M300DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.M300DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.M300DRV.AG‹\2:\3;\4C&=COPY�\1:9998.IOC.M300XTR.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.M300DRV.CF‡\2:\3;\4Céééé$ éér =/*J=/* COPYGEN.M315DRV.CF - Chain file to copy all files for sysgen of VME315$=COPY�\1:9993.&.M315DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.M315DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.M315DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.M315DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.M315DRV.CF‡\2:\3;\4Céééééé{=/*J=/* COPYGEN.M316DEF.CF - Chain file to copy all files for sysgen of VME3169=/*–(Only�here�to�define�I/O�channel.‚There's�no�driver.)$=COPY�\1:9998.&.M316DEF.CI�\2:\3;\4C$=COPY�\1:9998.&.INIT316.RO�\2:\3;\4Cééé$ éééé„=/*J=/* COPYGEN.M320DRV.CF - Chain file to copy all files for sysgen of VME320$=COPY�\1:9993.&.M320DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.M320DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.M320DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.M320DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.M320DRV.CF‡\2:\3;\4Céééééé�=/*J=/* COPYGEN.M420DRV.CF - Chain file to copy all files for sysgen of VME420=/*–(SASI�driver)"=COPY�\1:9993.&.M4205.CI�\2:\3;\4C"=COPY�\1:9993.&.M4208.CI�\2:\3;\4C$=COPY�\1:9993.&.M420DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.M420DRV.RO�\2:\3;\4C$=COPY�\1:9998.IOC.M4205.AG�\2:\3;\4C$=COPY�\1:9998.IOC.M4208.AG�\2:\3;\4C*=COPY�\1:9998.VERSAPT.M420DRV.CF‡\2:\3;\4C% éééééé– =/*J=/* COPYGEN.M435DRV.CF - Chain file to copy all files for sysgen of VME435=/*–(Mag�tape�driver)$=COPY�\1:9993.&.M435DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.M435DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.M435DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.M435DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.M435DRV.CF‡\2:\3;\4CééééééŸ% =/*K=/* COPYGEN.M600DRV.CF - Chain file to copy all files for sysgen of MVME600$=COPY�\1:9992.&.M600DRV.LG�\2:\3;\4C$=COPY�\1:9992.&.M600DRV.RO�\2:\3;\4C$=COPY�\1:9992.&.M600IOC.SI�\2:\3;\4C$=COPY�\1:9992.&.M600DRV.CI�\2:\3;\4C*=COPY�\1:9998.VERSAPT.M600DRV.CF‡\2:\3;\4Céééééé¨=/*K=/* COPYGEN.M605DRV.CF - Chain file to copy all files for sysgen of MVME605$=COPY�\1:9992.&.M605DRV.LG�\2:\3;\4C$=COPY�\1:9992.&.M605DRV.RO�\2:\3;\4C$=COPY�\1:9992.&.M605IOC.SI�\2:\3;\4C$=COPY�\1:9992.&.M605MEM.AG�\2:\3;\4C$=COPY�\1:9992.&.M605MEM.CI�\2:\3;\4C$=COPY�\1:9992.&.M605DRV.CI�\2:\3;\4C*=COPY�\1:9998.VERSAPT.M605DRV.CF‡\2:\3;\4Cééééé& é± =/*K=/* COPYGEN.M610DRV.CF - Chain file to copy all files for sysgen of MVME610$=COPY�\1:9992.&.M610DRV.CI�\2:\3;\4C$=COPY�\1:9992.&.M610DRV.LG�\2:\3;\4C$=COPY�\1:9992.&.M610DRV.RO�\2:\3;\4C$=COPY�\1:9992.&.M610IOC.SI�\2:\3;\4C$=COPY�\1:9992.&.M610MEM.AG�\2:\3;\4C$=COPY�\1:9992.&.M610MEM.CI�\2:\3;\4C*=COPY�\1:9998.VERSAPT.M610DRV.CF‡\2:\3;\4Cééééééº =/*K=/* COPYGEN.M615DRV.CF - Chain file to copy all files for sysgen of MVME615$=COPY�\1:9992.&.M615DRV.LG�\2:\3;\4C$=COPY�\1:9992.&.M615DRV.RO�\2:\3;\4C$=COPY�\1:9992.&.M615IOC.SI�\2:\3;\4C$=COPY�\1:9992.&.M615MEM.AG�\2:\3;\4C$=COPY�\1:9992.&.M615MEM.CI�\2:\3;\4C$=COPY�\1:9992.&.M615DRV.CI�\2:\3;\4C*=COPY�\1:9998.VERSAPT.M615DRV.CF‡\2:\3;\4Cééé& éééà =/*K=/* COPYGEN.M625DRV.CF - Chain file to copy all files for sysgen of MVME625$=COPY�\1:9992.&.M625DRV.LG�\2:\3;\4C$=COPY�\1:9992.&.M625DRV.RO�\2:\3;\4C$=COPY�\1:9992.&.M625IOC.SI�\2:\3;\4C$=COPY�\1:9992.&.M625MEM.AG�\2:\3;\4C$=COPY�\1:9992.&.M625MEM.CI�\2:\3;\4C$=COPY�\1:9992.&.M625DRV.CI�\2:\3;\4C*=COPY�\1:9998.VERSAPT.M625DRV.CF‡\2:\3;\4CééééééÌ =/*M=/* COPYGEN.PCDRV.CF - Chain file to copy all files for sysgen of any PCDRV's"=COPY�\1:9992.&.PCDRV.CI�\2:\3;\4C!=COPY�\1:9992.&.IOCI.CI�\2:\3;\4C#=COPY�\1:9992.&.IOCINT.AGŽ\2:\3;\4C#=COPY�\1:9992.&.IOCINT.LGŽ\2:\3;\4Céé' éééééÕ=/*O=/* COPYGEN.ACIADRV.CF - Chain file to copy all files for sysgen of ACIA driver$=COPY�\1:9993.&.ACIADRV.LGŽ\2:\3;\4C$=COPY�\1:9993.&.ACIADRV.ROŽ\2:\3;\4C$=COPY�\1:9993.&.ACIADRV.CIŽ\2:\3;\4C+=COPY�\1:9993.EXORMACS.ACIALOC.SI‡\2:\3;\4C)=COPY�\1:9993.VME110.ACIALOC.SI‰\2:\3;\4C&=COPY�\1:9998.IOC.ACIADRV.AGŒ\2:\3;\4C*=COPY�\1:9998.VERSAPT.ACIADRV.CFˆ\2:\3;\4CééééééÞ =/*H=/* COPYGEN.DARTDRV.CF - Chain file to copy all files for sysgen of DART=/*–local�terminal�driver$=COPY�\1:9993.&.DARTDRV.LG�\2:\3;\4C$=COPY�\1:9993.&.DARTDRV.RO�\2:\3;\4C$=COPY�\1:9993.&.DARTSPR.LG�\2:\3;\4C$=COPY�\1:9993.&.DARTSPR.RO�\2:\3' ;\4C$=COPY�\1:9993.&.DARTDRV.CI�\2:\3;\4C&=COPY�\1:9998.IOC.DARTDRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.DARTDRV.CF‡\2:\3;\4Cééééééç =/*H=/* COPYGEN.EPCIDRV.CF - Chain file to copy all files for sysgen of EPCI=/*–terminal�driver$=COPY�\1:9993.&.EPCIDRV.CI�\2:\3;\4C$=COPY�\1:9993.&.EPCIDRV.LG�\2:\3;\4C$=COPY�\1:9993.&.EPCIDRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.EPCIDRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.EPCIDRV.CF‡\2:\3;\4C'=COPY�\1:9993.VM01.EPCILOC.SIŠ\2:\3;\4C)=COPY�\1:9993.VME101.EPCILOC.SIˆ\2:\3;\4Céééééé( ð ±'COPYGEN IPCDRV CFqqDRVLIB CF qqMFPDRV CF qqMPCCDRV CF  qqMPSCDRV CF))qqPIADRV CF22 qqRWINDRV CF;;qqDRVS10 CFDDqqVM22DRV CFMMqqVM30DRV CFVVqqDSKPARAMCF__qqEET CFhh qqEQ CFqq#qqEXORMACSCFzzqqFHSIOS CFƒƒ qqFMS CFŒŒ qqIOC CF•• qqIOI CFžž qqLOADER CF§§ qqROOT CF°°qq=/*M=/* COPYGEN.IPCDRV.CF - Chain file to copy all files for sysgen of IPC driver#=COPY�\1:9993.&.IPCDRV.CIŽ\2:\3;\4C#=COPY�\1:9993.&.IPCDRV.LGŽ\2:\3;\4C#=COPY�\1:9993.&.IPCDRV.ROŽ\2:\3;\4C&=COPY�\1:9998.IOC.VM20DRV.AG‹\2:\3;\4C&=COPY�\1:9998.IOC.VM21DRV.AG‹\2:\3;\4C)=COPY�\1:9998.VERSAPT.IPCDRV.CFˆ\2:\3;\4Cééééééý=/*I=/* COPYGEN.DRVLIB.CF - Chain file to copy all files for generic terminal =/*–drivers�and�driver�libraries#=COPY�\1:9993.&.DRVLIB.CIŽ\2:\3;\4C#=COPY�\1:9993.&.DRVLIB.LGŽ\2:\3;\4C#=COPY�\1:9993.&.DRVLIB.ROŽ\2:\3;\4C$=COPY�\1:9993.&.TCHTYPE.AG�\2:\3;\4C"=COPY�\1:9993.&.TERM1.LG�\2:\3;\4C$=COPY�\1:9993.&.TERMLIB.CI�\2:\3;\4C$=COPY�\1:9993.&.TERMLIB.LG�\2:\3;\4C$=COPY�\1:9993.&.TERMLIB.RO�\2:\3;\4C( éééééé =/*M=/* COPYGEN.MFPDRV.CF - Chain file to copy all files for sysgen of MFP driver#=COPY�\1:9993.&.MFPDRV.CI�\2:\3;\4C#=COPY�\1:9993.&.MFPDRV.LG�\2:\3;\4C#=COPY�\1:9993.&.MFPDRV.RO�\2:\3;\4C(=COPY�\1:9993.VME120.MFPLOC.SIŠ\2:\3;\4C(=COPY�\1:9993.VME122.MFPLOC.SIŠ\2:\3;\4C(=COPY�\1:9993.VME128.MFPLOC.SIŠ\2:\3;\4C%=COPY�\1:9998.IOC.MFPDRV.AG�\2:\3;\4C)=COPY�\1:9998.VERSAPT.MFPDRV.CF‰\2:\3;\4Céééééé ) =/*O=/* COPYGEN.MPCCDRV.CF - Chain file to copy all files for sysgen of MPCC driver$=COPY�\1:9993.&.MPCCDRV.CIŽ\2:\3;\4C$=COPY�\1:9993.&.MPCCDRV.LGŽ\2:\3;\4C$=COPY�\1:9993.&.MPCCDRV.ROŽ\2:\3;\4C&=COPY�\1:9998.IOC.MPCCDRV.AGŒ\2:\3;\4C*=COPY�\1:9998.VERSAPT.MPCCDRV.CFˆ\2:\3;\4Céééééé=/*O=/* COPYGEN.MPSCDRV.CF - Chain file to copy all files for sysgen of 7201 driver7=/*–(Serial�port�driver:�used�on�CPU�and�VME400�boards)$=COPY�\1:9993.&.MPSCDRV.CI�\2:\3;\4C$=COPY�\1:9993.&.MPSC400.CI�\2:\3;\4C$=COPY�\1:9993.&.MPSC400.SI�\2:\3;\4C$=COPY�\1:9993.&.MPSCDRV.LG�\2:\3;\4C$=COPY�\1:9993.&.MPSCDRV.RO�\2:\3;\4C$=COPY�\1:9993.&.MPSCSPR.LG�\2:\3;\4C$=COPY�\1:9993.&.MPSCSPR.RO�\2:\3;\4C$=COPY�\1:9993.&.MPSCSUP.LG�\2:\3;\4C$=COPY�\1:9993.&.MPSCSUP.RO�\2:\3;\4C$=COPY�\1:9993.&.MPSCV02.CI�\2:\3;\4C$=COPY�\1:9993.&.MPSCV02.SI�\2:\3;\4C$=COPY�\1:9993.&.MPSCV03.CI�\2:\3;\4C$=COPY�\1:9993.&.MPSCV03.SI�\2:\3;\4C&=COPY�\1:9998.IOC.MPSCDRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.MPSCSUP.CF‡\2:\3;\4C*=COPY�\1:9998.VERSAPT.MPSCSPR.CF‡\2:\3;\4C*=COPY�\1:9998.VERSAPT.MPSCDRV.CF‡\2:\3;\4Cééé) é!=/*J=/* COPYGEN.PIADRV.CF - Chain file to copy all files for sysgen of printer$=/*•driver‚(VME410,�CPU�boards,�etc)#=COPY�\1:9993.&.PIADRV.CIŽ\2:\3;\4C#=COPY�\1:9993.&.PIA101.CIŽ\2:\3;\4C#=COPY�\1:9993.&.PIA410.CIŽ\2:\3;\4C#=COPY�\1:9993.&.PIAEXM.CIŽ\2:\3;\4C#=COPY�\1:9993.&.PIA101.SIŽ\2:\3;\4C#=COPY�\1:9993.&.PIA410.SIŽ\2:\3;\4C#=COPY�\1:9993.&.PIAEXM.SIŽ\2:\3;\4C#=COPY�\1:9993.&.PIADRV.LGŽ\2:\3;\4C#=COPY�\1:9993.&.PIADRV.ROŽ\2:\3;\4C%=COPY�\1:9998.IOC.PIADRV.AGŒ\2:\3;\4C)=COPY�\1:9998.VERSAPT.PIADRV.CFˆ\2:\3;\4Cééééé*=/*I=/* COPYGEN.RWINDRV.CF - Chain file to copy all files for sysgen of RWIN1=/*—(Remote�Winchester�Driver)$=COPY�\1:9993.&.RWINDRV.CI�\2:\3;\4C$=COPY�\1:9993.&.RWINDRV.LG�\2:\3;\4C$=COPY�\1:9993.&.RWINDRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.RWINDRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.RWINDRV.CF‡\2:\3;\4Cééé* ééé3=/*I=/* COPYGEN.DRVS10.CF - Chain file to copy all files for sysgen of VME/10=/*•terminal�driver#=COPY�\1:9993..CRTINIT.ROŽ\2:\3;\4C"=COPY�\1:9993..DRVS10.CI�\2:\3;\4C$=COPY�\1:9993..EDITMODE.RO�\2:\3;\4C"=COPY�\1:9993..FEEDER.RO�\2:\3;\4C"=COPY�\1:9993..INCHAR.RO�\2:\3;\4C"=COPY�\1:9993..KEYBRD.AG�\2:\3;\4C"=COPY�\1:9993..OUTCHS.RO�\2:\3;\4C$=COPY�\1:9993..PAGEMODE.RO�\2:\3;\4C#=COPY�\1:9993..POUTCHS.ROŽ\2:\3;\4C#=COPY�\1:9993..TERMDRV.LGŽ\2:\3;\4C#=COPY�\1:9993..TERMDRV.ROŽ\2:\3;\4C%=COPY�\1:9998.IOC.DRVS10.AGŒ\2:\3;\4C)=COPY�\1:9998.VERSAPT.DRVS10.CFˆ\2:\3;\4Cééééé<=/*H=/* COPYGEN.VM22DRV.CF - Chain file to copy all files for sysgen of VM22=/*–(Disk�driver)$=COPY�\1:9993.&.VM22DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.VM22DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.VM22DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.VM22DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.VM22DRV.CF‡\2:\3;\4Cé* éééééE=/*O=/* COPYGEN.VM30DRV.CF - Chain file to copy all files for sysgen of VM30 (MCCM)$=COPY�\1:9993.&.VM30DRV.CI�\2:\3;\4C&=COPY�\1:9998.IOC.VM30DRV.AG‹\2:\3;\4CéééééééN=/*O=/* COPYGEN.DSKPARAM.CF - Chain file to copy all files used for disk parameters$=COPY�\1:9998.&.F5DDDSI.SI�\2:\3;\4C$=COPY�\1:9998.&.F8DDDSI.SI�\2:\3;\4C$=COPY�\1:9998.&.F8SDDSM.SI�\2:\3;\4C$=COPY�\1:9998.&.F8SDSSI.SI�\2:\3;\4C$=COPY�\1:9998.+ &.F8SDSSM.SI�\2:\3;\4C$=COPY�\1:9998.&.FXCMD16.SI�\2:\3;\4C$=COPY�\1:9998.&.FXCMD80.SI�\2:\3;\4C$=COPY�\1:9998.&.FXLRK08.SI�\2:\3;\4C$=COPY�\1:9998.&.FXLRK25.SI�\2:\3;\4C$=COPY�\1:9998.&.H5WIN05.SI�\2:\3;\4C$=COPY�\1:9998.&.H5WIN10.SI�\2:\3;\4C$=COPY�\1:9998.&.H5WIN12.SI�\2:\3;\4C$=COPY�\1:9998.&.H5WIN15.SI�\2:\3;\4C$=COPY�\1:9998.&.H5WIN40.SI�\2:\3;\4C$=COPY�\1:9998.&.H8WIN10.SI�\2:\3;\4C$=COPY�\1:9998.&.RMCMD16.SI�\2:\3;\4C$=COPY�\1:9998.&.RMLRK08.SI�\2:\3;\4C$=COPY�\1:9998.&.RMLRK25.SI�\2:\3;\4CééééW=/*C=/* COPYGEN.EET.CF - Chain file to copy all files for sysgen of EET$=COPY�\1:9998.&.CMDLIST.AG�\2:\3;\4C =COPY�\1:9998.&.DAT.RO‘\2:\3;\4C =COPY�\1:9998.&.EET.LG‘\2:\3;\4C =COPY�\1:9998.&.EET.RO‘\2:\3;\4C$=COPY�\1:9998.&.SCTSASR.RO�\2:\3;\4C%=COPY�\1:9998.&.SYSCNTRL.ROŒ\2:\3;\4C =COPY�\1:9998.&.USM.RO‘\2:\3;\4C#=COPY�\1:9998.&.USMOPT.ROŽ\2:\3;\4C'=COPY�\1:9998.EET.VERSADOS.CIŠ\2:\3;\4C&=COPY�\1:9998.VERSAPT.EET.CF‹\2:\3;\4Céééééé+ ` =/*L=/* COPYGEN.EQ.CF - Chain file to copy all .EQ and .MC files for sysgen into>=/*‘the�user's�account�number�so�each�user�has�their�own�copy.=/*F=/* NOTE: The following equate files are board/system specific and are-=/*‡copied�by�the�"COPYGEN.<system>.CF"�file.=/*1=/*Š\1:9995..BOARD.EQ‰\2:\3;\4„for�VME120,�VME128=/* =COPY�\1:9995.&.BAB.EQ‘\2:\3;\4C =COPY�\1:9995.&.CCB.EQ‘\2:\3;\4C =COPY�\1:9995.&.EXE.EQ‘\2:\3;\4C =COPY�\1:9995.&.FME.EQ‘\2:\3;\4C =COPY�\1:9995.&.FMI.EQ‘\2:\3;\4C =COPY�\1:9995.&.IOE.EQ‘\2:\3;\4C =COPY�\1:9995.&.LV5.EQ‘\2:\3;\4C$=COPY�\1:9995.&.M300DRV.EQ�\2:\3;\4C$=COPY�\1:9995.&.M605DRV.EQ�\2:\3;\4C%=COPY�\1:9995.&.M610INTQ.EQŒ\2:\3;\4C$=COPY�\1:9995.&.M615DRV.EQ�\2:\3;\4C$=COPY�\1:9995.&.M625DRV.EQ�\2:\3;\4C =COPY�\1:9995.&.NIO.EQ‘\2:\3;\4C#=COPY�\1:9995.&.RADDRV.EQŽ\2:\3;\4C#=COPY�\1:9995.&.RIODRV.EQŽ\2:\3;\4C =COPY�\1:9995.&.TR1.EQ‘\2:\3;\4C$=COPY�\1:9995.&.TR1RTCD.EQ�\2:\3;\4C$=COPY�\1:9995.&.UTILITY.MC�\2:\3;\4C=/**=COPY�\1:9999.M146818.M146818.EQ‡\2:\3;\4C&=COPY�\1:9999.M68020.CACR.EQ‹\2:\3;\4C(=COPY�\1:9999.M68230.M68230.EQ‰\2:\3;\4C&=COPY�\1:9999.M6840.M6840.EQ‹\2:\3;\4C(=COPY�\1:9999.M68451.M68451.EQ‰\2:\3;\4C*=COPY�\1:9999.MK68901.MK68901.EQ‡\2:\3;\4C(=COPY�\1:9999.VM04.CTRLSTAT.EQ‰\2:\3;\4C&=COPY�\1:9999.Z8036.Z8036.EQ‹\2:\3;\4Cééi$=/*L=/* COPYGEN.EXORMACS.CF - Chain file to copy all EXORMACS specific files for =/*—sysgen.$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4!=COPY�\1:9998.TNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.C4O9.SYSPAR.RO‹\2:\3;\4C ééé, éér=/*L=/* COPYGEN.FHSIOS.CF - Chain file to copy all files for sysgen of FHS & IOS =COPY�\1:9998.&.FHS.LG‘\2:\3;\4C =COPY�\1:9998.&.IOS.LG‘\2:\3;\4C%=COPY�\1:9998.DEVICE.FHS.ROŒ\2:\3;\4C%=COPY�\1:9998.DEVICE.IOS.ROŒ\2:\3;\4C"=COPY�\1:9998.FHS.IXR.AG�\2:\3;\4C*=COPY�\1:9998.FHSIOS.VERSADOS.CI‡\2:\3;\4C#=COPY�\1:9998.FILE.FHS.ROŽ\2:\3;\4C#=COPY�\1:9998.FILE.IOS.ROŽ\2:\3;\4C%=COPY�\1:9998.OSLIST.FHS.SIŒ\2:\3;\4C%=COPY�\1:9998.OSLIST.IOS.SIŒ\2:\3;\4C&=COPY�\1:9998.VERSAPT.FHS.CF‹\2:\3;\4C&=COPY�\1:9998.VERSAPT.IOS.CF‹\2:\3;\4Cééééé{=/*C=/* COPYGEN.FMS.CF - Chain file to copy all files for sysgen of FMS!=COPY�\1:9998.&.FDTA.RO�\2:\3;\4C!=COPY�\1:9998.&.FFHS.RO�\2:\3;\4C!=COPY�\1:9998.&.FIOM.RO�\2:\3;\4C!=COPY�\1:9998.&.FIOS.RO�\2:\3;\4C =COPY�\1:9998.&.FMS.LG‘\2:\3;\4C!=COPY�\1:9998.&.FUTY.RO�\2:\3;\4C"=COPY�\1:9998.FMS.IXR.AG�\2:\3;\4C'=COPY�\1:9998.FMS.VERSADOS.CIŠ\2:\3;\4C%=COPY�\1:9998.OSLIST.FMS.SIŒ\2:\3;\4C&=COPY�\1:9998.VERSAPT.FMS.CF‹\2:\3;\4Céé, éééé„ =/*L=/* COPYGEN.IOC.CF - Chain file to copy all files for sysgen of IOC portions=/*’for�any/all�drivers#=COPY�\1:9998.&.IOCGEN.CIŽ\2:\3;\4C#=COPY�\1:9998.&.IOCGEN.LGŽ\2:\3;\4C$=COPY�\1:9998.IOC.BEGIN.AG�\2:\3;\4C"=COPY�\1:9998.IOC.END.AG�\2:\3;\4C$=COPY�\1:9998.MACRO.DCB.SI�\2:\3;\4C(=COPY�\1:9998.MACRO.DCBDISK.SI‰\2:\3;\4C(=COPY�\1:9998.MACRO.DCBGPIB.SI‰\2:\3;\4C)=COPY�\1:9998.MACRO.DCBMTAPE.SIˆ\2:\3;\4C'=COPY�\1:9998.MACRO.DCBPRT.SIŠ\2:\3;\4C(=COPY�\1:9998.MACRO.DCBTERM.SI‰\2:\3;\4Céééééé� =/*C=/* COPYGEN.IOI.CF - Chain file to copy all files for sysgen of IOI =COPY�\1:9998.&.IOI.CI‘\2:\3;\4C =COPY�\1:9998.&.IOI.LG‘\2:\3;\4C =COPY�\1:9998.&.IOI.RO‘\2:\3;\4C$=COPY�\1:9998.&.ROMIOI1.AG�\2:\3;\4C%=COPY�\1:9998.&.ROMIOI90.ROŒ\2:\3;\4C$=COPY�\1:9998.EET.START.AG�\2:\3;\4C"=COPY�\1:9998.FMS.IOI.AG�\2:\3;\4C&=COPY�\1:9998.VERSAPT.IOI.CF‹\2:\3;\4C- éééééé– =/*I=/* COPYGEN.LOADER.CF - Chain file to copy all files for sysgen of LOADER3=/*•(system�will�pick�which�MMU/NOMMU�files�to�use)$=COPY�\1:9998.&.EMHNDLR.RO�\2:\3;\4C%=COPY�\1:9998.MMU.LOADER.LGŒ\2:\3;\4C%=COPY�\1:9998.MMU.LOADER.ROŒ\2:\3;\4C*=COPY�\1:9998.MMULDR.VERSADOS.CI‡\2:\3;\4C'=COPY�\1:9998.NOMMU.LOADER.LGŠ\2:\3;\4C'=COPY�\1:9998.NOMMU.LOADER.ROŠ\2:\3;\4C,=COPY�\1:9998.NOMMULDR.VERSADOS.CI…\2:\3;\4C&=COPY�\1:9998.VERSAPT.LDR.CF‹\2:\3;\4CééééééŸ - =/*B=/* COPYGEN.ROOT.CF - Chain file to copy all root files for sysgen=/*#=COPY�\1:0000.&.UTILIB.ROŽ\2:\3;\4C=/*$=COPY�\1:9998.&.INITDAT.AG�\2:\3;\4C$=COPY�\1:9998.&.INITIO1.LG�\2:\3;\4C"=COPY�\1:9998.&.ROGEN.CI�\2:\3;\4C"=COPY�\1:9998.&.ROGEN.LG�\2:\3;\4C#=COPY�\1:9998.&.SYSGEN.CFŽ\2:\3;\4C$=COPY�\1:9998.&.SYSINIT.CI�\2:\3;\4C#=COPY�\1:9998.&.VALPAR.CIŽ\2:\3;\4C%=COPY�\1:9998.&.VERSADOS.CDŒ\2:\3;\4C&=COPY�\1:9998.IOC.ADDRESS.CI‹\2:\3;\4C(=COPY�\1:9998.NOLIST.SYSGEN.CF‰\2:\3;\4C&=COPY�\1:9998.SIO.ADDRESS.CI‹\2:\3;\4C%=COPY�\1:9998.STD.SYSGEN.CFŒ\2:\3;\4C*=COPY�\1:9998.VERSAPT.SYSINIT.CF‡\2:\3;\4C=/*&=COPY�\1:9999.M68XXX.INIT.RO‹\2:\3;\4Cééééé¨'COPYGEN TNTDRV CF½½ qqVM02 CFÆÆqqVM03 CFÏÏqqVME101 CFØØqqVME110 CFááqqVME115 CFêêqqVME12X CFóóqqRADDRV CFüüqqVMES10 CFqqRIODRV CFqqVM01 CFqqPV01DRV CF  qqSIODRV CF))qqVM04 CF22qqVME122 CF;;qq=/*M=/* COPYGEN.TNTDRV.CF - Chain file to copy all files for sysgen of TNT driver=/*#=COPY�\1:9993.&.TNTDRV.CIŽ\2:\3;\4C#=COPY�\1:9993.&.TNTDRV.LGŽ\2:\3;\4C#=COPY�\1:9993.&.TNTDRV.ROŽ\2:\3;\4C&=COPY�\1:9994.NTS.NTSSERV.RO‹\2:\3;\4C%=COPY�\1:9998.IOC.TNTDRV.AGŒ\2:\3;\4C(=COPY�\1:9998.OSLIST.TNTDRV.SI‰\2:\3;\4C)=COPY�\1:9998.VERSAPT.TNTDRV.CFˆ\2:\3;\4Cé. éééééµ =/*K=/* COPYGEN.VM02.CF - Chain file to copy all VM02 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4!=COPY�\1:9998.TNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.C8OC.SYSPAR.RO‹\2:\3;\4Cééééé¾=/*K=/* COPYGEN.VM03.CF - Chain file to copy all VM03 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.. SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4!=COPY�\1:9998.TNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.CBOF.SYSPAR.RO‹\2:\3;\4CéééééÇ=/*O=/* COPYGEN.VME101.CF - Chain file to copy all VME101 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4#=COPY�\1:9998.NOTNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.C8OC.SYSPAR.RO‹\2:\3;\4Cééééé/ Ð=/*O=/* COPYGEN.VME110.CF - Chain file to copy all VME110 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4#=COPY�\1:9998.NOTNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.C8OC.SYSPAR.RO‹\2:\3;\4CéééééÙ=/*O=/* COPYGEN.VME115.CF - Chain file to copy all VME115 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4#=COPY�\1:9998.NOTNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C%=/*‚SYSPAR�file:‹Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.CBOD.SYSPAR.RO‹\2:\3;\4Cééé/ ééâ=/*H=/* COPYGEN.VME12X.CF - Chain file to copy all VME120/128 specific files=/*•for�sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C#=COPY�\1:9998.NOTNT.ASR.AG�\2:\3;\4(=COPY�\1:9998.VME12X.INITIO1.AGˆ\2:\3;\4&=COPY�\1:9998.VME12X.MTYPE.SIŠ\2:\3;\4(=COPY�\1:9998.VME12X.SYSINIT.LGˆ\2:\3;\4=/*!=COPY�\1:9999..BOARD.EQ�\2:\3;\4C#=COPY�\1:9999..PREINIT.ROŽ\2:\3;\4C=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C%=/*‚SYSPAR�file:‹Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.CBOD.SYSPAR.RO‹\2:\3;\4Céééééë=/*G=/* COPYGEN.RADDRV.CF - Chain file to copy all files for sysgen of RAD1#=COPY�\1:9992.&.RADDRV.CIŽ\2:\3;\4C#=COPY�\1:9992.&.RADDRV.LGŽ\2:\3;\4C#=COPY�\1:9992.&.RADDRV.ROŽ\2:\3;\4C#=COPY�\1:9992.&.RADIOC.SIŽ\2:\3;\4C#=COPY�\1:9992.&.RADMEM.CIŽ\2:\3;\4C#=COPY�\1:9992.&.RADMEM.AGŽ\2:\3;\4C)=COPY�\1:9998.VERSAPT.RADDRV.CFˆ\2:\3;\4Céé0 ééééô =/*O=/* COPYGEN.VMES10.CF - Chain file to copy all VMES10 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4#=COPY�\1:9998.NOTNT.ASR.AG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C%=/*‚SYSPAR�file:‹Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.CAOE.SYSPAR.RO‹\2:\3;\4Céééééý=/*F=/* COPYGEN.RIODRV.CF - Chain file to copy all files for sysgen of RIO#=COPY�\1:9992.&.RIODRV.CIŽ\2:\3;\4C#=COPY�\1:9992.&.RIODRV.LGŽ\2:\3;\4C#=COPY�\1:9992.&.RIODRV.ROŽ\2:\3;\4C#=COPY�\1:9992.&.RIOIOC.SIŽ\2:\3;\4C#=COPY�\1:9992.&.RIOMEM.CIŽ\2:\3;\4C#=COPY�\1:9992.&.RIOMEM.AGŽ\2:\3;\4C)=COPY�\1:9998.VERSAPT.RIODRV.CFˆ\2:\3;\4C0 éééééé =/*D=/* COPYGEN.VM01.CF - Chain file to copy all VM01 specific files for =/*—sysgen.$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4!=COPY�\1:9998.TNT.ASR.AG�\2:\3;\4'=COPY�\1:9998.VERSAPT.VM01.CFŠ\2:\3;\4C=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.C8OC.SYSPAR.RO‹\2:\3;\4Cééééé1 =/*H=/* COPYGEN.PV01DRV.CF - Chain file to copy all files for sysgen of VM01=/*–local�printer�driver$=COPY�\1:9993.&.PV01DRV.CI�\2:\3;\4C$=COPY�\1:9993.&.PV01DRV.LG�\2:\3;\4C$=COPY�\1:9993.&.PV01DRV.RO�\2:\3;\4C&=COPY�\1:9998.IOC.PV01DRV.AG‹\2:\3;\4C*=COPY�\1:9998.VERSAPT.PV01DRV.CF‡\2:\3;\4Céééééé=/*M=/* COPYGEN.SIODRV.CF - Chain file to copy all files for sysgen of SIO driver#=COPY�\1:9993.&.SIODRV.CI�\2:\3;\4C#=COPY�\1:9993.&.SIODRV.LG�\2:\3;\4C#=COPY�\1:9993.&.SIODRV.RO�\2:\3;\4C%=COPY�\1:9998.IOC.SIODRV.AG�\2:\3;\4C)=COPY�\1:9998.VERSAPT.SIODRV.CF‰\2:\3;\4Cééééé1 é!=/*K=/* COPYGEN.VM04.CF - Chain file to copy all VM03 specific files for sysgen$=COPY�\1:9998..CNFGDRVR.CI�\2:\3;\4C"=COPY�\1:9998..IFDRVR.CI�\2:\3;\4C#=COPY�\1:9998..INITIO1.AGŽ\2:\3;\4C"=COPY�\1:9998..SYSTEM.CI�\2:\3;\4C!=COPY�\1:9998.&.MTYPE.SI�\2:\3;\4#=COPY�\1:9998.&.SYSINIT.LG�\2:\3;\4=/*=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C=/*™Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*(=COPY�\1:9999.C20O24.SYSPAR.RO‰\2:\3;\4Cééééé*=/*D=/* COPYGEN.VME122.CF - Chain file to copy all VME122 specific files=/*•for�sysgen)=COPY�\1:9998.VME120.CNFGDRVR.CI‡\2:\3;\4'=COPY�\1:9998.VME120.IFDRVR.CI‰\2:\3;\4'=COPY�\1:9998.VME120.SYSTEM.CI‰\2:\3;\4#=COPY�\1:9998.NOTNT.ASR.AG�\2:\3;\4(=COPY�\1:9998.VME12X.INITIO1.AGˆ\2:\3;\4&=COPY�\1:9998.VME12X.MTYPE.SIŠ\2:\3;\4(=COPY�\1:9998.VME12X.SYSINIT.LGˆ\2:\3;\4=/*&=COPY�\1:9999.VME120.BOARD.EQŠ\2:\3;\4(=COPY�\1:9999.VME120.PREINIT.ROˆ\2:\3;\4=COPY�\1:9999..RMS.CI’\2:\3;\4C=COPY�\1:9999..RMS.LL’\2:\3;\4C=COPY�\1:9999..RMS.LO’\2:\3;\4C%=/*‚SYSPAR�file:‹Name�format�is:‚CxOy%=/*›where:‚Cx�=�crashsave…address�x00"=/*£Oy�=�syspar�offset�address�y00=/*&=COPY�\1:9999.CBOD.SYSPAR.RO‹\2:\3;\4Céé2 ééé3'EXORMACSCOPYSGENCFHHvqqINITIO1 AGaa©qqCNFGDRVRCIzz�qqSYSTEM CI››sqqIFDRVR CI´´,qq=/*>=/*‚EXORMACS.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*)=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�EXORMACS=USE :.EXORMACS=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*==/*ƒInvoke�as:„=EXORMACS.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 4…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4Š=ARG�\1,\2,\3,N…=/ENDIF=/ENDIFJ=/*‚Set�Arg5�so�this�file�can't�be�rerun�directly�w/o�setting�proper�args!=ARG \1,\2,\3,\4,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copyingO=/*----------------------------------------------------------------------------)=/* Copy all VM30 (MCCM) files for sysgen=/@„\1:9998.COPYGEN.VM30DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all IPC driver files for sysgen=/@„\1:9998.COPYGEN.IPCDRV.CFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all ACIA driver files for sysgen=/@„\1:9998.COPYGEN.ACIADRV.CFO=/*----------------------------------------------------------------------------"=/* Copy all VM22 files for sysgen=/@„\1:9998.COPYGEN.VM22DRV.CF2 @DI(Q O=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PIADRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------(=/* Copy all TNT driver files for sysgen=/@„\1:9998.COPYGEN.TNTDRV.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*----------------------------------------------------------------------------/=/*‚Copy�all�EXORMACS�specific�files�for�sysgen=/@„\1:9998.COPYGEN.EXORMACS.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen=/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BEGINEND.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK files for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*4=/*†EXORMACS.COPYSGEN.CF‚completed.‰Have�a�nice�day!=/*N=/*‚No�"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!éééé3 é**ˆEXORMACS.INITIO1.AG**‚Included�files�are:*‰M6840.M6840.EQŠINCLUDE�M6840.M6840.EQ ŠSECTION�8ŠPAGE*J*‚This�code�is�needed�to�satisfy�INIT,�which�is�board-independent�and�must/*‚call�upon�us�to�do�the�board-dependent�stuff.**„Initialize�the�MMU.* ŠXDEFƒINITMMUŠXREF.S�MMUHERE INITMMU: 7ŠMOVEM.L�D0-D7/A0,-(SP)„Save�registers�we'll�blow�away. *ŠLEA„$FE2000,A0‰A0�<--�address�of�the�MMU. ,ŠIFNEƒ\MMU�If�we're�supposed�to�use�the�MMU, ;ŠMOVE.L�A0,MMUHERE‰.�Save�the�address�of�the�MMU�in�SYSPAR. ŠENDC 4ŠIFEQƒ\MMU�Else�(we're�not�supposed�to�use�the�MMU), DŠMOVEM.L�MMUFAKE(PC),D0-D7�.�Give�the�MMU�some�stuff�which�will�make*ŠMOVEM.L�D0-D7,(A0)ˆ.�it�look�transparent. ŠENDC 3ŠMOVEM.L�(SP)+,D0-D7/A0„Restore�registers�and�exit.ŠRTS  DMMUFAKEƒDC.Lƒ$0000FFFF,$00000001‚Stuff�to�put�in�MMU�to�make�it�lookŠDC.Lƒ0,0,0,0,0,0ˆtransparent. **„Start�the�timer�running.*+ŠXREF.S�CRASHSAV‹These�are�found�in�SYSPAR.ŠXREF.S�EXCSTACKŠXREF.S�PTMADDRŠXREF.S�TIMESLICŠXREF.S�TIMINTVŠXREF.S�TIMINTV4 &ŠXREFƒCLOCKFRQ‹These�are�found�in�IND. ŠXREFƒTIMERAŠXREFƒTIMINTVA ŠXREFƒTIMSLIC 1ŠXDEFƒTIMERSTŒEntry�point�to�START�TIMER�routine.*1TIMERSTƒEQU„*’Entry�point�to�START�TIMER�routine.;ŠMOVE.L�TIMSLIC(PC),TIMESLIC�Set�the�sysgen�parameter�which'*¦dictates�the�#�of�timer�tics�per�time*¦slice'ŠMOVE.L�TIMERA(PC),A1†GET�TIMER�ADDRESS#ŠMOVE.L�A1,PTMADDR‰SAVE�IT�FOR�EXEC$ŠBEQ.S‚TIMER_EXIT‰BRANCH�IF�NO�TIMER)ŠPEA„TIMERBE(PC)ˆWHERE�TO�GO�ON�BUS�ERROR$ŠMOVE.W�#'BE',-(A7)ˆSET�BUS�ERR�FLAG3ŠMOVE.B�#$01,CR2SR(A1)…ALLOW�WRITE�TO�CONTROL�REG�1&ŠMOVE.B�#$01,CR13(A1)†ALL�TIMERS�RESET$ŠMOVE.L�#CLOCKFRQ,D0‡CLOCK�FREQUENCYŠDIVUƒ#4,D0ŽDIVIDE�BY�4#ŠSUB.W‚#1,D0ŽCLOCK�INTERRUPTS�AT�-1*ŠMOVE.W�TIMINTVA(PC),D1„INTERRUPT�INTERVAL ŠMOVE.W�D1,TIMINTV‰SAVE�FOR�EXECŠMULUƒ#4,D1ŽMULTIPLY�BY�4*ŠSUB.W‚#1,D1ŽSUBTRACT�1�-�TIMER�GOES�TO�-1!ŠMOVE.W�D1,TIMINTV4ˆSAVE�FOR�EXECŠLSL.W‚#8,D1ŽPUT�IN�HIGH�BYTEYPb;j)ŠADD.W‚D1,D0ŽVALUE�FOR�TIMER�3�(2�HALVES)ŠMOVEP‚D0,MSBT3(A1)‡SET�TIMER�34ŠMOVE.W�#256,D0ŒVALUE�FOR�TIMER�1�(OVERFLOW�COUNTER)ŠMOVEP‚D0,MSBT1(A1)‡SET�TIMER�18ŠMOVE.B�#$00,CR2SR(A1)…ALLOW�WRITE�TO�CONTROL�REGISTER�3;ŠMOVE.B�#$C6,CR13(A1)†T3--INTERNAL�CLOCK,INTERRUPT�ENABLED,*£OUTPUT�ENABLED,�8-BIT�MODE8ŠMOVE.B�#$01,CR2SR(A1)…ALLOW�WRITE�TO�CONTROL�REGISTER�1;ŠMOVE.B�#$00,CR13(A1)†T1--EXTERNAL�CLOCK,�ENABLE�ALL�TIMERS/ŠADDQ.L�#6,SPŽEverything�went�OK;�just�get�that'*¦bus�error�junk�off�the�stack�and�exitŠBRA.S‚TIMER_EXIT*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…When�incorporating�any�drivers�during�SYSGEN„<<<<<<<?*‚>>>>>>>…that�require�memory�allocated�for�them�as�perƒ<<<<<<<?*‚>>>>>>>…the�driver�package�instructions�-�this�is�theƒ<<<<<<<,*‚>>>>>>>…spot�the�file(s)�go�into!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…This�is�also�the�spot�for�code�for�a�driver…<<<<<<<>*‚>>>>>>>…that‚requires�other�types�of�initialization,ƒ<<<<<<<0*‚>>>>>>>…such‚as�clearing�an�interrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGE�IT�HERE—<<<<<<<*<*ˆWhen�you�write�the�code�that�is�to�be�merged�here,�wrap�it*ˆaround�with�the�following:*:*ˆAt�the�beginning,�with�DRVRxOUT�referring�to�your�unique*ˆlabel,�put�this�code:*'*‹PEA„DRVRxOUT(PC)„IF�BUS�ERROR�OCCURS,*¢RETURN�OR�GO�ON�TO�NEXT*¢DRIVER'S�INITIALIZATION**‹MOVE.W�#'BE',-(A7)…SAVE�'BUS�ERROR'�FLAG*9*ˆThen�insert�the�code�to�do�what�you�need�to�do�for�this*ˆparticular�driver.**ˆAt�the�end,�put�this:***‹LEA„6(A7),A7ˆREMOVE�BUS�ERROR�FROM�STACK*DRVRxOUTƒEQU„**=*ˆIn�this�way,�if�the�code�for�one�driver�causes�a�bus�error,.*ˆthe�code�for�other�drivers�will�be�executed.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G*********************************************************************** ŠENDéééé**ˆEXORMACS.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------F* This file sets up the flags used by the "EXORMACS.IFDRVR.CI" file to'* conditionally include device drivers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEM�DEPENDENCIES�are�included�from�the�&.VERSADOS.CD�file.�---=*�EXORMACS.SYSTEM.CIƒadd�processor�board/system�dependencies,(*–including�local�terminals�and�printers6*�&.CNFGTASK.CIƒadd�O/S�task�configuration�for�ROM/RAMM*****************************************************************************  O*------------------------------------------------------------------------------:NOLTERMƒ=�2Œ#�of�terminals�using�ACIA�serial�ports;�max=�2IFGTˆ\NOLTERM-2ƒMSG†NOLTERM�must�be�<=�2ƒABORTENDC O*------------------------------------------------------------------------------1NOLPRT„=�1Œ#�of�local�(on-board)�printers;�max=�1 O*-------------------------------------------------4 -----------------------------=NOVM20„=�1Œ#�of�VM20…FDC�(floppy�only�disk�controller�boards)*¦uses�IPC�driver*¦(see�"&.IPCDRV.CI")G*�NOTE:‚If�you�increase�the�number�of�floppies�on�either�the�1st�or�2nd@*ˆcontroller�boards,�you�may�need�to�edit�&.IPCDRV.CI�and�changeB*ˆthe�Z�value�from�81�to�85�so�that�the�file�IOC.VM20DRV.AG�can�be;*ˆassembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM20DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM20r,{%ƒ%‹7ƒNFV20$1ƒ=�2Œ#�of�floppy�disk�drives�on�1st�FDC;�max=�47ƒNFV20$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�FDC;�max=�4 HƒVM200$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�FDC�board;�drive�0HƒVM201$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�FDC�board;�drive�1HƒVM202$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�FDC�board;�drive�2HƒVM203$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�FDC�board;�drive�3 HƒVM200$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�FDC�board;�drive�0HƒVM201$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�FDC�board;�drive�1HƒVM202$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�FDC�board;�drive�2HƒVM203$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�FDC�board;�drive�3ENDC O*------------------------------------------------------------------------------;NOVM21„=�1Œ#�of�VM21…UDC�(universal�disk�controller�boards)%*¦floppy�&�hard�disks;�two�board�set;*¦uses�IPC�driver*¦(see�"&.IPCDRV.CI")I*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies�on�either�the@*ˆ1st�or�2nd�controller�boards,�you�may�need�to�edit�&.IPCDRV.CIF*ˆand�change�the�Z�value�from�81�to�92�so�that�the�file�IOC.VM21DRV.AGB*ˆcan�be�assembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM21DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM215ƒNHV21$1ƒ=�2Œ#�of�hardƒdisk�drives�on�1st�UDC;�max=�47ƒNFV21$1ƒ=�2Œ#�of�floppy�disk�drives�on�1st�UDC;�max=�45ƒNHV21$2ƒ=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC;�max=�47ƒNFV21$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�UDC;�max=�4 FƒVM210$1„=�"'FXCMD80'"‚Type�of�1st�hardƒdisk�on�1st�UDC�board;�drive�0FƒVM211$1„=�"'RMCMD16'"‚Type�of�2nd�hardƒdisk�on�1st�UDC�board;�drive�1FƒVM212$1„=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�UDC�board;�drive�2FƒVM213$1„=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�UDC�board;�drive�3 HƒVM214$1„=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�UDC�board;�drive�4HƒVM215$1„=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�UDC�board;�drive�5HƒVM216$1„=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�UDC�board;�drive�6HƒVM217$1„=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�UDC�board;�drive�7 FƒVM210$2„=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�2nd�UDC�board;�drive�0FƒVM211$2„=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�2nd�UDC�board;�drive�1FƒVM212$2„=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�2nd�UDC�board;�drive�2FƒVM213$2„=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�2nd�UDC�board;�drive�3 HƒVM214$2„=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�UDC�board;�drive�4HƒVM215$2„=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�UDC�board;�drive�5HƒVM216$2„=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�UDC�board;�drive�6HƒVM217$2„=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�UDC�board;�drive�7ENDC O*------------------------------------------------------------------------------8NOVM22„=�0Œ#�of�VM22…SMD�disk�controllers�boards�(single*¦board)J*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies,�you�will�needC*ˆto�edit�&.VM22DRV.CI�and�change�the�Z�value�from�81�to�92�so�thatF*ˆthe�file�IOC.VM22DRV.AG�can�be�assembled�during�sysgen.‚The�81�valueF*ˆis�so�that�the�file�IOC.VM22DRV.AG�can�be�assembled�in�a�384K�system*ˆduring�sysgen. IFGTˆ\NOVM222ƒNHV22$1ƒ=�0Œ#�of�hardƒdisk�drives�on�VM22;�max=�84ƒNFV4 22$1ƒ=�0Œ#�of�floppy�disk�drives�on�VM22;�max=�4 BƒVM220$1ƒ=�"'FXCMD80'"‚Type�of�fixed…on�1st�disk�on�1st�VM22�boardFƒVM221$1ƒ=�"'RMCMD16'"‚Type�of�removable�on�1st�disk�on�1st�VM22�boardBƒVM222$1ƒ=�"'FXCMD80'"‚Type�of�fixed…on�2nd�disk�on�1st�VM22�boardFƒVM223$1ƒ=�"'RMCMD16'"‚Type�of�removable�on�2nd�disk�on�1st�VM22�boardBƒVM224$1ƒ=�"'FXCMD80'"‚Type�of�fixed…on�3rd�disk�on�1st�VM22�boardFƒVM225$1ƒ=�"'RMCMD16'"‚Type�of�removable�on�3rd�disk�on�1st�VM22�boardBƒVM226$1ƒ=�"'FXCMD80'"‚Type�of�fixed…on�4th�disk�on�1st�VM22�boardFƒVM227$1ƒ=�"'RMCMD16'"‚Type�of�removable�on�4th�disk�on�1st�VM22�board @ƒVM228$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�VM22�board@ƒVM229$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�VM22�board@ƒVM22A$1ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�1st�VM22�board@ƒVM22B$1ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�1st�VM22�boardENDC O*------------------------------------------------------------------------------7NOVM30„=�1Œ#�of�VM30…MCCM‚(multi-channel�communications *¦boards)(*¦uses�IPC�driver;�has�1�printer�port/bd*¦(see�"&.IPCDRV.CI") IFGTˆ\NOVM30/ƒNTV30$1ƒ=�4Œ#�of�terminals�on�1st�MCCM;�max=�4.ƒNPV30$1ƒ=�1Œ#�of�printers‚on�1st�MCCM;�max=�1/ƒNTV30$2ƒ=�0Œ#�of�terminals�on�2nd�MCCM;�max=�4.ƒNPV30$2ƒ=�0Œ#�of�printers‚on�2nd�MCCM;�max=�1/ƒNTV30$3ƒ=�0Œ#�of�terminals�on�3rd�MCCM;�max=�4.ƒNPV30$3ƒ=�0Œ#�of�printers‚on�3rd�MCCM;�max=�1/ƒNTV30$4ƒ=�0Œ#�of�terminals�on�4th�MCCM;�max=�4.ƒNPV30$4ƒ=�0Œ#�of�printers‚on�4th�MCCM;�max=�1ENDC O*------------------------------------------------------------------------------8NOTNT…=�0Œ#�of�TNT†Transparent�Network�Terminals;�max=�5 O*------------------------------------------------------------------------------éééé**ˆEXORMACS.SYSTEM.CI*L****************************************************************************B*‚This�file�contains�all�board/system�dependencies�for�EXORMACS.Š*&*‚It�is�called�from�"&.VERSADOS.CD".¦**Ê*E*‚The�user�should�not�have�to�modify�this�file�except�under�extreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ON�BOARD�RAM�ADDRESSES*>*†VMEbus�drivers�require�the�following�target�system�dependentB*†variables�to�be�defined�when�the�macro�file�DUALPORT.MC�is�used:<*†Note�that�the�ONBD$HI�parameter�may�vary�on�the�VME110�and<*†and�VME101�systems�depending�on�the�size�and�number�of�RAM<*†chips�used�on�the�processor�card.‚The�values�shown�are�the?*†minimum�requirements.�Modify�that�parameter�to�match�your�own*†system�if�different.**;ONBD$LOƒ=�$0‹Low�value�for�on-board�ram�(as�seen�by�driver)RAM$SQ„=�$0‹Difference�between�on-board�ram�address�as�seen�by*˜driver�and�device.JOFFBD$LO‚=�\ONBD$LO+\RAM$SQ�Low�value�for�on-board�ram�(as�seen�by�device)JOFFBD$HI‚=�\ONBD$HI+\RAM$SQ�High�valu�for�on-board�ram�(as�seen�by�device) FMSG‰5 ******************************************************************MSG‰**ˆAddresses�of�timer,�etc.FMSG‰****************************************************************** !TIMER…=�$FEE040†Address�of�timer.5CLOCKFRQ‚=�1000‰Number�of�clock�ticks�per�millisecond'PANEL…=�$FE0000†Address�of�front�panel.5TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The/*˜setting�of�bits�in�the�TRCFLAG�parameter�will1*˜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œ.¤*œ6‘SYSFAIL�interrupt.*FMSG‰******************************************************************.MSG‰**ƒLocal�terminal/printer�device�addresses#MSG‰**ƒShort�I/O�space�base�address&MSG‰**ƒShort�I/O�space�address�offsetsFMSG‰****************************************************************** :&VECTNOƒ=�$FFŠStarting�Vector�Number�used�by�IOC.IPCDRV.AG8LTDA$01ƒ=�$FEE011†EXORMACS�local�terminal�port�A�address8LTDA$02ƒ=�$FEE015†EXORMACS�local�terminal�port�B�address0LPDA$01ƒ=�$FEE009†EXORMACS�local�printer�address 1SIOBASEƒ=�$FF0000†Base�address�of�Short�I/O�space&DEVADDƒ=�\SIOBASE.RMS.CI�file�and�has�a�value�equal!*œto�the�initial�program�counter.AMEMEND1ƒ=�$200000†Ending�addr�for�on-board‚memory�must�be�<�this.4MEMEND2ƒ=�$0‹Starting‚addr�for�off-board�memory�must *˜be�>=�this.1*˜Note:�For�VM11-2(512k)�RAM�board�set�MEMEND2�to#*ž$40000.�Jumper�board�accordingly.@MEMEND3ƒ=�$0‹Ceiling�addr�for�off-board�memory�(must�be�<�this).:WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded1*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will"*˜be�moved�at�initialization�time.=CACHEF„=�0ŒNot�used�for�the�EXORmacs�(needed�by�&.INITDAT.AG)*„NOTE:‚"CN00"�thru�"CN09"�reserved�for�non�VM30�(MCCM)�ports.* IFNEˆ\NOLTERMƒINCLUDE…&.ACIADRV.CIENDC* IFNEˆ\NOLPRTƒINCLUDE…&.PIAEXM.CIENDC*IFNEˆ\NOVM20+\NOVM21+\NOVM30ƒINCLUDE…&.IPCDRV.CIENDC* IFNEˆ\NOVM30?ƒ*„NOTE:‚"CNn0"�thru�"CNn3"�reserved�for�these�each�MCCM�board,+ƒ*‹where�"n"�is�the�board�number�(1,2,...).7ƒ*‹"PRn�"�is�assigned�sequentially�for�each�MCCM�board.ƒINCLUDE…&.VM30DRV.CIENDCO*------------------------------------------------------------------------------ IFNEˆ\NOVM22ƒINCLUDE…&.VM22DRV.CIENDC* IFNEˆ\NOTNTƒINCLUDE…&.TNTDRV.CIENDCéé¬-'VM01 COPYSGENCFÁÁvqqINITIO1 AGÚÚƒqqCNFGDRVRCIóó‰qqIFDRVR CI(qqSYSTEM CIwqq6 =/*:=/*‚VM01.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*%=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�VM01 =USE :.VM01=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*9=/*ƒInvoke�as:„=VM01.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 4…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4Š=ARG�\1,\2,\3,N…=/ENDIF=/ENDIFJ=/*‚Set�Arg5�so�this�file�can't�be�rerun�directly�w/o�setting�proper�args!=ARG \1,\2,\3,\4,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copyingO=/*----------------------------------------------------------------------------)=/* Copy all VM30 (MCCM) files for sysgen=/@„\1:9998.COPYGEN.VM30DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all IPC driver files for sysgen=/@„\1:9998.COPYGEN.IPCDRV.CFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all EPCI driver files for sysgen=/@„\1:9998.COPYGEN.EPCIDRV.CFO=/*----------------------------------------------------------------------------"=/* Copy all VM22 files for sysgen=/@„\1:9998.COPYGEN.VM22DRV.CF¹DÂ(Ê O=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PV01DRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------(=/* Copy all TNT driver files for sysgen=/@„\1:9998.COPYGEN.TNTDRV.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*----------------------------------------------------------------------------+=/*‚Copy�all�VM01�specific�files�for�sysgen=/@„\1:9998.COPYGEN.VM01.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen=/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BE6 GINEND.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK files for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*0=/*†VM01.COPYSGEN.CF‚completed.ŒHave�a�nice�day!=/*N=/*‚No�"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!ééééé*ˆINCLUDE�M6840.M6840.EQ‰INCLUDE�M6840.M6840.EQ ‰SECTIONƒ8‰PAGE*J*‚This�code�is�needed�to�satisfy�INIT,�which�is�board-independent�and�must/*‚call�upon�us�to�do�the�board-dependent�stuff.**„Initialize�the�MMU.*5ŠXDEFƒINITMMUŒIt's�easy�for�us�to�initialize�the�MMU,$INITMMUƒRTS—since�we�don't�have�one. **„Start�the�timer�running.*+ŠXREF.S�CRASHSAV‹These�are�found�in�SYSPAR.ŠXREF.S�EXCSTACKŠXREF.S�PTMADDRŠXREF.S�TIMESLICŠXREF.S�TIMINTVŠXREF.S�TIMINTV4 &ŠXREFƒCLOCKFRQ‹These�are�found�in�IND. ŠXREFƒTIMERAŠXREFƒTIMINTVA ŠXREFƒTIMSLIC 1ŠXDEFƒTIMERSTŒEntry�point�to�START�TIMER�routine.TIMERSTDŠMOVE.L�TIMSLIC(PC),TIMESLIC‚Set�the�sysgen�parameter�which�dictates%*§the�#�of�timer�tics�per�time�slice.'‰MOVE.L�TIMERA(PC),A1‡GET�TIMER�ADDRESS#‰MOVE.L�A1,PTMADDRŠSAVE�IT�FOR�EXEC$‰BEQ.S‚TIMER_EXITŠBRANCH�IF�NO�TIMER)‰PEA„TIMERBE(PC)‰WHERE�TO�GO�ON�BUS�ERROR$‰MOVE.W�#'BE',-(A7)‰SET�BUS�ERR�FLAG3‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REG�1&‰MOVE.B�#$01,CR13(A1)‡ALL�TIMERS�RESET$‰MOVE.L�#CLOCKFRQ,D0ˆCLOCK�FREQUENCY‰DIVUƒ#4,D0�DIVIDE�BY�4#‰SUB.W‚#1,D0�CLOCK�INTERRUPTS�AT�-1*‰MOVE.W�TIMINTVA(PC),D1…INTERRUPT�INTERVAL ‰MOVE.W�D1,TIMINTVŠSAVE�FOR�EXEC‰MULUƒ#4,D1�MULTIPLY�BY�4*‰SUB.W‚#1,D1�SUBTRACT�1�-�TIMER�GOES�TO�-1!‰MOVE.W�D1,TIMINTV4‰SAVE�FOR�EXEC‰LSL.W‚#8,D1�PUT�IN�HIGH�BYTE)‰ADD.W‚D1,D0�VALUE�FOR�TIMER�3�(2�HALVES)‰MOVEP‚D0,MSBT3(A1)ˆSET�TIMER�34‰MOVE.W�#256,D0�VALUE�FOR�TIMER�1�(OVERFLOW�COUNTER)‰MOVEP‚D0,MSBT1(A17 )ˆSET�TIMER�18‰MOVE.B�#$00,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�3;‰MOVE.B�#$C6,CR13(A1)‡T3--INTERNAL�CLOCK,INTERRUPT�ENABLED,*£OUTPUT�ENABLED,�8-BIT�MODE8‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�1;‰MOVE.B�#$00,CR13(A1)‡T1--EXTERNAL�CLOCK,�ENABLE�ALL�TIMERS3‰ADDQ.L�#6,SP�Everything�went�OK;�just�get�that�bus4‰BRA.S‚TIMER_EXITŠerror�junk�off�the�stack�and�exit.*;TIMERBE‚MOVE.L‚#CRASHSAV,PTMADDR‚USE�DUMP�POINTER�FOR�TIMER TIMER_EXIT�RTS–Return�to�INIT.ŠPAGEÒ@Û=ã ‰SECTIONƒ8.***********************************************(*†SUBROUTINE�USED�TO�INITIALIZE�IO�PORTS*;*ˆTHIS�ROUTINE�MUST�BE�MODIFIED�FOR�SYSTEM�BEING�INITIALZED* ‰XDEF„INITIO INITIOƒEQU…**/*…INITIALIZE�SERIAL�PORT�2�(FOR�VERSAMODULE�01)*ŒOR‚IPC�FOR�EXORMACS*+‰PEA„INITIOR(PC)„RETURN�IF�BUS�ERROR�OCCURS)‰MOVE.W�#'BE',-(A7)„SAVE�'BUS�ERROR'�FLAG$‰TST.B‚$F7001FˆREAD�COMMAND�REGISTER+‰MOVE.B�#$4E,$F7001DƒINIT�MODE�REG�1�PORT�2+‰MOVE.B�#$3E,$F7001DƒINIT�MODE�REG�2�PORT�25‰MOVE.B�#$36,$F7001FƒRESET�AND�ENABLE�RECEIVER�PORT�2$‰TST.B…$F70017ƒREAD�COMMAND�REGISTER+‰MOVE.B„#$4E,$F70015ˆINIT�MODE�REG�1�PORT�1+‰MOVE.B„#$3E,$F70015ˆINIT�MODE�REG�2�PORT�15‰MOVE.B„#$36,$F70017‡RESET�AND�ENABLE�RECEIVER�PORT�13‰MOVE.B�#$BF,$F70030ƒENABLE�VM�INTERRUPTS�FOR�PORT2)‰LEA„6(A7),A7‡REMOVE�BUS�ERROR�FROM�STACK INITIOR‚RTS‰PAGEE*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…When�incorporating�any�drivers�during�SYSGEN„<<<<<<<?*‚>>>>>>>…that�require�memory�allocated�for�them�as�perƒ<<<<<<<?*‚>>>>>>>…the�driver�package�instructions�-�this�is�theƒ<<<<<<<,*‚>>>>>>>…spot�the�file(s)�go�into!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…This�is�also�the�spot�for�code�for�a�driver…<<<<<<<>*‚>>>>>>>…that‚requires�other�types�of�initialization,ƒ<<<<<<<0*‚>>>>>>>…such‚as�clearing�an�interrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGE�IT�HERE—<<<<<<<*<*ˆWhen�you�write�the�code�that�is�to�be�merged�here,�wrap�it*ˆaround�with�the�following:*:*ˆAt�the�beginning,�with�DRVRxOUT�referring�to�your�unique*ˆlabel,�put�this�code:*'*‹PEA„DRVRxOUT(PC)„IF�BUS�ERROR�OCCURS,*¢RETURN�OR�GO�ON�TO�NEXT*¢DRIVER'S�INITIALIZATION**‹MOVE.W�#'BE',-(A7)…SAVE�'BUS�ERROR'�FLAG*9*ˆThen�insert�the�code�to�do�what�you�need�to�do�for�this*ˆparticular�driver.**ˆAt�the�end,�put�this:***‹LEA„6(A7),A7ˆREMOVE�BUS�ERROR�FROM�STACK*DRVRxOUTƒEQU„**=*ˆIn�this�way,�if�the�code�for�one�driver�causes�a�bus�error,.*ˆthe�code�for�other�drivers�will�be�executed.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G*********************************************************************** ‰ENDééé7 ééé**ˆVM01.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------B* This file sets up the flags used by the "VM01.IFDRVR.CI" file to'* conditionally include device drivers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEM�DEPENDENCIES�are�included�from�the�&.VERSADOS.CD�file.�---9*�VM01.SYSTEM.CIƒadd�processor�board/system�dependencies,(*–including�local�terminals�and�printers6*�&.CNFGTASK.CIƒadd�O/S�task�configuration�for�ROM/RAMM*****************************************************************************  O*------------------------------------------------------------------------------ANOLTERMƒ=�2Œ#�of�terminals�using�VM01�serial�ports�(EPCI);�max=�2 O*------------------------------------------------------------------------------1NOLPRT„=�1Œ#�of�local�(on-board)�printers;�max=�2 O*------------------------------------------------------------------------------8NOTNT…=�0Œ#�of�TNT†Transparent�Network�Terminals;�max=�5 O*------------------------------------------------------------------------------=NOVM20„=�1Œ#�of�VM20…FDC�(floppy�only�disk�controller�boards) *¦two�board�set;�uses�IPC�driver*¦(see�"&.IPCDRV.CI")G*�NOTE:‚If�you�increase�the�number�of�floppies�on�either�the�1st�or�2nd@*ˆcontroller�boards,�you�may�need�to�edit�&.IPCDRV.CI�and�changeB*ˆthe�Z�value�from�81�to�85�so�that�the�file�IOC.VM20DRV.AG�can�be;*ˆassembled�during�sysgen.‚The�81�value�is�so�that�the�fileë)ô'ü&A*ˆIOC.VM20DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM207ƒNFV20$1ƒ=�2Œ#�of�floppy�disk�drives�on�1st�FDC;�max=�47ƒNFV20$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�FDC;�max=�4 ?ƒVM200$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�FDC�board?ƒVM201$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�FDC�board?ƒVM202$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�FDC�board?ƒVM203$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�FDC�board ?ƒVM200$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�FDC�board?ƒVM201$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�FDC�board?ƒVM202$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�FDC�board?ƒVM203$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�FDC�boardENDC O*------------------------------------------------------------------------------;NOVM21„=�0Œ#�of�VM21…UDC�(universal�disk�controller�boards)%*¦floppy�&�hard�disks;�two�board�set;*¦uses�IPC�driver*¦(see�"&.IPCDRV.CI")I*�NOTE:‚If�you�increase�the�number�of�hard�disk�or8 �floppies�on�either�the@*ˆ1st�or�2nd�controller�boards,�you�may�need�to�edit�&.IPCDRV.CIF*ˆand�change�the�Z�value�from�81�to�92�so�that�the�file�IOC.VM21DRV.AGB*ˆcan�be�assembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM21DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM215ƒNHV21$1ƒ=�0Œ#�of�hardƒdisk�drives�on�1st�UDC;�max=�47ƒNFV21$1ƒ=�0Œ#�of�floppy�disk�drives�on�1st�UDC;�max=�45ƒNHV21$2ƒ=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC;�max=�47ƒNFV21$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�UDC;�max=�4 FƒVM210$1ƒ=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�1st�UDC�board;�drive�0FƒVM211$1ƒ=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�1st�UDC�board;�drive�1FƒVM212$1ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�UDC�board;�drive�2FƒVM213$1ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�UDC�board;�drive�3 HƒVM214$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�UDC�board;�drive�4HƒVM215$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�UDC�board;�drive�5HƒVM216$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�UDC�board;�drive�6HƒVM217$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�UDC�board;�drive�7 FƒVM210$2ƒ=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�2nd�UDC�board;�drive�0FƒVM211$2ƒ=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�2nd�UDC�board;�drive�1FƒVM212$2ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�2nd�UDC�board;�drive�2FƒVM213$2ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�2nd�UDC�board;�drive�3 HƒVM214$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�UDC�board;�drive�4HƒVM215$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�UDC�board;�drive�5HƒVM216$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�UDC�board;�drive�6HƒVM217$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�UDC�board;�drive�7ENDC O*------------------------------------------------------------------------------8NOVM22„=�0Œ#�of�VM22…SMD�disk�controllers�boards�(single*˜board)J*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies,�you�will�needC*ˆto�edit�&.VM22DRV.CI�and�change�the�Z�value�from�81�to�92�so�thatF*ˆthe�file�IOC.VM22DRV.AG�can�be�assembled�during�sysgen.‚The�81�valueF*ˆis�so�that�the�file�IOC.VM22DRV.AG�can�be�assembled�in�a�384K�system*ˆduring�sysgen. IFGTˆ\NOVM222ƒNHV22$1ƒ=�0Œ#�of�hardƒdisk�drives�on�VM22;�max=�84ƒNFV22$1ƒ=�0Œ#�of�floppy�disk�drives�on�VM22;�max=�4 >ƒVM220$1ƒ=�"'FXCMD80'"‚Type�of�1st�hardƒdisk�on�1st�VM22�board>ƒVM221$1ƒ=�"'RMCMD16'"‚Type�of�2nd�hardƒdisk�on�1st�VM22�board>ƒVM222$1ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�VM22�board>ƒVM223$1ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�VM22�board>ƒVM224$1ƒ=�"'FXCMD80'"‚Type�of�5th�hardƒdisk�on�1st�VM22�board>ƒVM225$1ƒ=�"'RMCMD16'"‚Type�of�6th�hardƒdisk�on�1st�VM22�board>ƒVM226$1ƒ=�"'FXCMD80'"‚Type�of�7th�hardƒdisk�on�1st�VM22�board>ƒVM227$1ƒ=�"'RMCMD16'"‚Type�of�8th�hardƒdisk�on�1st�VM22�board @ƒVM228$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�VM22�board@ƒVM229$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�VM22�board@ƒVM22A$1ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�1st�VM22�board@ƒVM22B$1ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�1st�VM22�boardENDC O*------------------------------------------------------------------------------7NOVM30„=�0Œ#�of�VM30…MCCM‚(multi-channel�communications *˜boards)(*¤uses�IPC�driver;�has�1�printer�port/bd*¤(see�"&.IPCDRV.CI") IFGTˆ\NOVM30/ƒNTV30$1ƒ=�0Œ#�of�terminals�on�1st�MCCM;�max=�4.ƒNPV30$1ƒ=�0Œ#�of�printers‚on�1st�MCCM;�max=�1/ƒNTV30$2ƒ=�0Œ#�of�terminals�on�2nd�MCCM;�max=�4.ƒNPV30$2ƒ=�0Œ#�of�printers‚on�2nd�MCCM;�max=�1/ƒNTV30$3ƒ=�0Œ#�of�terminals�on�3rd�MCCM;�max=�4.ƒNPV30$3ƒ=�0Œ#�of�printers‚on�3rd�MCCM;�max=�1/ƒNTV30$4ƒ=�0Œ#�of�terminals�on�4th�MCCM;�max=�4.ƒNPV30$4ƒ=�0Œ#�of�printers‚on�4th�MCCM;�max=�1ENDC O*------------------------------------------------------------------------------8 éééé**ˆVM01.IFDRVR.CI*** Conditional file for VM01 device driversO*------------------------------------------------------------------------------G* This file uses flags setup in the VM01.CNFGDRVR.CI and VM01.SYSTEM.CI0* files to conditionally include device drivers.*J* The user should not have to modify this file to include/exclude drivers.*D*„******************************************************************?*„**‚NOTICE:‚The�following�conditionals�are�order�dependent.„**3*„**‹Do�not�change�the�order!‚Local�drivers�1st.‡**9*„**‹The�order�determines�device�number�(HD00,PR,�etc)‚***„**‹for�most�items.¤**D*„*******************************************************************>*„NOTE:‚"CN00"�thru�"CN09"�reserved�for�non�VM30�(MCCM)�ports.* IFNEˆ\NOLTERMƒINCLUDE…&.EPCIDRV.CIENDC* IFNEˆ\NOLPRTƒINCLUDE…&.PV01DRV.CIENDC*IFNEˆ\NOVM20+\NOVM21+\NOVM30ƒINCLUDE…&.IPCDRV.CIENDC* IFNEˆ\NOVM30?ƒ*„NOTE:‚"CNn0"�thru�"CNn3"�reserved�for�these�each�MCCM�board,+ƒ*‹where�"n"�is�the�board�number�(1,2,...).7ƒ*‹"PRn�"�is�assigned�sequentially�for�each�MCCM�board.ƒINCLUDE…&.VM30DRV.CIENDCO*------------------------------------------------------------------------------ IFNEˆ\NOVM22ƒINCLUDE…&.VM22DRV.CIENDCééé )**ˆVM01.SYSTEM.CI*L****************************************************************************>*‚This�file�contains�all�board/system�dependencies�for�VM01.Ž*&*‚It�is�called�from�"&.VERSADOS.CD".¦**Ê*E*‚The�user�should�not�have�to�modify�this�file�except�under�extreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ON�BOARD�RAM�ADDRESSES*>*†VMEbus�drivers�require�the�following�target�system�dependentB*†variables�to�be�defined�when�the�macro�file�DUALPORT.MC�is�used:<*†Note�that�the�ONBD$HI�parameter�may�vary�on�the�VME110�and<*†and�VME101�systems�depending�on�the�size�and�number�of�RAM<*†chips�used�on�the�proces9 sor�card.‚The�values�shown�are�the?*†minimum�requirements.�Modify�that�parameter�to�match�your�own*†system�if�different.**;ONBD$LOƒ=�$0‹Low�value�for�on-board�ram�(as�seen�by�driver)RAM$SQ„=�$0‹Difference�between�on-board�ram�address�as�seen�by*˜driver�and�device.JOFFBD$LO‚=�\ONBD$LO+\RAM$SQ�Low�value�for�on-board�ram�(as�seen�by�device)JOFFBD$HI‚=�\ONBD$HI+\RAM$SQ�High�valu�for�on-board�ram�(as�seen�by�device) FMSG‰******************************************************************MSG‰**ˆAddresses�of�timer,�etc.FMSG‰****************************************************************** !TIMER…=�$F70000†Address�of�timer.5CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond"PANEL…=�$0‹Address�of�front�panel.5TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The/*˜setting�of�bits�in�the�TRCFLAG�parameter�will1*˜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.7,&*FMSG‰******************************************************************.MSG‰**ƒLocal�terminal/printer�device�addresses#MSG‰**ƒShort�I/O�space�base�address&MSG‰**ƒShort�I/O�space�address�offsetsFMSG‰****************************************************************** <&VECTNOƒ=�$FFŠStarting�Vector�Number‚(used�by�IOC.IPCDRV.AG)4LTDA$01ƒ=�$F70011†VM01�local�terminal�port�A�address4LTDA$02ƒ=�$F70019†VM01�local�terminal�port�B�address3LPDA$01ƒ=�$F70020†VM01�local�printer�port�A�address3LPDA$02ƒ=�$F70022†VM01�local�printer�port�B�address 1SIOBASEƒ=�$FF0000†Base�address�of�Short�I/O�space&DEVADDƒ=�\SIOBASE.RMS.CI�file�and�has�a�value�equal!*œto�the�initial�program�counter.@MEMEND1ƒ=�$20000‡Ending�addr�for�on-board‚memory�must�be�<�this.8MEMEND2ƒ=�$20000‡Starting‚addr�for�off-board�memory�must *˜be�>=�this.EMEMEND3ƒ=�$200000†Ceiling�addr�for�off-board�memory�(must�be�<�this).?WHERLOAD‚=�$10200‡Memory�address�where�boot�file�will�be�loaded1*˜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�RAM8CACHEF„=�0ŒNot�used�on�the�VM01�(needed�by�&.INITDAT.AG)7NVME316ƒ=�0ŒNot�used�on�the�VM01�(needed�by�SYSINIT.CI) EMSG‰*****************************************************************)MSG‰**‚Parameters�about�table�sizes,�etc.EMSG‰***************************************************************** 1PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*)ASN‡=�0Œ#�of�address�spaces--not�used�but!*˜needed�to�satisfy�&.INITDAT.AG. IFNEˆ\WHERLOADEƒMSG‰****************************************************************BƒMSG‰*ƒCopy�VERSAPT.VM01.CF�file�to�VERSAPT.CF�file�to�apply�patch#ƒMSG‰*ƒto�VERSADOS.SY�after�sysgen.EƒMSG‰****************************************************************#ƒ=COPY‡VERSAPT.VM01.CF,VERSA9 PT.CF;AENDC GMSG‰*******************************************************************=MSG‰*ƒCopy�C8OC.SYSPAR.RO�into�&.SYSPAR.RO�to�make�it�genericAMSG‰*ƒfor�.LG�files�and�possible�for�sysgening�more�than�1�systemMSG‰*ƒper�account�#GMSG‰*******************************************************************"=COPY‡C8OC.SYSPAR.RO,&.SYSPAR.RO;Yéééé'VM02 COPYSGENCF::¤qqINITIO1 AG[[ØqqIFDRVR CI||PqqSYSTEM CI……¤qqCNFGDRVRCI¦¦(Üqq=/*:=/*‚VM02.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*%=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�VM02 =USE :.VM02=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*9=/*ƒInvoke�as:„=VM02.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference2=/*‰Arg5=�\5„include�PCDRV�driver�filesƒ(optional)=/*—PCDRV�=�include�them=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 5…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4 Š=/IFC�\5�=ARG�\1,\2,\3,N,-PCDRVŠ=/ELSE�=ARG�\1,\2,\3,N,\5Š=/ENDIF…=/ENDIF …=/IFC�\5ˆ=ARG�\1,\2,\3,\4,-PCDRV…=/ELSEˆ=/IFEQ�"PCDRV"\5ˆ=/ELSE‹=/IFEQ�"-PCDRV"\5‹=/ELSEŽ=/RD=5‹=/ENDIFˆ=/ENDIF…=/ENDIF=/ENDIFJ=/*‚Set�Arg6�so�this�file�can't�be�rerun�directly�w/o�setting�proper�args!=ARG \1,\2,\3,\4,\5,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copying=/IFEQ "PCDRV"\5O=/*---------: -------------------------------------------------------------------"=/* Copy all RAD1 files for sysgen=/@„\1:9998.COPYGEN.RADDRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all RIO files for sysgen=/@„\1:9998.COPYGEN.RIODRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME600 files for sysgen=/@„\1:9998.COPYGEN.M600DRV.CF2P;(C(KO=/*----------------------------------------------------------------------------$=/* Copy all VME605 files for sysgen=/@„\1:9998.COPYGEN.M605DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME610 files for sysgen=/@„\1:9998.COPYGEN.M610DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME615 files for sysgen=/@„\1:9998.COPYGEN.M615DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME625 files for sysgen=/@„\1:9998.COPYGEN.M625DRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all PCDRV common files for sysgen=/@„\1:9998.COPYGEN.PCDRV.CF=/ENDIFO=/*----------------------------------------------------------------------------)=/* Copy all VM30 (MCCM) files for sysgen=/@„\1:9998.COPYGEN.VM30DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all IPC driver files for sysgen=/@„\1:9998.COPYGEN.IPCDRV.CFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all MPSC driver files for sysgen=/@„\1:9998.COPYGEN.MPSCDRV.CFO=/*----------------------------------------------------------------------------"=/* Copy all VM22 files for sysgen=/@„\1:9998.COPYGEN.VM22DRV.CFO=/*----------------------------------------------------------------------------/=/* Copy all VME435 (mag tape) files for sysgen=/@„\1:9998.COPYGEN.M435DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PIADRV.CFO=/*----------------------------------------------------------------------------7=/* Copy all RWIN1 (Winchester) driver files for sysgen=/@„\1:9998.COPYGEN.RWINDRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*----------------------------------------------------------------------------+=/*‚Copy�all�VM02�specific�files�for�sysgen=/@„\1:9998.COPYGEN.VM02.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen=/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BEGINEND.CFO=/*-----------------------------------------: -----------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK files for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*0=/*†VM02.COPYSGEN.CF‚completed.‰Have�a�nice�day!=/*N=/*‚No�"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!ééééééé**ˆVM02.INITIO1.AG**ˆINCLUDE�M6840.M6840.EQ‰INCLUDE�M6840.M6840.EQ ‰SECTIONƒ8‰PAGE*(*ˆVECTOR�NUMBER�TABLE�FOR�VERSAMODULE-020*ˆTHERE�ARE�3�GROUPS�OF�VECTOR�NUMBERS�STORED�AT%*ˆTHE�HIGH�LOCATIONS�OF�ON�BOARD�RAM.5*ˆTHESE�VECTOR�NUMBERS�ARE�STORED�FROM�TOP�TO�BOTTOM.*ˆTABLE�STRUCTURE:*’DC.W�END�ADDRESS+2�OF�GROUP�X*’DC.W�7TH�VECTOR�NUMBER*’.*’.*’DC.W�1ST�VECTOR�NUMBER* VM02TBLƒEQUƒ* **‚Group�0�vectors.*:‰DC.W‚$1000‰Offset�to�2�+�last�of�group�0�vectors�on�VM02.#‰DC.W�\KILVECT‡IRQ�7-KILLER�ROUTINE#‰DC.W�\KILVECT‡IRQ�6-KILLER�ROUTINE#‰DC.W�\KILVECT‡IRQ�5-KILLER�ROUTINE#‰DC.W�\KILVECT‡IRQ�4-KILLER�ROUTINE#‰DC.W�\KILVECT‡IRQ�3-KILLER�ROUTINE#‰DC.W�\KILVECT‡IRQ�2-KILLER�ROUTINE#‰DC.W�\KILVECT‡IRQ�1-KILLER�ROUTINE **‚Group�1�vectors.*9‰DC.W�$FF0‹Offset�to�2�+�last�of�group�1�vectors�on�VM02.@‰DC.W�\KILVECT‡7�1/3:‚AC�FAIL�from�the�VERSAbus;�send�to�KILLER.+‰DC.W�\SERPTSˆ6�1/3:‚NEC�7201�serial�ports."‰DC.W�\PTMVECT‡5�1/3:‚M6840�timer.:‰DC.W�\BCLRV‰4�1/3:‚Bus�clear…from�VM02�bus�arbiter�logic.@‰DC.W�\KILVECT‡3�1/3:‚Bus�available�from�VM02�bus�arbiter�logic;*«send�to�KILLER.>‰DC.W�\KILVECT‡2�1/3:‚VERSAbus�interrupt�acknowledged;�send�to *«KILLER.-‰DC.W�\FAILŠ1�1/3:‚SYSFAIL�f; rom�the�VERSAbus. **‚Group�2�vectors.*8‰DC.W�$FE0‹Offset�to�2�+�last�of�group�2�vector�on�VM02."‰DC.W�\SWABRTˆIRQ�7-SOFTWARE�ABORT#‰DC.W�\KILVECT‡IRQ�6-KILLER�ROUTINE2‰DC.W�\IOCVEC4‡IRQ�5-I/O�CHANNEL�INTERRUPT�LEVEL�42‰DC.W�\IOCVEC3‡IRQ�4-I/O�CHANNEL�INTERRUPT�LEVEL�32‰DC.W�\IOCVEC2‡IRQ�3-I/O�CHANNEL�INTERRUPT�LEVEL�22‰DC.W�\IOCVEC1‡IRQ�2-I/O�CHANNEL�INTERRUPT�LEVEL�15‰DC.W�\KILVECT‡IRQ�1-KILLER�ROUTINE-UNASSIGNED�VECTOR‰PAGE*J*‚This�code�is�needed�to�satisfy�INIT,�which�is�board-independent�and�must/*‚call�upon�us�to�do�the�board-dependent�stuff.**„Initialize�the�MMU.*5ŠXDEFƒINITMMUŒIt's�easy�for�us�to�initialize�the�MMU,$INITMMUƒRTS—since�we�don't�have�one. **„Start�the�timer�running.*SG\:d3l%+ŠXREF.S�CRASHSAV‹These�are�found�in�SYSPAR.ŠXREF.S�EXCSTACKŠXREF.S�PTMADDRŠXREF.S�TIMESLICŠXREF.S�TIMINTVŠXREF.S�TIMINTV4 &ŠXREFƒCLOCKFRQ‹These�are�found�in�IND. ŠXREFƒTIMERAŠXREFƒTIMINTVA ŠXREFƒTIMSLIC 1ŠXDEFƒTIMERSTŒEntry�point�to�START�TIMER�routine.TIMERSTDŠMOVE.W�TIMSLIC(PC),TIMESLIC‚Set�the�sysgen�parameter�which�dictates%*§the�#�of�timer�tics�per�time�slice.'‰MOVE.L�TIMERA(PC),A1‡GET�TIMER�ADDRESS#‰MOVE.L�A1,PTMADDRŠSAVE�IT�FOR�EXEC$‰BEQ.S‚TIMER_EXITŠBRANCH�IF�NO�TIMER)‰PEA„TIMERBE(PC)‰WHERE�TO�GO�ON�BUS�ERROR$‰MOVE.W�#'BE',-(A7)‰SET�BUS�ERR�FLAG3‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REG�1&‰MOVE.B�#$01,CR13(A1)‡ALL�TIMERS�RESET$‰MOVE.L�#CLOCKFRQ,D0ˆCLOCK�FREQUENCY‰DIVUƒ#4,D0�DIVIDE�BY�4#‰SUB.W‚#1,D0�CLOCK�INTERRUPTS�AT�-1*‰MOVE.W�TIMINTVA(PC),D1…INTERRUPT�INTERVAL ‰MOVE.W�D1,TIMINTVŠSAVE�FOR�EXEC‰MULUƒ#4,D1�MULTIPLY�BY�4*‰SUB.W‚#1,D1�SUBTRACT�1�-�TIMER�GOES�TO�-1!‰MOVE.W�D1,TIMINTV4‰SAVE�FOR�EXEC‰LSL.W‚#8,D1�PUT�IN�HIGH�BYTE)‰ADD.W‚D1,D0�VALUE�FOR�TIMER�3�(2�HALVES)‰MOVEP‚D0,MSBT3(A1)ˆSET�TIMER�34‰MOVE.W�#256,D0�VALUE�FOR�TIMER�1�(OVERFLOW�COUNTER)‰MOVEP‚D0,MSBT1(A1)ˆSET�TIMER�18‰MOVE.B�#$00,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�3;‰MOVE.B�#$C6,CR13(A1)‡T3--INTERNAL�CLOCK,INTERRUPT�ENABLED,*£OUTPUT�ENABLED,�8-BIT�MODE8‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�1;‰MOVE.B�#$00,CR13(A1)‡T1--EXTERNAL�CLOCK,�ENABLE�ALL�TIMERS3‰ADDQ.L�#6,SP�Everything�went�OK;�just�get�that�bus4‰BRA.S‚TIMER_EXITŠerror�junk�off�the�stack�and�exit.*;TIMERBE‚MOVE.L‚#CRASHSAV,PTMADDR‚USE�DUMP�POINTER�FOR�TIMER TIMER_EXIT�RTS–Return�to�INIT.ŠPAGE ‰XDEF„INITIO-‰XREF„CTRLREG…VERSAmodule-02�control�register ‰XREF„MEMTABL4‰XREF„DPRVAO†dual�ported�RAM�VERSAbus�address�offset ‰SECTIONƒ8.************************************************ƒValue�to�put�in�VM02�control�register.ƒ*.***********************************************(CTRL†SET„%000�VERSAbus�int�level�(none).;CTRL†SET„0<<3+CTRLŠVERSAbus�int�acknowledge�mask�(disable).CTRL†SET„1<<10+CTRL‰Write-protect�VM02�RAM�from�VERSAbus?�(no)2CTRL†SET„1<<11+CTRL‰I/O�channel�int�mask�(enable).@CTRL†SET„%0000<<12+CTRL…Address�modifiers�for�VERSAbus�accesses. INITIOƒEQU…**=*…INITIALIZE�VERSAMODULE-02�VECTOR�TABLE�IN�HIGH�ON-BOARD�RAM*)‰LEA„MEMTABL(PC),A1�START�OF�MEMORY�TABLE+‰MOVE.L�6(A1),D0‡END�ADDRESS�OF�PARTITION�0%‰ADD.L�#1,D0‹MAY�BE�XXFFF�TYPE�NUMBER#‰BCLR�#0,D0ŒFORCE�XX000�TYPE�NUMBER$‰SUB.L�#1,D0; ‹FORCE�XXFFF�TYPE�NUMBER4‰AND.L�#$FFFFF000,D0ƒGET�OFFSET�TO�VM02�VECTOR�TABLE1‰LEA�VM02TBL(PC),A1„GET�VM02�IMAGE�OF�THE�VECTORS‰MOVE.L�#0,A2ŠCLEAR�FOR�USE‰MOVE.L�#3,D4ˆNUMBER�OF�GROUPS4INITIOL1�MOVE.W�(A1)+,A2…GET�OFFSET�TO�GROUP�ADDRESS‰ADD.L�D0,A2ŠACTUAL�ADDRESS%‰MOVE.L�#7,D3‰NUMBER�OF�ENTRIES/GROUP-INITIOL2�MOVE.W�(A1)+,-(A2)ƒSTORE�THE�VECTORS(‰SUB.L�#1,D3‹DECREMENT�NUMBER�OF�ENTRIES$‰BNE.S�INITIOL2‡BRANCH�TIL�MOVED�ALL'‰SUB.L�#1,D4ŠDECREMENT�NUMBER�OF�GROUPS+‰BNE.S�INITIOL1†BRANCH�IF�MORE�GROUPS�TO�DO‰MOVE.L�D0,A2‹GET�OFFSET)‰ADD.L�#$FF0,A2‡POINT�TO�CONTROL�REGISTER;ŠMOVE.L�A2,CTRLREG‰Save�addr�of�control�register�in�SYSPAR.9ŠMOVEƒ#CTRL,(A2)‰Set�control�register�the�way�we�want�it. *8*‚Set�dual�ported�RAM�VERSAbus�address�offset�in�SYSPAR.*1ŠMOVE.L�#\DPRVAO,DPRVAO„Put�the�offset�in�SYSPAR.  E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…When�incorporating�any�drivers�during�SYSGEN„<<<<<<<?*‚>>>>>>>…that�require�memory�allocated�for�them�as�perƒ<<<<<<<?*‚>>>>>>>…the�driver�package�instructions�-�this�is�theƒ<<<<<<<,*‚>>>>>>>…spot�the�file(s)�go�into!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…This�is�also�the�spot�for�code�for�a�driver…<<<<<<<>*‚>>>>>>>…that‚requires�other�types�of�initialization,ƒ<<<<<<<0*‚>>>>>>>…such‚as�clearing�an�interrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGE�IT�HERE—<<<<<<<*<*ˆWhen�you�write�the�code�that�is�to�be�merged�here,�wrap�it*ˆaround�with�the�following:*:*ˆAt�the�beginning,�with�DRVRxOUT�referring�to�your�unique*ˆlabel,�put�this�code:*'*‹PEA„DRVRxOUT(PC)„IF�BUS�ERROR�OCCURS,*¢RETURN�OR�GO�ON�TO�NEXT*¢DRIVER'S�INITIALIZATION**‹MOVE.W�#'BE',-(A7)…SAVE�'BUS�ERROR'�FLAG*9*ˆThen�insert�the�code�to�do�what�you�need�to�do�for�this*ˆparticular�driver.**ˆAt�the�end,�put�this:***‹LEA„6(A7),A7ˆREMOVE�BUS�ERROR�FROM�STACK*DRVRxOUTƒEQU„**=*ˆIn�this�way,�if�the�code�for�one�driver�causes�a�bus�error,.*ˆthe�code�for�other�drivers�will�be�executed.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G*********************************************************************** ‰ENDéé**ˆVM02.IFDRVR.CI*** Conditional file for VM02 device driversO*------------------------------------------------------------------------------G* This file uses flags setup in the VM02.CNFGDRVR.CI and VM02.SYSTEM.CI0* files to conditionally include device drivers.*J* The user should not have to modify this file to include/exclude drivers.*D*„******************************************************************?*„**‚NOTICE:‚The�following�conditionals�are�order�dependent.„**3*„**‹Do�not�change�the�order!‚Local�drivers�1st.‡**9*„**‹The�order�determines�device�number�(HD00,PR,�etc)‚***„**‹for�most�items.¤**D*„*******************************************************************>*„NOTE:‚"CN00"�thru�"CN09"�reserved�for�non�VM30�(MCCM)�ports.* IFNEˆ\NOLTERMƒINCLUDE…&.MPSCV02.CIENDC* IFNEˆ\NVME400ƒINCLUDE…&.MPSC400.CIENDC* IFNEˆ\NVME410ƒINCLUDE…&.PIA410.CIENDC*IFNEˆ\NOVM20+\NOVM21+\NOVM30ƒINCLUDE…&.IPCDRV.CIENDC* IFNEˆ\NOVM30?ƒ*„NOTE:‚"CNn0"�thru< �"CNn3"�reserved�for�these�each�MCCM�board,+ƒ*‹where�"n"�is�the�board�number�(1,2,...).7ƒ*‹"PRn�"�is�assigned�sequentially�for�each�MCCM�board.ƒINCLUDE…&.VM30DRV.CIENDCO*------------------------------------------------------------------------------ IFNEˆ\NOVM22ƒINCLUDE…&.VM22DRV.CIENDC* IFNEˆ\NORWINƒINCLUDE…&.RWINDRV.CIENDC* IFNEˆ\NVME435ƒINCLUDE…&.M435DRV.CIENDC* IFNEˆ\NVME600ƒINCLUDE…&.M600DRV.CIENDC* IFNEˆ\NVME605ƒINCLUDE…&.M605DRV.CIENDC*IFNEˆ\NVME610+\NVME620ƒINCLUDE…&.M610DRV.CIENDC* IFNEˆ\NVME615ƒINCLUDE…&.M615DRV.CIENDC* IFNEˆ\NVME625ƒINCLUDE…&.M625DRV.CIENDC* IFNEˆ\NRADƒINCLUDE…&.RADDRV.CIENDC* IFNEˆ\NRIOƒINCLUDE…&.RIODRV.CIENDCétQ**ˆVM02.SYSTEM.CI*L****************************************************************************D*‚This�file�contains�all�board/system�dependencies�for�VM02�(VMC).ˆ*&*‚It�is�called�from�"&.VERSADOS.CD".¦**Ê*E*‚The�user�should�not�have�to�modify�this�file�except�under�extreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ON�BOARD�RAM�ADDRESSES*>*†VMEbus�drivers�require�the�following�target�system�dependentB*†variables�to�be�defined�when�the�macro�file�DUALPORT.MC�is�used:<*†Note�that�the�ONBD$HI�parameter�may�vary�on�the�VME110�and<*†and�VME101�systems�depending�on�the�size�and�number�of�RAM<*†chips�used�on�the�processor�card.‚The�values�shown�are�the?*†minimum�requirements.�Modify�that�parameter�to�match�your�own*†system�if�different.**;ONBD$LOƒ=�$0‹Low�value�for�on-board�ram�(as�seen�by�driver)RAM$SQ„=�$0‹Difference�between�on-board�ram�address�as�seen�by*˜driver�and�device.JOFFBD$LO‚=�\ONBD$LO+\RAM$SQ�Low�value�for�on-board�ram�(as�seen�by�device)JOFFBD$HI‚=�\ONBD$HI+\RAM$SQ�High�valu�for�on-board�ram�(as�seen�by�device) FMSG‰******************************************************************MSG‰**ˆAddresses�of�timer,�etc.FMSG‰****************************************************************** !TIMER…=�$F70000†Address�of�timer.5CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond"PANEL…=�$0‹Address�of�front�panel.5TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The/*˜setting�of�bits�in�the�TRCFLAG�parameter�will1*˜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†/Ž*–*œ6‘SYSFAIL�interrupt.*=HOGMODEƒ=�0ŒSpecifies�whether�or�not�you�want�the�VM02�to�hog2*˜the�VERSAbus�(which�allows�it�to�run�faster�when3*˜accessing�the�VERSAbus).‚This�may�ONLY�be�used�if3*˜there�are�no�other�cards�in�the�system�capable�of**˜becoming�bus�master!‚If�in�doubt,�use�0.*š0�=�don't�hog�the�bus.0*š1�=�hog�the�bus�(no�other�intelligent�boards).*?SYSFAILƒ=�0ŒDetermines�whether�or�not�the�operating�system�will5*˜be�interrupted�when�SYSFAIL�is�asserted�on�the�bus.2*˜Some�intel< ligent�boards�will�assert�SYSFAIL�when0*˜they�experience�a�failure�of�some�kind.‚If�you5*˜have�such�boards�in�the�system,�AND�THE�DRIVERS�FOR3*˜THESE�BOARDS�HAVE�SYSFAIL�HANDLERS,�then�you�will2*˜probably�want�SYSFAIL�interrupts�enabled.‚If�the4*˜appropriate�SYSFAIL�handlers�are�not�written,�then5*˜taking�a�SYSFAIL�interrupt�will�hang�up�the�system,0*˜so�you�would�want�SYSFAIL�interrupts�disabled.!*š0�=�disable�SYSFAIL�interrupts. *š1�=‚enable�SYSFAIL�interrupts.FMSG‰******************************************************************.MSG‰**ƒLocal�terminal/printer�device�addresses#MSG‰**ƒShort�I/O�space�base�address&MSG‰**ƒShort�I/O�space�address�offsetsFMSG‰****************************************************************** :&VECTNOƒ=�$FFŠStarting�Vector�Number‚used�by�IOC.IPCDRV.AG4LTDA$01ƒ=�$F70015†VM02�local�terminal�port�A�address 1SIOBASEƒ=�$FF0000†Base�address�of�Short�I/O�space&DEVADDƒ=�\SIOBASE****************************************************************‰Vector�numbers£**>**************************************************************-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.1SERPTS„=�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.6KILVECTƒ=�142ŠVector�number�which�forces�system�crash..BCLRV…=�147ŠBus�clear�interrupt�vector�number. FMSG‰******************************************************************3MSG‰**…Descriptive�info�about�this�operating�systemFMSG‰****************************************************************** 6TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.=TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.?ROMEADDR‚=�$0‹ROM�end�address�--�defined�by�user�for�a�ROMmable,*œsystem.‚Set�to�$0�if�not�a�ROMable�system.-*œThe�ROM�start�address�(ROMSADDR)�is�defined3*œin�the�.RMS.CI�file�and�has�a�value�equal!*œto�the�initial�program�counter.@MEMEND1ƒ=�$20000‡Ending�addr�for�on-board‚memory�must�be�<�this.8MEMEND2ƒ=�$20000‡Starting‚addr�for�off-board�memory�must *˜be�>=�this.EMEMEND3ƒ=�$200000†Ceiling�addr�for�off-board�memory�(must�be�<�this).:WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded1*˜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�the0*˜VERSAbus,�but�it�always�appears�at�0�for�local/*˜accesses.‚Set�this�parameter�to�the�offset�at.*˜which�the�RAM�is�jumpered�to�appear�from�the *˜VERSAbus.8CACHEF„=�0ŒNot�used�on�the�VM02�(needed�by�&.INITDAT.AG)7NVME316ƒ=�0ŒNot�used�on�the�VM02�(needed�by�SYSINIT.CI) EMSG‰*****************************************************************)MSG‰**‚Parameters�about�table�sizes,�etc.EMSG‰***************************************************************** 1PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*)ASN‡=�0Œ#�of�address�spaces--n= ot�used�but!*˜needed�to�satisfy�&.INITDAT.AG. GMSG‰*******************************************************************=MSG‰*ƒCopy�C8OC.SYSPAR.RO�into�&.SYSPAR.RO�to�make�it�genericAMSG‰*ƒfor�.LG�files�and�possible�for�sysgening�more�than�1�systemMSG‰*ƒper�account�#GMSG‰******************************************************************* "=COPY‡C8OC.SYSPAR.RO,&.SYSPAR.RO;Yéééé**ˆVM02.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------B* This file sets up the flags used by the "VM02.IFDRVR.CI" file to'* conditionally include device drivers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEM�DEPENDENCIES�are�included�from�the�&.VERSADOS.CD�file.�---9*�VM02.SYSTEM.CIƒadd�processor�board/system�dependencies,(*–including�local�terminals�and�printers6*�&.CNFGTASK.CIƒadd�O/S�task�configuration�for�ROM/RAMM*****************************************************************************  O*------------------------------------------------------------------------------ANOLTERMƒ=�2Œ#�of�terminals�using�VM02�serial�ports�(7201);�max=�2 O*------------------------------------------------------------------------------2NORWIN„=�0Œ#�of�RWIN1„Winchester�controller�boards* IFGTˆ\NORWIN)ƒCONTWIN1‚=�"2"Š1st�RWIN1�is�controller�28ƒNHRWIN$1‚=�0Œ#�of�hardƒdisk�drives�on�1st�RWIN1;�max=�2:ƒNFRWIN$1‚=�0Œ#�of�floppy�disk�drives�on�1st�RWIN1;�max=�2BƒRWIN0$1ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�1st�RWIN1,�drive�0BƒRWIN1$1ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�1st�RWIN1,�drive�1DƒRWIN2$1ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�1st�RWIN1,�drive�2DƒRWIN3$1ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�1st�RWIN1,�drive�3 )ƒCONTWIN2‚=�"5"Š2nd�RWIN1�is�controller�58ƒNHRWIN$2‚=�0Œ#�of�hardƒdisk�drives�on�2nd�RWIN1;�max=�2:ƒNFRWIN$2‚=�0Œ#�of�floppy�disk�drives�on�2nd�RWIN1;�max=�2ž*§*¯$·-¿4ÇBƒRWIN0$2ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�2nd�RWIN1,�drive�0BƒRWIN1$2ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�2nd�RWIN1,�drive�1DƒRWIN2$2ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�2nd�RWIN1,�drive�2DƒRWIN3$2ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�o= n�2nd�RWIN1,�drive�3ƒ*Gƒ*…NOTE:‚You�can�not�mix�5-1/4"�and�8"�floppies.‚Pick�one�or�the�other.ƒ*ENDC O*------------------------------------------------------------------------------8NOTNT…=�0Œ#�of�TNT†Transparent�Network�Terminals;�max=�5 O*------------------------------------------------------------------------------=NOVM20„=�1Œ#�of�VM20…FDC�(floppy�only�disk�controller�boards) *¦two�board�set;�uses�IPC�driver*¦(see�"&.IPCDRV.CI")G*�NOTE:‚If�you�increase�the�number�of�floppies�on�either�the�1st�or�2nd@*ˆcontroller�boards,�you�may�need�to�edit�&.IPCDRV.CI�and�changeB*ˆthe�Z�value�from�81�to�85�so�that�the�file�IOC.VM20DRV.AG�can�be;*ˆassembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM20DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM207ƒNFV20$1ƒ=�2Œ#�of�floppy�disk�drives�on�1st�FDC;�max=�47ƒNFV20$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�FDC;�max=�4 ?ƒVM200$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�FDC�board?ƒVM201$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�FDC�board?ƒVM202$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�FDC�board?ƒVM203$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�FDC�board ?ƒVM200$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�FDC�board?ƒVM201$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�FDC�board?ƒVM202$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�FDC�board?ƒVM203$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�FDC�boardENDC O*------------------------------------------------------------------------------;NOVM21„=�1Œ#�of�VM21…UDC�(universal�disk�controller�boards)%*¦floppy�&�hard�disks;�two�board�set;*¦uses�IPC�driver*¦(see�"&.IPCDRV.CI")I*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies�on�either�the@*ˆ1st�or�2nd�controller�boards,�you�may�need�to�edit�&.IPCDRV.CIF*ˆand�change�the�Z�value�from�81�to�92�so�that�the�file�IOC.VM21DRV.AGB*ˆcan�be�assembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM21DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM215ƒNHV21$1ƒ=�2Œ#�of�hardƒdisk�drives�on�1st�UDC;�max=�47ƒNFV21$1ƒ=�2Œ#�of�floppy�disk�drives�on�1st�UDC;�max=�45ƒNHV21$2ƒ=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC;�max=�47ƒNFV21$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�UDC;�max=�4 FƒVM210$1ƒ=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�1st�UDC�board;�drive�0FƒVM211$1ƒ=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�1st�UDC�board;�drive�1FƒVM212$1ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�UDC�board;�drive�2FƒVM213$1ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�UDC�board;�drive�3 HƒVM214$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�UDC�board;�drive�4HƒVM215$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�UDC�board;�drive�5HƒVM216$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�UDC�board;�drive�6HƒVM217$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�UDC�board;�drive�7 FƒVM210$2ƒ=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�2nd�UDC�board;�drive�0FƒVM211$2ƒ=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�2nd�UDC�board;�drive�1FƒVM212$2ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�2nd�UDC�board;�drive�2FƒVM213$2ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�2nd�UDC�board;�drive�3 HƒVM214$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�UDC�board;�drive�4HƒVM215$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�UDC�board;�drive�5HƒVM216$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�UDC�board;�drive�6HƒVM217$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�UDC�board;�drive�7ENDC O*------------------------------------------------------------------------------8NOVM22„=�0Œ#�of�VM22…SMD�disk�controllers�boards�(single*˜board)J*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies,�you�will�needC*ˆto�edit�&.VM22DRV.CI�and�change�the�Z�value�from�81�to�92�so�thatF*ˆthe�file�IOC.VM22DRV.AG�can�be�assembled�during�sysgen.‚The�81�valueF*ˆis�so�that�the�file�IOC.VM22DRV.AG�can�be�assembled�in�a�384K�system*ˆduring�sysgen. IFGTˆ\NOVM222ƒNHV22$1ƒ=�0Œ#�of�hardƒdisk�drives�on�VM22;�max=�84ƒNFV22$1ƒ=�0Œ#�of�floppy�d> isk�drives�on�VM22;�max=�4 >ƒVM220$1ƒ=�"'FXCMD80'"‚Type�of�1st�hardƒdisk�on�1st�VM22�board>ƒVM221$1ƒ=�"'RMCMD16'"‚Type�of�2nd�hardƒdisk�on�1st�VM22�board>ƒVM222$1ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�VM22�board>ƒVM223$1ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�VM22�board>ƒVM224$1ƒ=�"'FXCMD80'"‚Type�of�5th�hardƒdisk�on�1st�VM22�board>ƒVM225$1ƒ=�"'RMCMD16'"‚Type�of�6th�hardƒdisk�on�1st�VM22�board>ƒVM226$1ƒ=�"'FXCMD80'"‚Type�of�7th�hardƒdisk�on�1st�VM22�board>ƒVM227$1ƒ=�"'RMCMD16'"‚Type�of�8th�hardƒdisk�on�1st�VM22�board @ƒVM228$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�VM22�board@ƒVM229$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�VM22�board@ƒVM22A$1ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�1st�VM22�board@ƒVM22B$1ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�1st�VM22�boardENDC O*------------------------------------------------------------------------------7NOVM30„=�0Œ#�of�VM30…MCCM‚(multi-channel�communications *˜boards)(*¤uses�IPC�driver;�has�1�printer�port/bd*¤(see�"&.IPCDRV.CI") IFGTˆ\NOVM30/ƒNTV30$1ƒ=�0Œ#�of�terminals�on�1st�MCCM;�max=�4.ƒNPV30$1ƒ=�0Œ#�of�printers‚on�1st�MCCM;�max=�1/ƒNTV30$2ƒ=�0Œ#�of�terminals�on�2nd�MCCM;�max=�4.ƒNPV30$2ƒ=�0Œ#�of�printers‚on�2nd�MCCM;�max=�1/ƒNTV30$3ƒ=�0Œ#�of�terminals�on�3rd�MCCM;�max=�4.ƒNPV30$3ƒ=�0Œ#�of�printers‚on�3rd�MCCM;�max=�1/ƒNTV30$4ƒ=�0Œ#�of�terminals�on�4th�MCCM;�max=�4.ƒNPV30$4ƒ=�0Œ#�of�printers‚on�4th�MCCM;�max=�1ENDC O*------------------------------------------------------------------------------5NVME400ƒ=�0Œ#�of�MVME400‚dual�7201�serial�port�boards IFGTˆ\NVME4003ƒNU400$1ƒ=�0Œ#�ports/users�on�VME400�#1;�max=�2/bd.3ƒNU400$2ƒ=�0Œ#�ports/users�on�VME400�#2;�max=�2/bd.ENDC O*------------------------------------------------------------------------------9NVME410ƒ=�1Œ#�of�MVME410‚dual�16-bit�parallel�port�boards IFGTˆ\NVME410,ƒNU410$1ƒ=�1Œ#�printers�on�VME410�#1;�max=�2,ƒNU410$2ƒ=�0Œ#�printers�on�VME410�#2;�max=�2ENDC O*------------------------------------------------------------------------------;NVME435ƒ=�0Œ#�of�MVME435�mag�tape�controller�boards;�max=�2 IFGTˆ\NVME435;ƒN435$1„=�0Œ#�of�tape�drives�on�first‚MVME435�board;�max=�8<ƒN435$2„=�0Œ#�of�tape�drives�on�second�MVME435�board;�max=�8ENDC O*------------------------------------------------------------------------------7NVME600ƒ=�0Œ#�of�MVME600‚analog�input‚controller�boards O*------------------------------------------------------------------------------8NVME605ƒ=�0Œ#�of�MVME605‚analog�output�controller�boards IFGTˆ\NVME6059ƒNU605…=�0ŒNumber�of�users�(total)�for�the�MVME605�boardsENDC O*------------------------------------------------------------------------------3NVME610ƒ=�0Œ#�of�MVME610…AC‚input‚controller�boards IFGT‡\NVME610GƒM610QSIZ‚=�128…Minimum�number�of�entries�in�Interrupt�Processing�QueueENDC O*------------------------------------------------------------------------------8NVME615ƒ=�0Œ#�of�MVME615/616�AC‚output�controller�boards IFGTˆ\NVME6159ƒNU615…=�0ŒNumber�of�users�(total)�for�the�MVME615�boardsENDC O*------------------------------------------------------------------------------3NVME620ƒ=�0Œ#�of�MVME620…DC‚input‚controller�boards O*------------------------------------------------------------------------------4NVME625ƒ=�0Œ#�of�MVME625…DC‚output�controller�boards IFGTˆ\NVME6259ƒNU625…=�0ŒNumber�of�users�(total)�for�the�MVME625�boardsENDCO*------------------------------------------------------------------------------#NRAD†=�0Œ#�of�RAD†Remote�A/D�boards IFGTˆ\NRADƒNURAD…=�0Œ#�of�RAD�usersENDC O*------------------------------------------------------------------------------#NRIO†=�0Œ#�of�RIO†Remote�I/O�boards IFGTˆ\NRIO1ƒNRIOINTƒ=�0Œ#�of�interrupt�levels�per�I/O�moduleENDC O*------------------------------------------------------------------------------> ééééééé'VM03 COPYSGENCFÛÛ¤qqINITIO1 AGüü2™qqIFDRVR CI55PqqSYSTEM CI>>™qqCNFGDRVRCI__(Üqq=/*:=/*‚VM03.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*%=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�VM03 =USE :.VM03=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*9=/*ƒInvoke�as:„=VM03.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference2=/*‰Arg5=�\5„include�PCDRV�driver�filesƒ(optional)=/*—PCDRV�=�include�them=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 5…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4 Š=/IFC�\5�=ARG�\1,\2,\3,N,-PCDRVŠ=/ELSE�=ARG�\1,\2,\3,N,\5Š=/ENDIF…=/ENDIF …=/IFC�\5ˆ=ARG�\1,\2,\3,\4,-PCDRV…=/ELSEˆ=/IFEQ�"PCDRV"\5ˆ=/ELSE‹=/IFEQ�"-PCDRV"\5‹=/ELSEŽ=/RD=5‹=/ENDIFˆ=/ENDIF…=/ENDIF=/ENDIFJ=/*‚Set�Arg6�so�this�file�can't�be�rerun�directly�w/o�? setting�proper�args!=ARG \1,\2,\3,\4,\5,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copying=/IFEQ "PCDRV"\5O=/*----------------------------------------------------------------------------"=/* Copy all RAD1 files for sysgen=/@„\1:9998.COPYGEN.RADDRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all RIO files for sysgen=/@„\1:9998.COPYGEN.RIODRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME600 files for sysgen=/@„\1:9998.COPYGEN.M600DRV.CFÓPÜ(ä(ìO=/*----------------------------------------------------------------------------$=/* Copy all VME605 files for sysgen=/@„\1:9998.COPYGEN.M605DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME610 files for sysgen=/@„\1:9998.COPYGEN.M610DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME615 files for sysgen=/@„\1:9998.COPYGEN.M615DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME625 files for sysgen=/@„\1:9998.COPYGEN.M625DRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all PCDRV common files for sysgen=/@„\1:9998.COPYGEN.PCDRV.CF=/ENDIFO=/*----------------------------------------------------------------------------)=/* Copy all VM30 (MCCM) files for sysgen=/@„\1:9998.COPYGEN.VM30DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all IPC driver files for sysgen=/@„\1:9998.COPYGEN.IPCDRV.CFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all MPSC driver files for sysgen=/@„\1:9998.COPYGEN.MPSCDRV.CFO=/*----------------------------------------------------------------------------"=/* Copy all VM22 files for sysgen=/@„\1:9998.COPYGEN.VM22DRV.CFO=/*----------------------------------------------------------------------------/=/* Copy all VME435 (mag tape) files for sysgen=/@„\1:9998.COPYGEN.M435DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PIADRV.CFO=/*----------------------------------------------------------------------------7=/* Copy all RWIN1 (Winchester) driver files for sysgen=/@„\1:9998.COPYGEN.RWINDRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*----------------------------------------------------------------------------+=/*‚Copy�all�VM03�specific�files�for�sysgen=/@„\1:9998.COPYGEN.VM03.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen? =/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BEGINEND.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK files for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*0=/*†VM03.COPYSGEN.CF‚completed.‰Have�a�nice�day!=/*N=/*‚No�"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!ééééééé4INITIO„IDNTƒ5,1�RMS68K�I/O�initializer�for�the�VM03.O*******************************************************************************O*******************************************************************************O**********************************************************************************É***E***…ROUTINE:‚INITIO�--�RMS68K�I/O�INITIALIZER�FOR�THE�VM03�BOARD.†******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***(***‡Copyright�1983�by�Motorola,�Inc.¢******É***D***…FUNCTION:‚Routines�from�this�module�are�called�by�the�RMS68K‡***E***‡routine�INIT�during�system�initialization.‚All�board-specific„***.***‡initialization�is�done�in�this�module.œ******É***G***…NOTES:‚This�module�is�SUBSed,�ASMed,�and�LINKed�at�SYSGEN�time.„***?***‡All�modules�will�run�at�level�7�and�in�supervisor�mode.‹******É***O*******************************************************************************O**********************************************************************@ *********O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚ChangesI*…--------‚------‚-------------------------------------------------------8*†1/28/85ƒSJF„Changed�MMU�initialization�to�look�at�\MMU*…10/13/83ƒSJF„Initial�writing.?*†1/10/84ƒMSL„Verify�that�UIP�(update-in-progress)�bit�is�reset&*—before�reading�real�time�clock�chip.* * *‚XDEF's.*,ŠXDEFƒINITMMUŒRoutine�to�initialize�the�MMU.,ŠXDEFƒTIMERSTŒRoutine�to�start�up�the�timer.3ŠXDEFƒINITIO�Routine�to�set�up�all�the�other�board-*§specific�hardware. * *‚XREF's.* *…Routines:)ŠXREFƒKILLER�Routine�to�crash�the�system.*…Parameters�from�INITDAT:-ŠXREFƒTIMSLICŒ#�of�timer�tics�per�time�slice.+ŠXREFƒTIMERA�Addr�of�timer�chip�(MC146818).4ŠXREFƒTIMINTVA‹#�of�milliseconds�between�timer�tics.4ŠXREFƒCLOCKFRQ‹Frequency�of�clock�(to�set�up�timer).*…SYSPAR�variables:ô2ýPH FA2%6ŠXREF.S�MMUHEREŒAddr�of�MMU;�0�if�we're�not�using�one.0ŠXREF.S�FRST451ŒAddr�of�first�MMU�in�the�system./ŠXREF.S�LAST451ŒAddr�of�last‚MMU�in�the�system.7ŠXREF.S�CURR451ŒPtr�to�MMU�LOADMMU�should�look�at�next.7ŠXREF.S�CURRSD�Current�segment�descriptor�#�in�the�MMU.7ŠXREF.S�DPRVAO�Dual-Ported�Ram�Versabus�Address�Offset.ŠXREF.S�DATE�Date.0ŠXREF.S�TIMESLIC‹#�of�timer�tics�per�time�slice.7ŠXREF.S�TIMINTVŒTime�interval�between�timer�interrupts..ŠXREF.S�PTMADDRŒAddr�of�timer�chip�(MC146818).ŠXREF.S�TIME_LEFT ŠXREF.S�NSEŠXREF.S�MIDNIGHT *„Others:.ŠXREFƒCRASHSAV‹Place�to�SAVE�info�if�we�CRASH.  **‚Included�files:**‰&.UTILITY.MC*‰M68451.M68451.EQ*‰M146818.M146818.EQ*ŠNOLISTŠINCLUDE�&.UTILITY.MCŠINCLUDE�M68451.M68451.EQŠINCLUDE�M146818.M146818.EQŠLIST‰PAGE ŠSECTION�8ŠOPT„BRSO*******************************************************************************2*ˆDATE�CONVERSIONS�FROM�ONE�BINARY�FORM�TO�ANOTHER*Ç6*ˆORDINAL�DATE�-->�DAY�NUMBER�WHERE�DAY�1�=�JAN�1�1980***ˆCALL *’BSR‡DATEGO*¦BINARY�GREGORIAN�-�YYYYMMDD*§TO*¦BINARY�ORDINALƒ-�DAY�NUMBER*ˆINPUT'*’D0�=�DATE�TO�BE�CONVERTED�--�YYYYMMDD**ˆOUTPUT#*’D0�=�CONVERTED�DATE‡--�DAY�NUMBER*O**********************************************************************************‰NON-LEAP�DAYS�BEFORE�TABLE*Ç‚,,F*‚Distance�is�S�for�short�branches,�L�for�long�branches,�or�nothing�if*‚the�default�will�do.6*‚The�byte�to�check�is�treated�as�an�unsigned�integer.*CHECK_RANGE MACRO ŠCMP.B‚\2,\1ŠBLO.\0�RANGE_ERR ŠCMP.B‚\3,\1ŠBHI.\0�RANGE_ERRŠENDM  TIMERST:E‰MOVE.W�TIMSLIC(PC),TIMESLIC‚#�TIMER�INTERRUPTS�BEFORE�TASK�INTERRUPT'‰MOVE.L�TIMERA(PC),A1‡GET�TIMER�ADDRESS#‰MOVE.L�A1,PTMADDRŠSAVE�IT�FOR�EXEC!‰BEQ.L‚TIMERBE�BRANCH�IF�NO�TIMER)‰PEA„TIMERBE(PC)‰WHERE�TO�GO�ON�BUS�ERROR$‰MOVE.W�#'BE',-(A7)‰SET�BUS�ERR�FLAG*4*ˆGet�system�time�and�date�from�battery�backed�timer* UIP_LOOP:.‰BTST†#7,REGA�Wait�for�UIP�bit�to�reset�before#‰BNE.S…UIP_LOOPŒreading�clock�chip. *‰CLR.L…D1’Prepare�for�following�short�load'‰MOVE.B„HRS(A1),D1ŠGet�hours�from�timerŠCHECK_RANGE.L�D1,#0,#230‰MOVE.L„#3600*1000,D2‡Addend�is�one�hour's�msecs+‰CLR.L…D0’Calculation�will�take�place�in�D0*‰BRA.S…CALCLOOPŒStart�the�calculation�loopCALCHRS)‰ADD.L…D2,D0�Add�one�hour's�msecs�to�timeCALCLOOP*‰DBRA†D1,CALCHRSŠLoop�until�hours�computed*‰CLR.W…D1’Prepare�for�following�short�load*‰MOVE.B„MINS(A1),D1‰Get�minutes�from�timerŠCHECK_RANGE�D1,#0,#59)‰MULU.W„#60,D1ŽConvert�minutes�to�seconds*‰CLR.L…D2’Prepare�for�following�short�load*‰MOVE.B„SECS(A1),D2‰Get�seconds�from�timerŠCHECK_RANGE�D2,#0,#59‰ADD.L…D2,D1�D1=total�seconds‰MULU.W„#1000,D1ŒD1=total�msecs!‰ADD.L…D1,D0�D0=grand�total�msecs‰ADD.L…TIME_LEFT,D0 ‰MOVE.L„D0,NSEŽStore�it�for�exec‰CLR.L…MIDNIGHT (‰CLR.L…D0’Prepare�to�form�gregorian�date'‰MOVE.B„YEAR(A1),D0‰Get�year�from�timerŠCHECK_RANGE�D0,#0,#99‰ADD.W…#1900,D0ŒYear=1900+YY‰SWAP†D0’D0=YYYY0000 ‰MOVE.B„MONTH(A1),D0ˆD0=YYYY00MMŠCHECK_RANGE�D0,#1,#12‰LSL.W…#8,D0�D0=YYYYMM00"‰MOVE.B„DAYOMTH(A1),D0†D0=YYYYMMDDŠCHECK_RANGE�D0,#1,#31 *I*‚The�time�and�date�look�reasonable,�so�let's�go�ahead�and�keep�those�forG*‚our�own�(the�chiA p�must�not�have�lost�power�since�last�time).‚We�can'tI*‚tell�for�sure�whether�the�chip�lost�power,�even�though�there's�a�bit�inJ*‚the�chip�that�says�so,�because�the�bug�has�already�read�the�information,*‚making�it�unavailable�to�us.* ‰BSR.L…DATEGOŽConvert�to�ordinal!‰MOVE.L„D0,DATE�Give�date�to�exec ŠBRA.S‚GO_TIMER *H*‚If�we�come�here,�one�of�the�fields�read�from�the�clock�chip�is�whacko.*‚Set�system�time�and�day�to�0.*1RANGE_ERR�MOVE.L�TIME_LEFT,NSE†Time�of�day�<--�0.ŠCLR.L‚MIDNIGHTŠMOVE.L�#0,DATEŒDate�<--�0. **ˆNow�start�timer�ticking*KGO_TIMER�MOVEƒTIMINTVA(PC),TIMINTV‚Save�timer�interrupt�interval�in�SYSPAR.4‰MOVE.B�#$A,REGA(A1)ˆSELECT�PERIODIC�ACTIVATION�RATE0‰MOVE.B�REGC(A1),D0‰RESET�ANY�PENDING�INTERRUPTS&‰MOVE.B�#$46,REGB(A1)‡ENABLE�THE�TIMER.‰ADD.L‚#6,A7�REMOVE�'BE'�AND�BUS�ERROR�ADDRESS‰RTS˜BACK�TO�INIT*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…When�incorporating�any�drivers�during�SYSGEN„<<<<<<<?*‚>>>>>>>…that�require�memory�allocated�for�them�as�perƒ<<<<<<<?*‚>>>>>>>…the�driver�package�instructions�-�this�is�theƒ<<<<<<<,*‚>>>>>>>…spot�the�file(s)�go�into!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…This�is�also�the�spot�for�code�for�a�driver…<<<<<<<>*‚>>>>>>>…that‚requires�other�types�of�initialization,ƒ<<<<<<<0*‚>>>>>>>…such‚as�clearing�an�interrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGE�IT�HERE—<<<<<<<*<*ˆWhen�you�write�the�code�that�is�to�be�merged�here,�wrap�it*ˆaround�with�the�following:*:*ˆAt�the�beginning,�with�DRVRxOUT�referring�to�your�unique*ˆlabel,�put�this�code:*'*‹PEA„DRVRxOUT(PC)„IF�BUS�ERROR�OCCURS,*¢RETURN�OR�GO�ON�TO�NEXT*¢DRIVER'S�INITIALIZATION**‹MOVE.W�#'BE',-(A7)…SAVE�'BUS�ERROR'�FLAG*9*ˆThen�insert�the�code�to�do�what�you�need�to�do�for�this*ˆparticular�driver.**ˆAt�the�end,�put�this:***‹LEA„6(A7),A7ˆREMOVE�BUS�ERROR�FROM�STACK*DRVRxOUTƒEQU„**=*ˆIn�this�way,�if�the�code�for�one�driver�causes�a�bus�error,.*ˆthe�code�for�other�drivers�will�be�executed.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G*********************************************************************** ‰ENDA ééééé**ˆVM03.IFDRVR.CI*** Conditional file for VM03 device driversO*------------------------------------------------------------------------------G* This file uses flags setup in the VM03.CNFGDRVR.CI and VM03.SYSTEM.CI0* files to conditionally include device drivers.*J* The user should not have to modify this file to include/exclude drivers.*D*„******************************************************************?*„**‚NOTICE:‚The�following�conditionals�are�order�dependent.„**3*„**‹Do�not�change�the�order!‚Local�drivers�1st.‡**9*„**‹The�order�determines�device�number�(HD00,PR,�etc)‚***„**‹for�most�items.¤**D*„*******************************************************************>*„NOTE:‚"CN00"�thru�"CN09"�reserved�for�non�VM30�(MCCM)�ports.* IFNEˆ\NOLTERMƒINCLUDE…&.MPSCV03.CIENDC* IFNEˆ\NVME400ƒINCLUDE…&.MPSC400.CIENDC* IFNEˆ\NVME410ƒINCLUDE…&.PIA410.CIENDC*IFNEˆ\NOVM20+\NOVM21+\NOVM30ƒINCLUDE…&.IPCDRV.CIENDC* IFNEˆ\NOVM30?ƒ*„NOTE:‚"CNn0"�thru�"CNn3"�reserved�for�these�each�MCCM�board,+ƒ*‹where�"n"�is�the�board�number�(1,2,...).7ƒ*‹"PRn�"�is�assigned�sequentially�for�each�MCCM�board.ƒINCLUDE…&.VM30DRV.CIENDCO*------------------------------------------------------------------------------ IFNEˆ\NOVM22ƒINCLUDE…&.VM22DRV.CIENDC* IFNEˆ\NORWINƒINCLUDE…&.RWINDRV.CIENDC* IFNEˆ\NVME435ƒINCLUDE…&.M435DRV.CIENDC* IFNEˆ\NVME600ƒINCLUDE…&.M600DRV.CIENDC* IFNEˆ\NVME605ƒINCLUDE…&.M605DRV.CIENDC*IFNEˆ\NVME610+\NVME620ƒINCLUDE…&.M610DRV.CIENDC* IFNEˆ\NVME615ƒINCLUDE…&.M615DRV.CIENDC* IFNEˆ\NVME625ƒINCLUDE…&.M625DRV.CIENDC* IFNEˆ\NRADƒINCLUDE…&.RADDRV.CIENDC* IFNEˆ\NRIOƒINCLUDE…&.RIODRV.CIENDCé-Q**ˆVM03.SYSTEM.CI*L****************************************************************************>*‚This�file�contains�all�board/system�dependencies�for�VM03.Ž*&*‚It�is�called�from�"&.VERSADOS.CD".¦**Ê*E*‚The�user�should�not�have�to�modify�this�file�except�under�extreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ON�BOARD�RAM�ADDRESSES*>*†VMEbus�drivers�require�tB he�following�target�system�dependentB*†variables�to�be�defined�when�the�macro�file�DUALPORT.MC�is�used:<*†Note�that�the�ONBD$HI�parameter�may�vary�on�the�VME110�and<*†and�VME101�systems�depending�on�the�size�and�number�of�RAM<*†chips�used�on�the�processor�card.‚The�values�shown�are�the?*†minimum�requirements.�Modify�that�parameter�to�match�your�own*†system�if�different.**;ONBD$LOƒ=�$0‹Low�value�for�on-board�ram�(as�seen�by�driver)RAM$SQ„=�$0‹Difference�between�on-board�ram�address�as�seen�by*˜driver�and�device.JOFFBD$LO‚=�\ONBD$LO+\RAM$SQ�Low�value�for�on-board�ram�(as�seen�by�device)JOFFBD$HI‚=�\ONBD$HI+\RAM$SQ�High�valu�for�on-board�ram�(as�seen�by�device) FMSG‰******************************************************************MSG‰**ˆAddresses�of�timer,�etc.FMSG‰****************************************************************** !TIMER…=�$F80081†Address�of�timer.5CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond"PANEL…=�$0‹Address�of�front�panel.5TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The/*˜setting�of�bits�in�the�TRCFLAG�parameter�will1*˜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.67?/G-O*=HOGMODEƒ=�0ŒSpecifies�whether�or�not�you�want�the�VM03�to�hog2*˜the�VERSAbus�(which�allows�it�to�run�faster�when3*˜accessing�the�VERSAbus).‚This�may�ONLY�be�used�if3*˜there�are�no�other�cards�in�the�system�capable�of**˜becoming�bus�master!‚If�in�doubt,�use�0.*š0�=�don't�hog�the�bus.0*š1�=�hog�the�bus�(no�other�intelligent�boards).*?SYSFAILƒ=�0ŒDetermines�whether�or�not�the�operating�system�will5*˜be�interrupted�when�SYSFAIL�is�asserted�on�the�bus.2*˜Some�intelligent�boards�will�assert�SYSFAIL�when0*˜they�experience�a�failure�of�some�kind.‚If�you5*˜have�such�boards�in�the�system,�AND�THE�DRIVERS�FOR3*˜THESE�BOARDS�HAVE�SYSFAIL�HANDLERS,�then�you�will2*˜probably�want�SYSFAIL�interrupts�enabled.‚If�the4*˜appropriate�SYSFAIL�handlers�are�not�written,�then5*˜taking�a�SYSFAIL�interrupt�will�hang�up�the�system,0*˜so�you�would�want�SYSFAIL�interrupts�disabled.!*š0�=�disable�SYSFAIL�interrupts. *š1�=‚enable�SYSFAIL�interrupts.*FMSG‰******************************************************************.MSG‰**ƒLocal�terminal/printer�device�addresses#MSG‰**ƒShort�I/O�space�base�address&MSG‰**ƒShort�I/O�space�address�offsetsFMSG‰****************************************************************** B&VECTNOƒ=�$FFŠStarting�Vector�Number‚@@@@@@@�used�by�IOC.DRVIPC.AG4LTDA$01ƒ=�$F80065†VM03�local�terminal�port�A�address 1SIOBASEƒ=�$FF0000†Base�address�of�Short�I/O�space&DEVADDƒ=�\SIOBASE****************************************************************‰Vector�numbers£**>**********************************************************B ****-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. FMSG‰******************************************************************3MSG‰**…Descriptive�info�about�this�operating�systemFMSG‰****************************************************************** 6TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.=TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.?ROMEADDR‚=�$0‹ROM�end�address�--�defined�by�user�for�a�ROMmable,*œsystem.‚Set�to�$0�if�not�a�ROMable�system.-*œThe�ROM�start�address�(ROMSADDR)�is�defined3*œin�the�.RMS.CI�file�and�has�a�value�equal!*œto�the�initial�program�counter.AMEMEND1ƒ=�$200000†Ending�addr�for�on-board‚memory�must�be�<�this.4MEMEND2ƒ=�$0‹Starting‚addr�for�off-board�memory�must *˜be�>=�this.@MEMEND3ƒ=�$0‹Ceiling�addr�for�off-board�memory�(must�be�<�this).:WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded1*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will"*˜be�moved�at�initialization�time.4NVME316ƒ=�0ŒNot�used�by�VM03�(needed�for�SYSINIT.CI)5CACHEF„=�0ŒNot�used�by�VM03�(needed�for�&.INITDAT.AG) EMSG‰*****************************************************************)MSG‰**‚Parameters�about�table�sizes,�etc.EMSG‰***************************************************************** 1PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*+ASN‡=�127Š#�of�address�spaces--not�used�but!*˜needed�to�satisfy�&.INITDAT.AG. GMSG‰*******************************************************************=MSG‰*ƒCopy�CBOF.SYSPAR.RO�into�&.SYSPAR.RO�to�make�it�genericAMSG‰*ƒfor�.LG�files�and�possible�for�sysgening�more�than�1�systemMSG‰*ƒper�account�#GMSG‰******************************************************************* "=COPY‡CBOF.SYSPAR.RO,&.SYSPAR.RO;Yéééééé**ˆVM03.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------B* This file sets up the flags used by the "VM03.IFDRVR.CI" file to'* conditionally include device driC vers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEM�DEPENDENCIES�are�included�from�the�&.VERSADOS.CD�file.�---9*�VM03.SYSTEM.CIƒadd�processor�board/system�dependencies,(*–including�local�terminals�and�printers6*�&.CNFGTASK.CI„add�O/S�task�configuration�for�ROM/RAMM*****************************************************************************  O*------------------------------------------------------------------------------ANOLTERMƒ=�2Œ#�of�terminals�using�VM03�(7201)�serial�ports;�max=�2 O*------------------------------------------------------------------------------2NORWIN„=�0Œ#�of�RWIN1„Winchester�controller�boards* IFGTˆ\NORWIN)ƒCONTWIN1‚=�"2"Š1st�RWIN1�is�controller�28ƒNHRWIN$1‚=�0Œ#�of�hardƒdisk�drives�on�1st�RWIN1;�max=�2:ƒNFRWIN$1‚=�0Œ#�of�floppy�disk�drives�on�1st�RWIN1;�max=�2BƒRWIN0$1ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�1st�RWIN1,�drive�0BƒRWIN1$1ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�1st�RWIN1,�drive�1DƒRWIN2$1ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�1st�RWIN1,�drive�2DƒRWIN3$1ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�1st�RWIN1,�drive�3 )ƒCONTWIN2‚=�"5"Š2nd�RWIN1�is�controller�58ƒNHRWIN$2‚=�0Œ#�of�hardƒdisk�drives�on�2nd�RWIN1;�max=�2:ƒNFRWIN$2‚=�0Œ#�of�floppy�disk�drives�on�2nd�RWIN1;�max=�2W*`*h'p-x4€BƒRWIN0$2ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�2nd�RWIN1,�drive�0BƒRWIN1$2ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�2nd�RWIN1,�drive�1DƒRWIN2$2ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�2nd�RWIN1,�drive�2DƒRWIN3$2ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�2nd�RWIN1,�drive�3ƒ*Gƒ*…NOTE:‚You�can�not�mix�5-1/4"�and�8"�floppies.‚Pick�one�or�the�other.ƒ*ENDC O*------------------------------------------------------------------------------8NOTNT…=�0Œ#�of�TNT†Transparent�Network�Terminals;�max=�5 O*------------------------------------------------------------------------------=NOVM20„=�0Œ#�of�VM20…FDC�(floppy�only�disk�controller�boards) *¦two�board�set;�uses�IPC�driver*¦(see�"&.IPCDRV.CI")G*�NOTE:‚If�you�increase�the�number�of�floppies�on�either�the�1st�or�2nd@*ˆcontroller�boards,�you�may�need�to�edit�&.IPCDRV.CI�and�changeB*ˆthe�Z�value�from�81�to�85�so�that�the�file�IOC.VM20DRV.AG�can�be;*ˆassembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM20DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM207ƒNFV20$1ƒ=�0Œ#�of�floppy�disk�drives�on�1st�FDC;�max=�47ƒNFV20$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�FDC;�max=�4 ?ƒVM200$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�FDC�board?ƒVM201$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�FDC�board?ƒVM202$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�FDC�board?ƒVM203$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�FDC�board ?ƒVM200$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�FDC�board?ƒVM201$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�FDC�board?ƒVM202$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�FDC�board?ƒVM203$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�FDC�boardENDC O*------------------------------------------------------------------------------;NOVM21„=�1Œ#�of�VM21…UDC�(universal�disk�controller�boards)%*¦floppy�&�hard�disks;�two�board�set;*¦uses�IPC�driver*¦(see�"&.IPCDRV.CI")I*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies�on�either�theC @*ˆ1st�or�2nd�controller�boards,�you�may�need�to�edit�&.IPCDRV.CIF*ˆand�change�the�Z�value�from�81�to�92�so�that�the�file�IOC.VM21DRV.AGB*ˆcan�be�assembled�during�sysgen.‚The�81�value�is�so�that�the�fileA*ˆIOC.VM21DRV.AG�can�be�assembled�in�a�384K�system�during�sysgen. IFGTˆ\NOVM215ƒNHV21$1ƒ=�2Œ#�of�hardƒdisk�drives�on�1st�UDC;�max=�47ƒNFV21$1ƒ=�2Œ#�of�floppy�disk�drives�on�1st�UDC;�max=�45ƒNHV21$2ƒ=�0Œ#�of�hardƒdisk�drives�on�2nd�UDC;�max=�47ƒNFV21$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�UDC;�max=�4 =ƒVM210$1ƒ=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�1st�UDC�board=ƒVM211$1ƒ=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�1st�UDC�board=ƒVM212$1ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�UDC�board=ƒVM213$1ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�UDC�board ?ƒVM214$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�UDC�board?ƒVM215$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�UDC�board?ƒVM216$1ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�1st�UDC�board?ƒVM217$1ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�1st�UDC�board =ƒVM210$2ƒ=�"'FXLRK25'"‚Type�of�1st�hardƒdisk�on�2nd�UDC�board=ƒVM211$2ƒ=�"'RMLRK25'"‚Type�of�2nd�hardƒdisk�on�2nd�UDC�board=ƒVM212$2ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�2nd�UDC�board=ƒVM213$2ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�2nd�UDC�board ?ƒVM214$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�UDC�board?ƒVM215$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�UDC�board?ƒVM216$2ƒ=�"'F8SDDSM'"‚Type�of�3rd�floppy�disk�on�2nd�UDC�board?ƒVM217$2ƒ=�"'F8SDDSM'"‚Type�of�4th�floppy�disk�on�2nd�UDC�boardENDC O*------------------------------------------------------------------------------8NOVM22„=�1Œ#�of�VM22…SMD�disk�controllers�boards�(single*¦board)J*�NOTE:‚If�you�increase�the�number�of�hard�disk�or�floppies,�you�will�needC*ˆto�edit�&.VM22DRV.CI�and�change�the�Z�value�from�81�to�92�so�thatF*ˆthe�file�IOC.VM22DRV.AG�can�be�assembled�during�sysgen.‚The�81�valueF*ˆis�so�that�the�file�IOC.VM22DRV.AG�can�be�assembled�in�a�384K�system*ˆduring�sysgen. IFGTˆ\NOVM222ƒNHV22$1ƒ=�2Œ#�of�hardƒdisk�drives�on�VM22;�max=�84ƒNFV22$1ƒ=�4Œ#�of�floppy�disk�drives�on�VM22;�max=�4 >ƒVM220$1ƒ=�"'FXCMD80'"‚Type�of�1st�hardƒdisk�on�1st�VM22�board>ƒVM221$1ƒ=�"'RMCMD16'"‚Type�of�2nd�hardƒdisk�on�1st�VM22�board>ƒVM222$1ƒ=�"'FXCMD80'"‚Type�of�3rd�hardƒdisk�on�1st�VM22�board>ƒVM223$1ƒ=�"'RMCMD16'"‚Type�of�4th�hardƒdisk�on�1st�VM22�board>ƒVM224$1ƒ=�"'FXCMD80'"‚Type�of�5th�hardƒdisk�on�1st�VM22�board>ƒVM225$1ƒ=�"'RMCMD16'"‚Type�of�6th�hardƒdisk�on�1st�VM22�board>ƒVM226$1ƒ=�"'FXCMD80'"‚Type�of�7th�hardƒdisk�on�1st�VM22�board>ƒVM227$1ƒ=�"'RMCMD16'"‚Type�of�8th�hardƒdisk�on�1st�VM22�board @ƒVM228$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�VM22�board@ƒVM229$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�VM22�board@ƒVM22A$1ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�1st�VM22�board@ƒVM22B$1ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�1st�VM22�boardENDC O*------------------------------------------------------------------------------7NOVM30„=�0Œ#�of�VM30…MCCM�(multi-channel�communications *¦boards)(*¦uses�IPC�driver;�has�1�printer�port/bd*¦(see�"&.IPCDRV.CI") IFGTˆ\NOVM30/ƒNTV30$1ƒ=�0Œ#�of�terminals�on�1st�MCCM;�max=�4.ƒNPV30$1ƒ=�0Œ#�of�printers‚on�1st�MCCM;�max=�1/ƒNTV30$2ƒ=�0Œ#�of�terminals�on�2nd�MCCM;�max=�4.ƒNPV30$2ƒ=�0Œ#�of�printers‚on�2nd�MCCM;�max=�1/ƒNTV30$3ƒ=�0Œ#�of�terminals�on�3rd�MCCM;�max=�4.ƒNPV30$3ƒ=�0Œ#�of�printers‚on�3rd�MCCM;�max=�1/ƒNTV30$4ƒ=�0Œ#�of�terminals�on�4th�MCCM;�max=�4.ƒNPV30$4ƒ=�0Œ#�of�printers‚on�4th�MCCM;�max=�1ENDC O*------------------------------------------------------------------------------5NVME400ƒ=�1�#�of�MVME400‚dual�7201�serial�port�boards IFGTˆ\NVME400:ƒNU400$1ƒ=�2Œ#�of�ports/users�on�VME400�bd.�#1;�max=�2/bd.:ƒNU400$2ƒ=�0Œ#�of�ports/users�on�VME400�bd.�#2;�max=�2/bd.ENDC O*------------------------------------------------------------------------------9NVME410ƒ=�1�#�of�MVME410‚dual�16-bit�parallel�port�boards IFGT‚\NVME410D <ƒNU410$1ƒ=�1Œ#�of�printers�in�use�on�VME410�board�#1:‚max=�2<ƒNU410$2ƒ=�0Œ#�of�printers�in�use�on�VME410�board�#2:‚max=�2ENDC O*------------------------------------------------------------------------------;NVME435ƒ=�0Œ#�of�MVME435�mag�tape�controller�boards;�max=�2 IFGTˆ\NVME435;ƒN435$1„=�0Œ#�of�tape�drives�on�first‚MVME435�board;�max=�5<ƒN435$2„=�0Œ#�of�tape�drives�on�second�MVME435�board;�max=�5ENDC O*------------------------------------------------------------------------------7NVME600ƒ=�0Œ#�of�MVME600‚analog�input‚controller�boards O*------------------------------------------------------------------------------8NVME605ƒ=�0Œ#�of�MVME605‚analog�output�controller�boards IFGTˆ\NVME6059ƒNU605…=�0ŒNumber�of�users�(total)�for�the�MVME605�boardsENDC O*------------------------------------------------------------------------------3NVME610ƒ=�0Œ#�of�MVME610…AC‚input‚controller�boards IFGTˆ\NVME610GƒM610QSIZ‚=�128…Minimum�number�of�entries�in�Interrupt�Processing�QueueENDC O*------------------------------------------------------------------------------8NVME615ƒ=�0Œ#�of�MVME615/616�AC‚output�controller�boards IFGTˆ\NVME6159ƒNU615…=�0ŒNumber�of�users�(total)�for�the�MVME615�boardsENDC O*------------------------------------------------------------------------------3NVME620ƒ=�0Œ#�of�MVME620…DC‚input‚controller�boards O*------------------------------------------------------------------------------4NVME625ƒ=�0Œ#�of�MVME625…DC‚output�controller�boards IFGTˆ\NVME6259ƒNU625…=�0ŒNumber�of�users�(total)�for�the�MVME625�boardsENDCO*------------------------------------------------------------------------------#NRAD†=�0Œ#�of�RAD†Remote�A/D�boards IFGTˆ\NRADƒNURAD…=�0Œ#�of�RAD�usersENDC O*------------------------------------------------------------------------------#NRIO†=�0Œ#�of�RIO†Remote�I/O�boards IFGTˆ\NRIO1ƒNRIOINTƒ=�0Œ#�of�interrupt�levels�per�I/O�moduleENDC O*------------------------------------------------------------------------------éééééééD 'VME101 COPYSGENCF””¯qqINITIO1 AGµµÀqqIFDRVR CIÖÖWqqSYSTEM CIßß}qqCNFGDRVRCIøø©qq=/*<=/*‚VME101.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*'=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�VME101 =USE :.VME101=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*;=/*ƒInvoke�as:„=VME101.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference2=/*‰Arg5=�\5„include�PCDRV�driver�filesƒ(optional)=/*—PCDRV�=�include�them=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 5…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4 Š=/IFC�\5�=ARG�\1,\2,\3,N,-PCDRVŠ=/ELSE�=ARG�\1,\2,\3,N,\5Š=/ENDIF…=/ENDIF …=/IFC�\5ˆ=ARG�\1,\2,\3,\4,-PCDRV…=/ELSEˆ=/IFEQ�"PCDRV"\5ˆ=/ELSE‹=/IFEQ�"-PCDRV"\5‹=/ELSEŽ=/RD=5‹=/ENDIFˆ=/ENDIF…=/ENDIF=/ENDIFJ=/*‚Set�Arg6�so�this�file�can't�be�rerun�directly�w/o�setting�proper�args!=ARG \1,\2,\3,\4,\5,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copying=/IFEQ "PCDRV"\5O=/*----------------------------------------------------------------------------"=/* Copy all RAD1 files for sysgen=/@„\1:9998.COPYGEN.RADDRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all RIO files for sysgen=/@„\1:9998.COPYGEN.RIODRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME600 files for sysgen=/@„\1:9998.COPYGEN.M600DRV.CFŒP•'�(¥O=/*----------------------------------------------------------------------------$=/* Copy all VME605 files for sysgen=/@„\1:9998.COPYGEN.M605DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME610 files for sysgen=/@„\1:9998.COPYGEN.M610DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME615 files for sysgen=/@„\1:9998.COPYGEN.M615DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME625 files for sysgen=/@„\1:9998.COPYGEN.M625DRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all PCDRV common files for sysgen=/@„\1:9998.COPYGEN.PCDRV.CF=/E ENDIFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all MPSC driver files for sysgen=/@„\1:9998.COPYGEN.MPSCDRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PIADRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME050 driver files for sysgen=/@„\1:9998.COPYGEN.M050DRV.CF=/@„\1:9998.COPYGEN.P050DRV.CF=/@„\1:9998.COPYGEN.MPCCDRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME300 (GPIB) files for sysgen=/@„\1:9998.COPYGEN.M300DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME315 files for sysgen=/@„\1:9998.COPYGEN.M315DRV.CFO=/*----------------------------------------------------------------------------F=/* Copy all VME316 (VMEbus to I/O channel interface) files for sysgen=/@„\1:9998.COPYGEN.M316DEF.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME320 files for sysgen=/@„\1:9998.COPYGEN.M320DRV.CFO=/*----------------------------------------------------------------------------/=/* Copy all VME435 (mag tape) files for sysgen=/@„\1:9998.COPYGEN.M435DRV.CFO=/*----------------------------------------------------------------------------7=/* Copy all RWIN1 (Winchester) driver files for sysgen=/@„\1:9998.COPYGEN.RWINDRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*-----------------------------------------------------------------------------=/*‚Copy�all�VME101�specific�files�for�sysgen=/@„\1:9998.COPYGEN.VME101.CFO=/*----------------------------------------------------------------------------)=/* Copy all EPCI driver files for sysgen=/@„\1:9998.COPYGEN.EPCIDRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen=/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BEGINEND.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK files for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*2=/*†VME101.COPYSGEN.CF‚completed.‰Have�a�nice�day!=/*N=/*‚NoE �"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!éééé6INITIO„IDNTƒ5,1�RMS68K�I/O�initializer�for�the�VME101.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***G***…ROUTINE:‚INITIO�--�RMS68K�I/O�INITIALIZER�FOR�THE�VME101�BOARD.„******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***(***‡Copyright�1983�by�Motorola,�Inc.¢******É***D***…FUNCTION:‚Routines�from�this�module�are�called�by�the�RMS68K‡***E***‡routine�INIT�during�system�initialization.‚All�board-specific„***.***‡initialization�is�done�in�this�module.œ******É***G***…NOTES:‚This�module�is�SUBSed,�ASMed,�and�LINKed�at�SYSGEN�time.„***?***‡All�modules�will�run�at�level�7�and�in�supervisor�mode.‹******É***O*******************************************************************************O*******************************************************************************O******************************************************************************* *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚ChangesI*…--------‚------‚-------------------------------------------------------B*…10/05/84ƒKEG„Commented�out�the�RESET�instruction�because�the�new.*—VME101bug�takes�care�of�the�2661�interrupts.*…10/25/83ƒSJF„Initial�writing.* * *‚XDEF's.*,ŠXDEFƒINITMMUŒRoutine�to�initialize�the�MMU.,ŠXDEFƒTIMERSTŒRoutine�to�start�up�the�timer.3ŠXDEFƒINITIO�Routine�to�set�up�all�the�other�board-**‚XREF's* *…Routines:1ŠXREFƒKILLER�Routine�to�call�to�crash�the�system.*…Parameters�from�INITDAT:-ŠXREFƒTIMSLICŒ#�of�timer�tics�per�time�slice.(ŠXREFƒTIMERA�Addr�of�timer�chip�(M6840).4ŠXREFƒTIMINTVA‹#�of�milliseconds�between�timer�tics.4ŠXREFƒCLOCKFRQ‹Frequency�of�clock�(to�set�up�timer).*…SYSPAR�variables:ŠXREF.S�DATE�Date.0ŠXREF.S�TIMESLIC‹#�of�timer�tics�per�time�slice.­1¶D¾5Æ7ŠXREF.S�TIMINTVŒTime�interval�between�timer�interrupts.8ŠXREF.S�TIMINTV4‹Another�value�related�to�time�interval.+ŠXREF.S�PTMADDRŒAddr�of�timer�chip�(M6840). *„Others:.ŠXREFƒCRASHSAV‹Place�to�SAVE�info�if�we�CRASH.   **‚Included�files:**‰M6840.M6840.EQ*ŠNOLISTŠINCLUDE�M6840.M6840.EQ*ŠLIST ŠSECTION�8ŠPAGE*J*‚This�code�is�needed�to�satisfy�INIT,�which�is�board-independent�and�must/*‚call�upon�us�to�do�the�board-dependent�stuff.**„Initialize�the�MMU.F *3INITMMUƒRTS—It's�easy�for�us�to�initialize�the�MMU,*§since�we�don't�have�one. **„Start�the�timer�running.*TIMERSTDŠMOVE.L�TIMSLIC(PC),TIMESLIC‚Set�the�sysgen�parameter�which�dictates%*§the�#�of�timer�tics�per�time�slice.'‰MOVE.L�TIMERA(PC),A1‡GET�TIMER�ADDRESS#‰MOVE.L�A1,PTMADDRŠSAVE�IT�FOR�EXEC$‰BEQ.S‚TIMER_EXITŠBRANCH�IF�NO�TIMER)‰PEA„TIMERBE(PC)‰WHERE�TO�GO�ON�BUS�ERROR$‰MOVE.W�#'BE',-(A7)‰SET�BUS�ERR�FLAG3‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REG�1&‰MOVE.B�#$01,CR13(A1)‡ALL�TIMERS�RESET$‰MOVE.L�#CLOCKFRQ,D0ˆCLOCK�FREQUENCY‰DIVUƒ#4,D0�DIVIDE�BY�4#‰SUB.W‚#1,D0�CLOCK�INTERRUPTS�AT�-1*‰MOVE.W�TIMINTVA(PC),D1…INTERRUPT�INTERVAL ‰MOVE.W�D1,TIMINTVŠSAVE�FOR�EXEC‰MULUƒ#4,D1�MULTIPLY�BY�4*‰SUB.W‚#1,D1�SUBTRACT�1�-�TIMER�GOES�TO�-1!‰MOVE.W�D1,TIMINTV4‰SAVE�FOR�EXEC‰LSL.W‚#8,D1�PUT�IN�HIGH�BYTE)‰ADD.W‚D1,D0�VALUE�FOR�TIMER�3�(2�HALVES)‰MOVEP‚D0,MSBT3(A1)ˆSET�TIMER�34‰MOVE.W�#256,D0�VALUE�FOR�TIMER�1�(OVERFLOW�COUNTER)‰MOVEP‚D0,MSBT1(A1)ˆSET�TIMER�18‰MOVE.B�#$00,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�3;‰MOVE.B�#$C6,CR13(A1)‡T3--INTERNAL�CLOCK,INTERRUPT�ENABLED,*£OUTPUT�ENABLED,�8-BIT�MODE8‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�1;‰MOVE.B�#$00,CR13(A1)‡T1--EXTERNAL�CLOCK,�ENABLE�ALL�TIMERS3‰ADDQ.L�#6,SP�Everything�went�OK;�just�get�that�bus4‰BRA.S‚TIMER_EXITŠerror�junk�off�the�stack�and�exit.*;TIMERBE‚MOVE.L‚#CRASHSAV,PTMADDR‚USE�DUMP�POINTER�FOR�TIMER TIMER_EXIT�RTS–Return�to�INIT. ŠPAGE ‰SECTIONƒ80************************************************,*ƒValue�to�put�in�VME101�control�register.ƒ*0*************************************************7CTRL†SET„%1101ŽStatus�display�bit�pattern.�Also�used�to-*£assert�the�SYSFAIL*�signal�on�the�VMEbus�by,*£setting�them�all�to�1.�Status�display�here*£is�setup�for�"D".*ª0000‚=‚display�"0"*ª0001‚=‚display�"1"*¶:*ª1110‚=‚display�"E"*ª1111‚=‚display�"F",CTRL†SET„1<<4+CTRLŠStatus�display�(enabled).9CTRL†SET„0<<5+CTRLŠBus�block�transfer�request�(disabled).;CTRL†SET„0<<6+CTRLŠBus�request�time-out�counter�(disabled).>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…When�incorporating�any�drivers�during�SYSGEN„<<<<<<<?*‚>>>>>>>…that�require�memory�allocated�for�them�as�perƒ<<<<<<<?*‚>>>>>>>…the�driver�package�instructions�-�this�is�theƒ<<<<<<<,*‚>>>>>>>…spot�the�file(s)�go�into!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…This�is�also�the�spot�for�code�for�a�driver…<<<<<<<>*‚>>>>>>>…that‚requires�other�types�of�initialization,ƒ<<<<<<<0*‚>>>>>>>…such‚as�clearing�an�interrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGE�IT�HERE—<<<<<<<*<*ˆWhen�you�write�the�code�that�is�to�be�merged�here,�wrap�it*ˆaround�with�the�following:*:*ˆAt�the�beginning,�with�DRVRxOUT�referring�to�your�unique*ˆlabel,�put�this�code:*'*‹PEA„DRVRxOUT(PC)„IF�BUS�ERROR�OCCURS,*¢RETURN�OR�GO�ON�TO�NEXT*¢DRIVER'S�INITIALIZATION**‹MOVE.W�#'BE',-(A7)…SAVE�'BUS�ERROR'�FLAG*9*ˆThen�insert�the�code�to�do�what�you�need�to�do�for�this*ˆparticular�driver.**ˆAt�the�end,�put�this:***‹LEA„6(A7),A7ˆREMOVE�BUS�ERROR�FROM�STACK*DRVRxOUTƒEQU„**=*ˆIn�this�way,�if�the�code�for�one�driver�causes�a�bus�error,.*ˆthe�code�for�other�driversF �will�be�executed.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G*********************************************************************** ŠENDééééé**ˆVME101.IFDRVR.CI*,* Conditional file for VME101 device driversO*------------------------------------------------------------------------------K* This file uses flags setup in the VME101.CNFGDRVR.CI and VME101.SYSTEM.CI0* files to conditionally include device drivers.*J* The user should not have to modify this file to include/exclude drivers.*D*„******************************************************************?*„**‚NOTICE:‚The�following�conditionals�are�order�dependent.„**3*„**‹Do�not�change�the�order!‚Local�drivers�1st.‡**9*„**‹The�order�determines�device�number�(HD00,PR,�etc)‚***„**‹for�most�items.¤**D*„******************************************************************** IFNEˆ\NVME316Dƒ*‚The�VME316�has�no�driver.‚It�has�an�initialization�module�that�isJƒ*‚merged�into�SYSINIT.RO.‚The�include�file�below�defines�the�I/O�channel.ƒ*ƒINCLUDE…&.M316DEF.CIENDC* IFNEˆ\NVME315ƒINCLUDE…&.M315DRV.CIENDC* IFNEˆ\NVME320ƒINCLUDE…&.M320DRV.CIENDC* IFNEˆ\NORWINƒINCLUDE…&.RWINDRV.CIENDC* IFNEˆ\NOLTERMƒINCLUDE…&.EPCIDRV.CIENDC* IFNEˆ\NOLPRTƒINCLUDE…&.PIA101.CIENDC* IFNEˆ\NVME050ƒINCLUDE…&.M050DRV.CIENDC* IFNEˆ\NVME400ƒINCLUDE…&.MPSC400.CIENDC* IFNEˆ\NVME410ƒINCLUDE…&.PIA410.CIENDC* IFNEˆ\NVME435ƒINCLUDE…&.M435DRV.CIENDC* IFNEˆ\NVME600ƒINCLUDE…&.M600DRV.CIENDC* IFNEˆ\NVME605ƒINCLUDE…&.M605DRV.CIENDC*IFNEˆ\NVME610+\NVME620ƒINCLUDE…&.M610DRV.CIENDC* IFNEˆ\NVME615ƒINCLUDE…&.M615DRV.CIENDC* IFNEˆ\NVME625ƒINCLUDE…&.M625DRV.CIENDC* IFNEˆ\NRADƒINCLUDE…&.RADDRV.CIENDC* IFNEˆ\NRIOƒINCLUDE…&.RIODRV.CIENDCéÎX**ˆVME101.SYSTEM.CI*L****************************************************************************@*‚This�file�contains�all�board/system�dependencies�for�VME101.Œ*&*‚It�is�called�from�"&.VERSADOS.CD".¦**Ê*E*‚The�user�should�not�have�to�modifyG �this�file�except�under�extreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ON�BOARD�RAM�ADDRESSES*>*†VMEbus�drivers�require�the�following�target�system�dependentB*†variables�to�be�defined�when�the�macro�file�DUALPORT.MC�is�used:<*†Note�that�the�ONBD$HI�parameter�may�vary�on�the�VME110�and<*†and�VME101�systems�depending�on�the�size�and�number�of�RAM<*†chips�used�on�the�processor�card.‚The�values�shown�are�the?*†minimum�requirements.�Modify�that�parameter�to�match�your�own*†system�if�different.*;ONBD$LOƒ=�$0‹Low‚value�for�on-board�ram�(as�seen�by�driver)?ONBD$HIƒ=�$0FFFˆHigh�value�for�on-board�ram�(as�seen�by�driver)ARAM$SQ„=�$0000ˆDifference�between�on-board�ram�address�as�seen�by*˜driver�and�device.JOFFBD$LO‚=�\ONBD$LO+\RAM$SQ�Low‚value�for�on-board�ram�(as�seen�by�device)KOFFBD$HI‚=�\ONBD$HI+\RAM$SQ�High�value�for�on-board�ram�(as�seen�by�device) FMSG‰******************************************************************MSG‰**ˆAddresses�of�timer,�etc.FMSG‰****************************************************************** !TIMER…=�$FE00D0†Address�of�timer.5CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond"PANEL…=�$0‹Address�of�front�panel.6TRCFLAGƒ=�$0‹Trace�flag.‚Zero�implies�don't�trace.‚The/*˜setting�of�bits�in�the�TRCFLAG�parameter�will1*˜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×5à-è*œ6‘SYSFAIL�interrupt.* FMSG‰******************************************************************.MSG‰**ƒLocal�terminal/printer�device�addresses#MSG‰**ƒShort�I/O�space�base�address&MSG‰**ƒShort�I/O�space�address�offsetsFMSG‰****************************************************************** 9LTDA$01ƒ=�$FE00A1†VME101�local�terminal�#1�device�address9LTDA$02ƒ=�$FE00B1†VME101�local�terminal�#2�device�address8LPDA$01ƒ=�$FE00C1†VME101�local�printer‚#1�device�address 1SIOBASEƒ=�$FF0000†Base�address�of�Short�I/O�space****************************************************************‰Vector�numbers£**>**************************************************************9IOCVEC1ƒ=�$1BŠAuto�vectrized�interrupt�-�PIA�loc.�printer8IOCVEC2ƒ=�$1CŠAuto�vectrized�interrupt�-�EPCI�terminal�18IOCVEC3ƒ=�$1DŠAuto�vectrized�interrupt�-�EPCI�terminal�28IOCVEC4ƒ=�$1AŠAuto�vectrized�interrupt�-�PTM�prog.�timer*3IOCLVL1ƒ=�3ŒAuto�vectorized�interrupt�level�for�PIA6IOCLVL2ƒ=�4ŒAuto�vectorized�interrupt�level�for�EPCI�16IOCLVL3ƒ=�5ŒAuto�vectorized�interrupt�level�for�EPCI�23IOCLVL4ƒ=�2ŒAuto�vectorized�interrupt�level�for�PTM FMSG‰******************************************************************3MSG‰**…Descriptive�info�about�this�operating�systemFMSG‰****************************************************************** 6TIMSLICƒ=�2ŒNumber�of�timer�interrupts�per�time�slice.=TIMINTVƒ=�10‹Number�of�milliseconds�between�timer�interrupts.?ROMEADDR‚=�$0‹ROM�end�address�--�defined�by�user�for�a�ROMmable,*œsystem.‚Set�to�$0�if�not�a�ROMable�system.-*œThe�ROM�start�address�(ROMSADDR)�is�definedG 3*œin�the�.RMS.CI�file�and�has�a�value�equal!*œto�the�initial�program�counter.AMEMEND1ƒ=�$200000†Ending�addr�for�on-board‚memory�must�be�<�this.4MEMEND2ƒ=�$0‹Starting‚addr�for�off-board�memory�must)*˜be�>=�this.‚Not�applicable�for�a�VME110@MEMEND3ƒ=�$0‹Ceiling�addr�for�off-board�memory�(must�be�<�this).;WHERLOAD‚=�$0‹Memory�address�where�boot�file�will�be�loaded1*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will"*˜be�moved�at�initialization�time.7CACHEF„=�0ŒNot�used�by�VME101�(needed�for�&.INITDAT.AG)9NOTNT…=�0ŒNot�used�by�VME101�(needed�for�EET.VERSADOS.CI) EMSG‰*****************************************************************)MSG‰**‚Parameters�about�table�sizes,�etc.EMSG‰***************************************************************** 1PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*)ASN‡=�0Œ#�of�address�spaces--not�used�but!*˜needed�to�satisfy�&.INITDAT.AG. GMSG‰*******************************************************************=MSG‰*ƒCopy�C8OC.SYSPAR.RO�into�&.SYSPAR.RO�to�make�it�genericAMSG‰*ƒfor�.LG�files�and�possible�for�sysgening�more�than�1�systemMSG‰*ƒper�account�#GMSG‰******************************************************************* "=COPY‡C8OC.SYSPAR.RO,&.SYSPAR.RO;Yééé**ˆVME101.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------D* This file sets up the flags used by the "VME101.IFDRVR.CI" file to'* conditionally include device drivers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEM�DEPENDENCIES�are�included�from�the�&.VERSADOS.CD�file.�---;*�VME101.SYSTEM.CIƒadd�processor�board/system�dependencies,(*˜including�local�terminals�and�printers6*�&.CNFGTASK.CI†add�O/S�task�configuration�for�ROM/RAMM***************************************************************************** O*------------------------------------------------------------------------------@NOLTERMƒ=�2Œ#�of�terminals�on�VME101�serial�ports�(EPCI);�max=�2 O*------------------------------------------------------------------------------1NOLPRT„=�1Œ#�of�local�(on-board)�printers;�max=�1 O*------------------------------------------------------------------------------2NORWIN„=�0Œ#�of�RWIN1„Winchester�controller�boards* IFGTˆ\NORWIN)ƒCONTWIN1‚=�"3"Š1st�RWIN1�is�controller�38ƒNHRWIN$1‚=�0Œ#�of�hardƒdisk�drives�on�1st�RWIN1;�max=�2:ƒNFRWIN$1‚=�0Œ#�of�floppy�disk�drives�on�1st�RWIN1;�max=�2BƒRWIN0$1ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�1st�RWIN1,�drive�0BƒRWIN1$1ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�1st�RWIN1,�drive�1DƒRWIN2$1ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�1st�RWIN1,�drive�2DƒRWIN3$1ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�1st�RWIN1,�drive�3 H ð)ù* - *)ƒCONTWIN2‚=�"4"Š2nd�RWIN1�is�controller�48ƒNHRWIN$2‚=�0Œ#�of�hardƒdisk�drives�on�2nd�RWIN1;�max=�2:ƒNFRWIN$2‚=�0Œ#�of�floppy�disk�drives�on�2nd�RWIN1;�max=�2BƒRWIN0$2ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�2nd�RWIN1,�drive�0BƒRWIN1$2ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�2nd�RWIN1,�drive�1DƒRWIN2$2ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�2nd�RWIN1,�drive�2DƒRWIN3$2ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�2nd�RWIN1,�drive�3ƒ*Gƒ*…NOTE:‚You�can�not�mix�5-1/4"�and�8"�floppies.‚Pick�one�or�the�other.ƒ*ENDC O*------------------------------------------------------------------------------)NVME050ƒ=�0Œ#�of�VME050ƒSystem�Controller IFGTˆ\NVME0507ƒNT050$1ƒ=�0Œ#�of�terminals�on�the�VME050�board;�max=�26ƒNP050$1ƒ=�0Œ#�of�printers‚on�the�VME050�board;�max=�1ENDC O*------------------------------------------------------------------------------8NVME300ƒ=�0Œ#�of�MVME300‚IEEE�488�GPIB�controller�boards O*------------------------------------------------------------------------------ANVME315ƒ=�1Œ#�of�MVME315‚winchester/floppy�disk�controller�boards IFGTˆ\NVME315+ƒCONT3151‚=�"0"Š1st�MVME315�is�controller�08ƒNH315$1ƒ=�2Œ#�of�hardƒdisk�drives�on�1st�VME315;�max=�2:ƒNF315$1ƒ=�4Œ#�of�floppy�disk�drives�on�1st�VME315;�max=�4 AƒM3150$1ƒ=�"'H5WIN10'"‚Type�of�1st�hardƒdisk�on�1st�MVME315�boardAƒM3151$1ƒ=�"'H5WIN10'"‚Type�of�2nd�hardƒdisk�on�1st�MVME315�boardCƒM3154$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�MVME315�boardCƒM3155$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�MVME315�boardCƒM3156$1ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�1st�MVME315�boardCƒM3157$1ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�1st�MVME315�board +ƒCONT3152‚=�"1"Š2nd�MVME315�is�controller�18ƒNH315$2ƒ=�0Œ#�of�hardƒdisk�drives�on�2nd�VME315;�max=�2:ƒNF315$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�VME315;�max=�4 AƒM3150$2ƒ=�"'H5WIN10'"‚Type�of�1st�hardƒdisk�on�2nd�MVME315�boardAƒM3151$2ƒ=�"'H5WIN10'"‚Type�of�2nd�hardƒdisk�on�2nd�MVME315�boardCƒM3154$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�MVME315�boardCƒM3155$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�MVME315�boardCƒM3156$2ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�2nd�MVME315�boardCƒM3157$2ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�2nd�MVME315�boardENDC O*------------------------------------------------------------------------------@NVME316ƒ=�0Œ#�of�MVME316‚VMEbus�to�I/O�channel�interface�boards;*˜max=�1 O*------------------------------------------------------------------------------ >½qqIFDRVR CI _ __qqSYSTEM CI h h„qqCNFGDRVRCI � �'Öqq=/*<=/*‚VME110.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*'=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�VME110 =USE :.VME110=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*;=/*ƒInvoke�as:„=VME110.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference2=/*‰Arg5=�\5„include�PCDRV�driver�filesƒ(optional)=/*—PCDRV�=�include�thI em=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 5…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4 Š=/IFC�\5�=ARG�\1,\2,\3,N,-PCDRVŠ=/ELSE�=ARG�\1,\2,\3,N,\5Š=/ENDIF…=/ENDIF …=/IFC�\5ˆ=ARG�\1,\2,\3,\4,-PCDRV…=/ELSEˆ=/IFEQ�"PCDRV"\5ˆ=/ELSE‹=/IFEQ�"-PCDRV"\5‹=/ELSEŽ=/RD=5‹=/ENDIFˆ=/ENDIF…=/ENDIF=/ENDIFJ=/*‚Set�Arg6�so�this�file�can't�be�rerun�directly�w/o�setting�proper�args!=ARG \1,\2,\3,\4,\5,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copying=/IFEQ "PCDRV"\5O=/*----------------------------------------------------------------------------"=/* Copy all RAD1 files for sysgen=/@„\1:9998.COPYGEN.RADDRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all RIO files for sysgen=/@„\1:9998.COPYGEN.RIODRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME600 files for sysgen=/@„\1:9998.COPYGEN.M600DRV.CF P ' &( .O=/*----------------------------------------------------------------------------$=/* Copy all VME605 files for sysgen=/@„\1:9998.COPYGEN.M605DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME610 files for sysgen=/@„\1:9998.COPYGEN.M610DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME615 files for sysgen=/@„\1:9998.COPYGEN.M615DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME625 files for sysgen=/@„\1:9998.COPYGEN.M625DRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all PCDRV common files for sysgen=/@„\1:9998.COPYGEN.PCDRV.CF=/ENDIFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all MPSC driver files for sysgen=/@„\1:9998.COPYGEN.MPSCDRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PIADRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME050 driver files for sysgen=/@„\1:9998.COPYGEN.M050DRV.CF=/@„\1:9998.COPYGEN.P050DRV.CF=/@„\1:9998.COPYGEN.MPCCDRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME300 (GPIB) files for sysgen=/@„\1:9998.COPYGEN.M300DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME315 files for sysgen=/@„\1:9998.COPYGEN.M315DRV.CFO=/*----------------------------------------------------------------------------F=/* Copy all VME316 (VMEbus to I/O channel interface) files for sysgen=/@„\1:9998.COPYGEN.M316DEF.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME320 files for sysgen=/@„\1:9998.COPYGEN.M320DRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME420 (SASI) files for sysgen=/@„\1:9998.COPYGEN.M420DRV.CFO=/*----------------------------------------------------------------------------/=/* Copy all VME435 (mag tape) files for sysgen=/@„\1:9998.COPYGEN.M435DRV.CFO=/*-------------------------------I ---------------------------------------------7=/* Copy all RWIN1 (Winchester) driver files for sysgen=/@„\1:9998.COPYGEN.RWINDRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*-----------------------------------------------------------------------------=/*‚Copy�all�VME110�specific�files�for�sysgen=/@„\1:9998.COPYGEN.VME110.CFO=/*----------------------------------------------------------------------------)=/* Copy all ACIA driver files for sysgen=/@„\1:9998.COPYGEN.ACIADRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen=/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BEGINEND.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK files for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*2=/*†VME110.COPYSGEN.CF‚completed.‰Have�a�nice�day!=/*N=/*‚No�"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!éééé6INITIO„IDNTƒ5,1�RMS68K�I/O�initializer�for�the�VME110.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***G***…ROUTINE:‚INITIO�--�RMS68K�I/O�INITIALIZER�FOR�THE�VME110�BOARD.„******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***(***‡Copyright�1983�by�Motorola,�Inc.¢*J *****É***D***…FUNCTION:‚Routines�from�this�module�are�called�by�the�RMS68K‡***E***‡routine�INIT�during�system�initialization.‚All�board-specific„***.***‡initialization�is�done�in�this�module.œ******É***G***…NOTES:‚This�module�is�SUBSed,�ASMed,�and�LINKed�at�SYSGEN�time.„***?***‡All�modules�will�run�at�level�7�and�in�supervisor�mode.‹******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚ChangesI*…--------‚------‚-------------------------------------------------------*…10/25/83ƒSJF„Initial�writing.* * *‚XDEF's.*,ŠXDEFƒINITMMUŒRoutine�to�initialize�the�MMU.,ŠXDEFƒTIMERSTŒRoutine�to�start�up�the�timer.3ŠXDEFƒINITIO�Routine�to�set�up�all�the�other�board-*§specific�hardware. * *‚XREF's.* *…Routines:1ŠXREFƒKILLER�Routine�to�call�to�crash�the�system.*…Parameters�from�INITDAT:-ŠXREFƒTIMSLICŒ#�of�timer�tics�per�time�slice.(ŠXREFƒTIMERA�Addr�of�timer�chip�(M6840).4ŠXREFƒTIMINTVA‹#�of�milliseconds�between�timer�tics.4ŠXREFƒCLOCKFRQ‹Frequency�of�clock�(to�set�up�timer).*…SYSPAR�variables:ŠXREF.S�DATE�Date.0ŠXREF.S�TIMESLIC‹#�of�timer�tics�per�time�slice.7ŠXREF.S�TIMINTVŒTime�interval�between�timer�interrupts.8ŠXREF.S�TIMINTV4‹Another�value�related�to�time�interval. 63 ?C G; O +ŠXREF.S�PTMADDRŒAddr�of�timer�chip�(M6840). *„Others:.ŠXREFƒCRASHSAV‹Place�to�SAVE�info�if�we�CRASH.   **‚Included�files:**‰&.UTILITY.MC*‰M6840.M6840.EQ*ŠNOLISTŠINCLUDE�&.UTILITY.MCŠINCLUDE�M6840.M6840.EQŠLIST ŠSECTION�8ŠPAGE*J*‚This�code�is�needed�to�satisfy�INIT,�which�is�board-independent�and�must/*‚call�upon�us�to�do�the�board-dependent�stuff.**„Initialize�the�MMU.*3INITMMUƒRTS—It's�easy�for�us�to�initialize�the�MMU,*§since�we�don't�have�one. **„Start�the�timer�running.*TIMERSTDŠMOVE.W�TIMSLIC(PC),TIMESLIC‚Set�the�sysgen�parameter�which�dictates%*§the�#�of�timer�tics�per�time�slice.'‰MOVE.L�TIMERA(PC),A1‡GET�TIMER�ADDRESS#‰MOVE.L�A1,PTMADDRŠSAVE�IT�FOR�EXEC$‰BEQ.S‚TIMER_EXITŠBRANCH�IF�NO�TIMER)‰PEA„TIMERBE(PC)‰WHERE�TO�GO�ON�BUS�ERROR$‰MOVE.W�#'BE',-(A7)‰SET�BUS�ERR�FLAG3‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REG�1&‰MOVE.B�#$01,CR13(A1)‡ALL�TIMERS�RESET$‰MOVE.L�#CLOCKFRQ,D0ˆCLOCK�FREQUENCY‰DIVUƒ#4,D0�DIVIDE�BY�4#‰SUB.W‚#1,D0�CLOCK�INTERRUPTS�AT�-1*‰MOVE.W�TIMINTVA(PC),D1…INTERRUPT�INTERVAL ‰MOVE.W�D1,TIMINTVŠSAVE�FOR�EXEC‰MULUƒ#4,D1�MULTIPLY�BY�4*‰SUB.W‚#1,D1�SUBTRACT�1�-�TIMER�GOES�TO�-1!‰MOVE.W�D1,TIMINTV4‰SAVE�FOR�EXEC‰LSL.W‚#8,D1�PUT�IN�HIGH�BYTE)‰ADD.W‚D1,D0�VALUE�FOR�TIMER�3�(2�HALVES)‰MOVEP‚D0,MSBT3(A1)ˆSET�TIMER�34‰MOVE.W�#256,D0�VALUE�FOR�TIMER�1�(OVERFLOW�COUNTER)‰MOVEP‚D0,MSBT1(A1)ˆSET�TIMER�18‰MOVE.B�#$00,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�3;‰MOVE.B�#$C6,CR13(A1)‡T3--INTERNAL�CLOCK,INTERRUPT�ENABLED,*£OUTPUT�ENABLED,�8-BIT�MODE8‰MOVE.B�#$01,CR2SR(A1)†ALLOW�WRITE�TO�CONTROL�REGISTER�1;‰MOVE.B�#$00,CR13(A1)‡T1--EXTERNAL�CLOCK,�ENABLE�ALL�TIMERS3‰ADDQ.L�#6,SP�Everything�went�OK;�just�get�that�bus4‰BRA.S‚TIMER_EXITŠerror�junk�off�the�stack�and�exit.*;TIMERBE‚MOVE.L‚#CRASHSAV,PTMADDR‚USE�DUMP�POINTER�FOR�TIMER TIMER_EXIT�RTS–Return�to�INIT.ŠPAGE ‰SECTIONƒ80************************************************,*ƒValue�to�put�in�VME110�control�register.ƒ*0*************************************************6CTRL†SET„%00�Bus�release�control�(release�on�request).*©00�=�Release�on�request.*©01�=�Release�on�bus�clear.*©10�=�Release�when�done.*©11�=�ReleaJ se�never.*CTRL†SET„0<<4+CTRLŠFail�LED�control�(off).;CTRL†SET„0<<5+CTRLŠVMEbus�SYSFAIL*�interrupt�mask�(disabled$*§since�we�aren't�prepared�to�handle%*§SYSFAIL�on�the�VME110�because�it�is)*§shared�with�ACFAIL�and�Software�Abort).0CTRL†SET„1<<6+CTRLŠWatchdog�timer�mask�(enable).:CTRL†SET„0<<7+CTRLŠWrite-protection�of�onboard�RAM�in�user$*§mode�according�to�map�decoder�PROM *§(disable).  INITIO: 7ŠPEA„KILLER(PC)‰Arrange�for�KILLER�to�get�control�if�we4ŠPUSHƒ#'BE'Žcan't�access�the�VME110�control�register"*§(which�would�cause�a�bus�error). 9ŠLEA„$FE8021,A0‰A0�<--�addr�of�VME110's�control�register.-ŠMOVE.B�#CTRL,(A0)‰Load�the�control�register. 2ŠADD.L‚#6,SPŽGet�the�bus�error�junk�off�the�stack.   E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…When�incorporating�any�drivers�during�SYSGEN„<<<<<<<?*‚>>>>>>>…that�require�memory�allocated�for�them�as�perƒ<<<<<<<?*‚>>>>>>>…the�driver�package�instructions�-�this�is�theƒ<<<<<<<,*‚>>>>>>>…spot�the�file(s)�go�into!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…This�is�also�the�spot�for�code�for�a�driver…<<<<<<<>*‚>>>>>>>…that‚requires�other�types�of�initialization,ƒ<<<<<<<0*‚>>>>>>>…such‚as�clearing�an�interrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGE�IT�HERE—<<<<<<<*<*ˆWhen�you�write�the�code�that�is�to�be�merged�here,�wrap�it*ˆaround�with�the�following:*:*ˆAt�the�beginning,�with�DRVRxOUT�referring�to�your�unique*ˆlabel,�put�this�code:*'*‹PEA„DRVRxOUT(PC)„IF�BUS�ERROR�OCCURS,*¢RETURN�OR�GO�ON�TO�NEXT*¢DRIVER'S�INITIALIZATION**‹MOVE.W�#'BE',-(A7)…SAVE�'BUS�ERROR'�FLAG*9*ˆThen�insert�the�code�to�do�what�you�need�to�do�for�this*ˆparticular�driver.**ˆAt�the�end,�put�this:***‹LEA„6(A7),A7ˆREMOVE�BUS�ERROR�FROM�STACK*DRVRxOUTƒEQU„**=*ˆIn�this�way,�if�the�code�for�one�driver�causes�a�bus�error,.*ˆthe�code�for�other�drivers�will�be�executed.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G***********************************************************************‰ENDéééééé**ˆVME110.IFDRVR.CI*,* Conditional file for VME110 device driversO*------------------------------------------------------------------------------K* This file uses flags setup in the VME110.CNFGDRVR.CI and VME110.SYSTEM.CI0* files to conditionK ally include device drivers.*J* The user should not have to modify this file to include/exclude drivers.*D*„******************************************************************?*„**‚NOTICE:‚The�following�conditionals�are�order�dependent.„**3*„**‹Do�not�change�the�order!‚Local�drivers�1st.‡**9*„**‹The�order�determines�device�number�(HD00,PR,�etc)‚***„**‹for�most�items.¤**D*„******************************************************************** IFNEˆ\NVME316Dƒ*‚The�VME316�has�no�driver.‚It�has�an�initialization�module�that�isJƒ*‚merged�into�SYSINIT.RO.‚The�include�file�below�defines�the�I/O�channel.ƒ*ƒINCLUDE…&.M316DEF.CIENDC* IFNEˆ\NORWINƒINCLUDE…&.RWINDRV.CIENDC*IFNEˆ\NVME4205ƒINCLUDE…&.M4205.CIENDC*IFNEˆ\NVME4208ƒINCLUDE…&.M4208.CIENDC* IFNEˆ\NVME315ƒINCLUDE…&.M315DRV.CIENDC* IFNEˆ\NVME320ƒINCLUDE…&.M320DRV.CIENDC* IFNEˆ\NOLTERMƒINCLUDE…&.ACIADRV.CIENDC* IFNEˆ\NVME400ƒINCLUDE…&.MPSC400.CIENDC* IFNEˆ\NVME410ƒINCLUDE…&.PIA410.CIENDC* IFNEˆ\NVME050ƒINCLUDE…&.M050DRV.CIENDC* IFNEˆ\NVME300ƒINCLUDE…&.M300DRV.CIENDC* IFNEˆ\NVME435ƒINCLUDE…&.M435DRV.CIENDC* IFNEˆ\NVME600ƒINCLUDE…&.M600DRV.CIENDC* IFNEˆ\NVME605ƒINCLUDE…&.M605DRV.CIENDC*IFNEˆ\NVME610+\NVME620ƒINCLUDE…&.M610DRV.CIENDC* IFNEˆ\NVME615ƒINCLUDE…&.M615DRV.CIENDC* IFNEˆ\NVME625ƒINCLUDE…&.M625DRV.CIENDC* IFNEˆ\NRADƒINCLUDE…&.RADDRV.CIENDC* IFNEˆ\NRIOƒINCLUDE…&.RIODRV.CIENDC W`**ˆVME110.SYSTEM.CI*L****************************************************************************@*‚This�file�contains�all�board/system�dependencies�for�VME110.Œ*&*‚It�is�called�from�"&.VERSADOS.CD".¦**Ê*E*‚The�user�should�not�have�to�modify�this�file�except�under�extreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ON�BOARD�RAM�ADDRESSES*>*†VMEbus�drivers�require�the�following�target�system�dependentB*†variables�to�be�defined�when�the�macro�file�DUALPORT.MC�is�used:<*†Note�that�the�ONBD$HI�parameter�may�vary�on�the�VME110�and<*†and�VME101�systems�depending�on�the�size�and�number�of�RAM<*†chips�used�on�the�processor�card.‚The�values�shown�are�the?*†minimum�requirements.�Modify�that�parameter�to�match�your�own*†system�if�different.**;ONBD$LOƒ=�$0‹Low‚value�for�on-board�ram�(as�seen�by�driver)?ONBD$HIƒ=�$0FFFˆHigh�value�for�on-board�ram�(as�seen�by�driver)ARAM$SQ„=�$0000ˆDifference�between�on-board�ram�address�as�seen�by*˜driver�and�device.JOFFBD$LO‚=�\ONBD$LO+\RAM$SQ�Low‚value�for�on-board�ram�(as�seen�by�device)KOFFBD$HI‚=�\ONBD$HI+\RAM$SQ�High�value�for�on-board�ram�(as�seen�by�device) FMSG‰******************************************************************MSG‰**ˆAddresses�of�timer,�etc.FMSG‰****************************************************************** !TIMER…=�$FE8010†Address�of�timer.5CLOCKFRQ‚=�0800‰Number�of�clock�ticks�per�millisecond"PANEL…=�$0‹Address�of�front�panel.5TRCFLAGƒ=�0ŒTrace�flag.‚Zero�implies�don't�trace.‚The/*˜setting�of�bits�in�the�TRCFLAG�parameter�will1*˜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�interruptK  `6 i/ q *œ6‘SYSFAIL�interrupt.*FMSG‰******************************************************************.MSG‰**ƒLocal�terminal/printer�device�addresses#MSG‰**ƒShort�I/O�space�base�address&MSG‰**ƒShort�I/O�space�address�offsetsFMSG‰****************************************************************** /LTDA$01ƒ=�$FE8001†VME110�local�terminal�address****************************************************************‰Vector�numbers£**>**************************************************************.RMS.CI�file�and�has�a�value�equal!*œto�the�initial�program�counter.AMEMEND1ƒ=�$200000†Ending�addr�for�on-board�memory�must�be�<�this.8MEMEND2ƒ=�$00000‡Starting‚addr�for�off-board�memory�must)*˜be�>=�this.‚Not�applicable�for�a�VME110DMEMEND3ƒ=�$00000‡Ceiling�addr�for�off-board�memory�(must�be�<�this).:WHERLOAD‚=�0ŒMemory�address�where�boot�file�will�be�loaded1*˜Nonzero�on�VM01�only.‚If�nonzero,�VERSAdos�will"*˜be�moved�at�initialization�time.8CACHEF„=�0ŒNot�used�for�VME110�(needed�for�&.INITDAT.AG):NOTNT…=�0ŒNot�used�for�VME110�(needed�for�EET.VERSADOS.CI) EMSG‰*****************************************************************)MSG‰**‚Parameters�about�table�sizes,�etc.EMSG‰***************************************************************** 1PAGESIZE‚=�256ŠSize�in�bytes�of�a�page�of�memory.*)ASN‡=�0Œ#�of�address�spaces--not�used�but!*˜needed�to�satisfy�&.INITDAT.AG. GMSG‰*******************************************************************=MSG‰*ƒCopy�C8OC.SYSPAR.RO�into�&.SYSPAR.RO�to�make�it�genericAMSG‰*ƒfor�.LG�files�and�possible�for�sysgening�more�than�1�systemMSG‰*ƒper�account�#GMSG‰******************************************************************* "=COPY‡C8OC.SYSPAR.RO,&.SYSPAR.RO;YéL é**ˆVME110.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------D* This file sets up the flags used by the "VME110.IFDRVR.CI" file to'* conditionally include device drivers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEM�DEPENDENCIES�are�included�from�the�&.VERSADOS.CD�file.�---;*�VME110.SYSTEM.CIƒadd�processor�board/system�dependencies,(*˜including�local�terminals�and�printers6*�&.CNFGTASK.CI†add�O/S�task�configuration�for�ROM/RAMM***************************************************************************** O*------------------------------------------------------------------------------@NOLTERMƒ=�1Œ#�of�terminals�on�VME110�serial�ports�(ACIA);�max=�1IFGTˆ\NOLTERM-1ƒMSG†NOLTERM�must�be�<=�1ƒABORTENDC O*------------------------------------------------------------------------------2NORWIN„=�1Œ#�of�RWIN1„Winchester�controller�boards*@*ˆNOTE:‚You�cannot�sysgen�a�2nd�RWIN1�board�if�you�are�sysgening7*�for�a�SASI�5.‚The�two�boards�are�at�the�same�address.7*�Reference�IOC.ADDRESS.CI�to�change�the�address�if�you$*�want�both�boards�at�the�same�time.* IFGTˆ\NORWIN)ƒCONTWIN1‚=�"0"Š1st�RWIN1�is�controller�08ƒNHRWIN$1‚=�1Œ#�of�hardƒdiskƒdrives�on�1st�RWIN1;�max=�2<ƒNFRWIN$1‚=�2Œ#�of�5-1/4"�floppy�drives�on�1st�RWIN1;�max=�2BƒRWIN0$1ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�1st�RWIN1,�drive�0BƒRWIN1$1ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�1st�RWIN1,�drive�1 y, ‚ Š ’( š. ¢ DƒRWIN2$1ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�1st�RWIN1,�drive�2DƒRWIN3$1ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�1st�RWIN1,�drive�3 )ƒCONTWIN2‚=�"5"Š2nd�RWIN1�is�controller�58ƒNHRWIN$2‚=�0Œ#�of�hardƒdisk�drives�on�2nd�RWIN1;�max=�2:ƒNFRWIN$2‚=�0Œ#�of�floppy�disk�drives�on�2nd�RWIN1;�max=�2BƒRWIN0$2ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�2nd�RWIN1,�drive�0BƒRWIN1$2ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�2nd�RWIN1,�drive�1DƒRWIN2$2ƒ=�"'F5DDDSI'"‚Type�of�1st�floppy�disk�on�2nd�RWIN1,�drive�2DƒRWIN3$2ƒ=�"'F5DDDSI'"‚Type�of�2nd�floppy�disk�on�2nd�RWIN1,�drive�3ƒ*Gƒ*…NOTE:‚You�can�not�mix�5-1/4"�and�8"�floppies.‚Pick�one�or�the�other.ƒ*ENDC O*------------------------------------------------------------------------------)NVME050ƒ=�0Œ#�of�VME050ƒSystem�Controller IFGTˆ\NVME0507ƒNT050$1ƒ=�0Œ#�of�terminals�on�the�VME050�board;�max=�26ƒNP050$1ƒ=�0Œ#�of�printers‚on�the�VME050�board;�max=�1ENDC O*------------------------------------------------------------------------------8NVME300ƒ=�0Œ#�of�MVME300‚IEEE�488�GPIB�controller�boards O*------------------------------------------------------------------------------ANVME315ƒ=�1Œ#�of�MVME315‚winchester/floppy�disk�controller�boards IFGTˆ\NVME315+ƒCONT3151‚=�"3"Š1st�MVME315�is�controller�3L éé8ƒNH315$1ƒ=�1Œ#�of�hardƒdisk�drives�on�1st�VME315;�max=�2:ƒNF315$1ƒ=�4Œ#�of�floppy�disk�drives�on�1st�VME315;�max=�4 AƒM3150$1ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�1st�MVME315�boardAƒM3151$1ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�1st�MVME315�boardCƒM3154$1ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�1st�MVME315�boardCƒM3155$1ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�1st�MVME315�boardCƒM3156$1ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�1st�MVME315�boardCƒM3157$1ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�1st�MVME315�board +ƒCONT3152‚=�"6"Š2nd�MVME315�is�controller�68ƒNH315$2ƒ=�0Œ#�of�hardƒdisk�drives�on�2nd�VME315;�max=�2:ƒNF315$2ƒ=�0Œ#�of�floppy�disk�drives�on�2nd�VME315;�max=�4 AƒM3150$2ƒ=�"'H5WIN15'"‚Type�of�1st�hardƒdisk�on�2nd�MVME315�boardAƒM3151$2ƒ=�"'H5WIN15'"‚Type�of�2nd�hardƒdisk�on�2nd�MVME315�boardCƒM3154$2ƒ=�"'F8SDDSM'"‚Type�of�1st�floppy�disk�on�2nd�MVME315�boardCƒM3155$2ƒ=�"'F8SDDSM'"‚Type�of�2nd�floppy�disk�on�2nd�MVME315�boardCƒM3156$2ƒ=�"'F5DDDSI'"‚Type�of�3rd�floppy�disk�on�2nd�MVME315�boardCƒM3157$2ƒ=�"'F5DDDSI'"‚Type�of�4th�floppy�disk�on�2nd�MVME315�boardENDC O*------------------------------------------------------------------------------@NVME316ƒ=�0Œ#�of�MVME316‚VMEbus�to�I/O�channel�interface�boards;éé*˜max=�1I****�NOTE:‚Do�not�use�VME316�in�this�system,�as�I/O�channel�is�already�on3****ˆthe�CPU�board!‚See�"&.M316DEF.CI"�for�details. O*------------------------------------------------------------------------------ƒNF4205$1‚=�2Œ#�of�floppy�disk�drives�on�VME420�(SASI);�max=�2AƒM42050$1‚=�"'H5WIN15'"‚Type�of�hardƒdisk�on�1st�MVME420,�drive�0AƒM42051$1‚=�"'H5WIN15'"‚Type�of�hardƒdisk�on�1st�MVME420,�drive�1CƒM42052$1‚=�"'F5DDDSI'"‚Type�of�floppy�disk�on�1st�MVME420,�drive�2CƒM42053$1‚=�"'F5DDDSI'"‚Type�of�floppy�disk�on�1st�MVME420,�drive�3ƒ*>ƒ*…NOTE:‚Total�disks�for�SASI=�4,�i.e.�NH4205$1+NF4205$1�<=�4.ƒ*ENDC O*------------------------------------------------------------------------------=NVME4208‚=�0Œ#�of�MVME420‚SASI�8"�interface�controller�boards*IFGTˆ\NVME42080ƒCONT4208‚=�"2"ŠMVME420�(SASI�8)�is�controller�2<ƒNH4208$1‚=�0Œ#�of�hardƒdisk�drives�on�VME420�(SASI);�max=�2>ƒNF4208$1‚=�0Œ#�of�floppy�disk�drives�on�VME420�(SASI);�max=�2AƒM42080$1‚=�"'H8WIN10'"‚Type�of�hardƒdisk�on�1st�MVME420,�drive�0AƒM42081$1‚=�"'H8WIN10'"‚Type�of�hardƒdisk�on�1st�MVME420,�drive�1CƒM42082$1‚=�"'F8DDDSI'"‚Type�of�floppy�disk�on�1st�MVME420,�drive�2CƒM42083$1‚=�"'F8DDDSI'"‚Type�of�floppy�disk�on�1st�MVME420,�drive�3ƒ*>ƒ*…NOTE:‚Total�disks�for�SASI=�4,�i.e.�NH4208$1+NF4208$1�<=�4.ƒ*ENDC O*------------------------------------------------------------------------------;NVME435ƒ=�0Œ#�of�MVME435‚mag�tape�controller�boards;�max=�2 IFGTˆ\NVME435;ƒN435$1„=�0Œ#�of�tape�drives�on�first‚MVME435�board;�max=�8<ƒN435$2„=�0Œ#�of�tape�drives�on�second�MVME435�board;�max=�8ENDC O*------------------------------------------------------------------------------7NVME600ƒ=�0Œ#�of�MVME600‚analog�input‚controller�boards O*------------------------------------------------------------------------------8NVME605ƒ=�0Œ#�of�MVME605‚analog�output�controller�boards IFGTˆ\NVME6059ƒNU605…=�0ŒNumber�of�users�(total)�for�the�MVME605�boardsENDC O*------------------------------------------------------------------------------3NVME610ƒ=�0Œ#�of�MVME610…AC‚input‚controller�boards IFGTˆ\NVME610GƒM610QSIZ‚=�128…Minimum�number�of�entries�in�Interrupt�Processing�QueueENDC O*------------------------------------------------------------------------------8NVME615ƒ=�0Œ#�of�MVME615/616�AC‚output�controller�boards IFGTˆ\NVME6159ƒNU615…=�0ŒNumber�of�users�(total)�for�the�MVME615�boardsENDC O*------------------------------------------------------------------------------3NVME620ƒ=�0Œ#�of�MVME620…DC‚input‚controller�boards O*------------------------------------------------------------------------------4NVME625ƒ=�0Œ#�of�MVME625…DC‚output�controller�boards IFGTˆ\NVME6259ƒNU625…=�0ŒNumber�of�users�(total)�for�the�MVME625�boardsENDC O*------------------------------------------------------------------------------#NRAD†=�0Œ#�of�RAD†Remote�A/D�boards IFGTˆ\NRADƒNURAD…=�0Œ#�of�RAD�usersENDC O*------------------------------------------------------------------------------#NRIO†=�0Œ#�of�RIO†Remote�I/O�boards IFGTˆ\NRIO1ƒNRIOINTƒ=�0Œ#�of�interrupt�levels�per�I/O�moduleENDC O*------------------------------------------------------------------------------éM éé'VME115 COPYSGENCF ¶ ¶²qqNITIO1 AG × ×'6qq=/*<=/*‚VME115.COPYSGEN.CF‚-‚Chain�file�to�copy�files�for�SYSGEN=/*'=/*‚--‚FORCE�CATALOG�TO�BE�SET�=�VME115 =USE :.VME115=/*D=/*†This�chainfile�copies�those�files�required�to�do�a�SYSGEN�into�a'=/*†a�specified�volume�and�user�number.=/*;=/*ƒInvoke�as:„=VME115.COPYSGEN.CF‚arg1,arg2,arg3,arg4,arg5 =/*…where:.=/*‰Arg1=�\1„Source�volume�nameŒ(must�specify).=/*‰Arg2=�\2„Target�volume�nameŒ(must�specify).=/*‰Arg3=�\3„Target�user�numberŒ(must�specify)-=/*‰Arg4=�\4„COPY�option�letter(s)‰(optional)=/*—B�=�both�copy�&�verify=/*—P�=�pack�files =/*—Y�=�overwrite�if�file�exists*=/*—N�=�skip�copy�if�file�existsƒ(default)*=/*–VT�=�verify�&�show�only�1st�difference2=/*‰Arg5=�\5„include�PCDRV�driver�filesƒ(optional)=/*—PCDRV�=�include�them=OPT N=/RX=\0=/RD=0 =/IF RX < 3…=/RD=1=/ENDIF =/IF RX > 5…=/RD=1=/ENDIF =/IF RD=0 …=/IFC�\1Š=/RD=1…=/ENDIF …=/IFC�\2Š=/RD=2…=/ENDIF …=/IFC�\3Š=/RD=3…=/ENDIF …=/IFC�\4 Š=/IFC�\5�=ARG�\1,\2,\3,N,-PCDRVŠ=/ELSE�=ARG�\1,\2,\3,N,\5Š=/ENDIF…=/ENDIF …=/IFC�\5ˆ=ARG�\1,\2,\3,\4,-PCDRV…=/ELSEˆ=/IFEQ�"PCDRV"\5ˆ=/ELSE‹=/IFEQ�"-PCDRV"\5‹=/ELSEŽ=/RD=5‹=/ENDIFˆ=/ENDIF…=/ENDIF=/ENDIFJ=/*‚Set�Arg6�so�this�file�can't�be�rerun�directly�w/o�setting�proper�args!=ARG \1,\2,\3,\4,\5,ARGS=OPT -N =/IF RD <> 0Mƒ=/*�INVOCATION�ERROR!�Insufficient,�null,�and/or�invalid�argument�specified!ƒ=/R?ƒ=END=/ENDIF *=/* ==== Start driver related file copying=/IFEQ "PCDRV"\5O=/*----------------------------------------------------------------------------"=/* Copy all RAD1 files for sysgen=/@„\1:9998.COPYGEN.RADDRV.CFO=/*----------------------------------------------------------------------------!=/* Copy all RIO files for sysgen=/@„\1:9998.COPYGEN.RIODRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME600 files for sysgen=/@„\1:9998.COPYGEN.M600DRV.CF ®P ·( ¿' ÇO=/*----------------------------------------------------------------------------$=/* Copy all VME605 files for sysgen=/@„\1:9998.COPYGEN.M605DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME610 N files for sysgen=/@„\1:9998.COPYGEN.M610DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME615 files for sysgen=/@„\1:9998.COPYGEN.M615DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME625 files for sysgen=/@„\1:9998.COPYGEN.M625DRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all PCDRV common files for sysgen=/@„\1:9998.COPYGEN.PCDRV.CF=/ENDIFO=/*----------------------------------------------------------------------------,=/* Copy all driver library files for sysgen=/@„\1:9998.COPYGEN.DRVLIB.CFO=/*----------------------------------------------------------------------------)=/* Copy all DART driver files for sysgen=/@„\1:9998.COPYGEN.DARTDRV.CFO=/*----------------------------------------------------------------------------)=/* Copy all MPSC driver files for sysgen=/@„\1:9998.COPYGEN.MPSCDRV.CFO=/*----------------------------------------------------------------------------5=/* Copy all VME115 local PRT driver files for sysgen=/@„\1:9998.COPYGEN.P115DRV.CFO=/*----------------------------------------------------------------------------(=/* Copy all PRT driver files for sysgen=/@„\1:9998.COPYGEN.PIADRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME050 driver files for sysgen=/@„\1:9998.COPYGEN.M050DRV.CF=/@„\1:9998.COPYGEN.P050DRV.CF=/@„\1:9998.COPYGEN.MPCCDRV.CFO=/*----------------------------------------------------------------------------+=/* Copy all VME300 (GPIB) files for sysgen=/@„\1:9998.COPYGEN.M300DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME315 files for sysgen=/@„\1:9998.COPYGEN.M315DRV.CFO=/*----------------------------------------------------------------------------F=/* Copy all VME316 (VMEbus to I/O channel interface) files for sysgen=/@„\1:9998.COPYGEN.M316DEF.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME320 files for sysgen=/@„\1:9998.COPYGEN.M320DRV.CFO=/*----------------------------------------------------------------------------/=/* Copy all VME435 (mag tape) files for sysgen=/@„\1:9998.COPYGEN.M435DRV.CFO=/*----------------------------------------------------------------------------7=/* Copy all RWIN1 (Winchester) driver files for sysgen=/@„\1:9998.COPYGEN.RWINDRV.CFO=/*----------------------------------------------------------------------------*=/* Copy all disk related files for sysgen=/@„\1:9998.COPYGEN.DSKPARAM.CFO=/*----------------------------------------------------------------------------=/*=/**=/* ==== Start system related file copyingO=/*-----------------------------------------------------------------------------=/*‚Copy�all�VME115�specific�files�for�sysgen=/@„\1:9998.COPYGEN.VME115.CFO=/*----------------------------------------------------------------------------!=/* Copy all EET files for sysgen=/@„\1:9998.COPYGEN.EET.CFO=/*----------------------------------------------------------------------------'=/* Copy all FHS & IOS files for sysgen=/@„\1:9998.COPYGEN.FHSIOS.CFO=/*----------------------------------------------------------------------------!=/* Copy all FMS files for sysgen=/@„\1:9998.COPYGEN.FMS.CFO=/*----------------------------------------------------------------------------$=/* Copy all LOADER files for sysgen=/@„\1:9998.COPYGEN.LOADER.CFO=/*----------------------------------------------------------------------------<=/* Copy all BEGIN/END files for sysgen (OSLIST and VERSAPT)=/@„\1:9998.COPYGEN.BEGINEND.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOI files for sysgen=/@„\1:9998.COPYGEN.IOI.CFO=/*----------------------------------------------------------------------------'=/* Copy all CNFG TASK filN es for sysgen=/@„\1:9998.COPYGEN.CNFGTASK.CFO=/*----------------------------------------------------------------------------!=/* Copy all IOC files for sysgen=/@„\1:9998.COPYGEN.IOC.CFO=/*----------------------------------------------------------------------------!=/* Copy all .EQ files for sysgen=/@„\1:9998.COPYGEN.EQ.CFO=/*----------------------------------------------------------------------------2=/*‚Copy�all�the�rest�of�the�root�files�for�sysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*2=/*†VME115.COPYSGEN.CF‚completed.‰Have�a�nice�day!=/*N=/*‚No�"NOARG"�and�"=END"�because�independent�driver�release�items�may�follow!éééé6INITIO„IDNTƒ1,0�RMS68K�I/O�initializer�for�the�VME115.O*******************************************************************************O*******************************************************************************O**********************************************************************************É***A***…ROUTINE:‚INITIO�--�RMS68K�I/O�INITIALIZER�FOR�THE�VME115.Š******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***(***‡Copyright�1983�by�Motorola,�Inc.¢******É***D***…FUNCTION:‚Routines�from�this�module�are�called�by�the�RMS68K‡***E***‡routine�INIT�during�system�initialization.‚All�board-specific„***.***‡initialization�is�done�in�this�module.œ******É***G***…NOTES:‚This�module�is�SUBSed,�ASMed,�and�LINKed�at�SYSGEN�time.„***?***‡All�modules�will�run�at�level�7�and�in�supervisor�mode.‹******É***O*******************************************************************************O*******************************************************************************O******************************************************************************* *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚ChangesI*…--------‚------‚-------------------------------------------------------8*†1/28/85ƒSJF„Changed�MMU�initialization�to�look�at�\MMU)*…08/28/84ƒMAD„PI/T�Initialization�added.*…05/03/84ƒSJF„Initial�writing.* * *‚XDEF's.*,ŠXDEFƒINITMMUŒRoutine�to�initialize�the�MMU.,ŠXDEFƒTIMERSTŒRoutine�to�start�up�the�timer.3ŠXDEFƒINITIO�Routine�to�set�up�all�the�other�board-*§specific�hardware. * *‚XREF's.* *…Routines:)ŠXREFƒKILLER�Routine�to�crash�the�system.*…Parameters�from�INITDAT:-ŠXREFƒTIMSLICŒ#�of�timer�tics�per�time�slice.+ŠXREFƒTIMERA�Addr�of�timer�chip�(MC146818).ŠXREFƒTIMINTVAŠXREFƒCLOCKFRQ*…SYSPAR�variables:6ŠXREF.S�MMUHEREŒAddr�of�MMU;�0�if�we're�not�using�one.0ŠXREF.S�FRST451ŒAddr�of�first�MMU�in�the�system./ŠXREF.S�LAST451ŒAddr�of�last‚MMU�in�the�system. Ï4 ØQ àH è9 ð1O 7ŠXREF.S�CURR451ŒPtr�to�MMU�LOADMMU�should�look�at�next.7ŠXREF.S�CURRSD�Current�segment�descriptor�#�in�the�MMU.7ŠXREF.S�DPRVAO�Dual-Ported�Ram�Versabus�Address�Offset.ŠXREF.S�DATE�Date.0ŠXREF.S�TIMESLIC‹#�of�timer�tics�per�time�slice.%ŠXREF.S�TIMINTRŒSYSPAR�usec�remainder7ŠXREF.S�TIMINTVŒTime�interval�between�timer�interrupts..ŠXREF.S�PTMADDRŒAddr�of�timer�chip�(MC146818). *„Others:.ŠXREFƒCRASHSAV‹Place�to�SAVE�info�if�we�CRASH.  **‚Included�files:**‰&.UTILITY.MC*‰M68451.M68451.EQ*‰M68230.M68230.EQ*ŠNOLISTŠINCLUDE�&.UTILITY.MCŠINCLUDE�M68451.M68451.EQŠINCLUDE�M68230.M68230.EQŠLISTŠPAGEO*******************************************************************************2*ˆDATE�CONVERSIONS�FROM�ONE�BINARY�FORM�TO�ANOTHER*Ç6*ˆORDINAL�DATE�-->�DAY�NUMBER�WHERE�DAY�1�=�JAN�1�1980***ˆCALL *’BSR‡DATEGO*¦BINARY�GREGORIAN�-�YYYYMMDD*§TO*¦BINARY�ORDINALƒ-�DAY�NUMBER*ˆINPUT'*’D0�=�DATE�TO�BE�CONVERTED�--�YYYYMMDD**ˆOUTPUT#*’D0�=�CONVERTED�DATE‡--�DAY�NUMBER*O******************************************************************************* ŠSECTION�8**‰NON-LEAP�DAYS�BEFORE�TABLE*ÇŠMOVE.B�#$A0,TCR(A1)‡Set�timer�to�generate�periodic�interrupts*ŠMOVE.B�#$4C,TIVR(A1)†Set�up�timer�vector.(ŠMOVE.L�#CLOCKFRQ,D0‡D0=ticks�per�second6* Divide to find out how many ticks per 10ms interval.E*ƒWe�want�to�divide�by�100�but�because�of�the�possibility�of�overflow,*ƒwe�must�divide�by�200,�then�multiply�by�2.(ŠDIVUƒ#200,D0ŒD0=ticks�per�05ms�interval*ŠAND.L‚#$0000FFFF,D0†Mask�to�just�quotient'ŠLSL.L‚#1,D0ŽD0=ticks�per�10ms�interval5ŠMOVE.W�TIMINTVA(PC),TIMINTV�Set�10ms�timing�interval5ŠLSR.L‚#5,D0ŽD0=value�for�preload�with�prescale�of�32"ŠMOVEP.L�D0,CPRH-2(A1)…Set�preload)ŠMOVE.B�#$A1,TCR(A1)‡Start�timer�ticking.ŠRESTORE�D0/A0/A1ŠRTS—BACK�TO�INITŠPAGEO*******************************************************************************O**********************************************************************************É***:***…ROUTINE:‚INITIO�--�INITIALIZE�BOARD-DEPENDENT�I/O.‘******É***H***…FUNCTION:‚This�routine�is�sort�of�a�catch�all�for�initializationƒ***/***‡of�things�other�than�the�timer�and�MMU.›******É******…NOTES:¾******É***E***…REGISTER�USAGE:‚(A)rgument‚(D)estroyed‚(P)reserved‚(R)eturnedƒ***)***Œ0ƒ1ƒ2ƒ3ƒ4ƒ5ƒ6ƒ7‡SR�hi„SR�lo�(CCR)…******‡D:ƒ.ƒ.ƒDƒ.ƒ.ƒ.ƒ.ƒ.‡.ˆD�******‡A:ƒ.ƒ.ƒ.ƒ.ƒ.ƒ.ƒ.ƒP ******É******…ENTRY�CONDITIONS:³******É***-***…EXIT�CONDITIONS�DIFFERENT�FROM�ENTRY:Ÿ******É***O*******************************************************************************O******************************************************************************* *7* Equates for the 68230 PI/T in the VME115 environment:*/MODE0„EQU�$0FƒMode�0:�unidirectional�8-bit�mode-VECTBASE�EQU�$C0ƒBase�interrupt�vector�numberBINTFUNC‚EQU�$18ƒInterrupt�function�for�PC5/PC6�vectored�interrupts;INTPRIO‚EQU�$05ƒInterrupt�priority:�HI-->�H3/H4/H2/H1�-->LO=INPUTSƒEQU�$00ƒSelect�all�inputs�thru�data�direction�register?OUTPUTS‚EQU�$FFƒSelect�all�outputs�thru�data�direction�register3NULLOUT‚EQU�$00ƒInitial�data�of�all�null�characters&SUBMODE‚EQU�$80ƒSubmode�1X�(bit�7�set)8H12ENAB‚EQU�$00ƒH1�disabled�(bit�3);�H2�disabled�(bit�2)6H34ENAB‚EQU�$06ƒH3�enabled‚(bit�3);�H4�enabled‚(bit�2).PITENAB‚EQU�$30ƒEnable�all�interrupts;�Mode�0. PAGEINITIO:*"* Get the base address of the chip*<ŠMOVE.L�TIMERA(PC),A0†Address�of�68230�PI/T�interrupt/timer.*G* Program the interrupt functions used by the serial port (H3), printerI* port (H2) and SYSFAIL (H4), and initialize Port A as outputs and Port B!* as inputs for the printer port.*AŠAND.B‚#MODE0,PGCR(A0)„Set�Port�Mode�Control�Register�for�Mode�0.<ŠMOVE.B�#VECTBASE,PIVR(A0)�Set�base�interrupt�vector�number.EŠMOVE.B�#INTFUNC+INTPRIO,PSRR(A0)�Set�interrupt�functions�&�priority.8ŠMOVE.B�#OUTPUTS,PADDR(A0)�Select�Port�A�as�all�outputs.6ŠMOVE.B�#INPUTS,PBDDR(A0)‚Select�Port�B�as�all�inputs.@ŠMOVE.B�#NULLOUT,PADR(A0)‚Set�Port�A�initial�data�as�null�chars.FŠMOVE.B�#SUBMODE+H12ENAB,PACR(A0)�Set�PortA�submode�1X,�H1,H2�disabledFŠMOVE.B�#SUBMODE+H34ENAB,PBCR(A0)�Set�PortB�submode�1X,�H3,H4�enabled.** Init Port C as follows:*ˆPC7:ƒInput„TIACK*ˆPC6:ƒInput„PIACK*ˆPC5:ƒOutputƒPIRQ:*ˆPC4:ƒOutputƒSYSFAIL�(drive�low�to�turn�off�startup�mode)*ˆPC3:ƒOutputƒTIRQ*ˆPC2:ƒInput„External�Clock!*ˆPC1:ƒOutputƒPrinter�Input�Prime