IMD 1.17: 25/11/2014 12:30:59 82VKXBVERDOS D* BT13:0 68K VERSADOS/RMS68K OBJECT 4.5 (DS,DD 96 tpi 5.1/4" DISK) REVISED: 04/22/86 DISK 13 OF 24  BT13 82VKXBVERDOS 0420±`- 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=/*‚SetArg6sothisfilecan'tbererundirectlyw/osettingproperargs!=ARG \1,\2,\3,\4,\5,ARGS=OPT -N =/IF RD <> 0Mƒ=/*INVOCATIONERROR!Insufficient,null,and/orinvalidargumentspecified!ƒ=/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.CFP(%08#@ 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 SIO driver files for sysgen=/@„\1:9998.COPYGEN.SIODRV.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 VME319 files for sysgen=/@„\1:9998.COPYGEN.M319DRV.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.CFNNNNNN O=/*----------------------------------------------------------------------------$=/* Copy all VME331 files for sysgen=/@„\1:9998.COPYGEN.M331DRV.CFO=/*----------------------------------------------------------------------------$=/* Copy all VME360 files for sysgen=/@„\1:9998.COPYGEN.M360DRV.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=/*-----------------------------------------------------------------------------=/*‚CopyallVME130specificfilesforsysgen=/@„\1:9998.COPYGEN.VME130.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=/*----------------------------------------------------------------------------N<=/* 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=/*‚Copyalltherestoftherootfilesforsysgen=/@„\1:9998.COPYGEN.ROOT.CFO=/*----------------------------------------------------------------------------=/*2=/*†VME130.COPYSGEN.CF‚completed.‰Haveaniceday!=/*N=/*‚No"NOARG"and"=END"becauseindependentdriverreleaseitemsmayfollow!NNN 6INITIO„IDNTƒ6,1RMS68KI/OinitializerfortheVME130.O*******************************************************************************O*******************************************************************************O**********************************************************************************É***E***…ROUTINE:‚INITIO--RMS68KI/OINITIALIZERFORTHEVME130BOARD.†****É***J***…ENVIRONMENT:‚PartoftheRMS68KexecfortheMotorola68000family.***(***‡Copyright1983byMotorola,Inc.¢******É***D***…FUNCTION:‚RoutinesfromthismodulearecalledbytheRMS68K‡***E***‡routineINITduringsysteminitialization.‚Allboard-specific„***.***‡initializationisdoneinthismodule.œ******É***G***…NOTES:‚ThismoduleisSUBSed,ASMed,andLINKedatSYSGENtime.„***?***‡Allmoduleswillrunatlevel7andinsupervisormode.‹******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revisionhistory(addnewchangestotop).*…Date†Author‚ChangesI*…--------‚------‚-------------------------------------------------------NNNHQYOaBiJq!y-‰2‘6*…02/25/86ƒJAH„Addedcodetoenablecacheaccelerator.@*…06/25/85ƒCBS„Addedfixtocachecleartofixbuginsomeearly*—68020masks.*4*…05/01/85ƒCBS„ConvertedmodulefromVM04toVME130.*C*†2/27/85ƒSJF„ChangedtimerinitializationtouseTIMINTVvaluefor+*—thenumberofmillisecondsbetweenticks.*…10/20/84ƒACC„Initialwriting.** * *‚XDEF's.*,ŠXDEFƒINITMMUŒRoutinetoinitializetheMMU.,ŠXDEFƒTIMERSTŒRoutinetostartupthetimer.3ŠXDEFƒINITIORoutinetosetupalltheotherboard-*§specifichardware. * *‚XREF's.* *…Routines:*…ParametersfromINITDAT:-ŠXREFƒTIMSLICŒ#oftimerticspertimeslice.(ŠXREFƒTIMERAAddroftimerchip(Z8036).4ŠXREFƒTIMINTVA‹#ofmillisecondsbetweentimertics.NNNN N4ŠXREFƒCLOCKFRQ‹Frequencyofclock(tosetuptimer).*…SYSPARvariables:6ŠXREF.SMMUHEREŒAddrofMMU;0ifwe'renotusingone.ŠXREF.SDATEDate.0ŠXREF.STIMESLIC‹#oftimerticspertimeslice.7ŠXREF.STIMINTVŒTimeintervalbetweentimerinterrupts.+ŠXREF.SPTMADDRŒAddroftimerchip(Z8036). *„Others:.ŠXREFƒCRASHSAV‹PlacetoSAVEinfoifweCRASH.  **‚Includedfiles:**‰&.UTILITY.MC*‰Z8036.Z8036.EQ*‰VME13X.CTRLSTAT.EQ*‰M68020.CACR.EQ*ŠNOLISTŠINCLUDE&.UTILITY.MCŠINCLUDEZ8036.Z8036.EQŠINCLUDEVME13X.CTRLSTAT.EQŠINCLUDEM68020.CACR.EQŠLIST ‰SECTIONƒ8ŠPAGEO*v*****************************************************************************O**********************************************************************************É***/***…ROUTINE:‚INITMMU--INITIALIZETHEˆMMU.•******É***?***…FUNCTION:‚VerifiestheexistenceoftheˆMMUandsetsit…***H***‡upforusebyRMS68K.‚TheVME130'sMMUisnotcurrentlysupported.****É******…NOTES:¾******É***E***…REGISTERUSAGE:‚(A)rgument‚(D)estroyed‚(P)reserved‚(R)eturnedƒ***)***Œ0ƒ1ƒ2ƒ3ƒ4ƒ5ƒ6ƒ7‡SRhi„SRlo(CCR)…******‡D:ƒPƒ.ƒ.ƒ.ƒ.ƒ.ƒ.ƒ.‡.ˆD******‡A:ƒPƒ.ƒ.ƒ.ƒ.ƒ.ƒ.ƒP ******É******…ENTRYCONDITIONS:³***+***‡Supervisormode,interruptlevel7.Ÿ******É***-***…EXITCONDITIONSDIFFERENTFROMENTRY:Ÿ******É***O*******************************************************************************O*^*****************************************************************************  ŠOPT„BRS INITMMU: ŠRTS  ŠPAGE O**********************************************************************************ˆSTARTTIMER„(Z8036TIMER)**N*********************************************************************************ˆCounterModeSpecReg*CSC†SET‡$00‘Initialize/CSC†SET‡1<<7+CSCŒEnableContinuousSingleCycle***C1EN…SET‡$00‘Initializeit C1EN…SET‡1<<2+C1EN‹EnableportA#C1EN…SET‡1<<6+C1EN‹EnableCounter1 C1EN…SET‡1<<7+C1EN‹EnableportB*)*ˆsetupcontrol/statusregforCounter1* C1SR…SET‡$001C1SR…SET‡0<<0+C1SR‹Thisisaread-onlystatusbit*¦showscountinprogress,C1SR…SET‡1<<1+C1SR‹Thisisawrite-onlybit,*¦triggerenabled8C1SR…SET‡1<<2+C1SR‹Count-downsequencetoresumeenabled0C1SR…SET‡0<<3+C1SR‹Readcountercontroldisabled.C1SR…SET‡0<<4+C1SR‹Int.error,aread-onlybitC1SR…SET‡0<<5+C1SR‹Int.pending"*¦1=thetimerrequiresservicing)C1SR…SET‡1<<6+C1SR‹Enabletimerinterrupt-C1SR…SET‡1<<7+C1SR‹Int.underserviceenabled* TIMERST: +ŠSAVEƒD0/A1ŽSaveregisterswe'llblowaway. E‰MOVE.WTIMSLIC(PC),TIMESLIC‚#TIMERINTERRUPTSBEFORETASKINTERRUPT‰LEA„Z8036,A1GETTIMERADDRESS#‰MOVE.LA1,PTMADDRSAVEITFOREXEC!‰BEQ.L‚TIMERBEBRANCHIFNOTIMER)‰PEA„TIMERBE(PC)ŒWHERETOGOONBUSERROR$‰MOVE.W#'BE',-(A7)ŒSETBUSERRFLAG**7‰MOVE.B„#CSC,CT1MO(A1)†Setcontinuousmodeoncounter1*‰NOP›ThisNOPforcestheexecutionunitto$*§waitforthebusinterfaceunitto%*§completeona68020(incaseweget*§abuserror). *H*‚Getthetimer"tick"interval(inmilliseconds)andsaveitinSYSPAR.*8ŠMOVEƒTIMINTVA(PC),D0„D0<--tickintervalfromINITDAT.#ŠMOVEƒD0,TIMINTV‰SaveitinSYSPAR. *L*‚Nowcalculatethenumberofcyclesthetimershouldcountbetween"ticks."N*‚Apparentlywehavea2Mhzinput,(4Mhzinput,butZ8036runsathalfspeed)@*‚so,(#ofcycles/tick)‚=‚(2000cycles/msec)*(#ofmsec/tick)*'ŠMULUƒ#2000,D0‹D0<--#ofcycles/tick.>ŠMOVE.BD0,CT1PL(A1)‡Givethechiptheleastsignificantpart.3ŠLSR„#8,D0ŽGivethechipthemost‚significantpart.ŠMOVE.BD0,CT1PM(A1)‡* **ˆNowstarttimerticking*'‰MOVE.B#C1EN,MCCR(A1)ˆENABLECOUNTER1(‰M OVE.B#C1SR,C1CSR(A1)‡ENABLEINTERRUPT.‰ADD.L‚#6,A7‘REMOVE'BE'ANDBUSERRORADDRESS !ŠRESTORED0/A1Restoreregisters.‰RTSšBACKTOINIT***;TIMERBE‚MOVE.L‚#CRASHSAV,PTMADDR‚USEDUMPPOINTERFORTIMER!ŠRESTORED0/A1Restoreregisters.‰RTS˜BACKTOINIT ***‰PAGE ‰XDEF„INITIO ‰SECTIONƒ8.**********************************************.*ƒValuestoputinVME130controlregisters.*.************************************************ˆMasterInterruptControlReg* INTCN„SET‡$00$INTCN„SET‡0<<0+INTCNŠ0=Clearreset*¦1=Softwarereset3INTCN„SET‡1<<1+INTCNŠEnablerightjustifiedaddress1INTCN„SET‡0<<2+INTCNŠTimervectorincludesstatus *¦disabled2INTCN„SET‡0<<3+INTCNŠPortBvectorincludesstatus *¦disabled2INTCN„SET‡0<<4+INTCNŠPortAVectorincludesstatus *¦disabled6INTCN„SET‡1<<5+INTCNŠ1=noint.vectorduringanIACK*¦0=outputtheint.vector6INTCN„SET‡0<<6+INTCNŠ1=disableint.fromlowerchain*¦0=operatenormally,INTCN„SET‡1<<7+INTCNŠEnablemasterinterrupt**‚Controlreg0*+ICNT0„SET…$00VMEbusint.vectornumberreg*£Thesebitsareenabledduring *£IACKcycles**‚Controlreg1*ICNT1„SET…$00Initializeit'ICNT1„SET…0<<0+ICNT1‰NA(notavailable)ICNT1„SET…0<<1+ICNT1‰NAICNT1„SET…0<<2+ICNT1‰NAICNT1„SET…0<<3+ICNT1‰NAICNT1„SET…0<<4+ICNT1‰NAICNT1„SET…0<<5+ICNT1‰NAICNT1„SET…0<<6+ICNT1‰NA"ICNT1„SET…1<<7+ICNT1‰DisableMPIRQ**‚Controlreg2* ICNT2„SET…$009ICNT2„SET…0<<0+ICNT2‰1=VMEbusint.statusint.disabled%*£0=VMEbusint.statusint.enabledICNT2„SET…0<<1+ICNT2‰AckVBIRQ1ICNT2„SET…0<<2+ICNT2‰AckVBIRQ2ICNT2„SET…0<<3+ICNT2‰AckVBIRQ3ICNT2„SET…0<<4+ICNT2‰AckVBIRQ4ICNT2„SET…0<<5+ICNT2‰AckVBIRQ5ICNT2„SET…0<<6+ICNT2‰AckVBIRQ6 ICNT2„SET…1<<7+ICNT2‰maskVBIRQ7**‚Controlreg3* ICNT3„SET…$00ICNT3„SET…0<<0+ICNT3‰Reserved0ICNT3„SET…0<<1+ICNT3‰InterruptRequestLevelIL0ICNT3„SET…0<<2+ICNT3‰IL1ICNT3„SET…0<<3+ICNT3‰IL2*§IL0-2correspondstoVBIRQxICNT3„SET…0<<4+ICNT3‰Reserved;ICNT3„SET…\SYSFAIL<<5+ICNT3‚0=disableSYSFAILinterrupts. *§1=enable‚SYSFAILinterrupts.0ICNT3„SET…1<<6+ICNT3‰0=disableallinterrupts.*§1=enableallinterrupts.4ICNT3„SET…0<<7+ICNT3‰DisallowVMEbusmonitoroverrun *£interrupt**‚Controlregister5.*ICNT5„SET…$00Initializeit.)ICNT5„SET…0<<0+ICNT5‰1=SYSFAILasserted*£0=SYSFAILnegated2*ICNT5„SET…1<<1+ICNT5‰1=32bitVMEbusaddressing*£0=24bitVMEbusaddressing/*ICNT5„SET…1<<2+ICNT5‰1=32bitdataportsize*£0=16bitdataportsize>ICNT5„SET…1<<3+ICNT5‰1=disableVMX32busdiagnosticinterrupt**£0=enableVMX32busdiagnosticinterrupt8ICNT5„SET1<<4+ICNT50=letPALdecode68020addresses.)*§1=letVMX32busdecode68020addresses*=ICNT5„SET1<<5+ICNT50=forceVMX32buswritestotheVMEbus.'*§1=allowwritesacrosstheVMX32bus.***ICNT5„SET0<<6+ICNT50=enableVMX32bus.*§1=disableVMX32bus.*ICNT5„SET…0<<7+ICNT5ŒReserved**G*‚SetupthevaluewithwhichtoinitializetheCACR.‚ThisvalueshouldD*‚causethecachetobeflushedand,ifsysgenparameterCACHE020so%*‚specifies,shouldenablethecache.*CACR_VALUE‚SETŠ1<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>>>>>>…WhenincorporatinganydriversduringSYSGEN„<<<<<<<?*‚>>>>>>>…thatrequirememoryallocatedforthemasperƒ<<<<<<<?*‚>>>>>>>…thedriverpackageinstructions-thisistheƒ<<<<<<<,*‚>>>>>>>…spotthefile(s)gointo!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…Thisisalsothespotforcodeforadriver…<<<<<<<>*‚>>>>>>>…that‚requiresothertypesofinitialization,ƒ<<<<<<<0*‚>>>>>>>…such‚asclearinganinterrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGEITHERE—<<<<<<<*<*ˆWhenyouwritethecodethatistobemergedhere,wrapit*ˆaroundwiththefollowing:*NN:*ˆAtthebeginning,withDRVRxOUTreferringtoyourunique*ˆlabel,putthiscode:*'*‹PEA„DRVRxOUT(PC)„IFBUSERROROCCURS,*¢RETURNORGOONTONEXT*¢DRIVER'SINITIALIZATION**‹MOVE.W#'BE',-(A7)…SAVE'BUSERROR'FLAG*9*ˆTheninsertthecodetodowhatyouneedtodoforthis*ˆparticulardriver.**ˆAttheend,putthis:***‹LEA„6(A7),A7ˆREMOVEBUSERRORFROMSTACK*DRVRxOUTƒEQU„**=*ˆInthisway,ifthecodeforonedrivercausesabuserror,.*ˆthecodeforotherdriverswillbeexecuted.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G***********************************************************************    ‰ENDNNNN N**ˆVME130.SYSTEM.CI*L****************************************************************************@*‚Thisfilecontainsallboard/systemdependenciesforVME130.Œ*&*‚Itiscalledfrom"&.VERSADOS.CD".¦**Ê*E*‚Theusershouldnothavetomodifythisfileexceptunderextreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ONBOARDRAMADDRESSES*>*†VMEbusdriversrequirethefollowingtargetsystemdependentB*†variablestobedefinedwhenthemacrofileDUALPORT.MCisused:<*†NotethattheONBD$HIparametermayvaryontheVME110and<*†andVME101systemsdependingonthesizeandnumberofRAM<*†chipsusedontheprocessorcard.‚Thevaluesshownarethe?*†minimumrequirements.Modifythatparametertomatchyourown*†systemifdifferent.**;ONBD$LOƒ=$0‹Lowvalueforon-boardram(asseenbydriver)RAM$SQ„=$0‹Differencebetweenon-boardramaddressasseenby*˜driveranddevice.JOFFBD$LO‚=\ONBD$LO+\RAM$SQLowvalueforon-boardram(asseenbydevice)JOFFBD$HI‚=\ONBD$HI+\RAM$SQHighvaluforon-boardram(asseenbydevice) FMSG‰******************************************************************MSG‰**ˆAddressesoftimer,etc.FMSG‰****************************************************************** #TIMER…=$FFFB0000„Addressoftimer.3CLOCKFRQ‚=0ŒNumberofclocktickspermillisecond.7PANEL…=$0‹Addressoffrontpanel(notusedonVME130).5TRCFLAGƒ=0ŒTraceflag.‚Zeroimpliesdon'ttrace.‚The/*˜settingofbitsintheTRCFLAGparameterwill1*˜controlwhicheventscauseanentrytobebuilt*˜inthetracetable.*˜Bit#inTRCFLAG†Event *›15‘TRAP#1*›14‘I/Ointerruptnotclaimed*°byusertask.*›13‘Timerinterrupt.*›12‘Usertrap(2-15)*›11‘Exception *›10‘Dispatch*œ9‘I/Ointerruptclaimedby *°usertask*œ8‘ReturnfromLOADMMU™5¢ª²4º$*œ7‘Simulatedinterrupt*œ6‘SYSFAILinterrupt.**?SYSFAILƒ=0ŒDetermineswhetherornottheoperatingsystemwill5*˜beinterruptedwhenSYSFAILisassertedonthebus.2*˜SomeintelligentboardswillassertSYSFAILwhen0*˜theyexperienceafailureofsomekind.‚Ifyou5*˜havesuchboardsinthesystem,ANDTHEDRIVERSFOR3*˜THESEBOARDSHAVESYSFAILHANDLERS,thenyouwill2*˜probablywantSYSFAILinterruptsenabled.‚Ifthe4*˜appropriateSYSFAILhandlersarenotwritten,then5*˜takingaSYSFAILinterruptwillhangupthesystem,0*˜soyouwouldwantSYSFAILinterruptsdisabled.!*š0=disableSYSFAILinterrupts. *š1=‚enableSYSFAILinterrupts.FMSG‰******************************************************************.MSG‰**ƒLocalterminal/printerdeviceaddresses#MSG‰**ƒShortI/Ospacebaseaddress&MSG‰**ƒShortI/OspaceaddressoffsetsFMSG‰****************************************************************** :&VECTNOƒ=$FFŠStartingVectorNumber‚usedbyIOC.IPCDRV.AG8LTDA$01ƒ=$FFFB0040„VME130localterminalport1address8LTDA$02ƒ=$FFFB0050„VME130localterminalport2address 3SIOBASEƒ=$FFFF0000„BaseaddressofShortI/Ospace&DEVADDƒ=\SIOBASE.RMS.CIfileandhasavalueequal!*œtotheinitialprogramcounter.*@*ˆThefollowingparametersareusedtodefinememorypartitions.A*ˆIfonlypartition0exists,thenMEMEND2shouldbesettozero.*NNN@NOPARTSƒ=1ŒNumberofmemorypartitions(neededby&.INITMEM.AG)AMEMEND1ƒ=$400000†Theendƒofpartition0(assumedtostartat0).&MEMEND2ƒ=$0‹Thestartofpartition1.$MEMEND3ƒ=$0‹Theendƒofpartition1.:WHERLOAD‚=0ŒMemoryaddresswherebootfilewillbeloaded6*˜Ifnonzero,VERSAdoswillbemovedatinitialization*˜time.7CACHEF„=0ŒNotusedbyVME130(neededfor&.INITDAT.AG) =CACHE020‚=1ŒThisflagdetermineswhetherthe68020'son-chip!*˜instructioncachewillbeused:*š0=don'tuseit. *š1=useit. 7*˜Thefollowingflagsdeterminewhichtypesofaccesses8*˜willgetcachedbytheVME130'sinstruction/datacache1*˜Ineachcase,0=don'tcacheit,1=cacheit.0CACHEUIƒ=1Œ1=cacheuser‡instructionaccesses.)CACHEUDƒ=1Œ1=cacheuser‡dataˆaccesses.6CACHESIƒ=1Œ1=cachesupervisorinstructionaccesses./CACHESDƒ=1Œ1=cachesupervisordataˆaccesses.3ASMTYPEƒ=0ŒTypeofassemblertouseforINITIO1.AG *œ0-UseASM*œ1-UseASM020 >****************************************************************‰Vectornumbers£**>***************************************************************-IOCVEC1ƒ=$50ŠI/Ochannelinterrupt1vector.-IOCVEC2ƒ=$51ŠI/Ochannelinterrupt2vector.-IOCVEC3ƒ=$52ŠI/Ochannelinterrupt3vector.-IOCVEC4ƒ=$53ŠI/Ochannelinterrupt4vector.**IOCLVL1ƒ=2ŒI/Ochannelinterrupt1level.*IOCLVL2ƒ=3ŒI/Ochannelinterrupt2level.*IOCLVL3ƒ=4ŒI/Ochannelinterrupt3level.*IOCLVL4ƒ=5ŒI/Ochannelinterrupt4level. EMS G‰*****************************************************************)MSG‰**‚Parametersabouttablesizes,etc.EMSG‰***************************************************************** 'PAGESIZE‚=\PGSIZE†From.RMS.CI*)ASN‡=0Œ#ofaddressspaces--notusedbut!*˜neededtosatisfy&.INITDAT.AG. EMSG‰***************************************************************** MSG‰**½**#MSG‰**ŒADDRESSANDDATABUSSIZE˜**=MSG‰**…---------------------------------------------------…**'MSG‰**ŒA$SIZE=‚WIDTHOFADDRESSBUS“** MSG‰**½**)MSG‰**Œ32…=‚32BITEXTENDEDADDRESSING**)MSG‰**Œ24…=‚24BITSTANDARDADDRESSING** MSG‰**½**$MSG‰**ŒD$SIZE=‚WIDTHOFDATABUS–** MSG‰**½**#MSG‰**Œ32…=‚32BITLONGWORDDATA“**MSG‰**Œ16…=‚16BITWORDDATA—** MSG‰**½**EMSG‰***************************************************************** D$SIZE„=32 A$SIZE„=32 GMSG‰*******************************************************************>MSG‰*ƒCopythesysteminitializerintoM68XXX.INIT.RObasedon:MSG‰*ƒthetypeofmemoryallocationdefinedatRMSGENtimeMSG‰*ƒin.RMS.CD.GMSG‰******************************************************************* =COPY‡&.MTYPE.SI,MTYPE.SI;Y IFEQˆ\MEMALOC'ƒ=COPY‡BESTFIT.INIT.RO,M68XXX.INIT.RO;YENDC IFNEˆ\MEMALOC%ƒ=COPY‡BUDDY.INIT.RO,M68XXX.INIT.RO;YENDC GMSG‰*******************************************************************?MSG‰*ƒCopyC40O44.SYSPAR.ROinto&.SYSPAR.ROtomakeitgenericAMSG‰*ƒfor.LGfilesandpossibleforsysgeningmorethan1systemMSG‰*ƒperaccount#GMSG‰******************************************************************* $=COPY‡C40O44.SYSPAR.RO,&.SYSPAR.RO;YNNN'EET START AGÎÎY  $VERSADOSCI×× R  $**ˆEET.START.AG* *ˆRoutineto*,*’StarttheExit/EntryTask(EET)ifpresent********C*******‚IftheEETtaskispresentinthesystemitwillbestarted>*******‚howeverifnotpresentanimmediatereturnwilloccur.********ˆInput/*’A6=StartaddressofI/Ocommondatasegment**ˆOutput***ˆRegisterAlteration**’A0=Destroyed*’D0=Destroyed*‰PAGE**ˆINCLUDEƒ&.TR1.EQ*ˆINCLUDEƒ&.KILL.MC*ˆINCLUDEƒ&.KILLIOI.MC*‰NOLIST‰INCLUDEƒ&.TR1.EQ‰I NCLUDEƒ&.KILL.MC‰INCLUDEƒ&.KILLIOI.EQ‰LISTRESERVEDEQU‡0*œReservedfieldvalue‰PAGE‰XDEF†EETSTART   ‰PAGE ‰SECTION1 …IFNE‚\EET$* BIT0…EQU‡0*EETSPB:‰DC.B†'&EET'„Targettaskname"‰DC.L†2‰Targettasksessionnumber‰DC.B†0‰Directiveoptions‰DC.L†0‰Monitortaskname#‰DC.L†0‰Monitortasksessionnumber‰DC.B†60ˆTaskstartupregisters‰DS.W†0…ENDC‰PAGE EETSTART: …IFNE‚\EET$‰MOVE.L„#START,D0*œD0=Startdirective‰LEA‡EETSPB,A0'*œA0=Addressofstartparameterblock‰TRAP†#1 *œStarttask ŠIFTHEN.S MOVEM.LƒD0/A0,-(A7)*œSave*¡RMS68Kreturnederrorcode*¡Parameterblockaddress *¦onstackMOVE.L„#RESERVED,-(A7)MOVE.L„(A7),-(A7)*œReservedwordsmovedtostackMOVE.L„(A7),-(A7)*œTaskdefinedfieldvalue"MOVE.L„#KILLIOI<<8+KILLOI11,-(A7)*œAbortCode(MM,EE)+*œA7=Addressofparameterblocktousein*¡bringingthesystemdownKILL.CRITICALA7.*œWewillhaltthesysteminanorderlymanner‰ENDI +*œBringsystemdownifunabletostarttask…ENDC‰RTS*œReturntocaller‰ENDNÆZ**ˆEET.VERSADOS.CI*BMSG‰**************************************************************MSG‰**ˆEETEQUvaluesBMSG‰***************************************************************Autobreakinactive*›1-->Autobreakactive*˜Bit1:*›0-->Autologoninactive*›1-->Autologonactive*2LOGMSG1ƒ="VERSAdosVersion"Logonmessagepart1'REVNUMBR‚="4.5"†Logonmessagepart2*1*˜REVNUMBRisuseddynamicallyinCMDLISTaspart*¡ofthelogonmessage.*Ø TASKˆ&.EET.LO,&EETSTATE…='DORM'ATTRIB„='CRIT'ATTRIB„='SYST' SESSIONƒ=2PRIORITY‚=$C8*VVVVV‚BAW10/1/85&L0 = *&L1 =\&L0/\PAGESIZE*\PAGESIZEIFNE \&L0-\&L1&L0 = \&L1+\PAGESIZEENDCPC=\&L0ŒEETloadaddr. EETSTR = ** ^^^^^SUBSˆ&.EET.LG,&.CMDLIST.AG0ASM‰&.CMDLIST.AG,&.CMDLIST.RO,\WORKLS;R,\LISTOPT LINKˆ&.EET.LGEND‰EET5* Build VERSAdos patch chain file .VERSAPT.CF!=COPY‡VERSAPT.EET.CF,VERSAPT.CF;ANNNNNN'FMS IOI AGììS  $IXR AGõõ  $VERSADOSCIþþ  $* *ˆFMS.IOI.AG*G*ˆThiscodeisreferencedbythesysteminitializer.IfFMSispresent,B*ˆthedesiredFMSlogicwillbeexecuted.‚However,iftheuserhasA*ˆelectedtoremoveFMSfromthesystem,animmediatereturnwill*ˆbeexecuted.   ‰SECTION1 ‰XDEF†FMSIOI01 FMSIOI01: IFNE…\FMS$ ‰NOLIST‰INCLUDEƒ&.IOE.EQ‰INCLUDEƒ&.NIO.EQ‰INCLUDEƒ&.FME.EQ‰INCLUDEƒ&.FMI.EQ‰LIST ŠSECTION1*ˆINCLUDEƒ&.IOE.EQ*ˆINCLUDEƒ&.NIO.EQ*ˆINCLUDEƒ&.FME.EQ*ˆINCLUDEƒ&.FMI.EQ  NOVDTS EQU \TOTDSK NO. OF VDT'S!NOFCBS EQU \NODIFFIL NO. OF FCB'S NOFATS EQU \NOFILES NO. OF FAT'SNODVS‚EQU\NODEFVOLNO.OFDV'S#DEFFAB EQU \DEFFAB DEFAULT FAB SIZE"DEFDAT EQU \DEFDAT DEFAULT DB SIZE ‰XREF†FMSDLEN‰PAGE**ˆOUTPUT*’D0=FMSASQLENGTH***D*.IOI MUST CALCULATE LENGTH OF FMS DATA SEGMENT, AS WELL AS SOME ASQE*…LENGTHSBECAUSEOFRESTRICTIONSTHATLINKCANONLYADDANDSUBTRACT*…EXPRESSIONSWITHXREF'S*&*FMS STACK AREA IS FIRST PART OF FMSD- =*…STACKSIZEISDETERMINEDBYNO.OFDIFFERENTFILESTHATCAN*…BEOPENEDATONCE>*COMMON STACK MUST BE LARGE ENOUGH TO ACCOMODATE 12*(NOFCBS+1);*…PLUSALITTLEFORSUBROUTINECALLSISSUEDPRIORTODEVBSY8*…BEINGCALLED(ABOUT30BYTES)PLUSONECOMPLETESETOF*…REGISTERS(66BYTES)***ŠMOVE.L#NOFCBS+1,D0 ŠMULUƒ#12,D0ŠADD.L‚#100,D0 ŠMOVE.LD0,D1ŠMOVE.L#NOVDTS,D0ŠMULUƒ#VDTLEN,D0 ŠADD.L‚D0,D1ŠMOVE.L#NOFCBS,D0ŠMULUƒ#FCBLEN,D0 ŠADD.L‚D0,D1ŠMOVE.L#NOFATS,D0ŠMULUƒ#FATLEN,D0 ŠADD.L‚D0,D1ŠMOVE.L#NODVS,D0ŠMULUƒ#DVLEN,D0 ŠADD.L‚D0,D1*ŠMOVE.L#SECSZE*(SDBSZE+DBSZE+SATSZE+1),D0ŠMULUƒ#NOVDTS,D0ŠADD.L‚D0,D1ŽD1=SEGMENTLENGTHŠMOVE.LD1,FMSDLEN:*CALCULATE LENGTH OF .FMS'S ASQ (EVTLEN+FHSNLN)*(NOFATS+2)ŠMOVE.L#NOFATS+2,D0ŠMULUƒ#EVTLEN+FHSNLN,D0 ENDC‰RTS‰ENDäT* *ˆFMS.IXR.AG*E* File of I/O XDEF's whose values are determined by sysgen parameters* .ˆXDEF‚NOVDTS,NOFCBS,NOFATS,NODVS,DEFFAB,DEFDAT NOVDTS‚EQUƒ\TOTDSK„No.ofVDT'S!NOFCBS‚EQUƒ\NODIFFIL‚No.ofFCB'S NOFATS‚EQUƒ\NOFILESƒNo.ofFAT'SNODVSƒEQUƒ\NODEFVOL‚No.ofDV'S#DEFFAB‚EQUƒ\DEFFAB„DefaultFABsize"DEFDAT‚EQUƒ\DEFDAT„DefaultDB‚size ENDNNNNNNí**ˆFMS.VERSADOS.CI*AMSG‰*************************************************************'MSG‰**ˆFMS--FileManagementSystem”**AMSG‰*************************************************************TASKˆ&.FMS.LO,.FMSSTATE…='DORM'ATTRIB„='CRIT'ATTRIB„='RTIM'ATTRIB„='SYST'PRIORITY‚=$D0*VVVVV‚BAW10/1/85&L0 = *&L1 =\&L0/\PAGESIZE*\PAGESIZEIFNE \&L0-\&L1&L0 = \&L1+\PAGESIZEENDCPC=\&L0ŒFMSloadaddr.FMSSTR„=*ŒFMSloadaddr.* ^^^^^ FMSASR„=*+2ŠFMSASRentry pointSUBSˆFMS.IXR.AG,ASM‰FMS.IXR.AG,FMS.IXR.RO,\WORKLS;R,\LISTOPT SUBSˆ&.FMS.LG LINKˆ&.FMS.LGEND‰FMS#*BuildVERSAdos‚.OSLIST.AG=COPY‡OSLIST.FMS.SI,OSLIST.AG;A5* Build VERSAdos patch chain file .VERSAPT.CF!=COPY‡VERSAPT.FMS.CF,VERSAPT.CF;ANNNNö'FHS IXR AG    $* *ˆFHS.IXR.AG*E* File of I/O XDEF's whose values are determined by sysgen parameters* ˆXDEF‚LUNS &LUNS„EQUƒ\MAXLU+1‚No.ofLU'spertask ENDNNNN NNN 'GET TASKID AG9  $**ˆGET.TASKID.AG* *ˆRoutineto'*’Getthespecifiedtaskidentification*:*ˆThisroutineiscalledbyFHS,IOS,andFMSduringtheir*ˆinitialization.**‰PAGE**ˆINCLUDEƒ&.TR1.EQ*ˆINCLUDEƒ&.TR1RTCD.EQ*‰NOLIST‰INCLUDEƒ&.TR1.EQ‰INCLUDEƒ&.TR1RTCD.EQ‰LIST‰PAGE**ˆINPUT:-*’A0=ADDRESSOFGETTASKIDPARAMETERBLOCK*’A1=TASKNAME*’D0=TASKSESSIONNUMBER** *ˆOUTPUT:**’A0=FIRST‚HALFOFTASKIDƒ(TCBADDRESS)+*’A1=SECONDHALFOFTASKIDƒ(SESSIONNBR)*’D0=RESULTSOFTRAPCALL***ˆRETURNCONDITONS:*–ZERO‚-ƒSUCCESSFULREQUEST!*’NON-ZERO‚-UNSUCCESSFULREQUEST‰PAGE**ˆEXTERNALDEFINITIONS* ‰XDEF†GETTSKID‰PAGE ‰SECTION0 GETTSKID:‰MOVE.L„A1,(A0)‰MOVE.L„D0,4(A0)*œSETRESPECTIVELY *TASKNAME*TASKSESSIONNUMBER‰MOVE.L„#GTTASKID,D0*œD0=GETTASKIDDIRECTIVE‰TRAP†#1*œINITIATEGETTASKIDREQUEST‰RTS*œRETURNTOCALLER‰ENDNNNN  :â'IOC M300XTR AG%%%  $BEGIN AG.. i  $P050DRV AG??<  $SCCDRV AGHH  $M300DRV AGYYz  $M320DRV AGrr@}  $M4205 AGËË  $M4208 AGììû  $RWINDRV AG  @”  $M435DRV AGVV  $ACIADRV AGww W  $M319DRV AGˆˆ‘½  $EPCIDRV AG!! ]  $VM20DRV AG223ã  $MFPDRV AGkk:  $MPCCDRV AGtt T  $MPSCDRV AG……€  $PIADRV AGžžˆ  $SCSIDRV AG¯ , Ÿ  $DRVS10 AGáá1  $**ˆ&.M300XTR.AG*(EXTR…IDNT†1,0‡GPIBExtraPageCalculator *‚Includedfiles: *‰&.IOE.EQ *‰&.CCB.EQ*‰&.M300DRV.EQŠNOLISTŠINCLUDE&.IOE.EQŠINCLUDE&.CCB.EQŠINCLUDE&.M300DRV.EQŠLIST 4‰XDEF†GPIBXP„ExtrapagewordtobepassedtoGPIBDRV*A*…NOTE:GPIBXPispassedtoGPIBDRVasaword,butonlytheupper@*ƒbytecontainsthevalidextrapages,andthelowerbyteis00.D*ƒthisisnecessarybecauseonlywordsmaybepassedthroughanXREF4*ƒandCMRexpectstheExtraPagesinthefirstbyte.*BGPIBUCL0 SET \GB0$UCL+\G0A$UCL+\G0B$UCL+\G0C$UCL+\G0D$UCL+\G0E$UCLBGPIBUCL0 SET GPIBUCL0+\G0F$UCL+\G0G$UCL+\G0H$UCL+\G0I$UCL+\G0J$UCL9GPIBUCL0 SET GPIBUCL0+\G0K$UCL+\G0L$UCL+\G0M$UCL+\G0N$UCL BGPIBUCL1 SET \GB1$UCL+\G1A$UCL+\G1B$UCL+\G1C$UCL+\G1D$UCL+\G1E$UCLBGPIBUCL1 SET GPIBUCL1+\G1F$UCL+\G1G$UCL+\G1H$UCL+\G1I$UCL+\G1J$UCL9GPIBUCL1 SET GPIBUCL1+\G1K$UCL+\G1L$UCL+\G1M$UCL+\G1N$UCL GPIBUCL‚SET†GPIBUCL0‰IFGT…GPIBUCL1-GPIBUCL0GPIBUCL‚SET†GPIBUCL1‰ENDC /GPIBXPƒEQU‡(GPIBUCL+(IOSILN*15)+CNFGAREA)&$FF00 ‰ENDNNN&**ˆIOC.BEGIN.AG*O*********************************************************************************ˆIOC--DEFINEDCB'SANDCDB'S*(*‡(ThemacrosusedaredefinedinIODM.)*E*‚08/01/84‚ChangedNOSASItoNVME420,NOWINtoNORWIN,andTOTM435to=*ŒNVME435forthenewsysgenmethod.‚SplitoutdriverDCB/CDB&*ŒalsotorelocatableIOCfilemethod.4*‚11/10/83‚ModifiedtouseIOCVECandIOCLVLequates&*ŒincludesWinchesterandSASIdrivers*Œmagtapeatlevel1'*‚09/02/83‚Modifiedfo  rmagtapedriver*O******************************************************************************* *‚Includedequatefiles: *†&.IOE.EQ *†&.NIO.EQ* NOLIST‚INCLUDEƒ&.IOE.EQ‚INCLUDEƒ&.NIO.EQ LIST *@*‚ThissectionbecomesIOCOMS,whichisusedbyFMS,IOS,&FHS.*#IOCOM„IDNT†04,01‡I/OCOMMONSEGMENT SECTION0‚===DCBSECTION=== OPT MEX  XDEF IOCOMS,CCSEG XREF DCBEND *6*‚Hereareparametersdescribingthetablesandlists.*IOCOMS DC.L0†I/Osysgenoptions. ( DC.L DCQSTR Start address of DCQ space.&DC.LDCQENDEndƒaddressofDCQspace.DC.L0†Addressof1stDCQ. ( DC.L LUTSTR Start address of LUT space.&DC.LLUTENDEndƒaddressofLUTspace.DC.L0†Addressof1stLUT. ( DC.L DCBTBL Start address of DCB space.&DC.LDCBENDEndƒaddressofDCBspace. DC.L DCBTBL Address of 1st DCB. DC.L0SEMAPHOREFLAG%DC.B0SYSTEMTASKCOORDINATIONFLAG *“BIT‡MEANING%*•0‡0-->IOSINITIALIZATIONNOTDONE*1-->IOSINITIALIZATION…DONE%*•1‡0-->FHSINITIALIZATIONNOTDONE*1-->FHSINITIALIZATION…DONE%*•2‡0-->FMSINITIALIZATIONNOTDONE*1-->FMSINITIALIZATION…DONEDCB.B15,0‰FORFUTUREUSE(DC.L0,0,0‰TASKIDFORUNCLAIMEDBREAKS PAGEO********************************************************************************C*ˆStorageforDCQ'sandLUT's.‚Initiallythesetwolistsareempty.*O******************************************************************************* * *‚DCQspace.*&O/ DCQSTR EQU * DS.B \PAGESIZE*\DCQPGEDCQEND EQU *-1 * *‚LUTspace.* LUTSTR EQU * DS.B LUTBEG*\NOTASKS DS.B LUTSEG*\NOTASKS*(\MAXLU+1)LUTEND EQU *-1‰PAGEO**********************************************************************************ˆDefineDCB'sbasedonSYSGENparameters.*O******************************************************************************* *SECTION0‚===DCBSECTION===*DCBTBLEQU*‡ThisisthetopofDCBspace.  SECTION1‚===CDBSECTION===IDC.W0‚@@@@dummyallocationtosatisfyLINK1.6problemofnullsection)CCSEG‚EQU*‡ThisisthetopofCDBspace.  ENDNNNNN**ˆIOC.P050DRV.AG**‚Includedequatefiles: *‰&.IOE.EQ *‰&.NIO.EQ*ŠNOLISTŠINCLUDE&.IOE.EQŠINCLUDE&.NIO.EQŠLIST !*‚Includeddevicespecificmacros*‰MACRO.DCB.SI*‰MACRO.DCBPRT.SI*ŠNOLISTŠINCLUDEMACRO.DCB.SIŠI  NCLUDEMACRO.DCBPRT.SIŠLIST ŠPAGE&*‚AssignvaluesfromSYSGENparameters*.DVCODEƒSET\&PRTDV„Definestartingdevicecode0L050$01‚EQU\L050$01ƒDefineVME050boardaddress6NP050$1‚SET\NP050$1ƒDefine#printersonVME050board=PRT050ƒEQU\P050DRVƒDefinethephysicaladdressofthedriver 5CNAME„SET…('C'<<16)+(DVCODE>>8)‚channelnamemnemonicE*ƒNOTE:‚UseofCNAMEguaranteesthattheASCIIprinterDCBidentifier>*Š(PR‚,PR1,etc)willalwayscorrespondwiththechannelname*Šmnemonic(CPR,CPR1,etc.). O*******************************************************************************:*‚SETUPDCB'S&CDB'SFORREMOTEPRINTERS‚-‚VME050boardsO******************************************************************************* /* Define PCP$ATW one time here for all printers;PCP$ATW‚SET…\PCP$BUSY<<3+\PCP$TLRL<<2+\PCP$AFF<<1+\PCP$LNFD IFGE‚NP050$1-1*ƒVME050Board.printerport**--‚DATACONTROLBLOCK‚--*K PRTDCB DVCODE,IOSID,IOSESS,$632,95,1,CNAME,0,$000F,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELCIFNEDVCODE-'PR‚'1DVCODESETDVCODE+$100‚SETUPFORNEXTPRINTERID ENDCIFEQDVCODE-'PR‚'DVCODE SET 'PR1 ' ENDC ***‚CHANNELDATABLOCK‚***: CDB 0,CNAME,XTPV050,254,PRT050,0,L050$01+$81,7,$8B,5,$10,&„0,0,0,0,0,0,0,0,0,0,0  ENDC  ENDN7=**ˆIOC.SCCDRV.AG**‚Includedequatefiles: *†&.IOE.EQ *†&.NIO.EQ *†&.LV5.EQ*‰NOLIST‰INCLUDEƒ&.IOE.EQ‰INCLUDEƒ&.NIO.EQ‰INCLUDEƒ&.LV5.EQ‰LIST !*‚Includeddevicespecificmacros*†MACRO.DCB.SI*†MACRO.DCBTERM.SI*‰NOLIST‰INCLUDEƒMACRO.DCB.SI‰INCLUDEƒMACRO.DCBTERM.SI‰LIST*2*‚IncludefiletosetupaddressesforZ8530ports*0‰INCLUDEƒXSCCLOC.SIŠDefinesLTDA$01and$LTDA$02‰PAGE&*‚AssignvaluesfromSYSGENparameters*.DVCODE„SET\&CRTDV„Definestartingdevicecode9SCC‡EQU\SCCDRV„Definethephysicaladdressofthedriver  0*‚DefineTCP$ATWonetimehereforallterminalsITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3200$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$1,'H5WIN05  '**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*N“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDCNNNNNNN‰IFC‡\M3200$1,'H5WIN70'**‚51/4"‚70‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN70.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME320*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3201$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10  .SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$1,'H5WIN40'*N*‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$1,'H5WIN70'**‚51/4"‚70‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN70.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME320*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NF320$1-1;************************************************************/*‚FirstfloppydiskonfirstMVME320controller*;*********************************************************** ‰IFC‡\M3202$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3202$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMf  ormat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3202$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributesmaskforfloppyonMVME320*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3203$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3203$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3203$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributesmaskforfloppyonMVME320*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3200$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3200$2,'H5WIN70'**‚51/4"‚70‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN70.SI SIZESET‚SET‡1‰ENDC4*ƒ  Makesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME320*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3201$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3201$2,'H5WIN70'**‚51/4"‚70‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN70.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME320*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NF320$2-1;************************************************************0*‚FirstfloppydiskonsecondMVME320controller*;*********************************************************** ‰IFC‡\M3202$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3202$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3202$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributesmaskforfloppyonMVME320*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3203$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3203$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3203$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributesmaskforfloppyonMVME320*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NH42 0-1=**************************************************************,*ƒFirstharddiskonfirstSASI5‚controller*8******************************************************** ‰IFC‡\&M4200,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4200,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4200,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4200,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*ÃaÌMÔGÜ#/*‚SetupattributemaskforharddiskonSASI‚5*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\&M4201,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4201,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4201,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4201,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*/*‚SetupattributemaskforharddiskonSASI5*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\&M4202,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDEƒ&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*+*‚SetupattributesmaskforfloppyonSAS5*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\&M4203,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDEƒ&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributesmaskforfloppyonSASI5*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NH420-1=**************************************************************,*ƒFirstharddiskonfirstSASI8‚controller*8******************************************************** ‰IFC‡\&M4200,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*/*‚SetupattributemaskforharddiskonSASI8*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\&M4201,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*/*‚SetupattributemaskforharddiskonSASI8*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NF420-1;************************************************************.*‚FirstfloppydiskonfirstSASI8controller*;*********************************************************** ‰IFC‡\&M4202,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDEƒ&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4202,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDEƒ&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributesmaskforfloppyonSASI8*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\&M4203,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDEƒ&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\&M4203,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDEƒ&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributesmaskforfloppyonSASI8*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN0$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$1,'H5WIN15'*XZOO&O.R6O>OF*‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributemaskforharddiskonRWIN1*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN1$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributemaskforharddiskonRWIN1*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN2$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributesmaskforfloppyonRWIN1*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN3$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributesmaskforfloppyonRWIN1*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN0$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN0$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributemaskforharddiskonRWIN1*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN1$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN1$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*.*‚SetupattributemaskforharddiskonRWIN1*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN2$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN2$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributesmaskforfloppyonRWIN1*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\RWIN3$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\RWIN3$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributesmaskforfloppyonRWIN1*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3190$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$1,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$1,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*8*‚SetupattributemaskforharddiskonMVME319/MVME315*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3191$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$1,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$1,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*8*‚SetupattributemaskforharddiskonMVME319/MVME315*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3192$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$1,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$1,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME319*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3193$1,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$1,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$1,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$1,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$1,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$1,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$1,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME319*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia;TAPE…SET‡0‰Ifnon-zerothentheyhavedefinedafloppytape O********************************************************************************)*ƒFLOPPYTAPEONFIRSTMVME319CONTROLLER*O*******************************************************************************‰IFGE†NF319$1-1 ‰IFC‡\M3194$1,'FTC525S'**‚Thisisafloppytape*“INCLUDE„&.FTC525S.SI*/*‚SetupskipfactorforfloppytapeonMVME319*DSKNM„SET‡'FT\CONT3191\FOUR'INTERLEAVESET…2 *2*‚SetupattributemaskforfloppytapeonMVME319*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3195$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESE T‚SET‡1‰ENDC‰IFC‡\M3195$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC 4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*6*‚SetupattributesmaskforfloppyonMVME319/MVME315*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3196$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC 4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*6*‚SetupattributesmaskforfloppyonMVME319/MVME315*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3197$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESE T‚SET‡1‰ENDC 4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*6*‚SetupattributesmaskforfloppyonMVME319/MVME315*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3190$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$2,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3190$2,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*8*‚SetupattributemaskforharddiskonMVME319/MVME315*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3191$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$2,'H5WIN05' **‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$2,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3191$2,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*8*‚SetupattributemaskforharddiskonMVME319/MVME315*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3192$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$2,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3192$2,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME319*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3193$2,'H8WIN10'**‚8"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H8WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$2,'H5WIN05'**‚51/4"‚5‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN05.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$2,'H5WIN10'**‚51/4"‚10‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN10.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$2,'H5WIN12'**‚51/4"‚12‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN12.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$2,'H5WIN15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$2,'H5WIN40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN40.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3193$2,'H5WIN50'**‚51/4"‚50‚megabyte‚hard‚disk*“INCLUDEƒ&.H5WIN50.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*0*‚SetupattributemaskforharddiskonMVME319*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia;TAPE…SET‡0‰Ifnon-zerothentheyhavedefinedafloppytape O**********************************************************************************ƒFLOPPYTAPEONSECONDMVME319CONTROLLER*O*******************************************************************************‰IFGE†NF319$2-1 ‰IFC‡\M3194$2,'FTC525S'**‚Thisisafloppytape*“INCLUDE„&.FTC525S.SI*/*‚SetupskipfactorforfloppytapeonMVME319*INTERLEAVESET…2DSKNM„SET‡'FT\CONT3192\FOUR' *2*‚SetupattributemaskforfloppytapeonMVME319*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3195$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3195$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC 4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*6*‚SetupattributesmaskforfloppyonMVME319/MVME315*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3196$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3196$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC 4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*6*‚SetupattributesmaskforfloppyonMVME319/MVME315*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3197$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\M3197$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC 4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*6*‚SetupattributesmaskforfloppyonMVME319/MVME315*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NFV20$1-1;************************************************************+*‚FirstfloppydiskonfirstFDCcontroller*;*********************************************************** ‰IFC‡\VM200$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM200$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM201$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM201$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM202$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM202$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM203$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM203$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NFV20$2-1;*********************************************************** *,*‚FirstfloppydiskonsecondFDCcontroller*;*********************************************************** ‰IFC‡\VM200$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM200$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM201$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM201$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM202$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM202$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM203$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM203$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonFDC*9ATT_MASKSET‚1<>8)‚channelnamemnemonic C*ƒDefineprinterattributeword(PCP$ATW)onetimeforallprinters;PCP$ATW‚SET…\PCP$BUSY<<3+\PCP$TLRL<<2+\PCP$AFF<<1+\PCP$LNFD O*******************************************************************************)*‚SETUPDCBFOR1STPIA(PORTA)PRINTERO******************************************************************************* IFGE‚NUBRD1-1**ƒPIA#1,printerportA**--‚DATACONTROLBLOCK‚--**K PRTDCB DVCODE,IOSID,IOSESS,$632,95,1,CNAME,0,$000F,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELC IFNEDVCODE-'PR‚'1DVCODESETDVCODE+$100‚SetupfornextprinterID ENDCIFEQDVCODE-'PR‚'DVCODE SET 'PR1 ' ENDC O*******************************************************************************)*‚SETUPCDBFOR1STPIA(PORTA)PRINTERO**********************************************************************************‚CHANNELDATABLOCK‚***> CDB 0,CNAME,CHANTYPE,254,PIA,0,DEVADDR1,7,IOCVECT,IOCLVL,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  O*******************************************************************************)*‚SETUPDCBFOR1STPIA(PORTB)PRINTERO*******************************************************************************IFGE‚NUBRD1-2*ƒPIA#1,printerportB5CNAME„SET…('C'<<16)+(DVCODE>>8)‚channelnamemnemonic**--‚DATACONTROLBLOCK‚--**–GŸBK PRTDCB DVCODE,IOSID,IOSESS,$632,95,1,CNAME,0,$000F,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELC IFNEDVCODE-'PR‚'DVCODE SET DVCODE+$100 ENDC)IFEQDVCODE-'PR‚'SETUPNEXTPRINTERIDDVCODE SET 'PR1 ' ENDC ***‚CHANNELDATABLOCK‚***D CDB 0,CNAME,CHANTYPE,254,PIA,0,DEVADDR1+PORTB,7,IOCVECT,IOCLVL,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC  IFGE‚NOPIA-2O*******************************************************************************)*‚SETUPDCBFOR2NDPIA(PORTA)PRINTERO*******************************************************************************IFGE‚NUBRD2-1*ƒPIA#2,printerportA5CNAME„SET…('C'<<16)+(DVCODE>>8)‚channelnamemnemonic**--‚DATACONTROLBLOCK‚--**K PRTDCB DVCODE,IOSID,IOSESS,$632,95,1,CNAME,0,$000F,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELC IFNEDVCODE-'PR‚'1DVCODESETDVCODE+$100‚SETUPFORNEXTPRINTERID ENDCIFEQDVCODE-'PR‚'DVCODE SET 'PR1 ' ENDC ***‚CHANNELDATABLOCK‚***> CDB 0,CNAME,CHANTYPE,254,PIA,0,DEVADDR2,7,IOCVECT,IOCLVL,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC O*******************************************************************************)*‚SETUPDCBFOR2NDPIA(PORTB)PRINTERO*******************************************************************************IFGE‚NUBRD2-2*ƒPIA#2,printerportB5CNAME„SET…('C'<<16)+(DVCODE>>8)‚channelnamemnemonic**--‚DATACONTROLBLOCK‚--**K PRTDCB DVCODE,IOSID,IOSESS,$632,95,1,CNAME,0,$000F,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELC IFNEDVCODE-'PR‚'DVCODE SET DVCODE+$100 ENDC)IFEQDVCODE-'PR‚'SETUPNEXTPRINTERIDDVCODE SET 'PR1 ' ENDC ***‚CHANNELDATABLOCK‚***D CDB 0,CNAME,CHANTYPE,254,PIA,0,DEVADDR2+PORTB,7,IOCVECT,IOCLVL,$10,&„0,0,0,0,0,0,0,0,0,0,0 ENDC ENDC END**ˆIOC.SCSIDRV.AG**‚Includedequatefiles: *†&.IOE.EQ *†&.NIO.EQ* NOLIST‚INCLUDEƒ&.IOE.EQ‚INCLUDEƒ&.NIO.EQ LIST*!*‚Includeddevicespecificmacros*†MACRO.DCB.SI*†MACRO.DCBDISK.SI* NOLIST‚INCLUDEMACRO.DCB.SI‚I NCLUDEMACRO.DCBDISK.SI LIST  PAGE***‚DefinevariablesusingSYSGENparameters*(SCSI…EQU\SCSIDRV‚addressofSCSIdriver(LSCSI$01EQU\LDDA$01‚SCSIboardaddress8NHSCSI$0EQU\NHSCSI$0#ƒharddisksonSCSIcontroller0:NFSCSI$0 EQU \NFSCSI$0 # floppy disks on SCSI controller 08NHSCSI$1EQU\NHSCSI$1#ƒharddisksonSCSIcontroller18NHSCSI$2EQU\NHSCSI$2#ƒharddisksonSCSIcontroller2:NFSCSI$2 EQU \NFSCSI$2 # floppy disks on SCSI controller 28NHSCSI$3EQU\NHSCSI$3#ƒharddisksonSCSIcontroller38NHSCSI$5EQU\NHSCSI$5#ƒharddisksonSCSIcontroller5:NFSCSI$5 EQU \NFSCSI$5 # floppy disks on SCSI controller 5 "CHAN_ID‚SET'SCSI'„SCSIchannelID =VECTORƒEQU‚$46†Usethisvectorforreturnstothedriverfrom*–theSCSIfirmware. ;DISKNUM‚SET‚0ˆThisisthedisknumberfortheDCBCDVfield.*–Startoutwithdisknumber0. ‰PAGEN*******************************************************************************Ì*!*ƒSETUPDCB'SFORCONTROLLER0¬**Ì*N****************************************************************************** ‰IFGE†NHSCSI$0-1'****************************************¥*#*ƒFirstharddiskoncontroller0ƒ**¥*'*************************************** DSKNM„SET‡'HD\CONTSCS0\ZERO' >SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$0,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI0$0,'H5SASI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI0$0,'H5SASI40'**‚51/4"‚40‚megabyte‚hard‚disk* §O°S¸TÀSÈSÐYØMàLèKðXøMY:MF N(X0N8Y@QHIPUXH`YhGpZxJ€Jˆ<M“INCLUDEƒ&.H5SASI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$0,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI1$0,'H5SASI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI1$0,'H5SASI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$0,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI2$0,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$0,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$0,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$0,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI3$0,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$0,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$0,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*‰IFC‡\SCSI0$1,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI0$1,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_004DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*‰IFC‡\SCSI1$1,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI1$1,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_004DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'EMULMD01',*------------------------------------------**ª*(*ƒEMULEXMEDALISTMD01diskcontrollerƒ**ª*,*------------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'ADAP5500'(*--------------------------------------**¦*$*ƒADAPTECACB5500diskcontrollerƒ**¦*(*--------------------------------------*‰IFC‡\SCSI2$1,'H5ADAP15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$1,'H5ADAP40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_006DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'SABER55M'&*------------------------------------**¤*! "*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'EMULMD01',*------------------------------------------**ª*(*ƒEMULEXMEDALISTMD01diskcontrollerƒ**ª*,*------------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$1,'ADAP5500'(*--------------------------------------**¦*$*ƒADAPTECACB5500diskcontrollerƒ**¦*(*--------------------------------------*‰IFC‡\SCSI3$1,'H5ADAP15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$1,'H5ADAP40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_006DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$2,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI0$2,'H5SASI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI0$2,'H5SASI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$2,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI1$2,'H5SASI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI1$2,'H5SASI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SASI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$2,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI2$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$2,'DTC520XX'%*-----------------------------------**£*!*ƒSASIDTC520xxdiskcontrollerƒ**£*%*-----------------------------------*‰IFC‡\SCSI3$2,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$2,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$2,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_003DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*‰IFC‡\SCSI0$3,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI0$3,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_004DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*‰IFC‡\SCSI1$3,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI1$3,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_004DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'EMULMD01',*------------------------------------------**ª*(*ƒEMULEXMEDALISTMD01diskcontrollerƒ**ª*,*------------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'ADAP5500'(*--------------------------------------**¦*$*ƒADAPTECACB5500diskcontrollerƒ**¦*(*--------------------------------------*‰IFC‡\SCSI2$3,'H5ADAP15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$3,'H5ADAP40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_006DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'SABER55M'&*------------------------------------**¤*"*ƒADSISABER-55Mdiskcontrollerƒ**¤*&*------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'EMULMD01',*------------------------------------------**ª*(*ƒEMULEXMEDALISTMD01diskcontrollerƒ**ª*,*------------------------------------------*@‰FAIL†**Thiscontrollerdoesnotsupportmorethan2harddisks‰ENDCN*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^N*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$3,'ADAP5500'(*--------------------------------------**¦*$*ƒADAPTECACB5500diskcontrollerƒ**¦*(*--------------------------------------*‰IFC‡\SCSI3$3,'H5ADAP15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$3,'H5ADAP40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5ADAP40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_006DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'% *------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI0$5,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI0$5,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI1$5,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC¯˜U¡V©R±Q¹OÁPÉPÑ$‰IFC‡\SCSI1$5,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI2$5,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5S% CSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI2$5,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI3$5,'H5SCSI15'**‚51/4"‚15‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI15.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI3$5,'H5SCSI40'**‚51/4"‚40‚megabyte‚hard‚disk*“INCLUDEƒ&.H5SCSI40.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *%*‚Setupattributemaskforharddisk*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI4$5,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI4$5,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI4$5,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindepende& nt)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI5$5,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI5$5,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI5$5,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------*‰IFC‡\SCSI6$5,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI6$5,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI6$5,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_& ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmediaN*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv‰IFC‡\DSKTYP$5,'COM_CMD'*------------------------**˜**ƒCommonCommandSetƒ**˜**------------------------* ‰IFC‡\SCSI7$5,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI7$5,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\SCSI7$5,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC**‚SetupDCBparameters*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡IODS_007DEV_STATSET‡4PAR_MASKSET‡$5AF3 ECC_LEN‚SET‡0 *#*‚Setupattributesmaskforfloppy*9ATT_MASKSET‚0<„CDB†0,CHAN_ID,XTDSCSI,254,SCSI,0,LSCSI$01,1,VECTOR,2,$10,0,0,&Œ0,0,0,0,0,0,0,0,0 ‰ENDNN' N**ˆIOC.DRVS10.AG**‚Includedequatefiles: *†&.IOE.EQ *†&.NIO.EQ* NOLIST‚INCLUDEƒ&.IOE.EQ‚INCLUDEƒ&.NIO.EQ LIST !*‚Includeddevicespecificmacros*†MACRO.DCB.SI*†MACRO.DCBTERM.SI* NOLIST‚INCLUDEMACRO.DCB.SI‚INCLUDEMACRO.DCBTERM.SI LIST  PAGE&*‚AssignvaluesfromSYSGENparameters*.DVCODEƒSET\&CRTDV„Definestartingdevicecode;TERM…EQU\TERMDRVƒDefinethephysicaladdressofthedriver &CNAME„SET…DVCODE‚channelnamemnemonicE*ƒNOTE:‚UseofCNAMEguaranteesthattheASCIIprinterDCBidentifier?*Š(CNSL,CN00,etc)willalwayscorrespondwiththechannelname*Šmnemonic(CNSL,CN00,etc.).  L****************************************************************************'*‚SETUPDCBFORVME/10SCREEN/KEYBOARDL**************************************************************************** ITCP$ATW‚SET‚\TCP$HCPY+\TCP$XCTL<<1+\TCP$BITS<<2+\TCP$STPB<<3+\TCP$USEP<<4GTCP$ATW‚SET‚TCP$ATW+\TCP$PRTY<<5+\TCP$ECHO<<6+\TCP$TAHD<<7+\TCP$TFUL<<8.TCP$ATW‚SET‚TCP$ATW+\TCP$PNUL<<9+\TCP$MODM<<10 K CRTDCB DVCODE,IOSID,IOSESS,$133,35,1,CNAME,0,$03C1,$77F3,TCP$ATW,\TCP$REC,J& \TCP$RSZ,\TCP$WTO,\TCP$RTO,\TCP$XOF,\TCP$XON,\TCP$BRC,\TCP$DOP,\TCP$RLN,@& \TCP$CLC,\TCP$RTV,\TCP$EOL,\TCP$BRT,\TCP$NLS,\TCP$TRC,\TCP$TTP  @ CDB 0,CNAME,XTSEXS,254,TERM,0,TERM,1,$42,3,$30,0,0,0,0,0,0,0,0,& 0,0,0  ENDNNÙ2'IOC VM21DRV AGîîeà  $VM22DRV AGWWRN  $VM30DRV AG°°$   $END AGÙÙ `  $M360DRV AGêêI  $SIODRV AGkkM  $M331DRV AG||FÍ  $P117DRV AGÅÅ8  $ADDRESS CIÎÎ\  $**ˆIOC.VM21DRV.AG**‚Includedequatefiles: *†&.IOE.EQ *†&.NIO.EQ* NOLIST‚INCLUDEƒ&.IOE.EQ‚INCLUDEƒ&.NIO.EQ LIST !*‚Includeddevicespecificmacros*†MACRO.DCB.SI*†MACRO.DCBDISK.SI* NOLIST‚INCLUDEMACRO.DCB.SI‚INCLUDEMACRO.DCBDISK.SI LIST  PAGEE*‚DefinethephysicaladdressesofthedriverusingSYSGENparameters*IPCƒEQU\IPCDRV 5*‚NOTE:‚UDCsandIPCsbothusethesamedriver(IPC)! FDEVADDSET\&DEVADDinit.deviceaddress(CDB)ƒ(from' SYSGENparameter)EVECTNOSET\&VECTNOinit.vectornumber‚(CDB)ƒ(fromSYSGENparameter) /NHV21$1‚EQU\NHV21$1ˆ#ofhardƒdiskson1stUDC1NFV21$1‚EQU\NFV21$1ˆ#offloppydiskson1stUDC /NHV21$2‚EQU\NHV21$2ˆ#ofhardƒdiskson2ndUDC1NFV21$2‚EQU\NFV21$2ˆ#offloppydiskson2ndUDC   :DSKDVSET\&DSKDVƒwillbecome‚__n_Œ(fromSYSGENparameter)#FDDV‚EQU$46440000codefor...‚FD__#HDDV‚EQU$48440000codefor...‚HD__ DSKDV„SET‡DSKDV+$0100 O********************************************************************************‚SETUPDCB'SFORUDC'SO******************************************************************************* **‚SetupDCBparametersforUDC*‚(mediaindependent)* DEV_ATT‚SET‡$1FDEV_CODESET‡0DEV_STATSET‡4PAR_MASKSET‡$FFF3 ECC_LEN‚SET‡0  ‰IFGT†NHV21$1+NFV21$1CHAN_ID‚SET‡'CUD1'F***********************************************************************$*ˆHARDDISKSONFIRSTUDCCONTROLLER*F********************************************************************** DSKNM„SET‡HDDV+DSKDV+$30>SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NHV21$1-1F***********************************************************************)*ƒFirstharddiskonfirstUDCcontroller*F********************************************************************** ‰IFC‡\VM210$1,'FXCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM210$1,'FXCMD80'*æXïU÷PÿQJIJU'P/Q7J?IG-*‚CMDƒ80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM210$1,'FXLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM210$1,'FXLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM211$1,'RMCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM211$1,'RMLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM211$1,'RMLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM212$1,'FXCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM212$1,'FXCMD80'**‚CMDƒ80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM212$1,'FXLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM212$1,'FXLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM213$1,'RMCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM213$1,'RMLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM213$1,'RMLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NFV21$1-1;************************************************************+*‚FirstfloppydiskonfirstUDCcontroller*;*********************************************************** ‰IFC‡\VM214$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM214$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚Setup( attributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM215$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM215$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM216$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM216$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM217$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM217$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚Setup) attributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NHV21$2-1F*************************************************************************ƒFirstharddiskonsecondUDCcontroller*F********************************************************************** ‰IFC‡\VM210$2,'FXCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM210$2,'FXCMD80'**‚CMDƒ80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM210$2,'FXLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM210$2,'FXLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM211$2,'RMCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM211$2,'RMLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM211$2,'RMLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM212$2,'FXCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM212$2,'FXCMD80'**‚CMDƒ80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM212$2,'FXLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM212$2,'FXLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM213$2,'RMCMD16'**‚CMDƒ16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM213$2,'RMLRK08'**‚LARK‚8‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM213$2,'RMLRK25'**‚LARK‚25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*,*‚SetupattributemaskforharddiskonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFGE†NFV21$2-1;************************************************************,*‚FirstfloppydiskonsecondUDCcontroller*;*********************************************************** ‰IFC‡\VM214$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM214$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚Setup* attributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM215$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM215$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM216$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM216$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚SetupattributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM217$2,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM217$2,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC***‚Setup* attributesmaskforfloppyonUDC*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM220$1,'FXCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM220$1,'FXCMD80'**‚CMD80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM220$1,'FXLRK08'**‚LARK08‚megabyte‚hard‚disk*OZXQ`OhZpMxO€TˆVQ˜Q + “INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM220$1,'FXLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM221$1,'RMCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM221$1,'RMLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM221$1,'RMLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM222$1,'FXCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM222$1,'FXCMD80'**‚CMD80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM222$1,'FXLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM222$1,'FXLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM223$1,'RMCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM223$1,'RMLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM223$1,'RMLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM224$1,'FXCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM224$1,'FXCMD80'**‚CMD80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM224$1,'FXLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM224$1,'FXLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM225$1,'RMCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM225$1,'RMLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM225$1,'RMLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM226$1,'FXCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM226$1,'FXCMD80'**‚CMD80‚megabyte‚hard‚disk*“INCLUDEƒ&.FXCMD80.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM226$1,'FXLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM226$1,'FXLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.FXLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM227$1,'RMCMD16'**‚CMD16‚megabyte‚hard‚disk*“INCLUDEƒ&.RMCMD16.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM227$1,'RMLRK08'**‚LARK08‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK08.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM227$1,'RMLRK25'**‚LARK25‚megabyte‚hard‚disk*“INCLUDEƒ&.RMLRK25.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*-*‚SetupattributemaskforharddiskonVM22*9ATT_MASKSET‚0<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM228$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM228$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM228$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*, “INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM228$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM228$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*+*‚SetupattributesmaskforfloppyonVM22*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM229$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM229$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM229$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM229$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM229$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*+*‚SetupattributesmaskforfloppyonVM22*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM22A$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22A$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22A$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22A$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22A$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*+*‚SetupattributesmaskforfloppyonVM22*9ATT_MASKSET‚1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\VM22B$1,'F8SDDSM'*2*‚8"‚singledensity,doublesided,Motorolaformat*“INCLUDE„&.F8SDDSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22B$1,'F8SDSSM'*2*‚8"‚singledensity,singlesided,Motorolaformat*“INCLUDE„&.F8SDSSM.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22B$1,'F8DDDSI'*-*‚8"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F8DDDSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22B$1,'F8SDSSI'*-*‚8"‚singledensity,singlesided,IBMformat*“INCLUDE„&.F8SDSSI.SI SIZESET‚SET‡1‰ENDC‰IFC‡\VM22B$1,'F5DDDSI'*1*‚51/4"‚doubledensity,doublesided,IBMformat*“INCLUDE„&.F5DDDSI.SI SIZESET‚SET‡1‰ENDC4*ƒMakesuretheuserhasdefinedavalidmediatype. ‰IFEQ†SIZESET‰FAIL†**Invalidmediatype‰ENDC*+*‚SetupattributesmaskforfloppyonVM22*9ATT_MASKSET‚1<‰DC.L†0,0,0,0ƒBUFFERZONEBETWEENDEVICEINDEPENDENT/DEPENDENT)‰DC.B†IOSTLN„SPACEFORCONFIGURATIONINFO@‰DCB.B…256-(*-LLUN),0NULLDCBNOW256BYTESLONG(MATCHESFREE)‰PAGE=**************************************************************»***ŠDCB'SFORDYNAMICALLYLOADABLEDRIVERS‹**»*:*‚SETUPDCB'sFORFREEDEVICE's;‚THESEMUSTSTARTAFTER‚*9*‚THENULLDCB.‚THENULLDCBISFIXEDAT256BYTES.‚THE‚*'*‚FREEDCB'sAREALSO256BYTESLONG.–**»*=*************************************************************  IFGE \LOADDRV-1+ƒDC.L…0LINKPOINTERISZEROFORAFREEDCB2ƒDC.L…'FREE'‹ASCIIIDENTIFICATIONFORTHEFREEDCB)ƒDCB.B„248,0ŒAF/ REEDCBIS256BYTESLONG ENDC  IFGE \LOADDRV-2+ƒDC.L…0LINKPOINTERISZEROFORAFREEDCB2ƒDC.L…'FREE'‹ASCIIIDENTIFICATIONFORTHEFREEDCB)ƒDCB.B„248,0ŒAFREEDCBIS256BYTESLONG ENDC  IFGE \LOADDRV-3ÑGÚ+ƒDC.L…0LINKPOINTERISZEROFORAFREEDCB2ƒDC.L…'FREE'‹ASCIIIDENTIFICATIONFORTHEFREEDCB)ƒDCB.B„248,0ŒAFREEDCBIS256BYTESLONG ENDC  IFGE \LOADDRV-4+ƒDC.L…0LINKPOINTERISZEROFORAFREEDCB2ƒDC.L…'FREE'‹ASCIIIDENTIFICATIONFORTHEFREEDCB)ƒDCB.B„248,0ŒAFREEDCBIS256BYTESLONG ENDC  IFGE \LOADDRV-5+ƒDC.L…0LINKPOINTERISZEROFORAFREEDCB2ƒDC.L…'FREE'‹ASCIIIDENTIFICATIONFORTHEFREEDCB)ƒDCB.B„248,0ŒAFREEDCBIS256BYTESLONG ENDC (DCBENDEQU*-1…EndaddressofDCBspace.IOCOMEEQU*‡EndofIOCcommonA*ƒ{Nolongerforcestonextpageboundary(wasIOCOML)-8/03/84} SPC 3SECTION1‚===CDBSECTION=== ) DC.L 0 Link of 0 marks end of CDB chain.  ENDNNNNN**ˆIOC.M360DRV.AG**‚Includedequatefiles: *ˆ&.IOE.EQ *ˆ&.NIO.EQ*‰NOLIST‰INCLUDEƒ&.IOE.EQ‰INCLUDEƒ&.NIO.EQ‰LIST !*‚Includeddevicespecificmacros*ˆMACRO.DCB.SI*ˆMACRO.DCBDISK.SI*‰NOLIST‰INCLUDEƒMACRO.DCB.SI‰INCLUDEƒMACRO.DCBDISK.SI‰LIST ‰PAGE**‚DefinevariablesusingSYSGENparameters*+M360…EQU\M360DRV‚AddressofMVME360driver-NVME360‚EQU\NVME360‚NumberofMVME360boardsNNNN/ NN âëPóû3 )4#.+/3>;5C/K S)[-L360$01‚EQU\L360$01‚MVME360board#1address-L360$02‚EQU\L360$02‚MVME360board#2address ANH360$1‚EQU\NH360$1‚#harddiskson1stMVME360controllerboardANH360$2‚EQU\NH360$2‚#harddiskson2ndMVME360controllerboard -VECTNO1‚EQU‚$F9†Vectornumberfor1stMVME360-VECTNO2‚EQU‚$F7†Vectornumberfor2ndMVME360 O********************************************************************************ƒSETUPDCB'SFORMVME360O******************************************************************************* *#*‚SetupDCBparametersforMVME360*‚(mediaindependent)* *DEV_ATT‚SET‡$1F‘FHSDeviceAttributeswordDEV_CODESET‡IOD360DEV_STATSET‡4PAR_MASKSET‡$0FF3 ECC_LEN‚SET‡0*XAT_MASKSET‡0XAT_WORDSET‡0SLIP_CNTSET‡0 F***********************************************************************(*ˆHARDDISKSONFIRSTMVME360CONTROLLER*F**********************************************************************CHAN_ID‚SET‡'A360'‰IFGE†NH360$1-1F***********************************************************************-*ƒFirstharddiskonfirstMVME360controller*F********************************************************************** DSKNM„SET‡'HD\CONT3601\ZERO'>SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3600$1,'FF2322A'*/*‚DefaultSMDDevicewithfirstof2Partitions*“INCLUDEƒ&.FF2322A.SIBXPR_MASKSET‡1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3601$1,'FF2322B'*0*‚DefaultSMDDevicewithsecondof2Partitions*“INCLUDEƒ&.FF2322B.SIBXPR_MASKSET‡1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3602$1,'FF2322A'*/*‚DefaultSMDDevicewithfirstof2Partitions*“INCLUDEƒ&.FF2322A.SIBXPR_MASKSET‡1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3603$1,'FF2322B'*0*‚DefaultSMDDevicewithsecondof2Partitions*“INCLUDEƒ&.FF2322B.SIBXPR_MASKSET‡1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3600$2,'FF2322A'*/*‚DefaultSMDDevicewithfirstof2Partitions*“INCLUDEƒ&.FF2322A.SIBXPR_MASKSET‡1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3601$2,'FF2322B'*0*‚DefaultSMDDevicewithsecondof2Partitions*“INCLUDEƒ&.FF2322B.SIBXPR_MASKSET‡12 <SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3602$2,'FF2322A'*/*‚DefaultSMDDevicewithfirstof2Partitions*“INCLUDEƒ&.FF2322A.SIBXPR_MASKSET‡1<SIZESET‚SET‡0‰Ifnon-zerothentheyhaveselectedadiskmedia ‰IFC‡\M3603$2,'FF2322B'*0*‚DefaultSMDDevicewithsecondof2Partitions*“INCLUDEƒ&.FF2322B.SIBXPR_MASKSET‡1<*Š(PR‚,PR1,etc)willalwayscorrespondwiththechannelname*Šmnemonic(CPR,CPR1,etc.). O*******************************************************************************9*‚SETUPDCB'S&CDB'SFORREMOTEPRINTERS‚-‚VME117boardO******************************************************************************* /* Define PCP$ATW one time here for all printers;PCP$ATW‚SET…\PCP$BUSY<<3+\PCP$TLRL<<2+\PCP$AFF<<1+\PCP$LNFD *ƒVME117Board.printerport**--‚DATACONTROLBLOCK‚--*K PRTDCB DVCODE,IOSID,IOSESS,$632,95,1,CNAME,0,$000F,$0033,PCP$ATW,\PCP$REC,%&‡\PCP$RSZ,\PCP$WTO,\PCP$LRL,\PCP$ELCIFNEDVCODE-'PR‚'1DVCODESETDVCODE+$100‚SETUPFORNEXTPRINTERID ENDCIFEQDVCODE-'PR‚'DVCODE SET 'PR1 ' ENDC ***‚CHANNELDATABLOCK‚***6 CDB 0,CNAME,XTPV117,254,PRT117,0,LPDA$01,1,$42,4,$10,&„0,0,0,0,0,0,0,0,0,0,0  ENDNN½9**ˆIOC.ADDRESS.CI*N******************************************************************************2*‚I/OChannelAddressOffsetsforStandardSYSGENsN*******************************************************************************H*‚NOTE:‚1.Theseaddressesarecodedintomanyofthefirmwaredebuggers9*Œsothebugcanaccessthedevice.‚REQUIREDFORBOOTING!C*‰2.Amaximumof16devicescanonlybeonthechannelatonetime7*Œforguaranteedoperationina"worstcase"situation.**6 *‚Symbolformatis:„Lnnn$mm*„where:„L=location:*Œnnn=VMEboardnumber/descriptionorVnnforVERSAmodule*Ž$=separator*mm=boardnumber01-99*F*ƒ"CMULT"isdefinedinthe".SYSTEM.CI"fileiftheprocessor8*‹boardhasanI/OChannel.‚IftheVME316boardisused,.*‹"CMULT"isdefinedinthe&.M316DEF.CIfile.H*ƒ"IOCBASE"isdefinedinthe".SYSTEM.CI"fileiftheprocessor8*‹boardhasanI/OChannel.‚IftheVME316boardisused,0*‹"IOCBASE"isdefinedinthe&.M316DEF.CIfile.NNNÆÏ×ß1*ƒ"+$NN"‚istheoffsettothe1stboardregister.J*-------------------------------------------------------------------------I*------------------------------------------------------------------------CL400$01ƒ=\IOCBASE+($0E0*\CMULT)+$0DMVME400bd.#1,portAaddress*©L400$01‚=\L400$01CL400$02ƒ=\IOCBASE+($0D0*\CMULT)+$0DMVME400bd.#2,portAaddress*©L400$02‚=\L400$02J*-------------------------------------------------------------------------CL410$01ƒ=\IOCBASE+($0F0*\CMULT)+$01MVME410bd.#1,portAaddress*©L410$01‚=\L410$01CL410$02ƒ=\IOCBASE+($090*\CMULT)+$01MVME410bd.#2,portAaddress*©L410$02‚=\L410$02J*-------------------------------------------------------------------------IL420$01ƒ=\IOCBASE+($078*\CMULT)+$01MVME420bd.#1,portƒaddress:SASI8*©L420$01‚=\L420$01IL420$02ƒ=\IOCBASE+($070*\CMULT)+$01MVME420bd.#2,portƒaddress:SASI5*©L420$02‚=\L420$02J*-------------------------------------------------------------------------LL435$01ƒ=\IOCBASE+($1E0*\CMULT)+$29MVME435bd.#1,portAaddress:Magtape*©L435$01‚=\L435$01CL435$02ƒ=\IOCBASE+($1C0*\CMULT)+$29MVME435bd.#2,portAaddress*©L435$02‚=\L435$02J*-------------------------------------------------------------------------NNN=LRAD$01ƒ=\IOCBASE+($700*\CMULT)+$01RAD…bd.#1,portƒaddress*©LRAD$01‚=\LRAD$01=LRAD$02ƒ=\IOCBASE+($600*\CMULT)+$01RAD…bd.#2,portƒaddress*©LRAD$02‚=\LRAD$02J*-------------------------------------------------------------------------=LRIO$07 1ƒ=\IOCBASE+($058*\CMULT)+$01RIO…bd.#1,portƒaddress*©LRIO$01‚=\LRIO$01=LRIO$02ƒ=\IOCBASE+($050*\CMULT)+$01RIO…bd.#2,portƒaddress*©LRIO$02‚=\LRIO$02J*-------------------------------------------------------------------------CL600$01ƒ=\IOCBASE+($F00*\CMULT)+$1+$2MVME600bd.#1,portƒaddress*©L600$01‚=\L600$01CL600$02ƒ=\IOCBASE+($E00*\CMULT)+$1+$2MVME600bd.#2,portƒaddress*©L600$02‚=\L600$02J*-------------------------------------------------------------------------AL605$01ƒ=\IOCBASE+($B00*\CMULT)+$01MVME605bd.#1,portƒaddress*©L605$01‚=\L605$01AL605$02ƒ=\IOCBASE+($A00*\CMULT)+$01MVME605bd.#2,portƒaddress*©L605$02‚=\L605$02J*-------------------------------------------------------------------------@L610$01ƒ=\IOCBASE+($01E*\CMULT)+$1‚MVME610bd.#1,portƒaddress*©L610$01‚=\L610$01@L610$02ƒ=\IOCBASE+($01C*\CMULT)+$1‚MVME610bd.#2,portƒaddress*©L610$02‚=\L610$02J*-------------------------------------------------------------------------@L615$01ƒ=\IOCBASE+($00F*\CMULT)+$1‚MVME615bd.#1,portƒaddress*©L615$01‚=\L615$01@L615$02ƒ=\IOCBASE+($00E*\CMULT)+$1‚MVME615bd.#2,portƒaddress*©L615$02‚=\L615$02J*-------------------------------------------------------------------------NN@L620$01ƒ=\IOCBASE+($016*\CMULT)+$1‚MVME620bd.#1,portƒaddress*©L620$01‚=\L620$01@L620$02ƒ=\IOCBASE+($014*\CMULT)+$1‚MVME620bd.#2,portƒaddress*©L620$02‚=\L620$02J*-------------------------------------------------------------------------AL625$01ƒ=\IOCBASE+($007*\CMULT)+$01MVME625bd.#1,portƒaddress*©L625$01‚=\L625$01AL625$02ƒ=\IOCBASE+($006*\CMULT)+$01MVME625bd.#2,portƒaddress*©L625$02‚=\L625$02J*-------------------------------------------------------------------------?LWIN$01ƒ=\IOCBASE+($068*\CMULT)+$03RWIN1ƒbd.#1,portƒaddress*©LWIN$01‚=\LWIN$01?LWIN$02ƒ=\IOCBASE+($070*\CMULT)+$03RWIN1ƒbd.#2,portƒaddress*©LWIN$02‚=\LWIN$02J*-------------------------------------------------------------------------NNNNN'OSLIST BEGIN AGóó   $END AGüü  $FHS SI   $FMS SI&  $IOS SI# 7  $**ˆOSLIST.BEGIN.AG* ‰XDEF†OSMTBL ‰XDEF†OSMEND*-*ˆTABLEOFOPERATINGSYSTEMMODULETASKNAMES**ƒIncludedequatefiles:*ˆINCLUDEƒ&.IOE.EQ*ˆINCLUDEƒ&.EXE.EQ*ˆINCLUDEƒ&.NIO.EQ*ˆINCLUDEƒ&.FME.EQ*ˆINCLUDEƒ&.FMI.EQ‰NOLIST‰INCLUDEƒ&.IOE.EQ‰INCLUDEƒ&.EXE.EQ‰INCLUDEƒ&.NIO.EQ‰INCLUDEƒ&.FME.EQ‰INCLUDEƒ&.FMI.EQ‰LIST SECTION 1‰PAGE*D*ˆThefollowingNOPisrequirediftheuserhaselectedtoeliminateA*ˆallmodulesfromOSLISTsuchthatitbecomesanullfile.SinceC*ˆLINK1.6hasproblemwithlinkinganullmodulethathasXREFandC*ˆXDEFreferences,theNOPisheretokeepthismodulefrombeinga*ˆnullmodule.*‰NOP‰PAGEOSMTBL:NNNNNë!**ˆOSLIST.END.AG*OSMENDƒEQU…*“ENDOFTABLE ‰END‡OSMTBLNNN8 NNNNô**ˆFHS*‰DC.B†$20‘STARTUPVALUE)*§Thisvaluewilldetermine(lowtohigh)&*§theorderataskistobestartedby*§IOI‰DC.B†1“BITNUMBER&*§Thisvalue,ifpresent,representsa$*§bitnumberthatmustbesetbefore$*§IOIwillattempttostartthenext'*§task.This,alongwithSTARTUPVALUE,(*§allowsthecoordinationofbringingup(*§systemtasksatboottimeinaorderly$*§process.TheoffsetSVTSTCFinthe%*§SystemValueTableiswherethebit*§mustbeset.*%*¦IFthesystemtaskdoesNOTrequire'*¦boottimecoordinationthebitnumber*¦mustbesetto$FF.*‰DC.L†FHSIDFHSTASKNAME‰DC.L†IOSESSŽSESSION* ‰DC.B†0“NO ‰DC.B†0•ASQ ‰DC.L†0˜WAS‰DC.L†0›REQUESTED‰DC.W†0*$‰DC.L†0,0,0,0NODATASEGMENTNEEDED*NNNNý! ‰XDEF†FMSDLEN**ˆFMS*‰DC.B†$10‘STARTUPVALUE)*§Thisvaluewilldetermine(lowtohigh)&*§theorderataskistobestartedby*§IOI‰DC.B†2“BITNUMBER&*§Thisvalue,ifpresent,representsa$*§bitnumberthatmustbesetbefore$*§IOIwillattempttostartthenext'*§task.This,alongwithSTARTUPVALUE,(*§allowsthecoordinationofbringingup(*§systemtasksatboottimeinaorderly$*§process.TheoffsetSVTSTCFinthe%*§SystemValueTableiswherethebit*§mustbeset.*%8 *¦IFthesystemtaskdoesNOTrequire'*¦boottimecoordinationthebitnumber*¦mustbesetto$FF.* ‰DC.L†FMSIDFMSTASKNAME‰DC.L†IOSESSŽSESSION* ‰DC.B†0“NO ‰DC.B†0•ASQ ‰DC.L†0˜WAS‰DC.L†0›REQUESTED‰DC.W†0**‰DC.W†SGOPPAŽOPTIONS-LOG.ADDR=PHYS.ADDR.‰DC.W†SGATRW+SGATSS‡ATTRIBUTES‰DC.L†FMSDSEG.NAME‰DC.L†0“LOGICALADDRESSFMSDLEN‚DC.L†0“SEGMENTLENGTH*NNNN' ‰XDEF†OESIZE**ˆIOS*IOSXXX:‰DC.B†$30‘STARTUPVALUE)*§Thisvaluewilldetermine(lowtohigh)&*§theorderataskistobestartedby*§IOI‰DC.B†0“BITNUMBER&*§Thisvalue,ifpresent,representsa$*§bitnumberthatmustbesetbefore$*§IOIwillattempttostartthenext'*§task.This,alongwithSTARTUPVALUE,(*§allowsthecoordinationofbringingup(*§systemtasksatboottimeinaorderly$*§process.TheoffsetSVTSTCFinthe%*§SystemValueTableiswherethebit*§mustbeset.*%*¦IFthesystemtaskdoesNOTrequire'*¦boottimecoordinationthebitnumber*¦mustbesetto$FF.*‰DC.L†IOSIDIOSTASKNAME‰DC.L†IOSESSŽSESSION* ‰DC.B†0“NO ‰DC.B†0•ASQ ‰DC.L†0˜WAS‰DC.L†0›REQUESTED‰DC.W†0*$‰DC.L†0,0,0,0NODATASEGMENTNEEDED*OESIZEƒEQU‡*-IOSXXXNNNN$9 'TTSSA TDTI AG$$  $***ˆTTSSA.TDTI.AG**ˆModuletodefine4*’Thestartaddressofthesegmentthatcontainsthe*”TaskTable“Required*”ErrorHandlingLogic‰Optional*”Non-StandardCodeŒOptional'*”Non-StandardStartuproutineOptional*8*’Theendaddressofthesegmentthatcontainstheabove*9*’ThestartaddressoftheTaskTableStructurecontained"*—withinthesegmentdefinedabove* ‰XDEF†AREAEA ‰XDEF†AREASA AREASAƒEQU‡\AREASAAREAEAƒEQU‡\AREAEA‰ENDNNNNNN'VME12X INITIO1 AG11\û  $CNFGDRVRCIšš.ò  $IFDRVR CIëë_  $SYSTEM CIôô×  $SYSINIT LG  $9 8*‰INCLUDEBOARD.EQƒThiswilleitherbeincatalogVME1207ŠINCLUDEBOARD.EQƒThiswilleitherbeincatalogVME1207INITIO„IDNTƒ45,0RMS68KI/OinitializerfortheVME120.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***@***…ROUTINE:‚INITIO--RMS68KI/OINITIALIZERFORTHEVME120‹******É***J***…ENVIRONMENT:‚PartoftheRMS68KexecfortheMotorola68000family.***(***‡Copyright1983byMotorola,Inc.¢******É***D***…FUNCTION:‚RoutinesfromthismodulearecalledbytheRMS68K‡***E***‡routineINITduringsysteminitialization.‚Allboard-specific„***.***‡initializationisdoneinthismodule.œ******É***G***…NOTES:‚ThismoduleisSUBSed,ASMed,andLINKedatSYSGENtime.„***?***‡Allmoduleswillrunatlevel7andinsupervisormode.‹******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revisionhistory(addnewchangestotop).*…Date†Author‚ChangesI*…--------‚------‚-------------------------------------------------------;*…11/25/85ƒJAH„AddedconditionalassemblyforVME050clock.B*…10/29/85ƒCBS„ChangedwaywecallKILLERtouseKILL.EXECT0macro8*†1/28/85ƒSJF„ChangedMMUinitializationtolookat\MMU*†2/1/84ƒMSL„Initialwriting.* * *‚XDEF's.*,ŠXDEFƒINITMMUŒRoutinetoinitializetheMMU.,ŠXDEFƒTIMERSTŒRoutinetostartupthetimer.3ŠXDEFƒINITIORoutinetosetupalltheotherboard-*§specifichardware. * *‚XREF's.* *…Routines: *…ParametersfromINITDAT:)/2C:HBHJ:RJZBb4jrFzL‚BŠ-ŠXREFƒTIMSLICŒ#oftimerticspertimeslice.+ŠXREFƒTIMERAAddroftimerchip(MC146818).ŠXREFƒTIMINTVAŠXREFƒCLOCKFRQ *…SYSPARvariables:6ŠXREF.SMMUHEREŒAddrofMMU;0ifwe'renotusingone.0ŠXREF.SFRST451ŒAddroffirstMMUinthesystem./ŠXREF.SLAST451ŒAddroflast‚MMUinthesystem.7ŠXREF.SCURR451ŒPtrtoMMULOADMMUshouldlookatnext.7ŠXREF.SCURRSDCurrentsegmentdescriptor#intheMMU.7ŠXREF.SDPRVAODual-PortedRamVersabusAddressOffset.ŠXREF.SDATEDate.0ŠXREF.STIMESLIC‹#oftimerticspertimeslice.3ŠXREF.STIMINTRŒUsecremainderforoddclockrates.7ŠXREF.STIMINTVŒTimeintervalbetweentimerinterrupts..ŠXREF.SPTMADDRŒAddroftimerchip(MC146818).0ŠXREF.SNSENextSignificantEventabsolutetime!ŠXREF.SMIDNIGHT‹msoflastnightŠXREF.STIME_LEFTŠmsuntilNSE *„Others:.ŠXREFƒCRASHSAV‹PlacetoSAVEinfoifweCRASH.   **‚Includedfiles:**‰&.UTILITY.MC*‰M68451.M68451.EQ*‰MK68901.MK68901.EQ*‰M146818.M146818.EQ *‰&.KILL.MC*‰&.KILLEXEC.EQ *‰&.STR.EQ*ŠNOLISTŠINCLUDE&.UTILITY.MCŠINCLUDEM68451.M68451.EQŠINCLUDEMK68901.MK68901.EQŠINCLUDEM146818.M146818.EQŠINCLUDE&.KILL.MCŠINCLUDE&.KILLEXEC.EQŠINCLUDE&.STR.EQŠLISTŠPAGEO*v*****************************************************************************O**********************************************************************************É***6***…ROUTINE:‚INITMMU--INITIALIZETHEM68451MMU.•******É***I***…FUNCTION:‚Ifwearesuppos: edtohaveanMMU,verifyitsexistence‚******‡andinitializeit.°******É******…NOTES:¾******É***E***…REGISTERUSAGE:‚(A)rgument‚(D)estroyed‚(P)reserved‚(R)eturnedƒ***)***Œ0ƒ1ƒ2ƒ3ƒ4ƒ5ƒ6ƒ7‡SRhi„SRlo(CCR)…******‡D:ƒPƒPƒ.ƒ.ƒ.ƒ.ƒ.ƒ.‡.ˆD******‡A:ƒPƒPƒ.ƒ.ƒ.ƒ.ƒ.ƒP ******É******…ENTRYCONDITIONS:³***+***‡Supervisormode,interruptlevel7.Ÿ******É***-***…EXITCONDITIONSDIFFERENTFROMENTRY:Ÿ******É***O*******************************************************************************O*^*****************************************************************************  ŠSECTION8ŠOPT„BRS INITMMU: ,ŠIFNEƒ\MMUIfwe'resupposedtohaveanMMU, +ŠSAVEƒD0/A0ŽSaveregisterswe'llblowaway. 3ŠLEA„$F60000,A0‰A0<--addresswhereMMUshouldbe.%ŠMOVE.LA0,MMUHERE‰SaveitinSYSPAR. *%*‚SetuptheotherSYSPARparameters.*8‹MOVE.LA0,FRST451‰Ouronly68451isobviouslythefirst9‹MOVE.LA0,LAST451‰68451,thelast68451,andthecurrent‹MOVE.LA0,CURR451‰68451.7‹MOVE.L#1,CURRSDŠThecurrentsegmentdescriptoris#1. *@*‚Clearallsegmentdescriptorsexcepttheonewe'reusing(#0).*7‹PEA„GOTOKILLŠSetupforustogotoKILLERifwegeta‹PUSHƒ#'BE'Žbuserror.<‹FOR„D0=#1TO#31DO…Forsegmentdescriptors1through31,*ŽMOVE.BD0,DP(A0)Š.‚Selectthedescriptor.7ŽMOVE.B#0,SSR(A0)‰.‚Initializeitsoitwon'tbeused.‹ENDF2‹ADD.L‚#6,SPŽGetthebuserrorjunkoffthestack. **‚Exit.*!ŠRESTORED0/A0Restoreregisters. ŠENDC ŠRTS—Return. GOTOKILL:=‰KILL.EXECT0‚INITIO1AG,NO_451‚Callkillertocrashthesystem *ˆnoreturn ŠPAGE‰IFEQ\CLOCK050O********************************************************************************,*ˆSTARTTIMER(MK68901)‚ontheVME12Xboard.* TIMERST:EŠMOVE.LTIMSLIC(PC),TIMESLIC#TIMERINTERRUPTSBEFORETASKINTERRUPT;ŠMOVE.LTIMERA(PC),A1†GETTIMERADDRESS(MFPBASEADDRESS).#ŠMOVE.LA1,PTMADDR‰SAVEITFOREXEC!ŠBEQ.L‚TIMERBEŒBRANCHIFNOTIMER)ŠPEA„TIMERBE(PC)ˆWHERETOGOONBUSERROR$ŠMOVE.W#'BE',-(A7)ˆSETBUSERRFLAG*ŠMOVE.L#0,DATEŒDate<--0./ŠMOVE.W#10,TIMINTVˆNumberofmsperclocktick*B*‚NowwemustinitializetheMulti-functionperipheral(MPF)chip.B*‚AlthoughwearenotintendingtouseallofthefunctionalityofC*‚theMFP(ex.serialport),wewillgoaheadandinitializeallof-*‚thefunctionsonthechip,justtobesafe.* *-*‚First,disableallinterruptsfromtheMFP.* 6ŠCLR.B‚MFP_IERA(A1)‡ClearinterruptenableregisterA.6ŠCLR.B‚MFP_IERB(A1)‡ClearinterruptenableregisterB. *C*‚Now,initializetheserialport,eventhoughwedonotanticipate *‚usingit.*B*‚(NOTE:‚WEWILLLEAVEITASITWASSOWECANUSETHEBUGFROMTHE*ŠONBOARDSERIALPORT.) 6*‰CLR.B‚MFP_SCR(A1)ˆClearthesynccharacterregister.5*‰CLR.B‚MFP_UCR(A1)ˆResettheUSARTcontrolregister. 7*‰CLR.B‚MFP_RSR(A1)ˆResetthereceiverstatusregister.6*‰TST.B‚MFP_RSR(A1)ˆReadthereceiverstatusregister. 7*‰CLR.B‚MFP_TSR(A1)ˆResetthetransmitstatusregister.6*‰TST.B‚MFP_TSR(A1)ˆReadthetransmitstatusregister. 2*‰CLR.B‚MFP_UDR(A1)ˆCleartheUSARTdataregister.   *$*‚Now,intiializetheparallelport.* 1ŠCLR.B‚MFP_GPIP(A1)‡CleartheGPIPdataregister.=ŠMOVE.B#$07,MFP_AER(A1)ƒInitializetheactiveedgeresister.=ŠCLR.B‚MFP_DDR(A1)ˆSetthedatadirectionregistertoinputs.   *I*‚Now,initializethefourtimersontheMFP.‚(WewillonlyusetimerA.)* 1ŠMOVE.B#$10,MFP_TACR(A1)‚ResetandstoptimerA.1ŠMOVE.B#$10,MFP_TBCR(A1)‚ResetandstoptimerB. **‰CLR.B‚MFP_TCDCR(A1)†StoptimersCandD.AŠANDI.B#$F0,MFP_TCDCR(A1)(StoptimerD.‚LeavetimerCasisfor *£theBUG.) *>>>>>><ŠMOVE.L#CLOCKFRQ,D0‡ClockfrequencyinHz(SUBedinsysgen)K* IF D0 = 0, 10,000,000, OR 12,500,000 (Hz) then read clock rate from board)*ƒelseuseclockratedefinedinC: LOCKFRQŠBEQ.S‚TSTRATEŠCMP.L‚#10000000,D0ŠBEQ.S‚TSTRATEŠCMP.L‚#12500000,D0ŠBNE.S‚RATESET TSTRATEƒTEST_CLOCK_RATEŠIFTHEN.SŒMOVE.L#10000000,D0‚10MHzrateŠELSE.S!ŒMOVE.L#12500000,D0‚12.5MHzrateŠENDI 1RATESETƒLSR.L‚#2,D0ŽDivby4forclockinputfreq ŠMOVE.LD0,D1=* Compute desired count down value according to the following*ƒformula:‚CD=TI/(PS*TO)*‰CD…=Countdownvalue*‰TI…=Timerinputfrequency*‰PS…=Prescalarvalue)*‰TO…=Desiredtimeroutputtimeinterval<* For the VME12x operating at 12.5 MHz we have the following(*ƒTI=12.5MHz/4=3.125MHzor3125000 *ƒPS=200#*ƒTO=100Hz(Onetickevery10ms)B* With these variable values the calculated CD is 157 (rounded up)7* For 10MHz the computed count down value would be 10msŠDIVUƒ#200*100,D0ˆDivbyPS*TOŠIF.LƒD0#$0000FFFFTHEN.S"ADD.Wƒ#1,D0ŠRoundupifremainderŠENDI>ŠAND.L‚#$0000FFFF,D0†Maskoffremainder,onlyquotientremains;ŠMOVE.BD0,MFP_TADR(A1)„Countdownvalue(TimerAregister)5* Now calculate the actual timer output interval via:*ƒCO=(1000*PS*CD)/TID*ƒRemainderwillbethefractionofamillisecondoveranexact10ms *…intervalthatweactuallyhaveŠMULUƒ#200,D0ŒMultiplybyPSŠMULUƒ#1000,D0‹*1000 ŠWHILE.LD1#$0000FFFFDO.S.LSR.Lƒ#1,D0ŠScaledividendanddivisorso...+LSR.Lƒ#1,D1Š...divisoris16bitsorlessŠENDW ŠDIVUƒD1,D0*ŠCLR.W‚D0‘PreserveremainderinhighorderŠSWAPƒD0G* Now compute the number of usecs extra that we have in the actual time *ƒinterval.*ŠMULUƒ#1000,D0 ŠDIVUƒD1,D0!ŠMOVE.WD0,TIMINTR„Usecramainder*>>>>>>0ŠCLR.B‚MFP_TBDR(A1)‡ResettimerBdataregister.1*‰CLR.B‚MFP_TCDR(A1)‡ResettimerCdataregister.0ŠCLR.B‚MFP_TDDR(A1)‡ResettimerDdataregister. >ŠMOVE.B#$07,MFP_TACR(A1)‚TimerAcontrolreg<==delay_mode+*´divideby200prescaler.  *<*‚Nowinitializetheprogramableinterruptcontroller(PIC).* BŠMOVE.B#$68,MFP_VR(A1)„Setstartingvectornumberforblockof16-*£interruptvectorsto$60.Alsosetsoftware*£interruptmode(bit3). 7ŠCLR.B‚MFP_IPRA(A1)‡ClearinterruptpendingregisterA.7ŠCLR.B‚MFP_IPRB(A1)‡ClearinterrputpendingregisterB. 0ŠCLR.B‚MFP_ISRA(A1)‡ClearinserviceregisterA.0ŠCLR.B‚MFP_ISRB(A1)‡ClearinserviceregisterB. DŠMOVE.B#$A0,MFP_IMRA(A1)‚UnmaskinterruptsfromACFAILandtimerA.6ŠCLR.B‚MFP_IMRB(A1)‡MaskoffallinterruptsfromIMRB. DŠMOVE.B#$A0,MFP_IERA(A1)‚EnableinterruptsfromACFAILandtimerA.1ŠMOVE.B#$8E,MFP_IERB(A1)‚Enableinterruptsfrom:*¦1.)‚MMUIRQ*.*¦2.)‚PARBAD*. *¦3.)‚BBERR. *¦4.)‚XERR.'*£(Note:‚Ifweenableaninterrupt,but"*«maskitoff,weallowthePICto*«latchtheinterruptintothe!*«interruptpendingregister,but!*«nottointerrupttheCPU.‚Ifwe!*«enableandunmaskaninterrupt,*«thenwelatchitintothe!*«interruptpendingregister,and*«alsointerrupttheCPU.   *.ŠADD.L‚#6,A7ŽREMOVE'BE'ANDBUSERRORADDRESSŠRTS—BACKTOINIT*>>>>>CHECK_RANGE MACRO ŠCMP.B‚\2,\1ŠBLO.\0RANGE_ERR ŠCMP.B‚\3,\1ŠBHI.\0RANGE_ERRŠENDM  TIMERST: ,**********************************************†InitializeMK68901timer?*‹Thispartofcodeistoresetthetimer,disableitsfunction7*‹WeactuallyuseM146818timertogetbetteraccuracy*,******************************************** /TMA_68901SET„$F20001ŒTimeraddressforMK68901 B*‚NowwemustinitializetheMulti-functionperipheral(MPF)chip.B*‚AlthoughwearenotintendingtouseallofthefunctionalityofC*‚theMFP(ex.serialport),wewillgoaheadandinitializeallof-*‚thefunctionsonthechip,justtobesafe.* *-*‚; First,disableallinterruptsfromtheMFP.* +ŠLEA„TMA_68901,A1‡GETMK68901Timeraddress 6ŠCLR.B‚MFP_IERA(A1)‡ClearinterruptenableregisterA.6ŠCLR.B‚MFP_IERB(A1)‡ClearinterruptenableregisterB. *C*‚Now,initializetheserialport,eventhoughwedonotanticipate *‚usingit.*B*‚(NOTE:‚WEWILLLEAVEITASITWASSOWECANUSETHEBUGFROMTHE*ŠONBOARDSERIALPORT.) 6*‰CLR.B‚MFP_SCR(A1)ˆClearthesynccharacterregister.5*‰CLR.B‚MFP_UCR(A1)ˆResettheUSARTcontrolregister. 7*‰CLR.B‚MFP_RSR(A1)ˆResetthereceiverstatusregister.6*‰TST.B‚MFP_RSR(A1)ˆReadthereceiverstatusregister. 7*‰CLR.B‚MFP_TSR(A1)ˆResetthetransmitstatusregister.6*‰TST.B‚MFP_TSR(A1)ˆReadthetransmitstatusregister. 2*‰CLR.B‚MFP_UDR(A1)ˆCleartheUSARTdataregister.   *$*‚Now,intiializetheparallelport.* 1ŠCLR.B‚MFP_GPIP(A1)‡CleartheGPIPdataregister.=ŠMOVE.B#$07,MFP_AER(A1)ƒInitializetheactiveedgeresister.=ŠCLR.B‚MFP_DDR(A1)ˆSetthedatadirectionregistertoinputs.   *I*‚Now,initializethefourtimersontheMFP.‚(WewillonlyusetimerA.)* 1ŠMOVE.B#$10,MFP_TACR(A1)‚ResetandstoptimerA.1ŠMOVE.B#$10,MFP_TBCR(A1)‚ResetandstoptimerB. **‰CLR.B‚MFP_TCDCR(A1)†StoptimersCandD.AŠANDI.B#$F0,MFP_TCDCR(A1)(StoptimerD.‚LeavetimerCasisfor *£theBUG.)*+ŠCLR.B‚MFP_TADR(A1)‡RESETtimerAdatareg.0ŠCLR.B‚MFP_TBDR(A1)‡ResettimerBdataregister.1*‰CLR.B‚MFP_TCDR(A1)‡ResettimerCdataregister.0ŠCLR.B‚MFP_TDDR(A1)‡ResettimerDdataregister.  *<*‚Nowinitializetheprogramableinterruptcontroller(PIC).* BŠMOVE.B#$68,MFP_VR(A1)„Setstartingvectornumberforblockof16-*£interruptvectorsto$60.Alsosetsoftware*£interruptmode(bit3). 7ŠCLR.B‚MFP_IPRA(A1)‡ClearinterruptpendingregisterA.7ŠCLR.B‚MFP_IPRB(A1)‡ClearinterrputpendingregisterB. 0ŠCLR.B‚MFP_ISRA(A1)‡ClearinserviceregisterA.0ŠCLR.B‚MFP_ISRB(A1)‡ClearinserviceregisterB. DŠMOVE.B#$80,MFP_IMRA(A1)‚UnmaskinterruptsfromACFAILandtimerA.6ŠCLR.B‚MFP_IMRB(A1)‡MaskoffallinterruptsfromIMRB. DŠMOVE.B#$A0,MFP_IERA(A1)‚EnableinterruptsfromACFAILandtimerA.1ŠMOVE.B#$8E,MFP_IERB(A1)‚Enableinterruptsfrom:*¦1.)‚MMUIRQ*.*¦2.)‚PARBAD*. *¦3.)‚BBERR. *¦4.)‚XERR.'*£(Note:‚Ifweenableaninterrupt,but"*«maskitoff,weallowthePICto*«latchtheinterruptintothe!*«interruptpendingregister,but!*«nottointerrupttheCPU.‚Ifwe!*«enableandunmaskaninterrupt,*«thenwelatchitintothe!*«interruptpendingregister,and*«alsointerrupttheCPU. /************************************************&*‡EndofMK68901timerinitialization*/*********************************************** /************************************************.*†initializetheVBIM#1‚control/statusregs2!*‰tobeusedbytheM146818timer**†NOTE:2*‰Control/vectorreg0and1areusedbySIOports*/*********************************************** 0VBIM_V2‚SET‡$FF10CDAddressofVBIMVectorreg‚21VBIM_C2‚SET‡$FF10C5AddressofVBIMControlreg2  !‰MOVE.B„#$54,VBIM_V2‰Vectorreg39‰MOVE.B„#$10+6,VBIM_C2‡Controlreg3=EnableInterrupt+*§InterruptLevel *>>>>>>/*************************************************†M146818TimerInitialization*/*********************************************** EŠMOVE.LTIMSLIC(PC),TIMESLIC#TIMERINTERRUPTSBEFORETASKINTERRUPT;ŠMOVE.LTIMERA(PC),A1†GETTIMERADDRESS(MFPBASEADDRESS).#ŠMOVE.LA1,PTMADDR‰SAVEITFOREXEC!ŠBEQ.L‚TIMERBEŒBRANCHIFNOTIMER)ŠPEA„TIMERBE(PC)ˆWHERETOGOONBUSERROR$ŠMOVE.W#'BE',-(A7)ˆSETBUSERRFLAG ŠMOVE.L#0,DATEŒDate<--0./ŠMOVE.W#10,TIMINTVˆNumberofmsperclocktick *4*ˆGetsystemtimeanddatefrombatterybackedtimer*‰MOVE.L„#1800,D1ŒTimeoutcount:UIP_LOOPBTST†#7,REGA(A1)‰WaitforUIPbittoresetbefore; NN#‰BEQ.S…UIP_OKAYŒreadingclockchip.4‰DBRA†D1,UIP_LOOP‰Ifbatteryisdead,we'lltimeout,$‰BRA.S…RANGE_ERR‹andalwaysgohere.UIP_OKAY*‰CLR.L…D1’Prepareforfollowingshortload'‰MOVE.B„HRS(A1),D1ŠGethoursfromtimerŠCHECK_RANGE.LD1,#0,#230‰MOVE.L„#3600*1000,D2‡Addendisonehour'smsecs+‰CLR.L…D0’CalculationwilltakeplaceinD0*‰BRA.S…CALCLOOPŒStartthecalculationloopCALCHRS)‰ADD.L…D2,D0Addonehour'smsecstotimeCALCLOOP*‰DBRA†D1,CALCHRSŠLoopuntilhourscomputed*‰CLR.W…D1’Prepareforfollowingshortload*‰MOVE.B„MINS(A1),D1‰GetminutesfromtimerŠCHECK_RANGED1,#0,#59)‰MULU.W„#60,D1ŽConvertminutestosecondsNNNNN*‰CLR.L…D2’Prepareforfollowingshortload*‰MOVE.B„SECS(A1),D2‰GetsecondsfromtimerŠCHECK_RANGED2,#0,#59‰ADD.L…D2,D1D1=totalseconds‰MULU.W„#1000,D1ŒD1=totalmsecs!‰ADD.L…D1,D0D0=grandtotalmsecs‰ADD.L…TIME_LEFT,D0 ‰MOVE.L„D0,NSEŽStoreitforexec‰CLR.L…MIDNIGHT (‰CLR.L…D0’Preparetoformgregoriandate'‰MOVE.B„YEAR(A1),D0‰GetyearfromtimerŠCHECK_RANGED0,#0,#99‰ADD.W…#1900,D0ŒYear=1900+YY‰SWAP†D0’D0=YYYY0000 ‰MOVE.B„MONTH(A1),D0ˆD0=YYYY00MMŠCHECK_RANGED0,#1,#12‰LSL.W…#8,D0D0=YYYYMM00"‰MOVE.B„DAYOMTH(A1),D0†D0=YYYYMMDDŠCHECK_RANGED0,#1,#31 *I*‚Thetimeanddatelookreasonable,solet'sgoaheadandkeepthoseforG*‚ourown(thechipmustnothavelostpowersincelasttime).‚Wecan'tI*‚tellforsurewhetherthechiplostpower,eventhoughthere'sabitinJ*‚thechipthatsaysso,becausethebughasalreadyreadtheinformation,*‚makingitunavailabletous.* ‰BSR.S…DATEGOŽConverttoordinal!‰MOVE.L„D0,DATEGivedatetoexec ŠBRA.S‚GO_TIMER *H*‚Ifwecomehere,oneofthefieldsreadfromtheclockchipiswhacko.*‚Setsystemtimeanddayto0.*1RANGE_ERRMOVE.LTIME_LEFT,NSE†Timeofday<--0.ŠCLR.L‚MIDNIGHTŠMOVE.L#0,DATEŒDate<--0. **ˆNowstarttimerticking*KGO_TIMERMOVEƒTIMINTVA(PC),TIMINTV‚SavetimerinterruptintervalinSYSPAR.4‰MOVE.B#$A,REGA(A1)ˆSELECTPERIODICACTIVATIONRATE0‰MOVE.BREGC(A1),D0‰RESETANYPENDINGINTERRUPTS&‰MOVE.B#$46,REGB(A1)‡ENABLETHETIMER.‰ADD.L‚#6,A7REMOV< E'BE'ANDBUSERRORADDRESS‰RTS˜BACKTOINIT**DAYNUMBERWHEREDAY1=JAN11980***ˆCALL *’BSR‡DATEGO*¦BINARYGREGORIAN-YYYYMMDD*§TO*¦BINARYORDINALƒ-DAYNUMBER*ˆINPUT'*’D0=DATETOBECONVERTED--YYYYMMDD**ˆOUTPUT#*’D0=CONVERTEDDATE‡--DAYNUMBER*O******************************************************************************* ‰SECTIONƒ8**ˆNON-LEAPDAYSBEFORETABLE¥*Ç=DATEDBNLDC.W0,31,59,90,120,151,181,212,243,273,304,334,365Œ*Ç*ˆLEAPDAYSBEFORETABLE©*ÇŠMOVE.L#CREG,CTRLREG†PutbaseaddressofctrlregsinSYSPAR. ŠINIT_CREG CŠMOVE.LCACHEF(PC),CFLUSH‚Moveaddressofcacheflushvariablefrom*£INITDATareatoSYSPARarea. ŠTST.B‚F_ALLŽFlushentirecache.  2ŠADD.L‚#6,SPŽGetthebuserrorjunkoffthestack.  E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>•NOTICEš<<<<<<<*‚>>>>>>>µ<<<<<<<>*‚>>< >>>>>…WhenincorporatinganydriversduringSYSGEN„<<<<<<<?*‚>>>>>>>…thatrequirememoryallocatedforthemasperƒ<<<<<<<?*‚>>>>>>>…thedriverpackageinstructions-thisistheƒ<<<<<<<,*‚>>>>>>>…spotthefile(s)gointo!!–<<<<<<<*‚>>>>>>>µ<<<<<<<=*‚>>>>>>>…Thisisalsothespotforcodeforadriver…<<<<<<<>*‚>>>>>>>…that‚requiresothertypesofinitialization,ƒ<<<<<<<0*‚>>>>>>>…such‚asclearinganinterrupt.‘<<<<<<<*‚>>>>>>>µ<<<<<<<*‚>>>>>>>‘MERGEITHERE—<<<<<<<*<*ˆWhenyouwritethecodethatistobemergedhere,wrapit*ˆaroundwiththefollowing:*:*ˆAtthebeginning,withDRVRxOUTreferringtoyourunique*ˆlabel,putthiscode:*'*‹PEA„DRVRxOUT(PC)„IFBUSERROROCCURS,*¢RETURNORGOONTONEXT*¢DRIVER'SINITIALIZATION**‹MOVE.W#'BE',-(A7)…SAVE'BUSERROR'FLAG*9*ˆTheninsertthecodetodowhatyouneedtodoforthis*ˆparticulardriver.**ˆAttheend,putthis:***‹LEA„6(A7),A7ˆREMOVEBUSERRORFROMSTACK*DRVRxOUTƒEQU„**=*ˆInthisway,ifthecodeforonedrivercausesabuserror,.*ˆthecodeforotherdriverswillbeexecuted.*E*‚>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<G*********************************************************************** ŠENDNNNN*ˆVME12X.CNFGDRVR.CI,*ˆ(CNFGDRVRfileforbothVME120andVME122)NNNNN= NN’›&£%«³!» ÃËÓ6Û'* Configuration file for device driversO*------------------------------------------------------------------------------D* This file sets up the flags used by the "VME12X.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/SYSTEMDEPENDENCIESareincludedfromthe&.VERSADOS.CDfile.---;*VME12X.SYSTEM.CIƒaddprocessorboard/systemdependencies,(*˜includinglocalterminalsandprinters6*&.CNFGTASK.CI†addO/StaskconfigurationforROM/RAMM***************************************************************************** O*------------------------------------------------------------------------------?NOLTERMƒ=1Œ#ofterminalsonVME120serialports(MFP);max=1 O*------------------------------------------------------------------------------2NORWIN„=1Œ#ofRWIN1„Winchestercontrollerboards* IFGTˆ\NORWIN+ƒCONTWIN1‚="2"Š1stRWIN1controllernumber8ƒNHRWIN$1‚=1Œ#ofhardƒdiskdriveson1stRWIN1;max=2:ƒNFRWIN$1‚=2Œ#offloppydiskdriveson1stRWIN1;max=2>ƒRWIN0$1ƒ="'H5WIN40'"‚Typeofhardƒdiskon1stRWIN1,drive0>ƒRWIN1$1ƒ="'H5WIN40'"‚Typeofhardƒdiskon1stRWIN1,drive1@ƒRWIN2$1ƒ="'F5DDDSI'"‚Typeoffloppydiskon1stRWIN1,drive2@ƒRWIN3$1ƒ="'F5DDDSI'"‚Typeoffloppydiskon1stRWIN1,drive3 +ƒCONTWIN2‚="5"Š2ndRWIN1controllernumber8ƒNHRWIN$2‚=0Œ#ofhardƒdiskdriveson2ndRWIN1;max=2:ƒNFRWIN$2‚=0Œ#offloppydiskdriveson2ndRWIN1;max=2BƒRWIN0$2ƒ="'H5WIN40'"‚Typeof1sthardƒdiskon2ndRWIN1,drive0BƒRWIN1$2ƒ="'H5WIN40'"‚Typeof2ndhardƒdiskon2ndRWIN1,drive1DƒRWIN2$2ƒ="'F5DDDSI'"‚Typeof1stfloppydiskon2ndRWIN1,drive2DƒRWIN3$2ƒ="'F5DDDSI'"‚Typeof2ndfloppydiskon2ndRWIN1,drive3ƒ*Gƒ*…NOTE:‚Youcannotmix5-1/4"and8"floppies.‚Pickoneortheother.ƒ*ENDC O*------------------------------------------------------------------------------)NVME050ƒ=1Œ#ofVME050ƒSystemController IFGTˆ\NVME0507ƒNT050$1ƒ=2Œ#ofterminalsontheVME050board;max=26ƒNP050$1ƒ=1Œ#ofprinters‚ontheVME050board;max=1ENDC O*------------------------------------------------------------------------------8NVME300ƒ=0Œ#ofMVME300‚IEEE488GPIBcontrollerboards O*------------------------------------------------------------------------------@NVME316ƒ=1Œ#ofMVME316‚VMEbustoI/Ochannelinterfaceboards;*˜max=1 O*------------------------------------------------------------------------------<NVME319ƒ=1Œ#ofMVME319/MVME315disk/tapecontrollerboards IFGTˆ\NVME3195ƒCONT3191‚="1"Š1stMVME319/MVME315controllernumber:ƒNH319$1ƒ=2Œ#ofharddiskdriveson1stMVME319;max=4*±on1stMVME315;max=4<ƒNF319$1ƒ=3Œ#offloppydiskdriv= eson1stMVME319/MVME315; *œmax=4. .* The two possible disk controller types are : *¯0=XEBEC *¯2=ADAPTEC*4* The stepping rates for hard disk controllers are :NN)*ˆXEBEC-0=ƒ3msec”ADAPTEC-0=ƒ3msec*4=200usecž1=‚28usec*5=‚70usecž2=‚12usec *6=‚30usec *7=‚15usec 1ƒM319C1$1‚=2ŒTypeoffirstWinchestercontrollerIƒM3190$1ƒ="'H5WIN40'"‚Typeof1stharddiskon1stMVME319/MVME315board-ƒM319S0$1‚=2ŒSteppingratefor1stharddiskIƒM3191$1ƒ="'H5WIN40'"‚Typeof2ndharddiskon1stMVME319/MVME315board-ƒM319S1$1‚=2ŒSteppingratefor2ndharddisk2ƒM319C2$1‚=2ŒTypeofsecondWinchestercontrollerAƒM3192$1ƒ="'H5WIN40'"‚Typeof3rdharddiskon1stMVME319board-ƒM319S2$1‚=2ŒSteppingratefor3rdharddiskAƒM3193$1ƒ="'H5WIN40'"‚Typeof4thharddiskon1stMVME319board-ƒM319S3$1‚=2ŒSteppingratefor4thharddiskNNNNNCƒM3194$1ƒ="'FTC525S'"‚Typeof1stfloppydiskon1stMVME315board&*£1stfloppy/tapeon1stMVME319boardDƒM3195$1ƒ="'‡'"‚Typeof2ndfloppydiskon1stMVME319/VME315boardJƒM3196$1ƒ="'F5DDDSI'"‚Typeof3rdfloppydiskon1stMVME319/VME315boardJƒM3197$1ƒ="'F5DDDSI'"‚Typeof4thfloppydiskon1stMVME319/VME315board 5ƒCONT3192‚="6"Š2ndMVME319/MVME315controllernumber:ƒNH319$2ƒ=0Œ#ofharddiskdriveson2ndMVME319;max=4*±on2ndMVME315;max=4<ƒNF319$2ƒ=0Œ#offloppydiskdriveson2ndMVME319/MVME315; *œmax=4. 1ƒM319C1$2‚=2ŒTypeoffirstWinchestercontrollerIƒM3190$2ƒ="'H5WIN40'"‚Typeof1stharddiskon2ndMVME319/MVME315board-ƒM319S0$2‚=2ŒSteppingratefor1stharddiskIƒM3191$2ƒ="'H5WIN40'"‚Typeof2ndharddiskon2ndMVME319/MVME315board-ƒM319S1$2‚=2ŒSteppingratefor2ndharddisk2ƒM319C2$2‚=2ŒTypeofsecondWinchestercontrollerAƒM3192$2ƒ="'H5WIN40'"‚Typeof3rdharddiskon2ndMVME319board-ƒM319S2$2‚=2ŒSteppingratefor3rdharddiskAƒM3193$2ƒ="'H5WIN40'"‚Typeof4thharddiskon2ndMVME319board-ƒM319S3$2‚=2ŒSteppingratefor4thharddiskCƒM3194$2ƒ="'FTC525S'"‚Typeof1stfloppydiskon2ndMVME315board&*£1stfloppy/tapeon2ndMVME319boardDƒM3195$2ƒ="'‡'"‚Typeof2> ndfloppydiskon2ndMVME319/VME315boardJƒM3196$2ƒ="'F5DDDSI'"‚Typeof3rdfloppydiskon2ndMVME319/VME315boardJƒM3197$2ƒ="'F5DDDSI'"‚Typeof4thfloppydiskon2ndMVME319/VME315boardENDC O*------------------------------------------------------------------------------ NNN8ƒNH360$1ƒ=0Œ#ofharddiskdriveson1stVME360;max=4 AƒM3600$1ƒ="'FXF2322'"‚Typeof1stharddiskon1stMVME360boardAƒM3601$1ƒ="'FXF2322'"‚Typeof2ndharddiskon1stMVME360boardAƒM3602$1ƒ="'FF2322A'"‚Typeof3rdharddiskon1stMVME360boardAƒM3603$1ƒ="'FF2322B'"‚Typeof4thharddiskon1stMVME360board -ƒCONT3602‚="8"Š2ndMVME360controllernumber8ƒNH360$2ƒ=0Œ#ofharddiskdriveson2ndVME360;max=4 AƒM3600$2ƒ="'FF2322A'"‚Typeof1stharddiskon2ndMVME360boardAƒM3601$2ƒ="'FF2322B'"‚Typeof2ndharddiskon2ndMVME360boardAƒM3602$2ƒ="'FF2322A'"‚Typeof3rdharddiskon2ndMVME360boardAƒM3603$2ƒ="'FF2322B'"‚Typeof4thharddiskon2ndMVME360boardENDC O*------------------------------------------------------------------------------5NVME400‚=0#ofMVME400‚dual7201serialportboards IFGT‚\NVME400:ƒNU400$1ƒ=0#ofports/usersonVME400bd.#1;max=2/bd.:ƒNU400$2ƒ=0#ofports/usersonVME400bd.#2;max=2/bd.ENDC O*------------------------------------------------------------------------------9NVME410‚=0#ofMVME410‚dual16-bitparallelportboardsNNN IFGT‚\NVME410<ƒNU410$1ƒ=0Œ#ofprintersinuseonVME410board#1:‚max=2<ƒNU410$2ƒ=0Œ#ofprintersinuseonVME410board#2:‚max=2ENDC O*------------------------------------------------------------------------------;NVME435ƒ=0Œ#ofMVME435magtapecontrollerboards;max=2 IFGTˆ\NVME435;ƒN435$1„=0Œ#oftapedrivesonfirst‚MVME435board;max=8<ƒN435$2„=0Œ#oftapedrivesonsecondMVME435board;max=8ENDC O*------------------------------------------------------------------------------7NVME600ƒ=0Œ#ofMVME600‚analoginput‚controllerboards O*------------------------------------------------------------------------------8NVME605ƒ=0Œ#ofMVME605‚analogoutputcontrollerboards IFGTˆ\NVME6059ƒNU605…=0ŒNumberofusers(total)fortheMVME605boardsENDC O*------------------------------------------------------------------------------3NVME610ƒ=0Œ#ofMVME610…AC‚input‚controllerboards IFGTˆ\NVME610GƒM610QSIZ‚=128…MinimumnumberofentriesinInterruptProcessingQueueENDC O*------------------------------------------------------------------------------8NVME615ƒ=0Œ#ofMVME615/616AC‚outputcontrollerboards IFGTˆ\NVME6159ƒNU615…=0ŒNumberofusers(total)fortheMVME615boardsENDC O*-? -----------------------------------------------------------------------------3NVME620ƒ=0Œ#ofMVME620…DC‚input‚controllerboards O*------------------------------------------------------------------------------4NVME625ƒ=0Œ#ofMVME625…DC‚outputcontrollerboards IFGTˆ\NVME6259ƒNU625…=0ŒNumberofusers(total)fortheMVME625boardsENDC O*------------------------------------------------------------------------------#NRAD†=0Œ#ofRAD†RemoteA/Dboards IFGTˆ\NRADƒNURAD…=0Œ#ofRADusersENDC O*------------------------------------------------------------------------------#NRIO†=0Œ#ofRIO†RemoteI/Oboards IFGTˆ\NRIO1ƒNRIOINTƒ=0Œ#ofinterruptlevelsperI/OmoduleENDC O*------------------------------------------------------------------------------NNNNNNN**ˆVME12X.IFDRVR.CI/*ˆ(IFDRVRfileusedforbothVME120andVME122)7* Conditional file for VME120 and VME122 device driversO*------------------------------------------------------------------------------K* This file uses flags setup in the VME12X.CNFGDRVR.CI and VME12X.SYSTEM.CI0* files to conditionally include device drivers.*J* The user should not have to modify this file to include/exclude drivers.*D*„******************************************************************?*„**‚NOTICE:‚Thefollowingconditionalsareorderdependent.„**3*„**‹Donotchangetheorder!‚Localdrivers1st.‡**9*„**‹Theorderdeterminesdevicenumber(HD00,PR,etc)‚***„**‹formostitems.¤**D*„******************************************************************** IFNEˆ\NVME316Dƒ*‚TheVME316hasnodriver.‚IthasaninitializationmodulethatisJƒ*‚mergedintoSYSINIT.RO.‚TheincludefilebelowdefinestheI/Ochannel.ƒ*ƒINCLUDE…&.M316DEF.CIENDC* IFNEˆ\NVME320ƒINCLUDE…&.M320DRV.CIENDC* IFNEˆ\NVME319ƒINCLUDE…&.M319DRV.CIENDC* IFNEˆ\NORWINƒINCLUDE…&.RWINDRV.CIENDC* IFNEˆ\NVME360ƒINCLUDE…&.M360DRV.CIENDC* IFNEˆ\NOLTERMƒINCLUDE…&.MFPDRV.CIENDC* IFNEˆ\NVME050ƒINCLUDE…&.M050DRV.CIENDC* IF? NEˆ\NVME400ƒINCLUDE…&.MPSC400.CIENDC* IFNEˆ\NVME331ƒINCLUDE…&.M331DRV.CIENDC* IFNEˆ\NVME410ƒINCLUDE…&.PIA410.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ã`**ˆVME12X.SYSTEM.CI2*ˆ(SYSTEM.CIfileusedforbothVME120andVME122)NNNNNNNìõ2ý49 6L****************************************************************************K*‚Thisfilecontainsallboard/systemdependenciesforVME120andVME122.*&*‚Itiscalledfrom"&.VERSADOS.CD".¦**Ê*E*‚Theusershouldnothavetomodifythisfileexceptunderextreme‡**‚circumstances.º*L**************************************************************************** <*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**†ONBOARDRAMADDRESSES*>*†VMEbusdriversrequirethefollowingtargetsystemdependentB*†variablestobedefinedwhenthemacrofileDUALPORT.MCisused:<*†NotethattheONBD$HIparametermayvaryontheVME110and<*†andVME101systemsdependingonthesizeandnumberofRAM<*†chipsusedontheprocessorcard.‚Th@ evaluesshownarethe?*†minimumrequirements.Modifythatparametertomatchyourown*†systemifdifferent.**;ONBD$LOƒ=$0‹Low‚valueforon-boardram(asseenbydriver)@ONBD$HIƒ=$1FFFF‡Highvalueforon-boardram(asseenbydriver)ARAM$SQ„=$0000ˆDifferencebetweenon-boardramaddressasseenby*˜driveranddevice.JOFFBD$LO‚=\ONBD$LO+\RAM$SQLow‚valueforon-boardram(asseenbydevice)KOFFBD$HI‚=\ONBD$HI+\RAM$SQHighvalueforon-boardram(asseenbydevice) FMSG‰******************************************************************MSG‰**ˆAddressesoftimer,etc.FMSG‰****************************************************************** IFEQˆ\CLOCK050AƒTIMER…=$F20001†AddressoftimeronVME120(MustmatchMFP_BASE)ENDCIFNEˆ\CLOCK050+ƒTIMER…=$FF1101†AddressoftimeronVME050ENDC*œin9999.MK68901.MK68901.EQ)2CLOCKFRQ‚=0ŒNumberofclocktickspermillisecond*œ(notusedonVME12X)"PANEL…=$0‹Addressoffrontpanel.5TRCFLAGƒ=0ŒTraceflag.‚Zeroimpliesdon'ttrace.‚The/*˜settingofbitsintheTRCFLAGparameterwill1*˜controlwhicheventscauseanentrytobebuilt*˜inthetracetable.*˜Bit#inTRCFLAG†Event *›15‘TRAP#1*›14‘I/Ointerruptnotclaimed*°byusertask.*›13‘Timerinterrupt.*›12‘Usertrap(2-15)*›11‘Exception *›10‘Dispatch*œ9‘I/Ointerruptclaimedby *°usertask*œ8‘ReturnfromLOADMMU*œ7‘Simulatedinterrupt*œ6‘SYSFAILinterrupt.*FMSG‰******************************************************************.MSG‰**ƒLocalterminal/printerdeviceaddresses$MSG‰***‚ShortI/Ospacebaseaddress'MSG‰***‚ShortI/OspaceaddressoffsetsFMSG‰****************************************************************** 9LTDA$01ƒ=$F20001†VME120localterminal#1deviceaddress 1SIOBASEƒ=$FF0000†BaseaddressofshortI/Ospace****************************************************************‰Vectornumbers£**>***************************************************************-IOCVEC1ƒ=$50ŠI/Ochannelinterrupt1vector.-IOCVEC2ƒ=$51ŠI/Ochannelinterrupt2vector.-IOCVEC3ƒ=$52ŠI/Ochannelinterrupt3vector.-IOCVEC4ƒ=$53ŠI/Ochannelinterrupt4vector.**IOCLVL1ƒ=2ŒI/Ochannelinterrupt1level.*IOCLVL2ƒ=3ŒI/Ochannelinterrupt2level.*IOCLVL3ƒ=4ŒI/Ochannelinterrupt3level.*IOCLVL4ƒ=5ŒI/Ochannelinterrupt4level. FMSG‰******************************************************************3MSG‰**…DescriptiveinfoaboutthisoperatingsystemFMSG‰****************************************************************** 6TIMSLICƒ=2ŒNumberoftimerinterruptspertimeslice.=TIMINTVƒ=10‹Numberofmillisecondsbetweentimerinterrupts.?ROMEADDR‚=$0‹ROMendaddress--definedbyuserforaROMmable,*œsystem.‚Setto$0ifnotaROMablesystem.-*œTheROMstartaddress(ROMSADDR)isdefined3*œinthe.RMS.CIfileandhasavalueequal!*œtotheinitialprogramcounter.*@*ˆThefollowingparametersareusedtodefinememorypartitions.A*ˆIfonlypartition0exists,thenMEMEND2shouldbesettozero.*IFNEˆ\MMU‰IfMMU*ƒIFEQˆ\MEMALOC…IfusingBestFitalgorithm3†NOPARTSƒ=2ŒNumberofmemorypartitions(neededby†*˜&.INITMEM.AG)E†MEMEND1ƒ=$30000-$100‚Theendƒofpartition0(assumedtostartat0)0†MEMEND2ƒ=$30000-$100‚Thestartofpartition1.*†MEMEND3ƒ=$400000†Theendƒofpartition1.ƒENDC/ƒIFNEˆ\MEMALOC…IfusingBuddyBuffersalgorithm3†NOPARTSƒ=1ŒNumberofmemorypartitions(neededby†*˜&.INITMEM.AG)A†MEMEND1ƒ=$400000†Theendƒofpartition0(assumedtostartat0)'†MEMEND2ƒ=$0‹Thestartofpartition1.%†MEMEND3ƒ=$0‹Theendƒofpartition1.ƒENDC@ ENDCIFEQˆ\MMU‰IfNOMMU3ƒNOPARTSƒ=1ŒNumberofmemorypartitions(neededbyƒ*˜&.INITMEM.AG)BƒMEMEND1ƒ=$400000†Theendƒofpartition0(assumedtostartat0).'ƒMEMEND2ƒ=$0‹Thestartofpartition1.%ƒMEMEND3ƒ=$0‹Theendƒofpartition1.ENDC E* SET1 is a user adjustable parameter that can take on any one of the*ƒfollowingvalues: *…1)‚"SYSTEM" *…2)‚"USER"*…3)‚"DONT-CARE"F* If SET1 is set to "SYSTEM" then the cache bank should be set up as aC*ƒsupervisorycache.‚Inthismode,RMSandthedriverswillusetheE*ƒcacheandRMSwillnotflushthecacheontaskswitches.‚IfSET1isC*ƒsettoanyothervalue,thenRMSwillflushthecacheonalltask7*ƒswitchesthatforceachangeinaddressspacenumber. SET1†="DONT-CARE" &Tˆ=$F80006IFEQˆ"\SET1"†,"SYSTEM""ƒ&Tˆ=\STARTRMS„SettodummyvalueENDC )CACHEF„=\&TŠVariableforflushingcache:&*ž1.)‚CACHEF<==$F80006(flushbank).**ž2.)‚CACHEF<==Dummyƒ(don'tflushbank).;WHERLOAD‚=$0‹Memoryaddresswherebootfilewillbeloaded6*˜Ifnonzero,VERSAdoswillbemovedatinitialization*˜time.3ASMTYPEƒ=0ŒTypeofassemblertouseforINITIO1.AG *œ0-UseASM*œ1-UseASM020 EMSG‰*****************************************************************)MSG‰**‚Parametersabouttablesizes,etc.EMSG‰***************************************************************** 'PAGESIZE‚=\PGSIZE†From.RMS.CI*6ASN‡=127Š#ofaddressspaces:‚neededby&.INITDAT.AG. EMSG‰***************************************************************** MSG‰**½**#MSG‰**ŒADDRESSANDDATABUSSIZE˜**=MSG‰**…---------------------------------------------------…**'MSG‰**ŒA$SIZE=‚WIDTHOFADDRESSBUS“** MSG‰**½**)MSG‰**Œ32…=‚32BITEXTENDEDADDRESSING**)MSG‰**Œ24…=‚24BITSTANDARDADDRESSING** MSG‰**½**$MSG‰**ŒD$SIZE=‚WIDTHOFDATABUS–** MSG‰**½**#MSG‰**Œ32…=‚32BITLONGWORDDATA“**MSG‰**Œ16…=‚16BITWORDDATA—** MSG‰**½**EMSG‰***************************************************************** D$SIZE„=16 A$SIZE„=24 GMSG‰*******************************************************************>MSG‰*ƒCopythesysteminitializerintoM68XXX.INIT.RObasedon:MSG‰*ƒthetypeofmemoryallocationdefinedatRMSGENtimeMSG‰*ƒin.RMS.CD.GMSG‰******************************************************************* IFEQˆ\MEMALOC'ƒ=COPY‡BESTFIT.INIT.RO,M68XXX.INIT.RO;Y ƒIFEQˆ\MMU†=COPY‡&.MTYPE.SI,MTYPE.SI;YƒENDC ƒIFNEˆ\MMU†=COPY‡MULT.MTYPE.SI,MTYPE.SI;YƒENDCENDC IFNEˆ\MEMALOC%ƒ=COPY‡BUDDY.INIT.RO,M68XXX.INIT.RO;Yƒ=COPY‡&.MTYPE.SI,MTYPE.SI;YENDC GMSG‰*******************************************************************=MSG‰*ƒCopyCBOD.SYSPAR.ROinto&.SYSPAR.ROtomakeitgenericAMSG‰*ƒfor.LGfilesandpossibleforsysgeningmorethan1systemMSG‰*ƒperaccount#GMSG‰******************************************************************* "=COPY‡CBOD.SYSPAR.RO,&.SYSPAR.RO;YN=/*=/*†VME12X.SYSINIT.LG=/*K=/* Link chain file run at sysgen time to link SYSINIT.LO with a PREINIT.RO=/*?=/* Sysgen parameter PC = \PC = address at which to link driver=/*)=LINK ,SYSINIT.LO,\WORKLS;HAMIXS,\LISTOPTSEG .INT:8 \PCINPUT PREINIT.ROINPUT ROGEN.ROINPUT &.INITDAT.ROINPUT &.SYSPAR.ROEND=/*=ENDNA NNNNN'MMULDR VERSADOSCI**  $**ˆMMULDR.VERSADOS.CI*AMSG‰*************************************************************-MSG‰**ˆLDR--Loader(trap#4servertask)Ž**AMSG‰*************************************************************TASKˆ&.LDR.LO,&LDRSTATE…='READ'ATTRIB„='CRIT'ATTRIB„='SYST'PRIORITY‚=$C8 SESSIONƒ=4*VVVVV‚BAW10/1/85&L0 = *&L1 =\&L0/\PAGESIZE*\PAGESIZEIFNE \&L0-\&L1&L0 = \&L1+\PAGESIZEENDCPC=\&L0ŒLDRloadaddr.LDRSTR„=*ŒLDRloadaddr.* ^^^^^SUBSˆMMU.LOADER.LGLINKˆMMU.LOADER.LGEND‰LDR5* Build VERSAdos patch chain file .VERSAPT.CF!=COPY‡VERSAPT.LDR.CF,VERSAPT.CF;ANNNA NN"'FHSIOS VERSADOSCI77<  $**ˆFHSIOS.VERSADOS.CI*AMSG‰*************************************************************=MSG‰**ƒFHS--FileHandlingServices(trap#3servertask)ƒ**AMSG‰*************************************************************TASKˆ&.FHS.LO,.FHSSTATE…='DORM'ATTRIB„='CRIT'ATTRIB„='RTIM'ATTRIB„='SYST' SESSIONƒ=1PRIORITY‚=$D1*VVVVV‚BAW10/1/85&L0 = *&L1 =\&L0/\PAGESIZE*\PAGESIZEIFNE \&L0-\&L1&L0 = \&L1+\PAGESIZEENDC PC = \&L0FHSSTR=*‹FHSloadaddr.* ^^^^^ FHSASR„=*+2ŠFHSASRentrypointSUBSˆFHS.IXR.AG,ASM‰FHS.IXR.AG,FHS.IXR.RO,\WORKLS;R,\LISTOPT SUBSˆ&.FHS.LG LINKˆ&.FHS.LGEND‰FHS#*BuildVERSAdos‚.OSLIST.AG=COPY‡OSLIST.FHS.SI,OSLIST.AG;A5* Build VERSAdos patch chain file .VERSAPT.CF!=COPY‡VERSAPT.FHS.CF,VERSAPT.CF;A MSG‰?MSG‰***********************************************************.OSLIST.AG=COPY‡OSLIST.IOS.SI,OSLIST.AG;A5* Build VERSAdos patch chain file .VERSAPT.CF!=COPY‡VERSAPT.IOS.CF,VERSAPT.CF;AN/=B 'NOMMULDRVERSADOSCIDD  $**ˆNOMMULDR.VERSADOS.CI*AMSG‰*************************************************************-MSG‰**ˆLDR--Loader(trap#4servertask)Ž**AMSG‰*************************************************************TASKˆ&.LDR.LO,&LDRSTATE…='READ'ATTRIB„='CRIT'ATTRIB„='SYST'PRIORITY‚=$C8 SESSIONƒ=4*VVVVV‚BAW10/1/85&L0 = *&L1 =\&L0/\PAGESIZE*\PAGESIZEIFNE \&L0-\&L1&L0 = \&L1+\PAGESIZEENDCPC=\&L0ŒEETloadaddr.* ^^^^^LDRSTR„=*ŒLDRloadaddr.SUBSˆNOMMU.LOADER.LGLINKˆNOMMU.LOADER.LGEND‰LDR5* Build VERSAdos patch chain file .VERSAPT.CF!=COPY‡VERSAPT.LDR.CF,VERSAPT.CF;ANNNNN<'SIO ADDRESS CIQQ]  $B **ˆSIO.ADDRESS.CI*N******************************************************************************6*‚ShortI/OAddressSpaceOffsetsforStandardSYSGENsN*******************************************************************************H*‚NOTE:‚1.Theseaddressesarecodedintomanyofthefirmwaredebuggers9*Œsothebugcanaccessthedevice.‚REQUIREDFORBOOTING!***‚Symbolformatis:„Lnnn$mm*„where:„L=location:*Œnnn=VMEboardnumber/descriptionorVnnforVERSAmodule*Ž$=separator*mm=boardnumber01-99**I*------------------------------------------------------------------------.L050$01ƒ=\SIOBASE+$1000VME050bd.#1address*žL050$01‚=\L050$01I*------------------------------------------------------------------------5L300$01ƒ=\SIOBASE+$0400VME300bd.#1address‚(GPIB)*žL300$01‚=\L300$015L300$02ƒ=\SIOBASE+$0440VME300bd.#2address‚(GPIB)*žL300$02‚=\L300$02I*------------------------------------------------------------------------7L319$01ƒ=\SIOBASE+$0000VME319/VME315board#1address*žL319$01‚=\L319$017L319$02ƒ=\SIOBASE+$0200VME319/VME315board#2address*žL319$02‚=\L319$02I*------------------------------------------------------------------------.L320$01ƒ=\SIOBASE+$B00DVME320bd.#1address*žL320$01‚=\L320$01.L320$02ƒ=\SIOBASE+$AC0DVME320bd.#2address*žL320$02‚=\L320$02I*------------------------------------------------------------------------.L331$01ƒ=\SIOBASE+$3000VME331bd.#1address*žL331$01‚=\L331$01.L331$02ƒ=\SIOBASE+$3100VME331bd.#2address*žL331$02‚=\L331$02.L331$03ƒ=\SIOBASE+$3200VME331bd.#3address*žL331$03‚=\L331$03.L331$04ƒ=\SIOBASE+$3300VME331bd.#4address*žL331$04‚=\L331$04.L331$05ƒ=\SIOBASE+$3400VME331bd.#5address*žL331$05‚=\L331$05.L331$06ƒ=\SIOBASE+$3500VME331bd.#6address*žL331$06‚=\L331$06I1RZI*------------------------------------------------------------------------.L333$01ƒ=\SIOBASE+$3800VME333bd.#1address*žL333$01‚=\L333$01.L333$02ƒ=\SIOBASE+$3900VME333bd.#2address*žL333$02‚=\L333$02.L333$03ƒ=\SIOBASE+$3A00VME333bd.#3address*žL333$03‚=\L333$03.L333$04ƒ=\SIOBASE+$3B00VME333bd.#4address*žL333$04‚=\L333$04.L333$05ƒ=\SIOBASE+$3C00VME333bd.#5address*žL333$05‚=\L333$05.L333$06ƒ=\SIOBASE+$3D00VME333bd.#6address*žL333$06‚=\L333$06I*------------------------------------------------------------------------.L350$01ƒ=\SIOBASE+$5000VME350bd.#1address*žL350$01‚=\L350$01NNNC NN.L350$02ƒ=\SIOBASE+$5100VME350bd.#2address*žL350$02‚=\L350$02.L350$03ƒ=\SIOBASE+$5200VME350bd.#3address*žL350$03‚=\L350$03.L350$04ƒ=\SIOBASE+$5300VME350bd.#4address*žL350$04‚=\L350$04I*------------------------------------------------------------------------.L355$01ƒ=\SIOBASE+$5400VME355bd.#1address*žL355$01‚=\L355$01I*------------------------------------------------------------------------.L360$01ƒ=\SIOBASE+$0C00VME360bd.#1address*žL360$01‚=\L360$01.L360$02ƒ=\SIOBASE+$0E00VME360bd.#2address*žL360$02‚=\L360$02I*------------------------------------------------------------------------3LV30$01ƒ=\SIOBASE+$1000VM30ƒbd.#1address‚(MCCM)*žLV30$01‚=\LV30$013LV30$02ƒ=\SIOBASE+$1200VM30ƒbd.#2address‚(MCCM)*žLV30$02‚=\LV30$023LV30$03ƒ=\SIOBASE+$1400VM30ƒbd.#3address‚(MCCM)*žLV30$03‚=\LV30$033LV30$04ƒ=\SIOBASE+$1600VM30ƒbd.#4address‚(MCCM)*žLV30$04‚=\LV30$04I*------------------------------------------------------------------------ H*NOTE:‚VM20,VM21,andVM22aredefinedsequentiallybyoffsetsof$200C*ˆasneeded.‚TheymustnotbeassignedabsoluteoffsetsbecausetheB*ˆdebuggerBOcmdassumesabootfromcontroller0atoffset0and?*ˆwehaveharddisk(VM21)andfloppyonly(VM20)typesystems.NN'VME13X CNFGDRVRCInn.ó  $IFDRVR CI¿¿_  $**ˆVME13X.CNFGDRVR.CI1*ˆ(CNFGDRVRfileusedforbothVME130andVME131)NC NNNNNNfo&w%‡! —Ÿ§6¯'* Configuration file for device driversO*------------------------------------------------------------------------------D* This file sets up the flags used by the "VME13X.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/SYSTEMDEPENDENCIESareincludedfromthe&.VERSADOS.CDfile.---;*VME13X.SYSTEM.CIƒaddprocessorboard/systemdependencies,(*˜includinglocalterminalsandprinters6*&.CNFGTASK.CI†addO/StaskconfigurationforROM/RAMM***************************************************************************** O*------------------------------------------------------------------------------ENOLTERMƒ=2‡#ofterminalsusingVME130(MK68564)serialports;max=2 O*------------------------------------------------------------------------------2NORWIN„=0Œ#ofRWIN1„Winchestercontrollerboards* IFGTˆ\NORWIN+ƒCONTWIN1‚="8"Š1stRWIN1controllernumber8ƒNHRWIN$1‚=0Œ#ofhardƒdiskdriveson1stRWIN1;max=2:ƒNFRWIN$1‚=0Œ#offloppydiskdriveson1stRWIN1;max=2>ƒRWIN0$1ƒ="'H5WIN40'"‚Typeofhardƒdiskon1stRWIN1,drive0>ƒRWIN1$1ƒ="'H5WIN40'"‚Typeofhardƒdiskon1stRWIN1,drive1@ƒRWIN2$1ƒ="'F5DDDSI'"‚Typeoffloppydiskon1stRWIN1,drive2@ƒRWIN3$1ƒ="'F5DDDSI'"‚Typeoffloppydiskon1stRWIN1,drive3 +ƒCONTWIN2‚="9"Š2ndRWIN1controllernumber8ƒNHRWIN$2‚=0Œ#ofhardƒdiskdriveson2ndRWIN1;max=2:ƒNFRWIN$2‚=0Œ#offloppydiskdriveson2ndRWIN1;max=2BƒRWIN0$2ƒ="'H5WIN40'"‚Typeof1sthardƒdiskon2ndRWIN1,drive0BƒRWIN1$2ƒ="'H5WIN40'"‚Typeof2ndhardƒdiskon2ndRWIN1,drive1DƒRWIN2$2ƒ="'F5DDDSI'"‚Typeof1stfloppydiskon2ndRWIN1,drive2DƒRWIN3$2ƒ="'F5DDDSI'"‚Typeof2ndfloppydiskoD n2ndRWIN1,drive3ƒ*Gƒ*…NOTE:‚Youcannotmix5-1/4"and8"floppies.‚Pickoneortheother.ƒ*ENDC O*------------------------------------------------------------------------------)NVME050ƒ=1Œ#ofVME050ƒSystemController IFGTˆ\NVME0507ƒNT050$1ƒ=2Œ#ofterminalsontheVME050board;max=26ƒNP050$1ƒ=1Œ#ofprinters‚ontheVME050board;max=1ENDC O*------------------------------------------------------------------------------8NVME300ƒ=0Œ#ofMVME300‚IEEE488GPIBcontrollerboards O*------------------------------------------------------------------------------@NVME316ƒ=0Œ#ofMVME316‚VMEbustoI/Ochannelinterfaceboards;*˜max=1 O*------------------------------------------------------------------------------<NVME319ƒ=1Œ#ofMVME319/MVME315disk/tapecontrollerboards IFGTˆ\NVME3195ƒCONT3191‚="1"Š1stMVME319/MVME315controllernumber:ƒNH319$1ƒ=2Œ#ofharddiskdriveson1stMVME319;max=4*±on1stMVME315;max=4<ƒNF319$1ƒ=3Œ#offloppydiskdriveson1stMVME319/MVME315; *œmax=4. .* The two possible disk controller types are : *¯0=XEBEC *¯2=ADAPTEC*4* The stepping rates for hard disk controllers are :NN)*ˆXEBEC-0=ƒ3msec”ADAPTEC-0=ƒ3msec*4=200usecž1=‚28usec*5=‚70usecž2=‚12usec *6=‚30usec *7=‚15usec 1ƒM319C1$1‚=2ŒTypeoffirstWinchestercontrollerIƒM3190$1ƒ="'H5WIN40'"‚Typeof1stharddiskon1stMVME319/MVME315board-ƒM319S0$1‚=2ŒSteppingratefor1stharddiskIƒM3191$1ƒ="'H5WIN40'"‚Typeof2ndharddiskon1stMVME319/MVME315board-ƒM319S1$1‚=2ŒSteppingratefor2ndharddisk2ƒM319C2$1‚=2ŒTypeofsecondWinchestercontrollerAƒM3192$1ƒ="'H5WIN40'"‚Typeof3rdharddiskon1stMVME319board-ƒM319S2$1‚=2ŒSteppingratefor3rdharddiskAƒM3193$1ƒ="'H5WIN40'"‚Typeof4thharddiskon1stMVME319board-ƒM319S3$1‚=2ŒSteppingratefor4thharddiskNNNNNCƒM3194$1ƒ="'FTC525S'"‚Typeof1stfloppydiskon1stMVME315board&*£1stfloppy/tapeon1stMVME319boardDƒM3195$1ƒ="'‡'"‚Typeof2ndfloppydiskon1stMVME319/VME315boardJƒM3196$1ƒ="'F5DDDSI'"‚Typeof3rdfloppydiskon1stMVME319/VME315boardD JƒM3197$1ƒ="'F5DDDSI'"‚Typeof4thfloppydiskon1stMVME319/VME315board 5ƒCONT3192‚="7"Š2ndMVME319/MVME315controllernumber:ƒNH319$2ƒ=0Œ#ofharddiskdriveson2ndMVME319;max=4*±on2ndMVME315;max=4<ƒNF319$2ƒ=0Œ#offloppydiskdriveson2ndMVME319/MVME315; *œmax=4. 1ƒM319C1$2‚=2ŒTypeoffirstWinchestercontrollerIƒM3190$2ƒ="'H5WIN40'"‚Typeof1stharddiskon2ndMVME319/MVME315board-ƒM319S0$2‚=2ŒSteppingratefor1stharddiskIƒM3191$2ƒ="'H5WIN40'"‚Typeof2ndharddiskon2ndMVME319/MVME315board-ƒM319S1$2‚=2ŒSteppingratefor2ndharddisk2ƒM319C2$2‚=2ŒTypeofsecondWinchestercontrollerAƒM3192$2ƒ="'H5WIN40'"‚Typeof3rdharddiskon2ndMVME319board-ƒM319S2$2‚=2ŒSteppingratefor3rdharddiskAƒM3193$2ƒ="'H5WIN40'"‚Typeof4thharddiskon2ndMVME319board-ƒM319S3$2‚=2ŒSteppingratefor4thharddiskCƒM3194$2ƒ="'FTC525S'"‚Typeof1stfloppydiskon2ndMVME315board&*£1stfloppy/tapeon2ndMVME319boardDƒM3195$2ƒ="'‡'"‚Typeof2ndfloppydiskon2ndMVME319/VME315boardJƒM3196$2ƒ="'F5DDDSI'"‚Typeof3rdfloppydiskon2ndMVME319/VME315boardJƒM3197$2ƒ="'F5DDDSI'"‚Typeof4thfloppydiskon2ndMVME319/VME315boardENDC O*------------------------------------------------------------------------------.BOARD.EQ*‚mustcomefirst.)*‚Thetwosystemsare:VME117andVME133..*‚ThatiswherethemacroRTC_MOVEisdefined.**ˆXREF'S* *ˆFromSYSPAR*‰XREF†TIME_LEFT ‰XREF†NSE‰XREF†MIDNIGHT**G*‚Thismacrowillverifythatabyteiswithinaspecifiedrange.‚IfitH*‚isnotwithintherange,abranchistakentoRANGE_ERR.‚ThesyntaxisD*„CHECK_RANGE.,,F*‚DistanceisSforshortbranches,Lforlongbranches,ornothingif*‚thedefaultwilldo.6*‚Thebytetocheckistreatedasanunsignedinteger.***7*‚THISISANEWWAYTOCALCULATENUMBEROFMF ILLISECONDS<*‚ANDDATEAFTERREADINGTHEMM58274BATTERYBACKEDUPCLOCK***‚REGISTERUSE:*’0ƒ1ƒ2ƒ3ƒ4ƒ5ƒ6*ˆA* *ˆD‰*ƒ*ƒ*ƒ*ƒ**)*ˆA1=addressofbattery-backedupclock'*ˆD0=accumulatedmillisecondsoftime-*ˆD1=secondsandminutesasreadfromclock(*ˆD2=hoursanddaysasreadfromclock(*ˆD3=monthandyearasreadfromclock*ˆD4=workregister*H*‚TheMM58472storesitstimedatainbinarycodeddecimalandwhenread/*‚youseeanFintheupper4bitsofthebyte.*1*‚Followalongwiththisexampleinthecomments:*#*ˆthetimeis13:29:45ƒdate‚3/26/85* *‚readas**ˆF5F4F9F2ƒF3F1F6F2„F3F0F5F8**‚fromtheMM58472.*RTC_ST:‰MOVE.L„RTC_TIMER,A1*‰PEA‡RTC_BE(PC)ŠWheretogoifthereisno#‰MOVE.W„#'BE',-(A7)‰realtimeclock RTC_LOOP:9‰RTC_MOVE.LUNIT_SEC(A1),D1…Readtheclockintoregisters‰AND.L†#$0F0F0F0F,D1‰RTC_MOVE.LUNIT_HRS(A1),D2‰RTC_MOVE.LUNIT_MON(A1),D3.‰RTC_MOVE.LUNIT_SEC(A1),D4…Readsecondsagain‰AND.L†#$0F0F0F0F,D48**‰MOVEP.LƒUNIT_SEC(A1),D1…Readtheclockintoregisters**‰MOVEP.LƒUNIT_HRS(A1),D2**‰MOVEP.LƒUNIT_MON(A1),D3-**‰MOVEP.LƒUNIT_SEC(A1),D4…Readsecondsagain)‰CMP.L…D1,D4Ifitsdifferent,tryagain. ‰BNE‡RTC_LOOP ÅIÎQÖ,,‰CLR.L…D0’D0willcontaintotalmilliseconds**ƒD0=0**‰secminhr‚daymon‚yr+*ƒD1=05040902‰D2=03010602ŠD3=03000508**ƒD4=05040902**‚FirstweworkwithD1*‰AND.L…#$0F,D4D4=00000002 ‰MULU†#10,D4ŽD4=00000014†(&20)‰LSR.L…#8,D1D1=00050409(‰ADD.B…D1,D4D4=0000001D†(&29)‚minutes‰CHECK_RANGE.L‚D4,#0,#59*‰MULU†#60,D4ŽD4=000006CC†(&1740)seconds(‰ADD.L…D4,D0AddnumberofsecondstoD0**‰LSR.L…#8,D1D1=00000504‰CLR.L…D4’D4=00000000‰MOVE.B„D1,D4D4=00000004(‰MULU†#10,D4ŽD4=00000028‚(&40seconds)‰LSR.L…#8,D1D1=00000005(‰ADD.L…D1,D4D4=0000002D‚(&45seconds)‰CHECK_RANGE.L‚D4,#0,#59*‰ADD.L…D4,D0D0=000006F9‚(&1785seconds).‰MULU†#1000,D0ŒD0=001B3CA8‚(&17850000MSEC)*F*‚NowD0holdsthetotalsofarofthenumberofmillisecondsfromthe*‚minutesandsecondsfields.*&*‚Let'sworkonthehoursfieldinD2.**‰hr‚daymon‚yr*ƒD2=F3F1F6F2ŠD3=F3F0F5F8*"‰AND.L…#$0F0F0F0F,D2‡D2=03010602‰MOVE.L„D2,D1D1=03010602‰SWAP†D1’D1=06020301‰AND.L…#$0F0F,D1ŒD1=00000301‰CLR.L…D4’D4=00000000‰MOVE.B„D1,D4D4=00000001&‰MULU†#10,D4ŽD4=0000000A„(&10hours)‰LSR.L…#8,D1D1=00000003&‰ADD.B…D1,D4D4=0000000D„(&13hours)‰CHECK_RANGE.LD4,#0,#23**-‰MOVE.L„#3600*1000,D1‡Millisecondsinanhour/‰BRA‡CALCLOOPŒLoopuntilnumberofmilliseconds.CALCHRS‚ADD.L…D1,D0inhoursfieldcalculated.CALCLOOPDBRA†D4,CALCHRS *1*‚D0nowcontainsthegrandtotalofmilliseconds*‰ADD.L…TIME_LEFT,D0 ‰MOVE.L„D0,NSEŽStoreitforexec‰CLR.L…MIDNIGHT***ƒNowworkonthedate**‰hr‚daymon‚yr*ƒD2=03010602ŠD3=F3F0F5F8*"‰AND.L…#$0F0F0F0F,D3‡D3=03000508 ‰CLR.L…D0‰MOVE.B„D3,D0D0=00000008&‰MULU†#10,D0ŽD0=00000050‚(&80years)‰LSR.W…#8,D3D3=00030005&‰ADD.B…D3,D0D0=00000055‚(&85years)‰CHECK_RANGE‚D0,#0,#99%‰ADD.W…#1900,D0ŒD0=000007C1‚(&1985)!‰SWAP†D0’D0=07C10000‚(YYYY0000) ‰SWAP†D3’D3=05080300 ‰CLR.L…D4‰MOVE.B„D3,D4D4=00000000‰MULU†#10,D4ŽD4=00000000‰LSR.L…#8,D3D3=00050803&‰ADD.B…D3,D4D4=00000003‚(&03month)%‰ADD.B…D4,D0D0=07C10003‚(YYYY00MM)‰CHECK_RANGEƒD0,#1,#12%‰LSL.W…#8,D0D0=07C10300‚(YYYYMM00)**‰hr‚day*ƒD2=03010602*‰AND.L…#$0F0F,D2‹D2=00000602 ‰CLR.L…D4‰MOVE.B„D2,D4D4=00000002%‰MULU†#10,D4ŽD4=00000014ƒ(&20days)‰LSR.L…#8,D2D2=00000006%‰ADD.B…D2,D4D4=0000001Aƒ(&26days)‰CHECK_RANGE‚D4,#1,#31%‰ADD.B…D4,D0D0=07C1031Aƒ(YYYYMMDD) *7*‚ThetimeanddateG lookreasonable,solet'skeepthem*‰BSR‡DATEGOŽConverttoordinal!‰MOVE.L„D0,DATEGivedatetoexec  0‰ADDQ.L„#6,A7Remove'BE'andbuserrormessages‰RTS*@*‚Ifwecomehere,oneofthefieldsreadfromtheclockchipis)*‚"whacko".‚Setsystemtimeanddayto0.*1RANGE_ERR‚MOVE.L‚TIME_LEFT,NSE‡Timeofday<---0‰CLR.L…MIDNIGHT‰MOVE.L„#0,DATE ‰ADDQ.L„#6,A7‰RTS*4*‚Ifwecomehere,thereisnorealtimeclockfound*RTC_BE‰MOVE.L„#CRASHSAV,RTC_TIMER‰RTSNNNN'MACRO DCB SIêê R  $DCBDISK SIûû/  $DCBGPIB SI   Q  $DCBMTAPESI  $  $DCBPRT SI    $DCBTERM SI ' '  $ŠPAGEO********************************************************************************2*‚MACRO.DCB.SI‚--DEFINESBASICDCBANDCDBMACROSF*†SeeMACRO.DCB*.SIforspecificDCBmacros,i.e.DISK,TERM,GPIB,etc.*C*‚SECTION0ƒDCB=DeviceControlBlock:‚containsinfoaboutdevice,/*”includingdefaultconfiguration;usedheavily*”byFMS,FHS,IOS.G*‚SECTION1ƒCDB=ChannelDataBlock:‚usedbyIOItoallocatechannels.*O******************************************************************************* G*‚DIPDCBmacrodefinesdevice-independentportionofaDCB.‚Usedbythe7*‚otherdevicedependentmacrosDSKDCB,CRTDCB,PRTDCB.* DIPDCB MACRO.DC.L„*+\1AddressofnextDCBinlinkedlist.+DC.L„\2’ASCIIidentificationforthisDCB.DC.L„0“AddressofDCQentry.)DC.L„\3’Name„oftaskmakingtherequest.,DC.L„\4’Sessionoftaskmakingtherequest.DC.L„0“AddressofLUT.;DC.L„\5’DeviceattributesassociatedwithDCB.BKM7/12/83!DC.W„0“Write/Readprotectcodes.DC.W„0“'Deviceinuse'flag.DC.L„0“Write/Readcounts.#DC.B„\6’Deviceflag(devicecode).%DC.B„\7’Deviceflag(devicestatus). DC.L„\8’Channelidentification.3DC.B„\9’Devicenumberassociatedwiththechannel.DC.B„0“Taskpriority.DC.L„0“Currentrecord#.7DS.B„IOSBLNŽStorageareafortheIOCBbeingprocessed.8DC.L„0“LogicaladdressofIOCBinuser'saddressspace.6DC.B„0“Config.coordinationflag(0-->atdefaults).DC.B„0“Breakcount.%DC.L„0“AddressofbreakserviceLUT.0DC.G L„0“Breakserviceaddress.ƒ-----------------.DC.L„0“Eventclaimer--tasknameŒBKM7/12/833DC.L„0“Eventclaimer--sessionnumber‡BKM7/12/839DC.L„\A’AddressofsupervisorDCBorSession‚BKM7/12/830*œnumberifthisisasupervisorDCB„BKM7/12/839DC.L„0“Supervisor/subordinateDCBopencountBKM7/12/836DC.L„0,0,0,0Deviceindependent/dependentbufferzone  ENDM PAGE*,*‚MacrotodefineaChannelDataBlock(CDB)7*‚UsedbyIOItoallocatechannels;equatesareinLV5.*â4ë/CDBLNEQU$2E„LengthoftheCDBdatastructure. CDB MACROSECTION1‡===CDBSECTION===*DC.L*+CDBLN„PointertonextCDBinlist.*DC.W\1‰OptionsfortheALLOCATEcommand.DC.L\2‰Channelmnemonic.DC.B\3‰Channeltype.4DC.B\4‰Maskedinterruptmaximuminstructioncount.$DC.L\5‰Physicaladdressofdriver.FDC.L\6‰Supervisorchannel'smnemonic(onlyifbit3ofoptionsset).?DC.L\7‰Physicaladdressofdeviceinmemory-mappedI/Ospace.?DC.W\8‰#ofbytesdeviceoccupiesinmemory-mappedI/Ospace.DC.B\9‰Vectornumber.DC.B\A‰Pollingpriority.DC.B\B‰Softwarepriority.2DC.B\C‰Segmentcount.(Numberofpollingentries)(DC.W\D‰Pollingbyteoffset.--[#1]--DC.B\E‰Pollingmask.DC.B\F‰Pollingtestvalue.7DC.W\G‰Offsetfromphysicaldeviceaddressforreset.DC.B\H‰Valueforreset.DC.B0ŠReserved.(DC.W\I‰Pollingbyteoffset.--[#2]--DC.B\J‰Pollingmask.DC.B\K‰Pollingtestvalue.7DC.W\L‰Offsetfromphysicaldeviceaddressforreset.DC.B\M‰Valueforreset.DC.B0ŠReserved.  ENDMNNN‰PAGE*!*‚MacrotodefineDCBforaDisk.* DSKDCB MACROSECTION0‡===DCBSECTION===( DIPDCB DDCBLN,\1,\2,\3,\4,\5,\6,\7,\8,0$DC.B„0,0,0…Spaceforstatusfields./DC.B„\S†WinchestercontrollertypeforMVME319DC.W„\9†Attributesmask.DC.W„\A†Parametersmask.DC.W„\B†Attributesword.DC.W„\C†#ofbytes/sector.,DC.L„0‡Total#ofsectors--returnedinfo.DC.L„\D†Writetimeout.DC.L„\E†Read‚timeout.DC.B„\F†#ofsectors/track.DC.B„\G†#ofheads.!DC.W„\H†#ofcylindersonmedia.DC.B„\I†Interleavefactor.$DC.B„\J†Spiraloffset(insectors).'DC.W„\K†Physicalsectorsizeofmedia.'DC.W„\L†Startingheadnumberondrive.&DC.W„\M†Numberofcylindersondrive.)DC.W„\N†Precompensationcylindernumber.-DC.B„\O†Physicalsectorspertrackondrive.DC.B„\P†Steppingrate./DC.W„\Q†Reducedwritecurrentcylindernumber.DC.W„\R†ECCdataburstlength.  ENDM‰PAGE***‚MacrotodefineExtendedDCBforaDisk.* DSK1DCB MACRO'SECTION0‡===ExtendedDCBSECTION===!DC.W„\1†Extendedattributesmask!DC.W„\2†Extendedparametersmask!DC.W„\3†ExtendedattributeswordDC.B„\4†Gapbyte1DC.B„\5†Gapbyte2DC.B„\6†Gapbyte3DC.B„\7†Gapbyte4DC.B„\8†SectorSlipcountEDC.H B„0,0,0,0,0‚5bytesreservedasoffsettoanotherparameterblock  ENDMNNó0 PAGE*3*…MacrotodefineaGPIBDeviceControlBlock(DCB)* GPDVDCB‚MACROSECTION0‡===DCBSECTION=== NOLIST/GPDVTYP‚SETXDSGDEV‰AssumebussableDEVICEtype5USERLNƒSET(\I+1)/2ˆUserareamustbeeven#ofbytes4IFNCƒ'\0',''ŽIFP0=NULLTHENthisisaDEVICEDCB7GPDVTYP‚SETXDSGBUS‰ELSEitistheBUS(channel)itself4GPCCBNAMSET\KŽCCBnameforalldevicesonthisBUS.GPDVCNT‚SET\0+1ŒCurrent#devices+1forBUS.GPMAXCT‚SETGPDVCNT‰Max.#devicesonthisBUS)BUSDCBƒSET*LocationofDCBforthisBUS,IFGTGPDVCNT-15Toomanydevicesspecified?1GPDVCNT‚SET0Don'tgenanydevicesforthisBUS! LIST1 FAIL 400 TOO MANY DEVICES SPECIFIED FOR THIS BUS MEXIT ENDC1IFEQ„GPCCBNAMŒVerifyCCBnamehasbeenspecified GPDVCNT‚SET0 LIST, FAIL 401 NO CCB NAME SPECIFIED FOR GPIB BUS MEXIT ENDC ENDC LIST,IFGTGPDVCNTCheckforvalidDCBgenerationH DIPDCB USERLN+BDCILN,\1,IOSID,IOSESS,\2,\3,\4,GPCCBNAM,GPMAXCT-GPDVCNT,& BUSDCBDC.B„0“DEVICESTATUSDC.B„XTGBUSŽCHANNELTYPEDC.B„GPDVTYPDEVICETYPEDC.B„IODGPIBDRIVERCODEDC.W„\5’ATTRIBUTEMASKDC.W„\6’PARAMETERMASKDC.W„\7’ATTRIBUTEWORD DC.W„0“RECORDLENGTH(NOTUSED)DC.L„0“DEVICESIZE(NOTUSED)%DC.L„\8’WRITETIMEOUT(MILLISECONDS)$DC.L„\9’READTIMEOUT(MILLISECONDS)&DC.L„\A’ENDOFRECORDCHARACTERISTICS$DC.W„\B’EOSCHARACTERS(WRITE/READ)$DC.B„\C’PARALLELPOLLCONFIGURATIONDC.B„\D’DEVICEPRIMARYADDRESS.DC.L„\E’WRITELENGTHXFER(FMT/IMAGE#BYTES)-DC.L„\F’READLENGTHXFER(FMT/IMAGE#BYTES)$DC.L„\G’READSECONDARYADDRESSMASK%DC.L„\H’WRITESECONDARYADDRESSMASKDC.L„0,0‘RESERVED6DC.W„USERLNŽLENGTHOFUSERDEFINEDCONFIGURATIONAREA3DC.L„\J’USERDEFINEDI/OFORMATTERROUTINEADDRESS*DCB.BƒUSERLN,0ŒALLOCATEUSERDEFINEDAREA‚NOLIST;GPDVCNTSETGPDVCNT-1ˆDECREMENTDEVICECOUNTERFORTHISBUS‚LIST‚ENDC‚ENDM*4*…MacrotorecursivelycreatealldefaultGPIBDCB's*1*ˆP0=(FIRST)DEFAULTDEVICENAME(ASCIISTRING)*üA  GPDFDCB MACROSECTION0‡===DCBSECTION=== NOLIST IFNCƒ'\0',''8GPDFNAM‚SET'\0'†DefineNAMEifthisisfirstinvocation ENDC LIST2IFGTGPDVCNTŠCheckifdevicecounterisexhaustedE GPDVDCB GPDFNAM,GPD$AT2,0,1,GPD$ATM,GPD$PAM,GPD$ATW,GPD$WTO,GPD$RTO,E& GPD$EOR,GPD$EOS,GPD$PPC,GPD$PRA,GPD$WLN,GPD$RLN,GPD$RSM,GPD$WSM,0,0 NOLIST7GPDFNAMSETGPDFNAM+1‚BumptheNAMEforthenextdevice LIST'GPDFDCBƒ\1‹Invokeselffornextdevice ENDC  ENDMNH NNNNN PAGE*/*‚MacrotodefineDCBforamagnetictapedrive* MTADCB MACROSECTION0‡===DCBSECTION===( DIPDCB MDCBLN,\1,\2,\3,\4,\5,\6,\7,\8,0&DC.B„0,0,0,0ƒSpaceforstatusfields.DC.W„\9†Attributesmask.DC.W„\A†Parametersmask.DC.W„\B†Attributesword.5DC.W„0‡#ofbytes/Versadoslogicalsector(notused)7DC.L„0‡Total#ofVersadossectorsonmedia(notused)DC.L„\C†Writetimeout.DC.L„\D†Read‚timeout.4DC.B„\E†Requesteddensityforwritefromloadpoint.3DC.B„\F†Numberofreadtriesbeforeerrormessage..DC.B„\G†Numberofwritetriesbeforeerasing.1DC.B„\H†Numberoferasuresbeforeerrormessage.*=*ˆTheIOSWTOaboveisasystemtimeoutforthewritecommand.F*ˆTheIOSRTOaboveisasystemtimeoutforeverycommandexceptwrite.6*ˆThemagtapedriverneedsmorespecializedtimeouts.C*ˆThedriverusesthevalueinIOSWTOforeraseandwritefilemark.9*ˆThedriverusesthetimeoutslistedbelowfortheother *ˆcommands.C*ˆTheIOSRTOhastobelargerthanthelargesttimeoutthatweneed5*ˆforthecommandswemaygetinthemagtapedriver.*DC.L„\I†Timeoutforread4DC.L„\J†TimeoutforspaceforwardandspacereverseDC.L„\K†TimeoutforrewindCDC.L„\L†Timeoutforsearchforwardandsearchreverseforfilemark'DC.L„0,0…Bytesreservedforfutureuse.DC.W„0,0,0,0ƒ8bytesreservedforfutureuse.  ENDMNN % PAGE*$*‚MacrotodefineDCBforaPrinter.* PRTDCB MACROSECTION0‡===DCBSECTION===( DIPDCB PDCBLN,\1,\2,\3,\4,\5,\6,\7,\8,0&DC.B„0,0,0,0ƒSpaceforstatusfields.DC.W„\9ˆAttributesmask.DC.W„\AˆParametersmask.DC.W„\BˆAttributesword.DC.W„\Cˆ#ofcharacters/line.DC.L„\Dˆ#oflines/page.DC.L„\EˆWritetimeout.DC.L„0‰Readtimeout.DC.W„\FˆLogicallinelengthDC.B„\GˆEnd-of-linecharacter.&DCB.Bƒ15,0†Reservedspace(15bytes).  ENDMI NNNNNN  PAGE*%*‚MacrotodefineDCBforaTerminal.* CRTDCB MACROSECTION0‡===DCBSECTION===( DIPDCB CDCBLN,\1,\2,\3,\4,\5,\6,\7,\8,0&DC.B„0,0,0,0ƒSpaceforstatusfields.DC.W„\9†Attributesmask.DC.W„\A†Parametersmask.DC.W„\B†Attributesword.DC.W„\C†#ofcharacters/line.DC.L„\D†#oflines/page.DC.L„\E†Writetimeout.DC.L„\F†Readtimeout.DC.B„\G†XOFFchar.DC.B„\H†XONchar.DC.B„\I†BREAKEQUIVALENTchar.DC.B„\J†DISCARDOUTPUTchar.DC.B„\K†REPRINTLINEchar.DC.B„\L†CANCEL‚LINEchar.DC.L„\M†Readterminators.DC.L„\N†End-of-linestring.DC.B„\O†BAUDratecode.DC.B„\P†NULpadding.DC.B„\Q†Terminatorclass.(DC.B„\R†Terminaltype(0=EXORterm155).:DC.B„0,0,0,0,0,0,0,0,0,0‚Internaluseonly--donotuse.DC.B„0,0,0,0,0,0Reserved.  ENDMNNNN I 'MK68901 TIMERST SI 4 4¬  $***************************‚MK68901.TIMERST.SI**************************  ,**********************************************†InitializeMK68901timer*,******************************************** **EŠMOVE.WTIMSLIC(PC),TIMESLIC#TIMERINTERRUPTSBEFORETASKINTERRUPT;ŠMOVE.LTIMERA(PC),A1†GETTIMERADDRESS(MFPBASEADDRESS).#ŠMOVE.LA1,PTMADDR‰SAVEITFOREXEC!ŠBEQ.L‚TIMERBEŒBRANCHIFNOTIMER)ŠPEA„TIMERBE(PC)ˆWHERETOGOONBUSERROR$ŠMOVE.W#'BE',-(A7)ˆSETBUSERRFLAG B*‚NowwemustinitializetheMulti-functionperipheral(MFP)chip.B*‚AlthoughwearenotintendingtouseallofthefunctionalityofC*‚theMFP(ex.serialport),wewillgoaheadandinitializeallof-*‚thefunctionsonthechip,justtobesafe.* *-*‚First,disableallinterruptsfromtheMFP.* 6ŠCLR.B‚MFP_IERA(A1)‡ClearinterruptenableregisterA.6ŠCLR.B‚MFP_IERB(A1)‡ClearinterruptenableregisterB. *C*‚Now,initializetheserialport,eventhoughwedonotanticipate *‚usingit.*B*‚(NOTE:‚WEWILLLEAVEITASITWASSOWECANUSETHEBUGFROMTHE*ŠONBOARDSERIALPORT.) 6*‰CLR.B‚MFP_SCR(A1)ˆClearthesynccharacterregister.5*‰CLR.B‚MFP_UCR(A1)ˆResettheUSARTcontrolregister. 7*‰CLR.B‚MFP_RSR(A1)ˆResetthereceiverstatusregister.6*‰TST.B‚MFP_RSR(A1)ˆReadthereceiverstatusregister. 7*‰CLR.B‚MFP_TSR(A1)ˆResetthetransmitstatusregister.6*‰TST.B‚MFP_TSR(A1)ˆReadthetransmitstatusregister. 2*‰CLR.B‚MFP_UDR(A1)ˆCleartheUSARTdataregister.   *$*‚Now,intiializetheparallelport.6*‚Don'tinitializeit,oryouwillmessuptheVME133.* 3**ˆCLR.B‚MFP_GPIP(A1)‡CleartheGPIPdataregister.?**ˆMOVE.B#$07,MFP_AER(A1)ƒInitializetheactiveedgeresister.?**ˆCLR.B‚MFP_DDR(A1)ˆSetthedatadirectionregistertoinputs.   *I*‚Now,initializethefourtimersontheMFP.‚(WewillonlyusetimerA.)* 1ŠMOVE.B#$10,MFP_TACR(A1)‚ResetandstoptimerA. ,E 5= =+1ŠMOVE.B#$10,MFP_TBCR(A1)‚ResetandstoptimerB. **‰CLR.B‚MFP_TCDCR(A1)†StoptimersCandD.AŠANDI.B#$F0,MFP_TCDCR(A1)(StoptimerD.‚LeavetimerCasisfor *£theBUG.)*<<<<<<<)‰GET_TI„GetthetimerinputvalueintoD0‰MOVE.L„D0,D1…SaveitinD18‰MOVE.W„TIMINTVA(PC),TIMINTVˆSavethenumberofmillisec*°betweeninterruptsinSYSPAR+‰MOVE.W„#1000,TIMINTV4InitializeTIMINTV4.!*¦InTIMEINT,wesubtractTIMINTR"*¦fromTIMINTV4ateachinterrupt. *¦Whenthevalueisnegative,we"*¦subtractandextra1millisecond*¦fromTIMINTV,Thuscorrecting*¦forroundingintheCDvalue*¦computedbelow.*2‰GET_TO„GetthetimeroutputtimeintervalintoD2*=* Compute desired count down value according to the following*ƒformula:‚CJ D=TI/(PS*TO)-*‰CD…=CountdownvalueforMFP_TADRregister*‰TI…=Timerinputfrequency#*’OntheVME133,1.23MHz=1230000#*’OntheVME120,10/4MHz=25000003*’OntheVME122,12.5/4MHz=3125000cycles/second#*‰PS…=PrescalarvalueforMFP_TACR*’OntheVME133,PS=100*’OntheVME12x,PS=200?*‰TO…=Desiredtimeroutputtimeinterval(numberofinterrupts5*’persecond;10msbetweeninterrupts===>TO=100)*ŠMULUƒ#PS,D2‹MultiplyPS*TOŠDIVUƒD2,D0ˆDivbyPS*TOŠIF.LƒD0#$0000FFFFTHEN.S"ADD.Wƒ#1,D0ŠRoundupifremainderŠENDI>ŠAND.L‚#$0000FFFF,D0†Maskoffremainder,onlyquotientremains;ŠMOVE.BD0,MFP_TADR(A1)„Countdownvalue(TimerAregister)*5* Now calculate the actual timer output interval via:*ƒCO=(1000*PS*CD)/TID*ƒRemainderwillbethefractionofamillisecondoveranexact10ms *…intervalthatweactuallyhaveŠMULUƒ#PS,D0ŒMultiplybyPSŠMULUƒ#1000,D0‹*1000 ŠWHILE.LD1#$0000FFFFDO.S.LSR.Lƒ#1,D0ŠScaledividendanddivisorso...+LSR.Lƒ#1,D1Š...divisoris16bitsorlessŠENDW ŠDIVUƒD1,D0*ŠCLR.W‚D0‘PreserveremainderinhighorderŠSWAPƒD0*G* Now compute the number of usecs extra that we have in the actual time *ƒinterval.*ŠMULUƒ#1000,D0 ŠDIVUƒD1,D0!ŠMOVE.WD0,TIMINTR„Usecramainder*>>>>>>*-**ˆCLR.B‚MFP_TADR(A1)‡RESETtimerAdatareg.0ŠCLR.B‚MFP_TBDR(A1)‡ResettimerBdataregister.1*‰CLR.B‚MFP_TCDR(A1)‡ResettimerCdataregister.0ŠCLR.B‚MFP_TDDR(A1)‡ResettimerDdataregister. >‰MOVE.B‚#PS_TACR,MFP_TACR(A1)„SetupTACRforpre-scalarvalue  *=*‚Nowinitializetheprogrammableinterruptcontroller(PIC).* BŠMOVE.B#$68,MFP_VR(A1)„Setstartingvectornumberforblockof16-*£interruptvectorsto$60.Alsosetsoftware*£interruptmode(bit3). 7ŠCLR.B‚MFP_IPRA(A1)‡ClearinterruptpendingregisterA.7ŠCLR.B‚MFP_IPRB(A1)‡ClearinterrputpendingregisterB. 0ŠCLR.B‚MFP_ISRA(A1)‡ClearinserviceregisterA.0ŠCLR.B‚MFP_ISRB(A1)‡ClearinserviceregisterB. =ŠMOVE.B#TMA_INT,MFP_IMRA(A1)‚UnmaskinterruptsfromtimerA.6ŠCLR.B‚MFP_IMRB(A1)‡MaskoffallinterruptsfromIMRB. =ŠMOVE.B#TMA_INT,MFP_IERA(A1)‚EnableinterruptsfromtimerA.9ŠMOVE.B#TMB_INT,MFP_IERB(A1)‚EnableinterruptsfromIPRB* ‰ADD.L…#6,A7‰RTS TIMERBE‚MOVE.L„#CRASHSAV,PTMADDR‰RTS /************************************************&*‡EndofMK68901timerinitialization*/***********************************************  NNN'MULT MTYPE SI Q Q   $J B* MULT.MTYPE.SI - Memory type assignments for multiple partitions.**‚SystemmemoryMTYPE$SRO‚EQUMTYP1readonlyMTYPE$SRW‚EQUMTYP1read/write* *‚UsermemoryMTYPE$URO‚EQUMTYP1readonlyMTYPE$URW‚EQUMTYP1read/write**‚PartitiontypesMTYPE$P0ƒEQUMTYP0partition#0MTYPE$P1ƒEQUMTYP1partition#1NNNNNN I ' KILLEXECEQ ^ ^Ò  $MMBPMMU EQ  ˆ  $TIMECONVAI ˜ ˜ž  $RMSGEN CF ± ±  $SYSPAR AG Ò Ò'¢  $MS CIÿÿÿÿÿÿÿÿ  ‰PAGE******************************* Beginning of &.KILLEXEC.EQ ******************************* ŠLLENƒ120 $*ˆEXECmodulesthatcrashthesystem *ƒNUCLEUSTRAP0SAˆEQU‚$10M68XXX.TRAP0.SA *ƒEVENTMANAGER$ASQEVNTSA†EQU‚$20M68XXX.ASQEVENT.SA!ASQGETSA‡EQU‚$21M68XXX.ASQGET.SA#ASQREADSA†EQU‚$22M68XXX.ASQREAD.SA$EXQEVNTSA†EQU‚$23M68XXX.EXQEVENT.SA#RTEVENTSA†EQU‚$24M68XXX.RTEVENT.SA#WTEVENTSA†EQU‚$25M68XXX.WTEVENT.SA#ASQFREESA†EQU‚$26M68XXX.ASQFREE.SA *ƒMEMORYMANK AGER(M451_LOADMMUSAEQU‚$30M68451.LOADMMU.SADSEGXSAˆEQU‚$31M68XXX.DSEGX.SA#SEGALOCSA†EQU‚$32M68XXX.SEGALOC.SA#SEGDEALSA†EQU‚$33M68XXX.SEGDEAL.SA#SEGSHARSA†EQU‚$34M68XXX.SEGSHAR.SA!TFRSEGSA‡EQU‚$35M68XXX.TFRSEG.SA *ƒTASKMANAGERTERMSA‰EQU‚$40M68XXX.TERM.SA *ƒTIMEMANAGER&M68X_STDTIMSA‚EQU‚$50M68XXX.STDTIM.SA(M6818_STDTIMSAEQU‚$51M146818.STDTIM.SA&V117_STDTIMSA‚EQU‚$52VME117.STDTIM.SA *ƒSEMAPHOREMANAGERPVSEMSAˆEQU‚$60M68XXX.PVSEM.SA *ƒTRAPSERVERMANAGER* *ƒEXMONMANAGER* *ƒEXCEPTIONMANAGER!COMINTSA‡EQU‚$90M68XXX.COMINT.SA *ƒSYSTEMINITIALIZER"BESTIMEMSA…EQU‚$A0BESTFIT.IMEM.SA BUDYIMEMSA…EQU‚$A1BUDDY.IMEM.SARMSSAŠEQU‚$A2M68XXX.RMS.SA%INITIO1AG†EQU‚$A3.INITIO1.AGINITSA‰EQU‚$A4M68XXX.INIT.SA *ƒI/OMANAGERCMRSAŠEQU‚$B0M68XXX.CMR.SA  N*******‚KILLERERRORCODES****************************************************5*ˆThefollowingequatesareroughlyorganizedbytype*)*ˆ$01-$1F‹Mostlikelyhardwareproblems$*ˆ$21-$2F‹Reservedforfutureuse.8*ˆ$31-$4F‹Internalinconsistencies-couldbeabugor*œcouldbehardware.*ˆ$51-$6F‹Insufficientmemory(*ˆ$71-$8F‹MostlikelyaSYSGENproblem:*ˆ$91-$9F‹Programmingmistake,i.e.wrongTRAP#0number&*ˆ$A1-$BF‹Mostlikelyasoftwarebug#*ˆ$C1-$FF‹Reservedforfutureuse O*******************************************************************************8BERR_UNEXPECTED‹EQU‚$01ˆAnunexpectedBuserroroccurred VK _5 g1 o"*¦whileinitializingmemory.8BAD_MEMORYEQU‚$02ˆWhilelookingformemory,aBuserror&*¦occurredonanon256-byteboundary. 4NO_451”EQU‚$03ˆBusErrorwhentrytofindM68451MMU8NO_451_1STEQU‚$04ˆBusErrorwhentrytofind1stM684518NO_12X_REGEQU‚$05ˆCan'taccessVME12xcontrolregister.8NO_101_REGEQU‚$06ˆCan'taccessVME101controlregister.8NO_110_REGEQU‚$07ˆCan'taccessVME110controlregister.8NO_S10_REGEQU‚$08ˆCan'taccessVMES10controlregister.8NO_117_REGEQU‚$09ˆCan'taccessVME117controlregister.8NO_133_REGEQU‚$0AˆCan'taccessVME133controlregister.  O******************************************************************************* 6NO_ASN_ADDEQU‚$31ˆAddinganASNtotheASNtable,but$*¦1stLWORDoftheASNtable<>!ASN9NO_ASN_DELETEEQU‚$32ˆDeletinganASNfromthetable,but *¦1stLWORDofthetable<>!ASN =NOCCB_POLLING_CHAIN‡EQU‚$33ˆCan'tfindtheCCBinthePolling*©Chain;NOCCB_ALL_CHAIN‹EQU‚$34ˆCan'tfindtheCCBintheAllChain BBADTCB_RETURN_FROM_ISR„EQU‚$35ˆReturningfromanISR,!TCBwasnot"*©inthefirst4bytesoftheTCB.BBADTCB_ERROR_MSG_TO_ASQƒEQU‚$36ˆBadreturnfromanISR-tryingto)*¦sendanerrormesagetothetask'sASQ,'*¦but!TCBwasnotfoundinthefirst4*¦bytesoftheTCB. ?DSMMU_DEAL_FAILED‰EQU‚$37ˆDeletingasegment,butDEL_SEG_FROM_ *©MMUfailed.=DSMMU_TFR_FAILEDŠEQU‚$38ˆTransferringasegment,butDEL_SEG_*©FROM_MMUfailed. =endingptr.6PT_DUPNUM‘EQU‚$74ˆDuplicatepartitionnumbersdetected@PT_END_START_OVERLAP†EQU‚$75ˆEndingptrprevious=128wasdetectedwhen)*¦deletingasegmentfromtheM68451MMU. 5PAT_FAILEDEQU‚$7BˆArequestperiodicactivationcall*¦fromtheEXECfailed. ?PAT_NO_FREE_NODES‰EQU‚$7CˆDuringsysteminitialization,nofree*¦nodeswerefoundinthePAT. =CTCB_ROM_FAILED‹EQU‚$7DˆProcessingmini-TCB's-CRTCBfailed.7NO_MTCBS_FOUNDŒEQU‚$7EˆProcessingmini-TCB's-!TCBnot*©foundwithin$200ofENDMEMT. 9NO_VCT_FOUNDŽEQU‚$7FˆDuringSYSINIT,no!VCTfoundwithin*©$200ofEXEC(ESTART). O******************************************************************************* @TRAP0_TOO_HIGH_NUMBER…EQU‚$91ˆTrap#0directive#>highest#in*©table.7TRAP0_BAD_NUMBERŠEQU‚$92ˆUnimplementeddirectivenumber O******************************************************************************* G*„Thenext7equatesareforPAGEFREEcallsthatfailedwhiletryingto*„freeupmemoryfor::PF_PERM_FAILEDŒEQU‚$A1ˆPAGEFREEfailed-PERManentsegmentAPF_CONFLICT_SEG_FAILED„EQU‚$A2ˆPAGEFREEfailed-LOGPHYfailedin1*GTSEG-mustfreeupmemorythatwasallocated.+PF_ASQ_FAILEDEQU‚$A3ˆPAGEFREEfailed-ASQ+PF_CCB_FAILEDEQU‚$A4ˆPAGEFREEfailed-CCB+PF_TCB_FAILEDEQU‚$A5ˆPAGEFREEfailed-TCB-PF_XTCB_FAILEDŒEQU‚$A6ˆPAGEFREEfailed-XTCB6PF_DEL_FAILEDEQU‚$A7ˆPAGEFREEfailed-Deallocatinga *©Segment.1PF_FTST_FAILEDŒEQU‚$A8ˆPAGEFREEfailed-FakeTST 5TCB_NO_ROOMEQU‚$B0ˆNoroominTCBforEXECstackand *©registers. ABAD_STATE_ASQ_MACHINE…EQU‚$B1ˆWehavereachedanimpossiblestate*©intheASQstatemachine. 5ABORT_CRITASKEQU‚$B2ˆTheexecisabortingacritical*©systemtask.O******************************************************************************* **************************** Ending of &.KILLEXEC.EQ ****************************NN‰PAGE****************************** Beginning of &.MMBPMMU.EQ ******************************L NNNNNNN w €B ˆC/VPGSIZE‚EQU‡$100VERSAdospagesize=256bytes6VPGMASK‚EQU‡VPGSIZE-1‹Maskforroundingupto256byte+NOTVPGMASK‚EQU„$FFFFFFFF-VPGMASKƒboundaries*3*‚Addressesofnodesmustbeon16byteboundaries.@*‚WeusetheB16MASKforANDingwithaddressesfromdescriptors!*‚toassurethe16byteboundary.*B16MASK‚EQU‡$F NOTB16MASK‰EQU‡$FFFFFFFF-B16MASK*>*‚Powerof2foralongdescriptorandforashortdescriptor.* LONGSZB‚EQU‡3SHORTSZBEQU‡2*@****************************************************************‰PAGEH*************************************************************************Æ***ˆREGISTEROFFSETSFROMMMBBASEADDRESS˜**Æ*H************************************************************************ ** ‰OFFSET„0$MMBROOT‚DS.B†4‰Rootpointerregister)MMBTC„DS.B†4‰Translationcontrolregister2***************************************************°*#*ˆOFFSETSFORFUNCTIONCODETABLE‰**°*2************************************************** ‰OFFSET„0‰DS.B†8UDATA„DS.B†8‰USERDATAUPGM…DS.B†8‰USERPROGRAM‰DS.B†8‰DS.B†8SDATA„DS.B†8‰SUPERVISORDATASPGM…DS.B†8‰SUPERVISORPROGRAM‰DS.B†8‰CPUADDRESSSPACE<*************************************************************º***ƒEQUATESUSEDBYBOTHMMB851ANDM68851‘**º*<***************************************************************ˆTRANSLATIONCONTROLREGISTERBITEQUATES"*ˆOFFSETSTOTHEFIELDINQUESTION**TCENABLBƒEQU‡31ˆENABLEADDRESSTRANSLATION,TCSREB…EQU‡25ˆENABLESUPERVISORROOTPOINTER)TCFCLB…EQU‡24ˆENABLEFUNCTIONCODELOOKUP'TCPSB†EQU‡20ˆNUMBEROFBITSINPAGESIZE3TCISB†EQU‡16ˆNUMBEROFUPPERBITSOFADDRTOIGNORE6TCTIAB…EQU‡12ˆNUMBEROFBITSINADDRESSATFIRSTLEVEL3TCTIBB…EQUˆ8ˆNUMBEROFBITSINADDRESSAT2NDƒLEVEL3TCTICB…EQUˆ4ˆNUMBEROFBITSINADDRESSAT3RDƒLEVEL3TCTIDB…EQUˆ0ˆNUMBEROFBITSINADDRESSAT4THƒLEVEL**¡**ˆDESCRIPTORSIZES‰**¡**L 8LONGSZƒEQU‡1<LIMITISLOWER)LDSTATUSDS.B†2‰STATUSFIELDLDADDRƒDS.B†4‰ADDRESSFIELD**ˆSHORTDESCRIPTOR* ‰OFFSET„0SDADDRƒDS.B†3‰ADDRESSFIELDSDSTATUSDS.B†1‰STATUSFIELD**"*ˆVALUESOFLONGDESCRIPTORFIELDS**ˆLDLU*3LDLOWER‚EQU‡$8000…SETLIMITFIELDTOBELOWERBOUND* *ˆLDSTATUS*:LDUREAD‚EQU‡$E000…GRANTUSERORSUPERVISORACCESSFORREADDAYNUMBERWHEREDAY1=JAN11980***ˆCALL *’BSR‡DATEGO*¦BINARYGREGORIAN-YYYYMMDD*§TO*¦BINARYORDINALƒ-DAYNUMBER*ˆINPUT'*’D0=DATETOBECONVERTED--YYYYMMDD**ˆOUTPUT#*’D0=CONVERTEDDATE‡--DAYNUMBER*O*********************************************************************************ˆNON-LEAPDAYSBEFORETABLE¥*Ç=DATEDBNLDC.W0,31,59,90,120,151,181,212,243,273,304,334,365Œ*Ç*ˆLEAPDAYSBEFORETABLE©*Çtocontinuehelpmessageafterreadingonescreen.ƒ=/*ƒ=/*Callingsequence:ƒ=/*ƒ=RMSGEN.CFarg1,arg2ƒ=/*ƒ=/*†arg1…=‚Mnemonicƒ=/*†arg2…=‚Outputfile/deviceƒ=/*Dƒ=/*ƒArg1isoptional.‚Ifnotspecified,ahelpmessagewillappear.Aƒ=/*ƒArg2willtypicallybe'#NULL'or'#PR'-defaultsto#NULL.ƒ=/*ƒ=/*ƒ=/&>ƒ=/*ƒRMSGEN.CFwillperformtheRMSsysgenassociatedwiththeƒ=/*…specifiedmnemonic.ƒ=/*1ƒ=/*ƒThemnemonic(arg1)isoneofthefollowing:ƒ=/*ƒ=/*ƒ"EXORMACS" ƒ=/*ƒ"VM03" ƒ=/*ƒ"VM04" ƒ=/*ƒ"VME101" ƒ=/*ƒ"VME110" ƒ=/*ƒ"VME117" ƒ=/*ƒ"VME120" ƒ=/*ƒ"VME122" ƒ=/*ƒ"VME130" ƒ=/*ƒ"VME131" ƒ=/*ƒ"VMES10" ƒ=/*ƒ"VME133"ƒ=/&ƒ=NOARGƒ=@END=/ENDIF =/IF RX=1ƒ=DEL&.S.LS/&.SYSASM.LS=/ENDIF=/RX=0 ©f ²L ºO ÂF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "EXORMACS"\1 ƒ=SYSGENEXORMACS.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYEXORMACS.RMS.LL,&.S.LS;A$ƒ=/*CreatedfileisEXORMACS.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VM03"\1ƒ=SYSGENVM03.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVM03.RMS.LL,&.S.LS;A ƒ=/*CreatedfileisVM03.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VM04"\1ƒ=SYSGENVM04.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVM04.RMS.LL,&.S.LS;A ƒ=/*CreatedfileisVM04.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME101"\1ƒ=SYSGENVME101.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME101.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME101.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-N ------------------------------------------------------------------=/IFEQ "VME110"\1ƒ=SYSGENVME110.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME110.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME110.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME117"\1ƒ=SYSGENVME117.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME117.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME117.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME120"\1ƒ=SYSGENVME120.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME120.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME120.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME122"\1ƒ=SYSGENVME122.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME122.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME122.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME130"\1ƒ=SYSGENVME130.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME130.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME130.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME131"\1ƒ=SYSGENVME131.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME131.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME131.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VMES10"\1ƒ=SYSGENVMES10.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVMES10.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVMES10.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME133"\1ƒ=SYSGENVME133.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IFRD<$C000†=/R?†=/*ErrorsinSYSGEN†=@ENDƒ=/ENDIFƒ=COPYVME133.RMS.LL,&.S.LS;A"ƒ=/*CreatedfileisVME133.RMS.LOƒ=/*ƒand&.S.LS=/ENDIFF=/*------------------------------------------------------------------- =OPT -N-O-J=COPY &.S.LS,\2;Y!=/* Output listing directed to \2=ENDNNNNN NNFSYSPAR„IDNTƒ5,1…Systemparametersat\SYSPAR;Crashsaveat\CRASHSAV.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***>***…ROUTINE:‚SYSPAR--SYSTEMPARAMETERSTABLEFORRMS68K.******É***J***…ENVIRONMENT:‚PartoftheRMS68KexecfortheMotorola68000family.***(***‡Copyright1983byMotorola,Inc.¢******É***H***…FUNCTION:‚ThistablegetsSUBSedandASMedduringanRMSGEN,andƒ***F***‡isthenlinkedinwithRMS68K.‚Thedatadefinedinthismoduleƒ***D***‡areprimarilythevariablesandparametersneededbyRMS68K.†******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revisionhistory(addnewchangestotop).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------**…10/03/85‚CBS…AddedTRP15TYPandBUGTRP15@*…08/12/85‚BAW…AddedSUPERMMUandFC_TABLEforMMB681andM68851(*…12/7/84‚SJF…AddedLAST_MMU_INT_LEVEL.*…10/4/83‚SJF…Formatrevision.*  **‚Includedfiles:**‰9995.&.TIOT.EQ*ŠNOLISTŠINCLUDE9995.&.TIOT.EQŠLISTŠPAGE ŠXDEFƒACOTBL ŠXDEFƒADEFTYP ŠXDEFƒASNTBLŠXDEFƒBKG_ACTIVEŠXDEFƒBKG_FLAGŠXDEFƒBKG_HEADŠXDEFƒBKG_TAILŠXDEFƒBUGTRP15 ŠXDEFƒCCBHD ŠXDEFƒCFLUSHŠXDEFƒCRASHSAV ŠXDEFƒCTRLREGŠXDEFƒCURR_ASN ŠXDEFƒCURR451 ŠXDEFƒCURRSD ŠXDEFƒDACTBL ŠXDEFƒDATE ŠXDEFƒDBUFSZ ŠXDEFƒDCOTBL ŠXDEFƒDPRVAO ŠXDEFƒENDSYSPŠXDEFƒEXCSTACKŠXDEFƒFC_TABLE ŠXDEFƒFQBCNT ŠXDEFƒFQLWM ŠXDEFƒFREEQHD ŠXDEFƒFREEQND ŠXDEFƒFRST451 ŠXDEFƒGSTBEG ŠXDEFƒINPTBLŠXDEFƒIOVCTBGN ŠXDEFƒLAM ŠXDEFƒLAST451ŠXDEFƒLAST_MMU_INT_LEVEL ŠXDEFƒLCTBEG ŠXDEFƒMACSTRC ŠXDEFƒMAPBEG ŠXDEFƒMEMOFFŠXDEFƒMIDNIGHT ÊM Óq ÛT ãS ë> ŠXDEFƒMMUHERE ŠXDEFƒMMULOAD ŠXDEFƒNATBEG ŠXDEFƒNNTBEG ŠXDEFƒNOTLAM ŠXDEFƒNSE ŠXDEFƒNWDQHD ŠXDEFƒNWPSEGŠXDEFƒNWSTATUS ŠXDEFƒNWTSEG ŠXDEFƒPANEL ŠXDEFƒPATBEGŠXDEFƒPERTURB_FLAGŠXDEFƒPREEMPT_FLAG ŠXDEFƒPTMADDR ŠXDEFƒRAD1TBL ŠXDEFƒREADYHD ŠXDEFƒRIOTBLŠXDEFƒRTC_TIMER ŠXDEFƒRUNNER ŠXDEFƒSDEFTYP ŠXDEFƒSDLCPCB ŠXDEFƒSEMCCB ŠXDEFƒSEMEND ŠXDEFƒSEMGST ŠXDEFƒSEMLIST ŠXDEFƒSEMTCB ŠXDEFƒSEMTIOT ŠXDEFƒSEMUSTŠXDEFƒSLFTSTA7 ŠXDEFƒSPURCNTŠXDEFƒSPURTIMEŠXDEFƒSUPERMMU ŠXDEFƒSYSPAR ŠXDEFƒSYSPOFF ŠXDEFƒTCBHD ŠXDEFƒTDEFTYP ŠXDEFƒTIATŠXDEFƒTIME_LEFT ŠXDEFƒTIMEOUTŠXDEFƒTIMESLIC ŠXDEFƒTIMINTVŠXDEFƒTIMINTV4 ŠXDEFƒTIMINTRŠXDEFƒTINTFLAG ŠXDEFƒTIOTŠXDEFƒTRACEBEGŠXDEFƒTRACFLAGŠXDEFƒTRP15TYP ŠXDEFƒUDEFTYP ŠXDEFƒUDRBEG ŠXDEFƒUSERQHD ŠXDEFƒUSERQND ŠXDEFƒUSTBEG ŠXDEFƒV2RQHD ŠXDEFƒVCTUBGN‰PAGE**‚MACROS*,LONGWORDMACROPutoffseton4byteboundary‰DS.W†0 ‰IFNE†*/4*4-*‰DS.W†1‰ENDC‰ENDM ,BOUND16‚MACROPutoffseton16byteboundary ‰LONGWORD‰IFNE†*/16*16-*‰DS.L†1‰IFNE†*/16*16-*‰DS.L†1‰IFNE†*/16*16-*‰DS.L†1‰ENDC‰ENDC‰ENDC‰ENDM ŠPAGE*E*‚Firstdefinethelocationofthe'crashsavearea,'theplacewhereD*‚theKILLERmodulewillsavethO eprocessor'sregisters,etc.inthe*‚eventofasystemcrash.*CRASHSAV‚EQU„\CRASHSAV  *E*‚Nowdefinethestructureofthe'systemparametersarea'toalltheD*‚variousRMS68Kmodules.‚NotethatwearenotactuallydefininganyE*‚storagehere--thisisjustabigoffsetblockwhichwilldefinetheB*‚locationsoftheparameters.‚Initializationoftheparametersis1*‚handledbytheRMS68Kinitializeratboottime.*ŠOFFSET\SYSPAR SYSPAR„EQU„* "MAPBEG„DS.Lƒ1’POINTSTOMEMORYMAP PERTURB_FLAG…DS.Wƒ1BKG_FLAG‰EQU„PERTURB_FLAGPREEMPT_FLAG…EQU„PERTURB_FLAG+1 ŠDS.Wƒ1 %EXCSTACK‚DS.Lƒ1’ADDRESSOFEXECSTACK $RUNNER„DS.Lƒ1’ADDRESSOFRUNNINGTCB 0TCBHD…DS.Lƒ1’POINTSTOFIRSTTCBINALL-TCBLIST 0READYHDƒDS.Lƒ1’POINTSTOFIRSTTCBINREADYLIST 2CCBHD…DS.Lƒ1’POINTSTOFIRSTCHANNELCONTROLBLOCK :MMUHEREƒDS.Lƒ1’HOLDSADDRESSOFMMUHARDWAREINMEMORYMAP +GSTBEG„DS.Lƒ1’STARTOFGLOBALSEGMENTTABLE +USTBEG„DS.Lƒ1’STARTOFUSERSEMAPHORETABLE 5UDRBEG„DS.Lƒ1’PointertoUserDefinedDirectiveTable 0PATBEG„DS.Lƒ1’STARTOFPERIODICACTIVATIONTABLE +TRACEBEG‚DS.Lƒ1’STARTOFSYSTEMTRACETABLE "TRACFLAG‚DS.Wƒ1’SYSTEMTRACEFLAGS ,MACSTRCƒDS.Lƒ1’MACSBUGTRACEROUTINEADDRESS PANEL…DS.Lƒ1’FRONTPANELADDRESS**„TIMERPARAMETERS** DATE†DS.Lƒ1’ORDINALDATE 8PTMADDRƒDS.Lƒ1’ADDRESSUSEDTOACCESSPROGRAMMABLETIMER &TIMEOUTƒDS.Wƒ1’TIMERINTERRUPTCOUNTER BTIMESLIC‚DS.Wƒ1‹NUMBEROFTIMERINTERRUPTSBEFORETASKINTERRUPTED -NSE‡DS.Lƒ1’msvalueofnextsignificantevent 6TIME_LEFTDS.Lƒ1’msvalueuntilnextsignificantevent -MIDNIGHT‚DS.Lƒ1’msvalueofpreviousmidnight 3TIMINTVƒDS.Wƒ1’#MILLISECSBETWEENTIMERINTERRUPTS TIMINTV4‚DS.Wƒ1’TIMINTV*4-1 7TIMINTRƒDS.Wƒ1’Holdsusecremainderforoddclockrates $TINTFLAG‚DS.Bƒ1’TIMERINTERRUPTFLAG 7TMSGFLAG‚DS.Bƒ1’FLAG-MESSAGESENTDURINGI/OHANDLING +SPURCNTƒDS.Wƒ1’COUNTOFSPURIOUSINTERRUPTS 9SPURTIME‚DS.Lƒ1’TIMETHAT1STSPURIOUSINTERRUPTOCCURRED +MMULOADƒDS.Lƒ1’MMULOADEDFROMTHISADDRESS (VCTUBGNƒDS.Lƒ1’STARTOFVECTORUSETABLE 0IOVCTBGN‚DS.Lƒ1’STARTOFVECTORASSIGNMENTTABLE ,ADEFTYPƒDS.Bƒ1’DEFAULTMEMORYTYPEFORASQ'S ,TDEFTYPƒDS.Bƒ1’DEFAULTMEMORYTYPEFORTCB'S >SDEFTYPƒDS.Bƒ2ŽDEFAULTMEMORYTYPEFORSYSTEMTASKS(ROANDRW) SUPERMMUDS.L†2‰ForsystemswiththeMMB851orM68851westore+*œherean8bytedescriptortopointtothe*œsupervisortree.‰BOUND16;FC_TABLEDS.L†16ˆForsystemswiththeMMB851,westorehere$*œthefunctioncodetablecontaining *œ8‚slots.1*œSlots‚1and2eachcontainan8bytedescriptor&*œpointingtoa‚usertranslationtree.1*œSlots5and‚6each‚containan8bytedescriptor,*œpointingtoasupervisortranslationtree.*)RTC_TIMERDS.L†4ˆRealtimeclockaddress.,*œNotallboardshavearealtimeclock,but"*œiftheydo,theaddressishere.1*œItisreferencedintheINITIO1.moduleandthe*œSTDTIMmodule. ENDSYSPƒEQU„*ŠENDNNNNN