IMD 1.17: 11/11/2014 14:53:10 82VKXBVERDOS C* VERSADOS/RMS68K OBJECT 4.4 SN=48634 15 OF 22  BT15\82VKXBVERDOS 0420¿9-*g4gRjÇ fXH3 g­,fí-`­ ,g` B­X­,AÕaA”f|$©#JM3RF×`$* |aBÿrF×FßNuHçAp@ç|aBÿ^$8 &68!FßHC(HD4<  g I3 4<8***HB g2Hçz,* m6aBÿ`NqLß8`Lßp&*HC6‚€!34*AÕaBþöNqLß‚R�`ÿX4ééééé(V1CKEXPAT ASREL'M68XXX CKEXPAT SA"4(…68xxx CHECK PAT FOR EXEC ENTRY TO ACTIVATE 2pPAT_SCHE BCKEXPA "@H3?5|$* *g |aAæ` |$©#J"*0<@ÂÄjFÂ&jNÓ4éééééé é1T1CMR ASREL'M68XXX CMR SA"4@(…68xxx RMS68K CHANNEL MANAGEMENT ROUTINESõ2pSBGTXTCB pSBPAGAL pPERTURB_ GCMR pVCTUBGN pCOMINT_P pEXIT_ERR pEXIT_SUB pSBP pCCBHD pSBV pTRACER pKILLER pCOMINT pSEMCCB pSBPGFR pERROR_02 pERROR_11 pTRACFLAG GCMRSFAIL pSBLOGPHY 'JN3@ª..)f,fz n6aA#æ`Nq`A Þ F$H"*f`A!ÐAø Aø aAÄGøH3€ "SJ“g²©gØGé`ì f¾.)f, n6B…*ç�EaA#†`NqF3 ` B€* e c  @dpËa„r Âj A fp ar"x J1gj´F3*fª *ÿg Jª fpÇaH *b *dpÌa4GêB…*g0 F3opÎaS…ç�2*²sPdpÏa ²sPd pÏa``\Q…lâp Àjf" * @fH3 RˆHy*R? *(SJ“fp a¦GìF3°¬fì*,Ig°,(gp a† ¬g(l`ð"SJ“gGé`ô j p(I3R@ @Hç€8aBþ2` LßpaÿJLß"HíˆB˜S€nú*g)I&‰"¼!CCB*F3giHLê?Hé?))àáˆ3@B@3@@GêIép)+g(Û(ÛSH3@`öB€*åˆ#@D&j ×Ó#K )ÿf#|**géI*géF3 H`R*fbB€*&x J3g:(iD &TGëÿ¶*` &lJ¬g +*²nH3@ (K`ê¹Àg #K)I`#K&iD3|N¹J#|*¶LIéJ&ŒB€* x ¼ÿ iF3Ñè*I/N�,_`‚`jp aøp aôpað gFo opÁaÜ n6B€S&@I3B… f )e: )c )€e* )�b".)f;°g,aB#ü€` NqF3`š×ËGû°ÖÓNÓÿþ Ê Øî *aºf² © ©HfV")D(AK3&TGëÿ¶ `&lJ¬faBü$°‹g(K`ê¹Áf$J«g&(k9|N¹J)|*¶LIìJ&kL3ˆ D&Œ` )k`B�)(&iDHzBûÞ&Ÿ&x B3Iø  &TJ”faBûİ‹gIë`ìO3D(«Aø aBû® IraBû¦`@aBûžp�az&Iaø"Kfpal)Hgp‚a`)IF3gpƒaT)Ig .(gþ€)Igp a6 )c )c )€e )�I3c*g< * d pÆa¢`žj :#j `Bùž )AîDJ�g"P°©gAé `îF€NuX�B�R3R¨Aø aBùr `BùlAø aBùd`Bù`,m4B€-9f NpN@`F|q|ptF3Aíp!­< g ­€pX‚€ ­8 T‚´-:cm:pLí<pažNuHç`CíF3pB€ m"-+g|00J)fFÄ)fCéS`â0))gJ0`(©F30-&ЈfS€�ˆ$J0U@løB0 UBlø@À@FÀ-Hg Hç:aÿ Lß\øI3DLß|NuLß|ÿþNuHç m4pN@`Lßx`LßxNu8 "g @çaBø>îFßJ3Hç€Ä*oKíÿ°"m/ N‘*_e -g*@`êLß#X�|Jx fNs`Bø8!"gI3BaB÷öîHç€Ä 8 g*@ m ( g / @çN°Fß*_ -`àLß#|Jx fNs` 3€B÷¸4éé éééU1DCLSHAR ASREL'M68XXX DCLSHAR SA"8(…68xxx DIRECTIVE--DECLARE SEGMENT SHARABLEm2pSBFNDGSG pEXIT_SUB pERROR_05 pERROR_06 pERROR_07 pERROR_09 pERROR_15 pSBFNDSEG EDCLSHAR %ØJ3@*n6., AÕaAô``Aî<5P$0@0f(2, A0gŒA g f .(f N3T `A¾`Aº`A¶,g†, gÆ"�$. uP aAŒ` ±üfL3P`Bÿ~`Bÿz�uP$!uP  ‚1A1| Bƒ65PÖuPá‹!C 65P–uPRC1C3@!31| , gè `Bÿ*4ééééééKB1DELAY ASREL'M68XXX DELAY SA"9E(…68xxx DIRECTIVE--DELAY€2pPAT_DEL_ FPAT_CAN_ ÚpEXIT_POS pPAT_SCHE pEXIT_SUB pSETASQ_S FDELAY FDELAYW ŠpPATBEG pERROR_05 &J3 a`Aü$ ‚&\c$<&\"x Eé&J@ç| g$@½êf ªfaAÂH3`&J `àF×|.-f* )g($@#RF×%NBj%|!DLY-JX|aA‚L3FßNuFß`Bÿxaÿz .@g(@,'f0|,%gTHaBÿR@ç|®-g .O3@@Xg*NaFß`Bÿ4î,Fß`Bÿ(Hç@p$@"x GéµÓg&S`øaBÿLßB­X­ 3,Nu4é ééééTU1DEMON ASREL'M68XXX DEMON SA"A(…68xxx DIRECTIVE--DETACH EXCEPTION MONITOR_2FSBDMONX pSBREADY pEXIT_SUB pSBQEVNTN FDEMON FDMONX pERROR_10 &\L3€$M*)gAöa `Að$Lª ,$< 4*&*(*8<AêàaAÊNq(Jª$3)ª@Bªèª ,gAÒaA¨Nu4éééééé][1DERQST ASREL'M68XXX DERQST SA"AX(…68xxx DIRECTIVE--SET USER/SERVER REQUEST STATUSL2pTIAT pEXIT_SUB pTIOT pSBV FDERQST pERROR_07 &nH3"� Cø  1fÂüCø $1´®g`AÖf"Jñkú±1:3@ fBq±`A®ñ± gAñaA˜`A”4 ééééééfR1DESEM ASREL'M68XXX DESEM SA"BY(…68xxx DIRECTIVE--DETACH FROM SEMAPHOREu2pSBDSEMX FDSEM_SUB pEXIT_SUB pSBV FDESEM FDESEMA pSEMUST pERROR_07 pSBFNDSEM &>P3 %*L(N UaAø``Aòa`Aì(NaAæ`Aâ&"Jq l&1 1fJ1gAñ0H3@aA¾Jq jB±Bq B10 Sq0 `àB10 10gzSq0 f$ 10fÀ10°1F30g´3¼0 B±0`ª.10,10B„4)pJq l.¾±f(¼±f"JDg#„`I3(3±0 3±0#±0Bq0 €SBfÂ`TJ10j*q0^mHxAAñ0aBÿD3`â.10,104)pJq j¾±f¼±fBq B±€SBfÜBq0 B±0Nu4éééééo Q1DSEGX ASREL'M68XXX DSEGX SA"D(…68xxx TRAP 0--DEALLOCATE ALL SEGMENTSP2pDESEG_SU ESBDSEGX pKILLER pGSTBEG EDSEGX pSBPGFR %ŒH3J¬6g,*l6B…:-5P$gB„,)gÄ aAØQ… E lÞ,)gP"x KéJ3 >)gB,,Jm g.¼•f*­ Jm f0-@ fB�2- m aAˆ`aA‚3ÛüSGfÂNu4ééééééxT1DSEMX ASREL'M68XXX DSEMX SA"DV(…68xxx TRAP 0--DETACH FROM ALL SEMAPHORES62FSBDSEMX pDSEM_SUB pSEMUST pSBFNDSEM &$3,)g AøaAò`NuaAê`î4éééééé é�W1DSERVE ASREL'M68XXX DSERVE SA"E1(…68xxx DIRECTIVE--DEALLOCATE SERVER FUNCTIONq2FDSERV_SU .pTIAT pSBREADY pEXIT_SUB pTIOT pSBV pTCBHD FDSERVE pERROR_07 &’J3 €$‚Eø  2 f"ÂüCø ½ñfa`AØ`AÔ&x + ,g,´+sf&H3 «-« ,'|çJBB+AæJAÓaAœ&k fÄB2 B±B±Bq13g AñaBÿt`îNu4ééééééŠT1DSRVX ASREL'M68XXX DSRVX SA"F1(…68xxx TRAP 0--DEALLOCATE SERVER FUNCTIONA2pDSERV_SU pTIAT pSEMTIOT FSBDSRVX pTIOT &083PEø Cø t 2 f "Âü¹ñg R‚ ‚mâNuaAÔ`Ú4éééé ééé“I1EQDQ ASREL'M68XXX EQDQ SA"G(…68xxx TRAP 0--ENQUEUE/DEQUEUEj2pEXIT_TRA pSBP pTIOT pSBQEVNTT pSBV BEXEQDQ BSBEXEQDQ BEQDQ "*F3@ Eø Çìs,)gÇ`"ÂüEø (NGs*r»ÎgÐ-(f ,F3°­f¼$<‡42&26,(gÃ,)gÃáK,$( *,,,F3p<,.,>, ,"0<2 gB@2g<,*.,(>,°H@0,²H@"@O3€�J²f -@g4&@4+HC6+HCAòaBÿ J²gHç@(AÕaBÿ`Lß raBÿ33,sf`BþôLß,sò Rrì ,Nu4éééééœD1EXABRT ASREL'M68XXX EXABRT SA"H(…68xxx TRAP 0--ABORT TASK:2pSBREADY pTERM BEXABRT BSBEXABRT "\F3Ç1G*è)!|EXEC°!| ´<(,Æ1F.½Èg$F-ÿ† g†1F,&3|ð& faA²Nu1F,X�`A¦4éé ééééé¥W1EXMMSK ASREL'M68XXX EXMMSK SA"HF(…68xxx DIRECTIVE--SET EXCEPTION MONITOR MASK 2pEXIT_SUB FEXMMSK &$3-è+lè8-è�-è`Aæ4ééééééé®X1EXMON ASREL'M68XXX EXMON SA"I)(…68xxx DIRECTIVE--ATTACH TO EXCEPTION MONITORm2pSBGTXTCB pEXIT_POS pEXIT_SUB pSBQEVNTT FEXMON pERROR_05 pERROR_06 pERROR_07 pERROR_09 & L3A$M l", aAô``Aî*H*)fAâ»Êg.½Êg* ,g".(f*(fL3 � m±êg -(f`A¬$< 4*&*(*8<AÕaA�``AŠí)ê,3)ê ,%mà%mä½ÊgBÿf`Bÿb4éééééé·T1EXMONVR ASREL'M68XXX EXMONVR SA"PI(…68xxx SUBROUTINE--VALIDATE EXMON REQUEST62FEXMONVR pERROR_10 pERROR_12 pSBLOGPHY &4@3@-)g( -à°®f -ä°®f,+ n6aAÚNuNq`AÒ`AÎ4ééééééé ÀE1EXQEVENT ASREL'M68XXX EXQEVENTSA"QA(…68xxx TRAP 0--QUEUE EVENT­2pSBGTXTCB pAPPEND_P pI_DISP_A CEXQEVNTI CEXQEVNTN CEXQEVNTT pSBRYGET CSBQEVNTI CSBQEVNTN CSBQEVNTT pKILLER pREADY_AS pGTASQBUF #@H3"( PaAø` T—Nu �!TCBfô*H(m@ gê ᘀÿgÞ@ç|2,$0{Nû€H30000>>>>00008Š8Ê8ª8ö8T8ZFßT¯NuFßaA„aH3€A€``ê¬%FßaNu l` l 9A$Fßaà"HA faU3’Bÿ@AÕaBÿ:NuaBÿ4``ž9A$Fßa€aBÿNuaBÿ``ÿ~9A$O3@Fßa^aBþúNu9A$Fß l aV"HA faBþÒaBþÎNu9AL3$Fß l a*"HA faBþ¦aBþ¢Nug"2HA)A`6‚g "2HAF3)A`)l`‚gY@‚4&(*,. "JåHNûú`|NqNqNq ‚`~NqNqF3 ‚/`hNqHÐ `lNqHÐ /`VHÐ`\NqHÐ/`FHÐ<`LNqHÐ3°¨f²¨g* h`æJf @Hz?  KøIøB§$IH3@"x fFJQk$¶1@f&i OJ�g·Øg`öHSAëaA’a”Cé QÿÿfÎB„F3J—g| g4´¬o  g($,aœ‚)aØ®- K gT¯Lß88Nu O3g@î-|ð&Aí-H”@ç|0ãHâ@S@lü0€aBÿ�FßAÖaBÿ a‚`BÿF3R„R„`œ g*$@  g**º‚m´¬nº¬m` º¬o(J*K fÖNu•¬Õ¬ *,I3@á�GôXf*, $T ,g"@Û© "Šg%INu*ŠgúBªNuaBþŽnw&Nu"_ I3g @AèaBþv`ðNÑ g®JQk iµèlž`µél”µém˜fI3 ÿ@JQk’*iHUAíaBþ, gþâáŠ&J×ÂàŠ(@°ŠnþÒ ,áˆÐŒ°Šn fè`þ¾F3°‹gþzn gþ®�Šàˆ$`þf&”g"T#K(‹'L'l B¬ �‹àˆ'@‘¬&3`þ4éééé'N1PAGEFREE ASREL'M68XXX PAGEFREESA#0(…68xxx TRAP 0--FREE PHYSICAL MEMORYE2pSBP pSBV pMAPBEG CSBPGFR CPAGEFREE #$F3 Hç $nLß0T—Nu$H"x  ÿÿg *iµílµémÜJQkÞá‰Òв­bÎ` Cé H3@ QÿÿfÐ`ÀCøAíaA®&g C±Ál"H&fô g )áˆÐ‰µÀm¬%B f -F3��àˆ%@ $ƒ%If*Š`$"Š �‰àˆ�©#@ f *Ñ©#j "’$IJƒg$"CF3#JJª f )Ѫ%i $‘g"R#J- ð"x ²f(i,g Aì03 aBþü`îCé QÿÿfÜAíaBþèLß0NuT—`î4éééééé  0P1PAUSE ASREL'M68XXX PAUSE SA#(…68xxx TRAP 0--PAUSE DURING EXEC TOUR:2BSBPAUSE pSVXSTAK BPAUSE pDISPATCH "3 |ð%aAø`Aô4ééééééé9W1PSTATE ASREL'M68XXX PSTATE SA#(…68xxx DIRECTIVE--SET STATE OF EXMON'ED TASK62pEXMONVR pEXIT_SUB FPSTATE pERROR_10 &nJ3€&L- ,gAözJaAð(FCí0<"ÜQÈÿü+mt+m ”+\B0-è+\è-83èø�-è@A--gAª+lÿîô;lÿúø+lÿöú`A”4éééé  ééBW1RCVSA ASREL'M68XXX RCVSA SA#(…68xxx DIRECTIVE--RECEIVE SEGMENT ATTRIBUTESL2pEXIT_SUB ERCVSA pERROR_07 pERROR_12 pSBFNDSEG pSBLOGPHY %¬L3>, fz,, n6aAê`Nq`Aâ$F,g z,, m6aAÊ` ` JEgJ3 J0Ðf`A¸., m6aA¬``ìB€00P, f:ÐpPáˆ%@B€$°P 5pP$ª83„00Páˆ%@B€00Páˆÿ%@ `Bÿ`áˆ-@ `BÿV4ééééééKQ1RELINQ ASREL'M68XXX RELINQ SA#3(…68xxx DIRECTIVE--RELINQUISH EXECUTION+2pEXIT_POS pSBRYRELQ FRELINQ & 3(AÖaAü`Aø4ééé  ééééTT1RESUME ASREL'M68XXX RESUME SA#(…68xxx DIRECTIVE--RESUME A SUSPENDED TASK62pSBREADY pEXIT_SUB FRESUME pERROR_10 & 3 @­ ,gAøAÕaAò`Aî4ééééééé]]1REXMON ASREL'M68XXX REXMON SA# (…68xxx DIRECTIVE--EXECUTE TASK UNDER EXMON CONTROLW2pEXMONVR pEXIT_SUB pSBRYXMON FREXMON pERROR_10 pERROR_15 pSBLOGPHY &ºJ3€&L- ,gAözaAð(F--f­@`­ø+lð+lô+l ì+lF3øBmø-è8�-èJgF--fí@`íø.-èg&z,-ðL3( m6aBÿz`Nq`Bÿr†(Ff+Tô­ ,0-,@ÿfAÕaBÿL`BÿH4  ééééééfB1RMSPATCH ASREL'M68XXX RMSPATCHSA#(…Patch area for RMS68K.2ORMSPATCH / 3€4éééééééo  X1RQSTPA ASREL'M68XXX RQSTPA SA#%(…68xxx DIRECTIVE--REQUEST PERIODIC ACTIVATIONx2pNSE pPAT_SCHE pEXIT_SUB pTIME_LEF pSBRDTIM pPATBEG FRQSTPA pERROR_05 pERROR_07 pERROR_16 &€J3 @ç$, 6,|B„g (,nFß`AâB… g *,fÆaAÌCÀg*B†6,F3€ gƒg´�lJ„gÔ„`ô‚&\`6,$Ô„"x Eé|&J$S F3�gλêfð*fèJ†kºªfÞ&’ R±éf (Ѹ Ѹ ¸ ` *ѨI3@F×J†f2%M„%D %lBj%EÃ5C”�|aBÿF×`‚RFCI3f* g0êªêB‚Hç~|aBþØFïLß~J†kÿF`@|$©O3 #JF×J†kÿ0`*J†f| )g $@#RF×`ÿ`Fß`Bþ’SFnFß`BþˆFß`Bþ‚4éééééxX1RSTATE ASREL'M68XXX RSTATE SA#B(…68xxx DIRECTIVE--READ STATE OF EXMON'ED TASK+2pEXMONVR pEXIT_SUB FRSTATE &jH3&Lz`aAú(FCí0<(ÙQÈÿü(íB8í@ -è€ÿÿÿ(À(í,0-è@ø8À(íð(í43@ô(íì(íø--gA®)môÿØ9møÿä)múÿà`A˜4ééééé  é�V1RTEVENT ASREL'M68XXX RTEVENT SA#3(…68xxx DIRECTIVE--RETURN FROM EVENT SERVICEx2FRTEVENT pDISP_ASR pKILLER pERROR_04 pERROR_07 pEXIT_D0A pEXIT_D0S pA_EXPORT pSBEXABRT pSBLOGPHY &RH3*N"(n@ g<,'f8Nj~,'f‡<.)f&*, n6aAÈ`Nq>G‡ÿ?HG GaBÿ `(T�S€g`Bÿ`Bÿ2f"AÓaR3” Bÿ`aBþú`Bþö&H.*á�g, "F m6aB!þÜ`Ê`ÈJ0PfÂ!¬ P 0, @OÿF3 gÀ1€P$1¼Pg1¼P àˆ1€PЇS€1€P �‰àˆ1€P�P&ð63ˆP$R(-K gá�-G$½Íf *n6aBþ`*NT�`BþX4éééé—V1SEGDEAL ASREL'M68XXX SEGDEAL SA#(…68xxx DIRECTIVE--DEALLOCATE MEMORY SEGMENT‡2pSBFNDGSG EDESEG_SU RpEXIT_SUB pUNLDMMU pKILLER pSBPGFR pERROR_07 pERROR_09 pERROR_10 pSBFNDSEG ESEGDEAL %èL3 ., 8,(M¹Îg ,,f `AèNh)H<*l6AÕaAØ``AÒJ¬@g ,<àˆ°uPN3€€e °uPb`A¶a`A°05P$@0g@$,25P$ uP aA–`aA�<(SFÜuP;†PF3Sh B†<(  g†1F JFf.05P$@ f$B€05PÐuPáˆB�25P’uPR� @73H€aBÿ>`aBÿ8BuPaBÿ0BµP BµP$BµPBuPS-Nu4éééééé   a1SEGSHAR ASREL'M68XXX SEGSHAR SA#)(…68xxx DIRECTIVES--SHARE SEGMENT AND ATTACH TO SEGMENT¨2pLOADMMU pSBFNDGSG ESEGSHAR pEXIT_SUB EATTSEG pKILLER pERROR_05 pERROR_06 pERROR_07 pERROR_09 pERROR_11 pERROR_16 pSBFNDSEG pSBLOGPHY %þX3$ª*Na*n6aAö`Aò»ÎgAìa`Aæ$-2, l aAÖ``AÐ`AÌ`AÈ`AÄ&HJ3$m6.+AÒaA´`êJ…gÞB…:+á�, gº¬d`A”*,…ÿB$,,L3AB, g,+ AÒaBÿn` `žJ…faBÿbJ0Pf�%«P B2P' àŽ5†PàŠÜBSF5†D3PD€Ð« àˆ5€P5¼P+g5¼P5«P$òP$R*Rk -k  Nu4ééééé©Q1SERVE ASREL'M68XXX SERVE SA# 5(…68xxx DIRECTIVE--BECOME A SERVER TASKm2pTIAT pSEMTIOT pEXIT_SUB pTIOT FSERVER pERROR_04 pERROR_06 pERROR_12 pSBLOGPHY &„L3>,.(f‡J”gz, n6aAâ`Nq`AÚJ®@gAÒ,‚Eø J2H3! fA¼¼ Eø Äü%Ž %® 5¼ B² %” Br 5‡ 2` ò  3@`Bÿ~4éééé éé²S1SETPRI ASREL'M68XXX SETPRI SA#!B(…68xxx DIRECTIVE--CHANGE TASK'S PRIORITY62pEXIT_SUB pERROR_09 FSETPRI pERROR_10 &6B3€ .(f -(fAð,°-%cB® m%#`AØ@$@&`AÌ4ééééééé»W1SGSEM ASREL'M68XXX SGSEM SA#"7(…68xxx DIRECTIVES--SIGNAL AND WAIT SEMAPHOREf2pEXIT_SUB pSBP pSBV pUSTBEG FSGSEM FWTSEM pERROR_07 pERROR_09 &hF3BG`><&,"x 0àH°i lF(¸±0f>Jq0 g8 10f ¾10g.‡0Jq0 j:3EP&10JGg Añ0aA²`A®Añ0aA¦`A¢`Až`Aš4éé ééééÄW1SNAPTRAC ASREL'M68XXX SNAPTRACSA##G(…68xxx DIRECTIVE--GIVE TRACE TABLE TO CALLERA2pEXIT_SUB pERROR_12 pTRACEBEG FSNAPTRAC pSBLOGPHY &LJ3 ,*H"x  g i‘É*$ n6aAä`Nq`AÜ$F&äŠS‚$ÙQÊÿü$F(M"x &Q—É3ÙË$ÌÛÃ$Í`A¶4éééééééÍL1SPURINT ASREL'M68XXX SPURINT SA#$C(…68xxx SPURIOUS INTERRUPT HANDLER+2pSPURCNT BSPURINT pPANEL "283H€Rx  xd k$/ "x 3|3|53|.3|>"_Bx Ns4é ééééééÖN1STDTIM ASREL'M68XXX STDTIM SA#%(…68xxx DIRECTIVE--SET DATE AND TIME|2pNSE pDATE pEXIT_SUB pTIME_LEF pKILLER FSTDTIM pSBRQPA pERROR_09 pMIDNIGHT FSCHED_DA V&šJ3*.(f`Aö@ç2<€tÿaAêNqLÜ.<&\¾„b˜‡Rƒ`ö|!à &8 –¸ –¸L3’*€  –„׸ ¸ aFß`A¬"8 ’¸ Ò¸ �&\�"AB�tÿAúaAˆ`aA‚ 3@Nu@ç|R¸ ¸&\ aÀFßNs4ééééééß D1SUSPEND ASREL'M68XXX SUSPEND SA#&(…68xxx DIRECTIVE--SUSPEND 2FSUSPEND pEXIT_POS & 3î ,`Aø4éééééééèc1TERM AMSTR'M68XXX TERM SA93…68xxx DIRECTIVES--TERMINATE SELF, TERMINATE TASK, ABORT÷2pREADYHD pSBGETTCB pEXIT_TER pPAT_DEL_ pSBDSEGX pSBDSEMX pTIAT pSBPAUSE pSBDIOVX pSBDMONX pSBREADY pSBDSRVX pEXIT_SUB pSBDASQX pTIOT FTERM rpSBQEVNTN pDEASN pNWDQHD pTCBHD pKILLER pSEMTCB |2FABORT 6pRUNNER pPATBEG pSBPGFR pERROR_03 pERROR_06 pERROR_09 FTERMT pSBEXEQDQ pSBEXABRT &,F3J”f@",g.(f".*y(#»üg(²­f-(f ½Ígí-g:*mN3€ `ØAÔaA¸`B® `A)®*H½Íg-(g .(f`A+”í-fA*Š0,gÀF3í);@*;m,.-m +n°+n´­ ,­-­ ,g2 m”@ç|F3JÐküCèÿâJ© g»é g"i `î#m RP�Fßm-ÿ,|ð&­ ,gíM3@€-@ç|­-g <)ô @ ( g °�fô!m AÕaBþÒFß`BþÌî)=H*fîI3@*.(g. (gL× NiHî8aB$þš.-g`$.)fÎ=H*=n,.I3@î--n°-n´(N"x 'Eé&J@ç| g$@¹êfaBþJ`&J `êB¬XI3@ Fß,)gaBþ0 ,Tg @B¨!x "!È "&,(,ì)"x #)-f2¸©I3f¬),)g) ,g¶©àf¸©äf ><@AÑaB-ýÎ"i f¾,)gR3H%aBýºNqaBý´,)gaBý¨~Cø Eø "Âü 1pf2g/aB,ý‚.,O3 ,gaBýtR‡ ‡oÄaBýfaBýbJ¬gH4<HB4,&,8,HD8,°*,²<,J3"¶HF<<.,*>,,)g<<$LAìaB ýNq(JCø!#ü )g¹Àg"@`ò#l:3(€PaB!üøB¸ &rAÔaB(üì`L× NiHî8aB$üÚ`BüÖ4é éñ]1TFRSEG ASREL'M68XXX TFRSEG SA#)(…68xxx DIRECTIVE--TRANSFER SEGMENT TO ANOTHER TASK™2pSBFNDGSG pEXIT_SUB pUNLDMMU pKILLER ETFRSEG pERROR_03 pERROR_05 pERROR_06 pERROR_07 pERROR_09 pERROR_11 pSBFNDSEG pSBLOGPHY %bN3  &M*n6., AÕaAò``AìJ®@gNh àˆ°uPe°uPcAÒ·ÎgAÌ"E$L.* kL3!@6aA¼`J…f`A²`A®* ,**fB†<5P* gÜuPáŽB€05P�uPO3$R@*á�aBÿv` `J…faBÿj`BÿfJ0Pfö"( à‰ÔA1�P1‚P’u@DAÒu@1�PF3!µ@ P 1µ@&P&65@$*gƒ* gÃÃ1ƒP$1¼Pg1¼I3PBu@ÉEaBþöËDBµ@ Bµ@$Bµ@Bu@S-R(20PÒpPá‰-A  g$$.´«13 €g pP "(KaBþ²`aBþ¬&L$+ ‚`Bþ 4éééééú?1TRACER ASREL'M68XXX TRACER SA#0G(…TRACE EXEC ACTIVITY+2pSBRDTIM CTRACER pTRACEBEG #vF3HçÀ@ç&x |*S»ëfKëIí&ŒFß+@+H+N (o:”T¯;o+o>3@ Uïÿb+o aA®+A2<ù’àHF@@ÀüúÒ@;ALß8Nu4éééé éééT1TSKATTR ASREL'M68XXX TSKATTR SA#1(…68xxx DIRECTIVE--RECEIVE TASK ATTRIBUTES+2pEXIT_SUB FTSKATTR pERROR_10 &$3(-mp =m("--gAì`Aè4ééééééé L1TSKBORN ASREL'M68XXX TSKBORN SA#2(…68xxx DIRECTIVE--CREATE NEW TASK–2pSBGETTCB pSBPAGAL pTDEFTYP pEXIT_ERR pEXIT_SUB pCRASN FCRTCB pTCBHD pSEMTCB FTCBCR pSBPGFR FASGNMON l&¬L3 Iëÿþ6<€a&NuT—Nu&LLìpHF>,6.(Ba ``AÖ`AÒAÓaAÌ``pT—NuH3 €B€8 H@0< @aA°`pT—Nu*H4<B˜QÊÿü+S +fgJ€f `F3<.p .;Fp+@aÚ€fDÿ;D(+El+EB;|„FHD0àHgF3fJg¸.%c.%D%°c@$@&*¼!TCB|€,;|:;|0$MÕüF3€`+J6$¼!TST|5|$5|D x  -"-±üg"°¨f²¨g hL3H`ærAÕaBþ¶NqpT—NuaBþª`pT—Nu+x !Í Nufg2 .".23` ", , g.(g J�g` .".+@+ANu4 ééééé]1TSKINFO ASREL'M68XXX TSKINFO SA#3(…68xxx DIRECTIVE--MOVE TARGET TASK'S TCB TO BUFFERL2FTSKINFO pEXIT_SUB pERROR_09 pERROR_12 pERROR_15 pSBLOGPHY &,aBÿH+mlB<-L3!(F€g@z,-B m6aBÿ*`NqFß`Bÿ +FB:(0P$g00PÑpPÑpPBpPF3Q… E làBm., gGìLÛÿHíÿLÛHí |­,0-,@ßfL3F×AÕaBþ¸Fß`Bþ²@çJ”f8".*x »üg0²­f-(f½Íg--fíL3‚,gJ*m`ÐAÔaBþn` B® Fß`Bþb*H--fì½Íg-(g.(fFß`M3�Bþ>í,gFß`Bþ0;m,.-m |­-gCø!ô I"h ³üg ³Ífî!i3 Fß`Býö4éééé 0A1TSKWAIT ASREL'M68XXX TSKWAIT SA#7S(…68xxx DIRECTIVE--WAITA2FTSKWAIT pEXIT_POS pEXIT_ERR pEXIT_SUB pSBRYWAKE &4B3D@|®-fî,|øÿ`Aè|øÿAÖaAÞ0.^gAÖBn^`AÎ4ééééééé9]1USERVECT ASREL'M68XXX USERVECTSA#8R(…68xxx DIRECTIVES--USER EXCEPTION AND TRAP VECTORS/2pEXIT_SUB FEXPVCT FTRPVCT & *3-n Hî)`Aò-n Lî)`Aâ4ééééé ééB'M68XXX WAKEUP ROWWbbWTEVENT RO``bbS1WAKEUP ASREL'M68XXX WAKEUP SA#9B(…68xxx DIRECTIVE--WAKE UP A WAITING TASK_2pPAT_DEL_ pEXIT_SUB pSBRYWAKE FSBWAKEUP FWAKEUPX pPATBEG FWAKEUP &jJ3 Ma`Aú@ç|¨,f è-FßNu (Xg"Hçp$@"x GéµÓg&S`øaAÂ23B¨XLßFß0(^g1|1@|ABh^aAšNu4ééééééO K1WTEVENT ASREL'M68XXX WTEVENT SA#@C(…68xxx DIRECTIVE--WAIT FOR EVENTm2FWTEVENT pEXIT_POS pEXIT_ASR pEXIT_SUB pKILLER pERROR_04 pERROR_07 pA_EXPORT pREADY_AS &ÒL3¨*N(n@ g(,'f$@ç|.-f 4,$4{ Nû Fß`AÐ`AÌ`AÈN6zH36N6z60606060600000000FßaA’î , 9BO3@$Fß`Bÿz9B$Fß)l"lJ)j)iaBÿR`BÿN9B$!3 €Fß l aBÿ8aBÿ4`Bÿ04ééééééX'MK68901 TIMEINT AFmmbbTIMEINT SAvvLbbTIMEINT RObb=/*=/*†MK68901.TIMEINT.AF=/*-=/* Chain file to assemble MK68901.TIMEINT.SA=/*:=/* If no output argument is specified for the listing the1=/* chain file will default to MK68901.TIMEINT.LS=/*=/IFC \1ƒ=ARG�MK68901.TIMEINT.LS=/ENDIF=/*F=ASM M68010.M68010.SA/MK68901.TIMEINT.SA,MK68901.TIMEINT.RO,\1;MRZ=060=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.BAB.EQ=/*ƒ9995.&.PAT.EQ=/*ƒ9999.MK68901.MK68901.EQ=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.INTERRUP.MC=/*ƒM68XXX.TIMEINT.AI=/*}=/*=END éééééeŠPAGE**ˆINCLUDE�FILES**ˆINCLUDE�9995.&.STR.EQ*ˆINCLUDE�9995.&.BAB.EQ*ˆINCLUDE�9995.&.PAT.EQ!*ˆINCLUDE�9999.MK68901.MK68901.EQ*ˆINCLUDE�9995.&.TR1RTCD.EQ*ˆINCLUDE�9995.&.INTERRUP.MC*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠINCLUDE�9995.&.BAB.EQŠINCLUDE�9995.&.PAT.EQ ŠINCLUDE�9999.MK68901.MK68901.EQŠINCLUDE�9995.&.TR1RTCD.EQŠINCLUDE�9995.&.INTERRUP.MCŠLISTŠPAGE?TIMEINTƒIDNTƒ5,1�TIMER�INTERRUPT�HANDLER�FOR�M146818�CLOCK�CHIP*$*‰COPYRIGHTED�1983�BY�MOTOROLA,�INC.*.*†TIMER�INTERRUPT�-�OCCURS�ONCE�EACH�10.000�MS**•01/18/83‚(SFF5)*•04/07/83‚(7616)*:*•08/15/83‚Steve�Franck�--�Changed�to�exit�through�COMINT.*ŠSECTION�LEVEL00*ŠPAGE ŠXDEFƒTIMEINT ŠXREF.S�DATEŠXREF.S�PATBEGŠXREF.S�PREEMPT_FLAGŠXREF.S�PTMADDRŠXREF.S�TIMEOUTŠXREF.S�TIMESLICŠXREF.S�TIMINTRŠXREF.S�TIMINTVŠXREF.S�TIMINTV4ŠXREF.S�TINTFLAGŠXREF.S�TRACERŠXREF.S�TRACFLAGŠXREF.S�TIME_LEFT ŠXREFƒBKG_SCHEDULE ŠXREFƒCKEXPA ŠXREFƒCKDELAYŠXREFƒPAT_RM_1ST_NODEŠPAGE**0TIMEINTƒMOVEM.L�D0-D1/A0-A1,-(A7)�SAVE�REGISTERS ŠMOVE.L�PTMADDR,A0‰TIMER�ADDRESS)ŠBCLRƒ#5,MFP_ISRA(A0)„Clear�the�interrupt!ŠMOVE.W�SR,D0ŽFor�later�unmasking ŠCLR.L‚D1ŠDISABLE_INTERRUPTSˆMask$ŠMOVE.W�TIMINTR,D1‰microseconds�overŠSUB.W‚D1,TIMINTV4ŠIF…‚THEN.S4�ADD.W‚#1000,TIMINTV4‚Set�usec�rollover�counter�back3�SUB.L‚#1,TIME_LEFT„Account�for�passage�of�extra�msŠENDI7ŠMOVE.W�TIMINTV,D1‰Number�of�ms�elapsed�since�last�tickŠSUB.L‚D1,TIME_LEFT‡ms�updateŠMOVE.W�D0,SRŽUnmaskŠTST.L‚TIME_LEFT*‰INCLUDE�M68XXX.TIMEINT.AIŠINCLUDE�M68XXX.TIMEINT.AIŠENDénMZ1TIMEINT ASYST'MK68901 TIMEINT SA"6…TIMER INTERRUPT HANDLER FOR M146818 CLOCK CHIPæ2pPTMADDR pPREEMPT_ pPERTURB_ pCOMINT_P pDATE pTIMESLIC BTIMEINT pTIMINTR pTIMEOUT pTIME_LEF pTIMINTV pTIMINTV4 pPAT_RM_1 pCKEXPA pTRAC ER pPATBEG pTRACFLAG pBKG_SCHE pTINTFLAG pCKDELAY "ÌF3 *’HçÀÀ x ¨@ÀB�|28 “x l xè S¸ 28 “¸ FÀJ¸ n"x AéL3ICúMMU‡=�0ŒMMU�support�has�not�yet�been�implemented�for�the�VM04.*%* Assemble SYSPAR (System Parameters)*INCLUDE…C20O24.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and;* stack address to VERSAdos sysgen through file VM04.RMS.CI*(RMS‡=�$2600‰Address�where�RMS68K�starts. SUBS†&.RMS.CI=COPY…&.XRMS.CI,VM04.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVM04.VECTTBL.AG8ASM‰VM04.VECTTBL.AG,VM04.VECTTBL.RO,VM04.VECTTBL.TF;Z=50**‚Now�link�it�all�together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVM04.RMS.LGLINKˆVM04.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*#=COPY‡VM04.VECTTBL.TF,VM04.RMS.LL;A$=COPY‡C20O24.SYSPAR.TF,VM04.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen**ˆC20O24.SYSPAR.RO&*ˆ&.SYSPAR.RO‰copy�of�C20O24.SYSPAR.RO *ˆVM04.RMS.LO *ˆVM04.RMS.LL *ˆVM04.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVM04.XVECTTBL.AG*ˆVM04.VECTTBL.RO*ˆVM04.XRMS.LG*END‰éêE2VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VM04.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***=***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VM04.Ž******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***E***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VM04„*** ***‡monoboard�microcomputer.ª******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…10/10/84ƒACC„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�creat ed�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�theó5ü<1K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�Violation.'ŠVECTOR�$09,PROGINT9‡Instruction�Trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.ŠVECTOR�$0C,0ŽCOMINT.2ŠVECTOR�$0D,KILLER‰Coprocessor�Protocol�Violation. ŠVECTOR�$0E,KILLER‰Format�Error.+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�Interrupt.'ŠVECTOR�$19,0Ž($19�-�$1F�go�to�COMINT.)ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$2 1,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#14.,ŠVECTOR�$2F,1ŽTRAP�#15�is�needed�by�the�bug.'ŠVECTOR�$30,0Ž($30�-�$3F�go�to�COMINT.)*6*‚Vectors�generated�by�VM04�onboard�interrupt�sources.*2ŠVECTOR�$40,1ŽSoftware�abort�is�needed�by�the�bug.*ŠVECTOR�$41,POWRFAIL‡ACFAIL�from�VERSAbus.$ŠVECTOR�$42,TIMEINTˆZ8036�CIO�timer.+ŠVECTOR�$43,CMRSFAIL‡SYSFAIL�from�VERSAbus.(ŠVECTOR�$44,0ŽMK68564�dual�serial�ports.(ŠVECTOR�$45,0ŽVERSAbus�interrupt�status.ŠVECTOR�$46,0ŽCOMINT.$ŠVECTOR�$47,KILLER‰RAMbus�interrupt.'ŠVECTOR�$48,0Ž($48�-�$49�go�to�COMINT.)1ŠVECTOR�$4A,KILLER‰VERSAbus�monitor�FIFO�overrun.'ŠVECTOR�$4B,0Ž($4B�-�$FF�go�to�COMINT.)  !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠENDéS1CACHE ASREL'VM04 CACHE SA#D2(…VM04 -- Code related to caches on VM04.C2BFLUSH_ON "pEXIT_SUB FFLUSHC BFLUSH_AL "4& :3/NzÀN{ùÿû:¹ÿû: Nu/NzÀN{ Nu(3NzÀN{ùÿû:¹ÿû:`Aâ4ééééééé **ˆVM04�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$2600 STACK…=�$2400STARTRMS‚=�$2600+$100ROMSADDR‚=�$2600MMU‡=�$0é ééééé=/*=/*†VM04.RMS.LG=/* =/* RMS link chain file for VM04=/*.=LINK ,VM04.RMS.LO,VM04.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUT…VM04.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROINˆVM04.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68020.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROINˆVM04.KILLER.ROIN†NOMMUC.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN†M68XXX.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡Z8036.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.RO^' IN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=END éééééééM1VECTTBL ASYST'VM04 XVECTTBLAG# …RMS68K vector table for the VM04.«2pPOWRFAIL pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 pCMRSFAIL "€†3?œœ!VCT(,,,,, , , ,,,, ,!,"/0@,A,B,CD(3€EF,GH,JK4éééééé/ 'VME101 KILLER AFDDbbKILLER SAMM/bbVECTTBL AGVV™bbKILLER ROoobbRMS CDxxEbbRMS CI��bbRMS LGŠŠfbbVECTTBL RO››bb=/*=/*†VME101.KILLER.AF=/*+=/* Chain file to assemble VME101.KILLER.SA=/*:=/* If no output argument is specified for the listing the/=/* chain file will default to VME101.KILLER.LS=/*=/IFC \1ƒ=ARG�VME101.KILLER.LS=/ENDIF=/*1=ASM VME101.KILLER.SA,VME101.KILLER.RO,\1;MRZ=040=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*}=/*=ENDéééééé<‰PAGE**ˆINCLUDE�FILES**ˆINCLUDEƒEQUSTR*‰NOLIST‰INCLUDEƒ9995.&.STR.EQ‰LIST‰PAGE1KILLERƒIDNT„4,0…CRASH�THE�SYSTEM;�VME101�version.*$*ˆCOPYRIGHTED�1980�BY�MOTOROLA,�INC.*2*†SOMETHING�HAS�GONE�WRONG---GET�OUT�OF�THIS�TASK!*‰SECTION�LEVEL00* ‰XDEF„KILLER‰XDEF„KILLERT0 ‰XREF.S‚CRASHSAV 'MCR†EQU…$FE00F1‘VME101�control�register    KILLERT0:KILLER:‰MOVEM.L�D0-D7/A0-A7,CRASHSAV+8%‰MOVE.W‚SR,CRASHSAV+6ŒSAVE�STATUS�REG&‰MOVE.L‚(A7),CRASHSAVŒSAVE�PC�OF�CRASH ‰MOVE„USP,A1‰MOVE.L‚A1,CRASHSAV+72‹SAVE�USP4‰MOVE.L‚$8,CRASHSAV+76‹SAVE�BUS�ERROR�VECTOR�ADDRESS $‰OR.W„#$700,SR‘STOP�OTHER�INTERRUPTS#‰MOVE.L‚#MCR,A1’CONTROL�REG�ADDRESS-‰MOVE.B‚#$9F,(A1)�DISABLE�INTERRUPTS�AND�TURN*©ON �THE�FAIL�LIGHT KILLER2:0‰BRA.SƒKILLER2�Branch�to�self�until�someone�hits*§software�abort.  ‰ENDééééE04VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VME101.O*******************************************************************************O*******************************************************************************O**********************************************************************************É***?***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VME101.Œ******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***G***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VME101‚*** ***‡monoboard�microcomputer.ª******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O******************************************************************************* *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…10/25/83ƒSJF„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�theN5W<_)K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡ Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0E�go�to�COMINT.)+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt..ŠVECTOR�$19,CMRSFAIL‡SYSFAIL*�from�the�VMEbus.*ŠVECTOR�$1A,TIMEINTˆM6840�timer�interrupt.%ŠVECTOR�$1B,0Ž($1B-$1D�go�to�COMINT.)'ŠVECTOR�$1E,KILLER‰Bus�Clear�interrupt.$*¦Since�we�don't�use�that�bus�access(*¦mode,�we�shouldn't�get�this�interrupt.2ŠVECTOR�$1F,1ŽSoftware�abort�and/or�VMEbus�ACFAIL. *§We�essentially�ignore�ACFAIL*,'*§and�leave�this�vector�pointing�to�the*§bug's�software�abort�routine.ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$FF�go�to�COMINT.)  !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠENDééM1KILLER ASYST'VME101 KILLER SA"8!…CRASH THE SYSTEM; VME101 version./2BKILLERT0 BKILLER pCRASHSAV "*43*HHøÿÿ!@ø!!× Ni!É!H!ø!L|"|þñ¼Ÿ`þ4 ééééééég%*************************************%* Sysgen command file VME101.RMS.CD *%*************************************SYSTEM„=�"VME101"*MMU‡=�0ŒNo�MMU�is�possible�on�this�system.*%* Assemble SYSPAR (System Parameters)*INCLUDE…C8OC.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VME101.RMS.CI*)RMS‡=�$10000‡Address�where�RMS68K�starts. SUBS†&.RMS.CI=COPY…&.XRMS.CI,VME101.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVME101.VECTTBL.AG>ASM‰VME101.VECTTBL.AG,VME101.VECTTBL.RO,VME101.VECTTBL.TF;Z=50*(* Now we generate the RMS68K load module* Now link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVME101.RMS.LGLINKˆVME101.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VME101.VECTTBL.TF,VME101.RMS.LL;A$=COPY‡C8OC.SYSPAR.TF,VME101.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen**ˆC8OC.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�C8OC.SYSPAR.RO*ˆVME101.RMS.LO*ˆVME101.RMS.LL*ˆVME101.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVME101.XVECTTBL.AG*ˆVME101.VECTTBL.RO*ˆVME101.XRMS.LG*END‰é pF**ˆVME101�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$10000 STACK…=�$C00STARTRMS‚=�$10000+$100ROMSADDR‚=�$10000MMU‡=�$0ééééééy=/*=/*†VME101.RMS.LG=/*"=/* RMS link chain file for VME101=/*2=LINK ,VME101.RMS.LO,VME101.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVME101.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68000.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68000.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68000.EXCEPT.ROIN†M68000.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†VME101.KILLER.ROIN‡NOMMU.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.PSTATE.ROIN†M68000.PVSEM.ROIN†M68XXX.RCVSA.ROIN‡M6840.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68 XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68000.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68000.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡M6840.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68000.TRAP0.ROIN†M68000.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.RO‚^‹ IN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéééééééO1VECTTBL ASYST'VME101 XVECTTBLAG#8…RMS68K vector table for the VME101. 2pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 pCMRSFAIL "Xx3?““€!VCT(,,,,, , ,,,,,, ,!,"04ééé ééé“'VME110 KILLER AF¨¨bbKILLER SA±±,bbVECTTBL AGººšbbKILLER ROÓÓbbRMS CDÜÜDbbRMS CIååbbRMS LGîîfbbVECTTBL ROÿÿbb=/*=/*†VME110.KILLER.AF=/*+=/* Chain file to assemble VME110.KILLER.SA=/*:=/* If no output argument is specified for the listing the/=/* chain file will default to VME110.KILLER.LS=/*=/IFC \1ƒ=ARG�VME110.KILLER.LS=/ENDIF=/*1=ASM VME110.KILLER.SA,VME110.KILLER.RO,\1;MRZ=040=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*}=/*=ENDéééééé  ‰PAGE**ˆINCLUDE�FILES**ˆINCLUDEƒ9995.&.STR.EQ*‰NOLIST‰INCLUDEƒ9995.&.STR.EQ‰LIST‰PAGE KILLERƒIDNT„4,0…CRASH�THE�SYSTEM*$*ˆCOPYRIGHTED�1980�BY�MOTOROLA,�INC.*2*†SOMETHING�HAS�GONE�WRONG---GET�OUT�OF�THIS�TASK!*‰SECTION�LEVEL00* ‰XDEF„KILLER‰XDEF„KILLERT0 ‰XREF.S‚CRASHSAV 'MCR†EQU…$FE8021‘VME110�control�register    KILLERT0:KILLER:‰MOVEM.L�D0-D7/A0-A7,CRASHSAV+8%‰MOVE.W‚SR,CRASHSAV+6ŒSAVE�STATUS�REG&‰MOVE.L‚(A7),CRASHSAVŒSAVE�PC�OF�CRASH ‰MOVE„USP,A1‰MOVE.L‚A1,CRASHSAV+72‹SAVE�USP4‰MOVE.L‚$8,CRASHSAV+76‹SAVE�BUS�ERROR�VECTOR�ADDRESS $‰OR.W„#$700,SR‘STOP�OTHER�INTERRUPTS#‰MOVE.L‚#MCR,A1’CONTROL�REG�ADDRESS-‰MOVE.B‚#$10,(A1)�DISABLE�INTERRUPTS�AND�TURN KILLER2:‰NOP‰BRA.SƒKILLER2’STOP�EVERYTHING‰ENDéééé©-4VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VME110.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***?***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VME110.Œ******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***G***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VME110‚*** ***‡monoboard�microcomputer.ª******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…10/25/83ƒSJF„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9 995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�the²5»<Ã*K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0E�go�to�COMINT.)+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.)ŠVECTOR�$19,0ŽI/O�channel�IRQ1*�(COMINT).)ŠVECTOR�$1A,0ŽI/O�channel�IRQ2*�(COMINT).)ŠVECTOR�$1B,0ŽI/O�channel�IRQ3*�(COMINT).)ŠVECTOR�$1C,0ŽI/O�channel�IRQ4*�(COMINT).-ŠVECTOR�$1D,0ŽACIA�(6850)�interrupt�(COMINT).)ŠVECTOR�$1E,TIMEINTˆPTM‚(6840)�interrupt.9ŠVECTOR�$1F,1ŽSoftware�abort�and/or�VMEbus�ACFAIL*�and/or(*§VMEbus�SYSFAIL*.‚We�essentially�ignore&*§ACFAIL*�and�SYSFAIL*,�and�leave� this'*§vector�pointing�to�the�bug's�software*§abort�routine.ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$FF�go�to�COMINT.)  !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠENDé<1KILLER ASYST'VME110 KILLER SA"8B…CRASH THE SYSTEM/2BKILLERT0 BKILLER pCRASHSAV ",63*HHøÿÿ!@ø!!× Ni!É!H!ø!L|"|þ€!¼Nq`ü4éééééééË%*************************************%* Sysgen command file VME110.RMS.CD *%*************************************SYSTEM„=�"VME110"*MMU‡=�0ŒNo�MMU�is�possible�on�this�system.*%* Assemble SYSPAR (System Parameters)*INCLUDE…C8OC.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VME110.RMS.CI*)RMS‡=�$40000‡Address�where�RMS68K�starts. SUBS†&.RMS.CI=COPY…&.XRMS.CI,VME110.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�t his�system.*SUBSˆVME110.VECTTBL.AG>ASM‰VME110.VECTTBL.AG,VME110.VECTTBL.RO,VME110.VECTTBL.TF;Z=50*)* Now we generate the RMS68K load module.* Now link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVME110.RMS.LGLINKˆVME110.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VME110.VECTTBL.TF,VME110.RMS.LL;A$=COPY‡C8OC.SYSPAR.TF,VME110.RMS.LL;A** Cleanup junk files =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen**ˆC8OC.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�C8OC.SYSPAR.RO*ˆVME110.RMS.LO*ˆVME110.RMS.LL*ˆVME110.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVME110.XVECTTBL.AG*ˆVME110.VECTTBL.RO*ˆVME110.XRMS.LG*END‰éÔE**ˆVME110�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$40000 STACK…=�$C00STARTRMS‚=�$40000+$100ROMSADDR‚=�$40000MMU‡=�$0ééééééÝ=/*=/*†VME110.RMS.LG=/*"=/* RMS link chain file for VME110=/*2=LINK ,VME110.RMS.LO,VME110.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVME110.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR .ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68000.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68000.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68000.EXCEPT.ROIN†M68000.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†VME110.KILLER.ROIN‡NOMMU.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.PSTATE.ROIN†M68000.PVSEM.ROIN†M68XXX.RCVSA.ROIN‡M6840.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68000.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68000.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡M6840.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68000.TRAP0.ROIN†M68000.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROæ^ï IN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéééééééO1VECTTBL ASYST'VME110 XVECTTBLAG#W…RMS68K vector table for the VME110.•2pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 "`v3?’N!VCT(,,,  ,, , ,,,, ,!,"0 34éééééé÷'VME120 RMS CD  [bbRMS CIbbRMS LG&&hbbAUTOVCT RO77bbEXCEPT RO@@bbPREINIT ROQQbb%*************************************%* Sysgen command file VME120.RMS.CD *%*************************************SYSTEM„=�"VME120"*E*‚Indicate�whether�or�not�you�will�have�an�MMU�in�the�system.‚You�mayF*‚tell�the�system�there�is�no�MMU�even�if�one�is�physically�installed;*‚it�just�won't�ever�be�used.*MMU‡=�1Œ0�=�no�MMU;�1�=�MMU.*C*‚Select�the�appropriate�LOADMMU�module�to�be�included�in�the�LINK.* IFEQ \MMU-ƒ=COPY�NOMMUC.LOADMMU.RO,VME120.XLOADMMU.RO;YENDC IFNE \MMU-ƒ=COPY�M68451.LOADMMU.RO,VME120.XLOADMMU.RO;YENDC*%* Assemble SYSPAR (System Parameters)*INCLUDE…CBOD.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VME120.RMS.CI*(RMS‡=�$1000ˆAddress�where�RMS68K�starts. SUBSˆ&.RMS.CI=COPY‡&.XRMS.CI,VME120.RMS.CI;Y*"* Create the vector table for RMS.*-SWABRT„=�$1FŠSoftware�abort�interrupt�vector."MMUINT„=�$67ŠMMU�interrupt�vector."PTMVECTƒ=�$6DŠ"Tick"�timer�vector.  3POWRFAIL‚=�$6FŠSystem�fail�interrupt�vector�number.#*šIncludes�system�fail�and�AC�fail.*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVME12X.VECTTBL.AG9ASM‰VME12X.VECTTBL.AG,VME12X.VECTTBL.RO,VME12X.VECTTBL.TF*)* Now we generate the RMS68K load module.* Link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVME120.RMS.LGLINKˆVME120.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VME12X.VECTTBL.TF,VME120.RMS.LL;AG $=COPY‡CBOD.SYSPAR.TF,VME120.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*1* The following files are created by this RMSgen:**ˆCBOD.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�CBOD.SYSPAR.RO*ˆVME120.RMS.LO*ˆVME120.RMS.LL*ˆVME120.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVME12X.XVECTTBL.AG*ˆVME12X.VECTTBL.RO*ˆVME120.XRMS.LG*END‰éééééé**ˆVME120�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$1000 STACK…=�$D00STARTRMS‚=�$1000+$100ROMSADDR‚=�$1000MMU‡=�$1é! ééééé=/*=/*„VME120.RMS.LG=/*"=/* RMS link chain file for VME120=/*2=LINK ,VME120.RMS.LO,VME120.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVME12X.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†VME120.AUTOVCT.ROIN†M68XXX.BKG.ROIN†VME12X.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†VME120.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.KILLER.ROIN†VME120.XLOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN…M146818.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN…MK68901.TIMEINT.ROIN…M146818.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.RO]' IN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=END! éééééééQ1AUTOVCT ASREL'M68010 AUTOVCT SA#F)(…68010 -- Intercept autovct interrupts+2BAUTOVCT pBERR1 pBERR2 "8B3// gAúAô±ïg AúAê±ïfo¹ôùô _Ns4ééééééé/" Q1EXCEPT ASREL'M68XXX EXCEPT SA#FU(…68010 USER TRAP AND EXCEPTION HANDLERó2pMMUFAULT pEXIT_TER pPREEMPT_ pTIAT BPROGINT2 pBPROGINT3 rBPROGINT4 tBPROGINT5 vBPROGINT6 xBPROGINT7 zBPROGINT8 |BPROGINT9 †BPROGINTA ~BPROGINTB €pEXIT_TRA pEXIT_EXC BBERR1 ppSVXSTAK ò2BBERR2 ®pTTB_01 pSBQEVNTN pTTE_01 pTRACER pKILLER pRUNNER pISRERR pERROR_03 BTRPVCT2 BTRPVCT3 pDISPATCH BTRPVCT4 pTRACFLAG BTRPVCT5  BTRPVCT6 BTRPVCT7 pEXCSTACK BTRPVCT8 µ2BTRPVCT9 BCKEXMON 2pMACSTRC BTRPVCTA BTRPVCTB BTRPVCTC pSBEXABRT BTRPVCTD pMMUHERE BTRPVCTE BTRPVCTF pEQDQ pSBLOGPHY "~H3a aaaaaaaaaa a aaaaNq?/_'g/ gaAÈ//NI3A ,y(Hî?ÿ8 !g @çaA¨ªT�Kú`)La*8 "]…š�Nh,œ… n6aB'ýB`Nq`"(F CN`&8 "UC _8ßF3¿Ãfú/?,ÿú/<<`B† m n _-_¸-_¼/.)g".èg a[3©  nBüäJfBüÞ nCø  1pfBüÊaB&üÆ`BüÂJFfBü¼AÖaB$ü¶ Hzü²�Ÿ`M3‚€Büª P�` €)R`Bü˜~$.èffffNLî?ÿ,_` z,.ð n6L3@aB'üf`Nq`&~ F&(.ô·„f È®ìg-Cô`"R‡È®ìggBü2Rnø .øL3°nøbBü"~aN`Bü.�/,x ½üg0/ f(.)g .è8gîèL3,_"¯Pø Ns,_"/8 #NuaBûÌ$< 4.&.(.8áL<AîàaBûª/3 `®)L8Aîÿt®-@&Nuî ,X�`B û„4éééééé" é,1PREINIT ASREL'VME12X PREINIT SA#I7(…2(3 üÐôüŽò 4éééééééI'VME128 RMS CD^^ [bbRMS CIoobbRMS LGxxhbbAUTOVCT RO‰‰bbEXCEPT RO’’bbPREINIT RO££bb%*************************************%* Sysgen command file VME128.RMS.CD *%*************************************SYSTEM„=�"VME128"*E*‚Indicate�whether�or�not�you�will�have�an�MMU�in�the�system.‚You�mayF*‚tell�the�system�there�is�no�MMU�even�if�one�is�physically�installed;*‚it�just�won't�ever�be�used.*MMU‡=�1Œ0�=�no�MMU;�1�=�MMU.*C*‚Select�the�appropriate�LOADMMU�module�to�be�included�in�the�LINK.* IFEQ \MMU-ƒ=COPY�NOMMUC.LOADMMU.RO,VME128.XLOADMMU.RO;YENDC IFNE \MMU-# ƒ=COPY�M68451.LOADMMU.RO,VME128.XLOADMMU.RO;YENDC*%* Assemble SYSPAR (System Parameters)*INCLUDE…CBOD.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VME128.RMS.CI*(RMS‡=�$1000ˆAddress�where�RMS68K�starts. SUBSˆ&.RMS.CI=COPY‡&.XRMS.CI,VME128.RMS.CI;Y*"* Create the vector table for RMS.*-SWABRT„=�$1FŠSoftware�abort�interrupt�vector."MMUINT„=�$67ŠMMU�interrupt�vector."PTMVECTƒ=�$6DŠ"Tick"�timer�vector.3POWRFAIL‚=�$6FŠSystem�fail�interrupt�vector�number.#*šIncludes�system�fail�and�AC�fail.*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVME12X.VECTTBL.AG9ASM‰VME12X.VECTTBL.AG,VME12X.VECTTBL.RO,VME12X.VECTTBL.TF*)* Now we generate the RMS68K load module.* Link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVME128.RMS.LGLINKˆVME128.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VME12X.VECTTBL.TF,VME128.RMS.LL;AVG_$=COPY‡CBOD.SYSPAR.TF,VME128.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*1* The following files are created by this RMSgen:**ˆCBOD.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�CBOD.SYSPAR.RO*ˆVME128.RMS.LO*ˆVME128.RMS.LL*ˆVME128.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVME12X.XVECTTBL.AG*ˆVME12X.VECTTBL.RO*ˆVME128.XRMS.LG*END‰éééééé**ˆVME128�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time # to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$1000 STACK…=�$D00STARTRMS‚=�$1000+$100ROMSADDR‚=�$1000MMU‡=�$1éééééég=/*=/*„VME128.RMS.LG=/*"=/* RMS link chain file for VME128=/*2=LINK ,VME128.RMS.LO,VME128.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVME12X.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†VME128.AUTOVCT.ROIN†M68XXX.BKG.ROIN†VME12X.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†VME128.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.KILLER.ROIN†VME128.XLOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN…M146818.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN…MK68901.TIMEINT.ROIN…M146818.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.RO$ p]y IN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéééééééQ1AUTOVCT ASREL'M68010 AUTOVCT SA#II(…68010 -- Intercept autovct interrupts+2BAUTOVCT pBERR1 pBERR2 "FJ3// gAúAô±ïg AúAê±ïfo?09ô€3ÀôÀ3Àô 30 _Ns4éééééé$ é�Q1EXCEPT ASREL'M68XXX EXCEPT SA#P(…68010 USER TRAP AND EXCEPTION HANDLERó2pMMUFAULT pEXIT_TER pPREEMPT_ pTIAT BPROGINT2 pBPROGINT3 rBPROGINT4 tBPROGINT5 vBPROGINT6 xBPROGINT7 zBPROGINT8 |BPROGINT9 †BPROGINTA ~BPROGINTB €pEXIT_TRA pEXIT_EXC BBERR1 ppSVXSTAK ò2BBERR2 ®pTTB_01 pSBQEVNTN pTTE_01 pTRACER pKILLER pRUNNER pISRERR pERROR_03 BTRPVCT2 BTRPVCT3 pDISPATCH BTRPVCT4 pTRACFLAG BTRPVCT5  BTRPVCT6 BTRPVCT7 pEXCSTACK BTRPVCT8 µ2BTRPVCT9 BCKEXMON JpMACSTRC BTRPVCTA BTRPVCTB BTRPVCTC pSBEXABRT BTRPVCTD pMMUHERE BTRPVCTE BTRPVCTF pEQDQ pSBLOGPHY "–H3a aaaaaaaaaa a aaaaNq?/_'g/ g0aAÈ//NI3A ,y(Hî?ÿ8 !g @çaA¨ªT�Kú`)La*8 "]…š�Nh,œ… n6aI3€€B'ý*`Nq`"(F CN`&8 "UC _8ß¿Ãfú/?,ÿú/<<`B† m n _-_¸-_R3! ¼/.)g".èg a nBüÌJfBüÆ nCø  1pfBü²aB&ü®`V3’(BüªJFfBü¤AÖaB$üž Hzüš�Ÿ`Bü’ P�` €)R`Bü€~$.èfffI3fNLî?ÿ,_` z,.ð n6aB'üN`Nq`&~ F&(.ô·„f È®ìg-Cô`"O3R‡È®ìggBüRnø .ø°nøbBü ~aN`Bü.�/,x ½üg0/ f(I3! .)g .è8gîè,_"¯Pø Ns,_"/8 #NuaBû´$< 4.J3&.(.8áLŠ“<AîàaBû’`®)Lîÿt®-@&Nuî ,X�`B ûl4éééé% ééé,1PREINIT ASREL'VME12X PREINIT SA#S(…2(3 3ü]ôüŽò 4ééééééé›'VME12X VECTTBL AG°°¸bbCACHE ROÑÑbbVECTTBL ROÚÚbb% 4VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VME12x.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***B***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VME120/128‰******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***G***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VME12x‚***"***‡microcomputer�workstation.¨******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…02/01/84ƒMSL„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�the¨5±<¹3ÁK*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŠIFLEƒ\1-VECT_NUM0�FAILƒ499�Vector�#'s�must�be�in�ascending�order!�MEXITŠENDCŠIFNCƒ'\2','0'�IFNCƒ'\2','1'�XREFƒ\2�ENDCŠENDCVECT_NUM‚SET„\1ŠDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�wa& nt�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9�VECTOR�$04,1‹leave�the�illegal�instruction�vector�alone.ŠENDCƒ*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>�VECTOR�$04,PROGINT4†take�over�the�illegal�instruction�vector.ŠENDCƒ*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0D�go�to�COMINT.)ŠVECTOR�$0E,KILLER‰Format�error+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.!ŠVECTOR�$19,AUTOVCTˆAutovector�#1!ŠVECTOR�$1A,AUTOVCTˆAutovector�#2!ŠVECTOR�$1B,AUTOVCTˆAutovector�#3!ŠVECTOR�$1C,AUTOVCTˆAutovector�#4!ŠVECTOR�$1D,AUTOVCTˆAutovector�#5!ŠVECTOR�$1E,AUTOVCTˆAutovector�#6<ŠVECTOR�\SWABRT,1ŠSoftware�abort�(leave�it�pointing�to�bug).ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.)ŠVECTOR�$30,0Ž($30�-�$50-1�go�to�COMINT.) */*‚Block�of�four�interrupts�for�the�I/O�channel.*)ŠVECTOR�$50,0‰I/O�channel�IRQ1*�(COMINT).)ŠVECTOR�$51,0‰I/O�channel�IRQ2*�(COMINT).)ŠVECTOR�$52,0‰I/O�channel�IRQ3*�(COMINT).)ŠVECTOR�$53,0‰I/O�channel�IRQ4*�(COMINT).*1ŠVECTOR�$53+1,0‡Vectors�$53+1�to�$5F�go�to�COMINT*M*‚Block�of�16�interrupt�vectors�for�the�multi-function�peripheral�(MFP)�chip.*;ŠVECTOR�$60,COMINT‰CACHERR/CACHEHIT�(should�not�interrupt)./ŠVECTOR�$61,COMINT‰XERR�(should�not�interrupt).0ŠVECTOR�$62,COMINT‰BBERR�(should�not�interrupt).1ŠVECTOR�$63,COMINT‰PARBAD�(should�not�interrupt).2ŠVECTOR�$64,COMINT‰TIMER�D�(should�not�interrupt).2ŠVECTOR�$65,COMINT‰TIMER�C�(Should�not�interrupt)./ŠVECTOR�$66,COMINT‰MODE�(shluld�not�interrupt).5ŠVECTOR�\MMUINT,KILLER…MMUIRQ�(should�not�interrupt).2ŠVECTOR�$68,COMINT‰TIMER�B�(should�not�interrupt).3ŠVECTOR�$69,COMINT‰XMIT�ERR�(should�not�interrupt).9ŠVECTOR�$6A,COMINT‰XMIT�BUF�EMPTY�(should�not�interrupt).4ŠVECTOR�$6B,COMINT‰RCV�ERROR�(should�not�interrupt).7ŠVECTOR�$6C,COMINT‰RCV�BUF�FULL�(should�not�interrupt).+ŠVECTOR�\PTMVECT,TIMEINTƒTIMER�A�interrupt..ŠVECTOR�$6E,COMINT‰DTR�(should�not�interrupt).AŠVECTOR�\POWRFAIL,POWRFAIL�ACFAIL/SYSFAIL�interrupt�(jumpered�for *£ACFAIL).*1*‚Now,�set�all�remaining�vectors�to�go�to�COMINT.*#ŠVECTOR�$70,0Ž$70-$FF�Go�to�COMINT. !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠENDéééé& éQ1CACHE ASREL'VME12X CACHE SA#S(…Cache code for the VME120 and VME128.N2BFLUSH_ON pEXIT_SUB pCFLUSH FFLUSHC BFLUSH_AL "& 3JyøNu*x JUNu3H x JP`Aø4éééééééÉO1VECTTBL ASYST'VME12X XVECTTBLAG…RMS68K vector table for the VME12x.«2pPOWRFAIL pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pAUTOVCT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 "¼Ž3?™üà!VCT(,,,,, , ,,,,,,,,,, ,!,"0PQ|3ÿþRSS,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,op4ééé' ééÒ'Z8036 TIMEINT AFççbbTIMEINT SAððFbbTIMEINT ROùùbb=/*=/*†Z8036.TIMEINT.AF=/*5=/* Chain file to assemble Z8036.TIMEINT.SA for 68020=/*:=/* If no output argument is specified for the listing the/=/* chain file will default to Z8036.TIMEINT.LS=/*=/IFC \1ƒ=ARG�Z8036.TIMEINT.LS=/ENDIF=/*B=ASM M68020.M68020.SA/Z8036.TIMEINT.SA,Z8036.TIMEINT.RO,\1;MRZ=060=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9999.Z8036.Z8036.EQ=/*ƒ9995.&.BAB.EQ=/*ƒ9995.&.PAT.EQ=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.INTERRUP.MC=/*ƒM68XXX.TIMEINT.AI=/*}=/*=ENDéééééß' ŠPAGE**ˆINCLUDE�FILES**ˆINCLUDE�9995.&.STR.EQ*ˆINCLUDE�9999.Z8036.Z8036.EQ*ˆINCLUDE�9995.&.BAB.EQ*ˆINCLUDE�9995.&.PAT.EQ*ˆINCLUDE�9995.&.TR1RTCD.EQ*ˆINCLUDE�9995.&.INTERRUP.MC*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠINCLUDE�9999.Z8036.Z8036.EQŠINCLUDE�9995.&.BAB.EQŠINCLUDE�9995.&.PAT.EQŠINCLUDE�9995.&.TR1RTCD.EQŠINCLUDE�9995.&.INTERRUP.MCŠLIST?TIMEINTƒIDNTƒ5,1�TIMER�INTERRUPT�HANDLER�FOR�M146818�CLOCK�CHIP*$*‰COPYRIGHTED�1983�BY�MOTOROLA,�INC.*.*†TIMER�INTERRUPT�-�OCCURS�ONCE�EACH�15.625�MS**•01/18/83‚(SFF5)*•04/07/83‚(7616)*:*•08/15/83‚Steve�Franck�--�Changed�to�exit�through�COMINT.*ŠSECTION�LEVEL00* ŠXDEFƒTIMEINT ŠXREF.S�DATEŠXREF.S�PATBEGŠXREF.S�PREEMPT_FLAGŠXREF.S�PTMADDRŠXREF.S�TIME_LEFTŠXREF.S�TIMEOUTŠXREF.S�TIMESLICŠXREF.S�TIMINTVŠXREF.S�TIMINTV4ŠXREF.S�TINTFLAGŠXREF.S�TRACERŠXREF.S�TRACFLAG ŠXREFƒBKG_SCHEDULE ŠXREFƒCKEXPA ŠXREFƒCKDELAYŠXREFƒPAT_RM_1ST_NODE**CLRINT„SET„$24�CLEAR�INTERRUPT*¥RESUME�COUNTDOWN 0TIMEINTƒMOVEM.L�D0-D1/A0-A1,-(A7)�SAVE�REGISTERS ŠMOVE.L�PTMADDR,A0‰TIMER�ADDRESS/ŠMOVE.B�#CLRINT,C1CSR(A0)‚CLEAR�TIMER�INTERRUPT -ŠMOVE.W�SR,-(A7)‹Value�to�use�in�unmask�laterŠDISABLE_INTERRUPTSˆMask /ŠCLR.L‚D1‘Subtract�from�TIME_LEFT�the�number�of4ŠMOVE.W�TIMINTV,D1‰milliseconds�between�timer�ticks.ŠSUB.L‚D1,TIME_LEFT‡*ŠMOVE.W�(A7)+,SR‹Unmask+ŠTST.L‚TIME_LEFTŠDo�we�need�to�fire�a�node?*‰INCLUDE�M68XXX.TIMEINT.AIŠINCLUDE�M68XXX.TIMEINT.AIŠENDééèGZ1TIMEINT ASYST'Z8036 TIMEINT SA"9…TIMER INTERRUPT HANDLER FOR M146818 CLOCK CHIPÛ2pPTMADDR pPREEMPT_ pPERTURB_ pCOMINT_P pDATE pTIMESLIC BTIMEINT pTIMEOUT pTIME_LEF pTIMINTV pTIMINTV4 pPAT_RM_1 pCKEXPA pTRACER pPATBEG pTRACFLAG pBKG_SCHE pTINTFLAG pCKDELAY "¸H3 HHçÀÀ x |$ @ç|B�28 “¸ FßJ¸ n"x AéCúbbSYSPAR AG''"lbbRMS CIPPbbRMSEXM CIYYbbI=/***********************************************************************=/*�RMSGEN.CF»*'=/*�SYSGEN�command�file�to�sysgen�RMS£*I=/***********************************************************************=OPT N,O=/*==/*�Insure�two�arguments.‚Second�argument�defaults�to�'#NULL'=/*=/RX=\0 =/IF RX = 0 ƒ=ARG�NOARGƒ=/RX=\0=/ENDIF =/IF RX = 1ƒ=ARG�\1,#NULLƒ=/RX=\0=/ENDIF=/*$=/* See if we have a valid mnemonic.2=/*ƒIf�not�a�valid�mnemonic,�put�out�help�message.=/RX=0=/IFEQ "EXORMACS"\1ƒ=/RX=1=/ENDIF=/IFEQ "NETVM02"\1ƒ=/RX=1=/ENDIF=/IFEQ "VM01"\1ƒ=/RX=1=/ENDIF=/IFEQ "VM02"\1ƒ=/RX=1=/ENDIF=/IFEQ "VM03"\1ƒ=/RX=1=/ENDIF=/IFEQ "VM04"\1ƒ=/RX=1=/ENDIF=/IFEQ "VME101"\1ƒ=/RX=1=/ENDIF=/IFEQ "VME110"\1ƒ=/RX=1=/ENDIF=/IFEQ "VME115"\1ƒ=/RX=1=/ENDIF=/IFEQ "VME120"\1ƒ=/RX=1=/ENDIF=/IFEQ "VME122"\1ƒ=/RX=1=/ENDIF=/IFEQ "VME128"\1ƒ=/RX=1=/ENDIF=/IFEQ "VMES10"\1ƒ=/RX=1=/ENDIF =/IF RX=0 ƒ=OPT�-NOƒ=/*’**�HELP�MESSAGE�**ƒ=/*7ƒ=/*�No�argument�or�an�invalid�argument�was�specified�-=ƒ=/*ƒThis�chain�file�must�be�restarted�with�a�valid�argument.3ƒ=/*ƒA�description�of�the�calling�sequence�follows.Aƒ=/*ƒType��to�continue�help�message�after�reading�one�screen.ƒ=/*ƒ=/*�Calling�sequence:ƒ=/*ƒ=RMSGEN.CF�arg1,arg2ƒ=/*ƒ=/*†arg1…=‚Mnemonicƒ=/*†arg2…=‚Output�file/deviceƒ=/*Dƒ=/*ƒArg1�is�optional.‚If�not�specified,�a�help�message�will�appear.Aƒ=/*ƒArg2�will�typically�be�'#NULL'�or�'#PR'�-�defaults�to�#NULL.ƒ=/*ƒ=/*ƒ=/&>ƒ=/*ƒRMSGEN.CF�will�perform�the�RMS�sysgen�associated�with�theƒ=/*…specified�mnemonic.ƒ=/*1ƒ=/*ƒThe�mnemonic�(arg1)�is�one�of�the�following:ƒ=/*ƒ=/*ƒ"EXORMACS"ƒ=/*ƒ"NETVM02" ƒ=/*ƒ"VM01" ƒ=/*ƒ"VM02" ƒ=/*ƒ"VM03" ƒ=/*ƒ"VM04" ƒ=/*ƒ"VME101" ƒ=/*ƒ"VME110" ƒ=/*ƒ"VME115 ƒ=/*ƒ"VME120 ƒ=/*ƒ"VME122" ƒ=/*ƒ"VME128 ƒ=/*ƒ"VMES10"ƒ=/&ƒ=NOARGƒ=@END=/ENDIF =/IF RX=1ƒ=DEL�&.S.LS/&.SYSASM.LS=/ENDIF=/RX=0þjQS1F=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "EXORMACS"\1 ƒ=OPT�-NO ƒ=SYSGEN�EXORMACS.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Err( ors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�EXORMACS.RMS.LL,&.S.LS;A$ƒ=/*�Created�file�is�EXORMACS.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "NETVM02"\1 ƒ=OPT�-NOƒ=SYSGEN�NETVM02.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�NETVM02.RMS.LL,&.S.LS;A#ƒ=/*�Created�file�is�NETVM02.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VM01"\1 ƒ=OPT�-NOƒ=SYSGEN�VM01.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VM01.RMS.LL,&.S.LS;A ƒ=/*�Created�file�is�VM01.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VM02"\1 ƒ=OPT�-NOƒ=SYSGEN�VM02.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VM02.RMS.LL,&.S.LS;A ƒ=/*�Created�file�is�VM02.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VM03"\1 ƒ=OPT�-NOƒ=SYSGEN�VM03.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VM03.RMS.LL,&.S.LS;A ƒ=/*�Created�file�is�VM03.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VM04"\1 ƒ=OPT�-NOƒ=SYSGEN�VM04.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VM04.RMS.LL,&.S.LS;A ƒ=/*�Created�file�is�VM04.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME101"\1 ƒ=OPT�-NOƒ=SYSGEN�VME101.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VME101.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VME101.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME110"\1 ƒ=OPT�-NOƒ=SYSGEN�VME110.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VME110.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VME110.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME115"\1 ƒ=OPT�-NOƒ=SYSGEN�VME115.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VME115.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VME115.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME120"\1 ƒ=OPT�-NOƒ=SYSGEN�VME120.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VME120.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VME120.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME122"\1 ƒ=OPT�-NOƒ=SYSGEN�VME122.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VME122.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VME122.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIF=OPT NOF=/*-----------------------------------------) --------------------------F=/*-------------------------------------------------------------------=/IFEQ "VME128"\1 ƒ=OPT�-NOƒ=SYSGEN�VME128.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VME128.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VME128.RMS.LO ƒ=/*ƒ&.S.LS=/ENDIF=OPT NOF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "VMES10"\1 ƒ=OPT�-NOƒ=SYSGEN�VMES10.RMS.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIFƒ=COPY�VMES10.RMS.LL,&.S.LS;A"ƒ=/*�Created�file�is�VMES10.RMS.LOƒ=/*ƒand�&.S.LS=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=OPT -NO=COPY &.S.LS,\2;Y!=/* Output listing directed to \2=ENDéééFSYSPAR„IDNTƒ5,1…System�parameters�at�\SYSPAR;�Crash�save�at�\CRASHSAV.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***>***…ROUTINE:‚SYSPAR�--�SYSTEM�PARAMETERS�TABLE�FOR�RMS68K.�******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***(***‡Copyright�1983�by�Motorola,�Inc.¢******É***H***…FUNCTION:‚This�table�gets�SUBSed�and�ASMed�during�an�RMSGEN,�andƒ***F***‡is�then�linked�in�with�RMS68K.‚The�data�defined�in�this�moduleƒ***D***‡are�primarily�the�variables�and�parameters�needed�by�RMS68K.†******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------(*…12/�7/84‚SJF…Added�LAST_MMU_INT_LEVEL.*…10/�4/83‚SJF…Format�revision.*  **‚Included�files:**‰9995.&.TIOT.EQ*ŠNOLISTŠINCLUDE�9995.&.TIOT.EQŠLISTŠPAGE ŠXDEFƒACOTBL ŠXDEFƒADEFTYP ŠXDEFƒASNTBLŠXDEFƒBKG_ACTIVEŠXDEFƒBKG_FLAGŠXDEFƒBKG_HEADŠXDEFƒBKG_TAIL ŠXDEFƒCCBHDŠ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ƒ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 ŠXDEFƒMMUHERE ŠXDEFƒMMULOAD ŠXDEFƒNATBEG ŠXDEFƒNNTBEG ŠXDEFƒNOTLAM ŠXDEFƒNSE ŠXDEFƒNWDQHD ŠXDEFƒNWPSEGŠXDEFƒNWSTATUS ŠXDEFƒNWTSEG ŠXDEFƒPANELS(]0U8S@)  ŠXDEFƒPATBEGŠXDEFƒPERTURB_FLAGŠXDEFƒPREEMPT_FLAG ŠXDEFƒPTMADDR ŠXDEFƒRAD1TBL ŠXDEFƒREADYHD ŠXDEFƒRIOTBL Š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ƒ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ƒUDEFTYP ŠXDEFƒUDRBEG ŠXDEFƒUSERQHD ŠXDEFƒUSERQND ŠXDEFƒUSTBEG ŠXDEFƒV2RQHD ŠXDEFƒVCTUBGNŠPAGE*E*‚First�define�the�location�of�the�'crash�save�area,'�the�place�whereD*‚the�KILLER�module�will�save�the�processor's�registers,�etc.�in�the*‚event�of�a�system�crash.*CRASHSAV‚EQU„\CRASHSAV  *E*‚Now�define�the�structure�of�the�'system�parameters�area'�to�all�theD*‚various�RMS68K�modules.‚Note�that�we�are�not�actually�defining�anyE*‚storage�here--this�is�just�a�big�offset�block�which�will�define�theB*‚locations�of�the�parameters.‚Initialization�of�the�parameters�is1*‚handled�by�the�RMS68K�initializer�at�boot�time.*ŠOFFSET�\SYSPAR SYSPAR„EQU„* "MAPBEG„DS.Lƒ1’POINTS�TO�MEMORY�MAP PERTURB_FLAG…DS.Wƒ1BKG_FLAG‰EQU„PERTURB_FLAGPREEMPT_FLAG…EQU„PERTURB_FLAG+1 ŠDS.Wƒ1 %EXCSTACK‚DS.Lƒ1’ADDRESS�OF�EXEC�STACK $RUNNER„DS.Lƒ1’ADDRESS�OF�RUNNING�TCB 0TCBHD…DS.Lƒ1’POINTS�TO�FIRST�TCB�IN�ALL-TCB�LIST 0READYHDƒDS.Lƒ1’POINTS�TO�FIRST�TCB�IN�READY�LIST 2CCBHD…DS.Lƒ1’POINTS�TO�FIRST�CHANNEL�CONTROL�BLOCK :MMUHEREƒDS.Lƒ1’HOLDS�ADDRESS�OF�MMU�HARDWARE�IN�MEMORY�MAP +GSTBEG„DS.Lƒ1’START�OF�GLOBAL�SEGMENT�TABLE +USTBEG„DS.Lƒ1’START�OF�USER�SEMAPHORE�TABLE 5UDRBEG„DS.Lƒ1’Pointer�to�User�Defined�Directive�Table 0PATBEG„DS.Lƒ1’START�OF�PERIODIC�ACTIVATION�TABLE +TRACEBEG‚DS.Lƒ1’START�OF�SYSTEM�TRACE�TABLE "TRACFLAG‚DS.Wƒ1’SYSTEM�TRACE�FLAGS ,MACSTRCƒDS.Lƒ1’MACSBUG�TRACE�ROUTINE�ADDRESS PANEL…DS.Lƒ1’FRONT�PANEL�ADDRESS**„TIMER�PARAMETERS** DATE†DS.Lƒ1’ORDINAL�DATE 8PTMADDRƒDS.Lƒ1’ADDRESS�USED�TO�ACCESS�PROGRAMMABLE�TIMER &TIMEOUTƒDS.Wƒ1’TIMER�INTERRUPT�COUNTER BTIMESLIC‚DS.Wƒ1‹NUMBER�OF�TIMER�INTERRUPTS�BEFORE�TASK�INTERRUPTED -NSE‡DS.Lƒ1’ms�value�of�next�significant�event 6TIME_LEFT�DS.Lƒ1’ms�value�until�next�significant�event -MIDNIGHT‚DS.Lƒ1’ms�value�of�previous�midnight 3TIMINTVƒDS.Wƒ1’#�MILLISECS�BETWEEN�TIMER�INTERRUPTS TIMINTV4‚DS.Wƒ1’TIMINTV*4-1 7TIMINTRƒDS.Wƒ1’Holds�usec�remainder�for�odd�clock�rates $TINTFLAG‚DS.Bƒ1’TIMER�INTERRUPT�FLAG 7TMSGFLAG‚DS.Bƒ1’FLAG�-�MESSAGE�SENT�DURING�I/O�HANDLING +SPURCNTƒDS.Wƒ1’COUNT�OF�SPURIOUS�INTERRUPTS 9SPURTIME‚DS.Lƒ1’TIME�THAT�1ST�SPURIOUS�INTERRUPT�OCCURRED +MMULOADƒDS.Lƒ1’MMU�LOADED�FROM�THIS�ADDRESS (VCTUBGNƒDS.Lƒ1’START�OF�VECTOR�USE�TABLE 0IOVCTBGN‚DS.Lƒ1’START�OF�VECTOR�ASSIGNMENT�TABLE ,ADEFTYPƒDS.Bƒ1’DEFAULT�MEMORY�TYPE�FOR�ASQ'S ,TDEFTYPƒDS.Bƒ1’DEFAULT�MEMORY�TYPE�FOR�TCB'S >SDEFTYPƒDS.Bƒ2ŽDEFAULT�MEMORY�TYPE�FOR�SYSTEM�TASKS(RO�AND�RW) ,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�the^5g<o2K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡+ Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0E�go�to�COMINT.)+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.'ŠVECTOR�$19,0Ž($19�-�$1B�go�to�COMINT.)*ŠVECTOR�$1C,TIMEINTˆM6840�timer�interrupt.'ŠVECTOR�$1D,0Ž($1D�-�$1E�go�to�COMINT.)8ŠVECTOR�$1F,1ŽSoftware�abort�(leave�it�pointing�to�bug).ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$8C�go�to�COMINT.)/ŠVECTOR�$8D,POWRFAIL‡ACFAIL*�from�the�VERSAbus.9ŠVECTOR�$8E,KILLER‰This�vector�is�what�you�assign�to�VM02$*§interrupt�sources�you�don't�expect#*§to�go�off;�it�takes�us�to�KILLER.)ŠVECTOR�$8F,0ŽI/O�channel�IRQ1*�(COMINT).)ŠVECTOR�$90,0ŽI/O�channel�IRQ2*�(COMINT).)ŠVECTOR�$91,0ŽI/O�channel�IRQ3*�(COMINT).)ŠVECTOR�$92,0ŽI/O�channel�IRQ4*�(COMINT).<ŠVECTOR�$93,KILLER‰Bus�Clear�interrupt�from�VERSAbus�I/F.‚We%*§shouldn't�be�getting�this,�since�we'*§use�block�transfer�mode�only�if�there%*§are�no�other�potential�bus�masters.0ŠVECTOR�$94,CMRSFAIL‡SYSFAIL*�from�the�VERSAbus. 'ŠVECTOR�$95,0Ž($95�-�$FF�go�to�COMINT.)  !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠEND**ˆVM02�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to,  be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$E00 STACK…=�$C00STARTRMS‚=�$E00+$100ROMSADDR‚=�$E00MMU‡=�$0ééééééw#***********************************#* Sysgen command file VM02.RMS.CD *#***********************************SYSTEM„=�"VM02"*MMU‡=�0ŒNo�MMU�is�possible�on�this�system.*%* Assemble SYSPAR (System Parameters)*INCLUDE…C8OC.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and;* stack address to VERSAdos sysgen through file VM02.RMS.CI*'RMS‡=�$E00‰Address�where�RMS68K�starts. SUBS†&.RMS.CI=COPY…&.XRMS.CI,VM02.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVM02.VECTTBL.AG8ASM‰VM02.VECTTBL.AG,VM02.VECTTBL.RO,VM02.VECTTBL.TF;Z=50*)* Now we generate the RMS68K load module.* Now link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVM02.RMS.LGLINKˆVM02.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*#=COPY‡VM02.VECTTBL.TF,VM02.RMS.LL;A"=COPY‡C8OC.SYSPAR.TF,VM02.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen**ˆC8OC.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�C8OC.SYSPAR.RO *ˆVM02.RMS.LO *ˆVM02.RMS.LL *ˆVM02.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVM02.XVECTTBL.AG*ˆVM02.VECTTBL.RO*ˆVM02.XRMS.LG*END‰é, €F=/*=/*†VM02.RMS.LG=/* =/* RMS link chain file for VM02=/*.=LINK ,VM02.RMS.LO,VM02.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUT…VM02.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68000.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68000.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68000.EXCEPT.ROIN†M68000.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.KILLER.ROIN‡NOMMU.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68000.PVSEM.ROIN†M68XXX.RCVSA.ROIN‡M6840.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68000.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68000.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡M6840.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68000.TRAP0.ROIN†M68000.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.RO‰^’ IN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDééééé- ééM1VECTTBL ASYST'VM02 XVECTTBLAG#S…RMS68K vector table for the VM02.«2pPOWRFAIL pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 pCMRSFAIL "x~3?’C˜!VCT(,,,,, , ,,,, ,!,"0,�,Ž��$3‘’,“,”•4ééééééš ~'VM01 ¤'VM03 ö'VME115 O'VMES10  'NETVM02 ù'VME122 )'C4O9 X'C13O15 e'C8OC r'CAOE 'CBOD Œ'CBOF ™'C20O24 ¦' ³' INET D'VM01 VECTTBL AG°°�bbRMS CIÉÉbbRMS CDÒÒKbbRMS LGÛÛgbbINT LGììbbVECTTBL ROõõbb- 2VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VM01.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***=***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VM01.Ž******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***E***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VM01„*** ***‡monoboard�microcomputer.ª******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‰ChangesG*…--------‚-------------‚----------------------------------------------+*…10/25/83‚Dick�Vanderlin�Revision�for�VM01(*…10/�4/83‚Steve�FranckƒInitial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.¨5±9¹#H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�theK*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�migh. t�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0E�go�to�COMINT.)+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.'ŠVECTOR�$19,0Ž($19�-�$1B�go�to�COMINT.)*ŠVECTOR�$1C,TIMEINTˆM6840�timer�interrupt.'ŠVECTOR�$1D,0Ž($1D�-�$1E�go�to�COMINT.)8ŠVECTOR�$1F,1ŽSoftware�abort�(leave�it�pointing�to�bug).ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$8C�go�to�COMINT.)'ŠVECTOR�$95,0Ž($95�-�$FF�go�to�COMINT.)!ŠDC.Lƒ0’(End�of�table�indicator.)ŠENDéé**ˆVM01�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$E00 STACK…=�$C00STARTRMS‚=�$E00+$100ROMSADDR‚=�$E00MMU‡=�$0ééééé. éÁ#***********************************#* Sysgen command file VM01.RMS.CD *#***********************************SYSTEM„=�"VM01"**MMU‡=�0ŒNo�MMU�is�possible�on�this�system.*%* Assemble SYSPAR (System Parameters)*INCLUDE…C8OC.SYSPAR.CI* * Define RMS's starting address.*'RMS‡=�$E00‰Address�where�RMS68K�starts. SUBSˆ&.RMS.CI=COPY‡&.XRMS.CI,VM01.RMS.CI;Y**‚NOTE::*‚There�are�two�versions�of�VM01�board�available.‚The�only>*‚difference�is�the�size�of�on-board�RAM.�VM01-1�has�32Kbytes,@*‚VM01-2�has�64Kbytes.‚All�VM01�related�files�are�set-up�for�the>*‚64K�version.�For�the�64k�version�set�the�above�RMS�parameter:*‚to�$E00.‚For�the�32k�version�set�the�above�RMS�parameter8*‚to�$10E00.�RMS�must�be�linked�to�run�in�off-board�ram.*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVM01.VECTTBL.AG8ASM‰VM01.VECTTBL.AG,VM01.VECTTBL.RO,VM01.VECTTBL.TF;Z=50*)* Now we generate the RMS68K load module.* Now link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVM01.RMS.LGLINKˆVM01.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*#=COPY‡VM01.VECTTBL.TF,VM01.RMS.LL;A"=COPY‡C8OC.SYSPAR.TF,VM01.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen*ˆC8OC.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�C8OC.SYSPAR.RO *ˆVM01.RMS.CI *ˆVM01.RMS.LO *ˆVM01.RMS.LL**ˆ&.XSYSPAR.AG*ˆVM01.XVECTTBL.AG*ˆVM01.VECTTBL.RO*ˆVM01.XRMS.LG*END‰ÊL=/*=/*†VM01.RMS.LG=/* =/* RMS link chain file for VM01=/*.=LINK ,VM01.RMS.LO,VM01.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTƒ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUT…VM01.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68000.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68000.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68000.EXCEPT.ROIN†M68000.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.KILLER.ROIN‡NOMMU.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE/ .ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68000.PVSEM.ROIN†M68XXX.RCVSA.ROIN‡M6840.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68000.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68000.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡M6840.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68000.TRAP0.ROIN†M68000.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROÓ^Ü IN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDééééééé=/*=/*†VM01.INT.LG=/*;=/*�NOTE:‚The�order�of�the�INPUT�modules�for�this�LINK�must=/*ˆbe�as�specified�below.=/*=LINK ,INIT.LO,\LINKLS;HAMIXSSEGMENT .INT:8 \INTSTRINPUT M68XXX.INIT.ROINPUT VM01.INITIO.ROINPUT M68XXX.INITDAT.ROINPUT C8OC.SYSPAR.ROEND=/*=ENDéé/ ééééäM1VECTTBL ASYST'VM01 XVECTTBLAG"S…RMS68K vector table for the VM01.•2pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 "Xt3?’C€!VCT(,,,,, , ,,,, ,!,"0•4ééééééí'VM03 VECTTBL AG¦bbRMS CD##RbbRMS CI44bbRMS LG==gbbVECTTBL RONNbb0 2VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VM03.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***=***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VM03.Ž******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***E***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VM03„*** ***‡monoboard�microcomputer.ª******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…10/13/83ƒSJF„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�theú5< .K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked0 �with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0D�go�to�COMINT.)ŠVECTOR�$0E,KILLER‰Format�error+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.'ŠVECTOR�$19,0Ž($19�-�$1F�go�to�COMINT.)ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$3F�go�to�COMINT.)0ŠVECTOR�$40,CMRSFAIL‡SYSFAIL*�from�the�VERSAbus.<ŠVECTOR�$41,KILLER‰Acknowledgement�of�interrupt�to�VERSAbus;%*§We�mask�this�interrupt,�so�we�don't*§expect�to�use�this�vector.<ŠVECTOR�$42,KILLER‰Bus�Clear�interrupt�from�VERSAbus�I/F.‚We%*§shouldn't�be�getting�this,�since�we'*§use�block�transfer�mode�only�if�there%*§are�no�other�potential�bus�masters.-ŠVECTOR�$43,0ŽNEC�7201�serial�ports�(COMINT).,ŠVECTOR�$44,TIMEINTˆM146818�real�time�clock.7ŠVECTOR�$45,0ŽM6840�programmable�timer�module�(COMINT)./ŠVECTOR�$46,POWRFAIL‡ACFAIL*�from�the�VERSAbus.9ŠVECTOR�$47,KILLER‰M68451�memory�management�unit.‚Getting'*§one�of�these�means�something's�wrong.#ŠVECTOR�$48,0Ž($48�goes�to�COMINT.))ŠVECTOR�$49,0ŽI/O�channel�IRQ1*�(COMINT).)ŠVECTOR�$4A,0ŽI/O�channel�IRQ2*�(COMINT).)ŠVECTOR�$4B,0ŽI/O�channel�IRQ3*�(COMINT).)ŠVECTOR�$4C,0ŽI/O�channel�IRQ4*�(COMINT).8ŠVECTOR�$4D,1ŽSoftware�abort�(leave�it�pointing�to�bug).'ŠVECTOR�$4E,0Ž($4E�-�$FF�go�to�COMINT.)  !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠENDéééé1 ééé#***********************************#* Sysgen command file VM03.RMS.CD *#***********************************SYSTEM„=�"VM03"*E*‚Indicate�whether�or�not�you�will�have�an�MMU�in�the�system.‚You�mayF*‚tell�the�system�there�is�no�MMU�even�if�one�is�physically�installed;*‚it�just�won't�ever�be�used.*MMU‡=�1Œ0�=�no�MMU;�1�=�MMU.*C*‚Select�the�appropriate�LOADMMU�module�to�be�included�in�the�LINK.* IFEQ \MMU*ƒ=COPY�NOMMU.LOADMMU.RO,VM03.XLOADMMU.RO;YENDC IFNE \MMU+ƒ=COPY�M68451.LOADMMU.RO,VM03.XLOADMMU.RO;YENDC*%* Assemble SYSPAR (System Parameters)*INCLUDE…CBOF.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and;* stack address to VERSAdos sysgen through file VM03.RMS.CI*(RMS‡=�$1100ˆAddress�where�RMS68K�starts. SUBS†&.RMS.CI=COPY…&.XRMS.CI,VM03.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVM03.VECTTBL.AG8ASM‰VM03.VECTTBL.AG,VM03.VECTTBL.RO,VM03.VECTTBL.TF;Z=50**‚Now�link�it�all�together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVM03.RMS.LGLINKˆVM03.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*#=COPY‡VM03.VECTTBL.TF,VM03.RMS.LL;A"=COPY‡CBOF.SYSPAR.TF,VM03.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen**ˆCBOF.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�CBOF.SYSPAR.RO *ˆVM03.RMS.LO *ˆVM03.RMS.LL *ˆVM03.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVM03.XVECTTBL.AG*ˆVM03.VECTTBL.ROP$*ˆVM03.XRMS.LG*END‰ééé1 éééé**ˆVM03�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$1100 STACK…=�$F00STARTRMS‚=�$1100+$100ROMSADDR‚=�$1100MMU‡=�$1éééééé,=/*=/*†VM03.RMS.LG=/* =/* RMS link chain file for VM03=/*.=LINK ,VM03.RMS.LO,VM03.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUT…VM03.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XX2 X.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68010.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.KILLER.ROINˆVM03.XLOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN…M146818.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN…M146818.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN…M146818.TIMEINT.ROIN…M146818.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.RO5^> IN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéééééééM1VECTTBL ASYST'VM03 XVECTTBLAG#C…RMS68K vector table for the VM03.«2pPOWRFAIL pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 pCMRSFAIL "ˆŠ3?™9É!VCT(,,,,, , ,,,, ,!,"0,@,A,BC,DE,F,3€,GHIJKLMN42 ééééééF'VME115 VECTTBL AG[[›bbRMS CDttUbbRMS CI……bbRMS LGŽŽgbbVECTTBL ROŸŸbb4VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VME115.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***>***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VME115�******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***G***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VME115‚***"***‡microcomputer�workstation.¨******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^***************************************************************************** *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…05/02/84ƒSCB„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's3 �created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�theS5\<d+K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŠIFLEƒ\1-VECT_NUM0�FAILƒ499�Vector�#'s�must�be�in�ascending�order!�MEXITŠENDCŠIFNCƒ'\2','0'�IFNCƒ'\2','1'�XREFƒ\2�ENDCŠENDCVECT_NUM‚SET„\1ŠDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9�VECTOR�$04,1‹leave�the�illegal�instruction�vector�alone.ŠENDCƒ*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>�VECTOR�$04,PROGINT4†take�over�the�illegal�instruction�vector.ŠENDCƒ*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0D�go�to�COMINT.)ŠVECTOR�$0E,KILLER‰Format�error+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.'ŠVECTOR�$19,0Ž($19�-�$1E�go�to�COMINT.)-ŠVECTOR�$1F,1ŽACFAIL*�from�the�VMEbus.�p.�3.4(*£This�vector�can�be�poi3 nted�to�POWRFAIL#*£if�software�abort�is�not�desired.ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$4A�go�to�COMINT.)9ŠVECTOR�$4B,KILLER‰M68451�memory�management�unit.‚Getting'*§one�of�these�means�something's�wrong.+ŠVECTOR�$4C,TIMEINTˆM68320�real�time�clock..ŠVECTOR�$4D,CMRSFAIL‡SYSFAIL*�from�the�VMEbus.'ŠVECTOR�$4E,0Ž($4F�-�$7B�go�to�COMINT.)*)ŠVECTOR�$50,0ŽIRQ�channel�IRQ1*�(COMINT).)ŠVECTOR�$51,0ŽIRQ�channel�IRQ2*�(COMINT).)ŠVECTOR�$52,0ŽIRQ�channel�IRQ3*�(COMINT).)ŠVECTOR�$53,0ŽIRQ�channel�IRQ4*�(COMINT).*!ŠDC.Lƒ0’(End�of�table�indicator.) ŠENDé%*************************************%* Sysgen command file VME115.RMS.CD *%*************************************SYSTEM„=�"VME115"*E*‚Indicate�whether�or�not�you�will�have�an�MMU�in�the�system.‚You�mayF*‚tell�the�system�there�is�no�MMU�even�if�one�is�physically�installed;*‚it�just�won't�ever�be�used.*MMU‡=�1Œ0�=�no�MMU;�1�=�MMU.*C*‚Select�the�appropriate�LOADMMU�module�to�be�included�in�the�LINK.* IFEQ \MMU,ƒ=COPY�NOMMU.LOADMMU.RO,VME115.XLOADMMU.RO;YENDC IFNE \MMU-ƒ=COPY�M68451.LOADMMU.RO,VME115.XLOADMMU.RO;YENDC*%* Assemble SYSPAR (System Parameters)*INCLUDE…CBOD.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VME115.RMS.CI*)RMS‡=�$10000‡Address�where�RMS68K�starts. SUBSˆ&.RMS.CI=COPY‡&.XRMS.CI,VME115.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVME115.VECTTBL.AG9ASM‰VME115.VECTTBL.AG,VME115.VECTTBL.RO,VME115.VECTTBL.TF*)* Now we generate the RMS68K load module.* Link it all together.**‚Now�link�it�all�together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVME115.RMS.LGLINKˆVME115.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VME115.VECTTBL.TF,VME115.RMS.LL;A$=COPY‡CBOD.SYSPAR.TF,VME115.RMS.LL;A** Clean up junk files* =DELˆ*.*.TF;Y*1* The following files are created by this RMSgen:**ˆCBOD.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�CBOD.SYSPAR.RO*ˆVME115.RMS.LOlLu *ˆVME115.RMS.LL*ˆVME115.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVME115.XVECTTBL.AG*ˆVME115.VECTTBL.RO*ˆVME115.XRMS.LG*END‰éé4 ééééé**ˆVME115�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$10000 STACK…=�$D00STARTRMS‚=�$10000+$100ROMSADDR‚=�$10000MMU‡=�$1éééééé}=/*=/*„VME115.RMS.LG=/*"=/* RMS link chain file for VME115=/*2=LINK ,VME115.RMS.LO,VME115.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVME115.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR4 .ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68010.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.KILLER.ROIN†VME115.XLOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN†M68230.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN†M68230.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.RO†]� IN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéééééééO1VECTTBL ASYST'VME115 XVECTTBLAG#%…RMS68K vector table for the VME115. 2pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 pCMRSFAIL "p‚3?™p!VCT(,5 ,,,, , ,,,, ,!,"0,K,L,MNP3QRS4éééééé—'VMES10 VECTTBL AG¬¬ªbbRMS CDÍÍSbbRMS CIÞÞbbRMS LGççgbbVECTTBL ROøøbb4VECTTBLƒIDNTƒ5,1�RMS68K�vector�table�for�the�VME/10.O*v*****************************************************************************O*******************************************************************************O**********************************************************************************É***>***…ROUTINE:‚VECTTBL�--�RMS68K�VECTOR�TABLE�FOR�THE�VME/10�******É***J***…ENVIRONMENT:‚Part�of�the�RMS68K�exec�for�the�Motorola�68000�family.***G***‡Copyright�1983�by�Motorola,�Inc.‚This�version�is�for�the�VME/10‚***"***‡microcomputer�workstation.¨******É***E***…FUNCTION:‚This�table�gets�linked�with�RMS68K.‚When�the�system…***C***‡boots,�the�exec�initializer�finds�this�table�and�uses�it�to‡***:***‡take�over�vectors�in�the�processor's�vector�table.�******É***O*******************************************************************************O*******************************************************************************O*^****************************************************************5 ************* *,*‚Revision�history�(add�new�changes�to�top).*…Date†Author‚Changes@*…--------‚------‚----------------------------------------------*…10/24/83ƒSJF„Initial�writing.*  *E*‚XREF's.‚Note�that�there�are�many�more�XREF's�created�by�invocations8*‚of�the�VECTOR�macro;�those�XREF's�are�not�listed�here.*.ŠXREFƒCOMINT�Common�interrupt�handler�routine.   **‚Included�files:*5*‰9995.&.STR.EQ�The�section�number�to�use�is�in�here.*ŠNOLISTŠINCLUDE�9995.&.STR.EQŠLISTŠPAGE*E*‚The�VECTOR�macro�defines�entries�in�the�vector�table.‚The�format�is%*‰VECTOR‚,5*‚There�are�two�special�values�for�:,*‰0�=�COMINT�(the�common�interrupt�handler).(*‰1�=�don't�take�over�the�vector�at�all.E*‚Entries�in�the�vector�table�must�be�assigned�in�order--that�is,�theB*‚vector�#'s�in�the�VECTOR�invocations�must�be�in�ascending�order.H*‚In�the�case�where�two�contiguous�VECTOR�invocations�leave�a�gap�in�the¤5­<µ/½ K*‚vector�#'s,�those�vector�#'s�in�the�gap�will�be�assigned�the�same�handler9*‚as�that�of�the�lower�vector�#�of�the�pair.‚For�example,+*‰VECTOR�$23,0ŽPoints�$23�to�$27�to�COMINT.-*‰VECTOR�$28,1ŽLeaves�$28�to�$2F�as�they�are.-*‰VECTOR�$30,ROUTINE1‡Points�$30�to�ROUTINE1.G*‚If�the�gap�to�be�filled�has�a�second�parameter�other�than�0�or�1,�theJ*‚address�assigned�to�the�vector�will�be�incremented�by�2�for�each�vector:7*‰VECTOR�$23,XŽPoints�$23�to�X,�$24�to�X+2,�$25�to�X+4.$*‰VECTOR�$26,0ŽPoints�$26�to�COMINT.'*‚The�end�of�the�list�is�signified�by�a*‰DC.Lƒ0F*‚and�the�second�parameter�of�the�last�prior�VECTOR�invocation�will�beK*‚applied�to�all�further�vectors,�up�to�$FF.‚Again,�if�the�second�parameterK*‚was�not�a�0�or�1,�the�address�assigned�to�the�vectors�will�be�incremented#*‚by�2�for�each�vector�in�sequence.* VECTOR„MACROŒIFLEƒ\1-VECT_NUM0ŽFAILƒ499ŒVector�#'s�must�be�in�ascending�order!ŽMEXITŒENDCŒIFNCƒ'\2','0'ŽIFNCƒ'\2','1'�XREFƒ\2ŽENDCŒENDCVECT_NUM„SET„\1ŒDC.Lƒ\1<<24+\2ŠENDM  * *‚First�set�up�the�table�header.*ŠSECTION�LEVEL00  0ŠDC.Lƒ'!VCT'�Dump�eyecatcher�for�'VeCtor�Table.'2ŠDC.LƒCOMINT�Put�the�address�of�COMINT�here�so�the"*§exec�initializer�can�find�it;�he#*§isn't�linked�with�the�exec,�so�he*§wouldn't�know�otherwise.ŠPAGE*)*‚Here�are�the�actual�vector�assignments.I*‚Notice�that�whether�or�not�the�illegal�instruction�vector�is�taken�overE*‚by�RMS68K�is�controlled�by�an�sysgen�parameter.‚During�RMSGEN,�this$*‚parameter�is�substituted�such�thatA*„0�=�the�exec�should�leave�the�illegal�instruction�vector�alone.?*„1�=�the�exec�should�take�over�the�illegal�instruction�vector.J*‚You�might�want�the�exec�to�leave�the�illegal�instruction�vector�alone�ifI*‚you�want�to�use�the�ROM�debugger,�since�it�uses�illegal�instructions�as*‚breakpoints.* 8VECT_NUM‚SET„1’Initialize�the�vector�number�to�1�so�that&*§the�lowest�vector�number�that�can�be*§set�afterwards�is�2. ŠVECTOR�$02,PROGINT2‡Bus�error.#ŠVECTOR�$03,PROGINT3‡Address�error.$*§If�we're�not�supposed�to�take�over/ŠIFEQƒ\ILLINSTRŠthe�illegal�instruction�vector,9ŠVECTOR�$04,1Žleave�the�illegal�instruction�vector�alone.ŠENDC–*!*§If�we�are�supposed�to�take�over/ŠIFNEƒ\ILLINSTRŠthe�illegal�instruction�vector,>ŠVECTOR�$04,PROGINT4‡take�over�the�illegal�instruction�vector.ŠENDC–*#ŠVECTOR�$05,PROGINT5‡Division�by�0.+*‚in�sequence„$06,PROGINT6ŠCHK�instruction.-*‚in�sequence„$07,PROGINT7ŠTRAPV�instruction./*‚in�sequence„$08,PROGINT8ŠPrivilege�violation.'ŠVECTOR�$09,PROGINT9‡Instruction�trace.8ŠVECTOR�$0A,PROGINTA‡Reserved�instruction�opcodes�$AXXX.>*‚in�sequence„$0B,PROGINTBŠReserved�instruction�opcodes�$FXXX.'ŠVECTOR�$0C,0Ž($0C�-�$0D�go�to�COMINT.)ŠVECTOR�$0E,KILLER‰For6 mat�error+ŠVECTOR�$0F,KILLER‰Uninitialized�Interrupt.'ŠVECTOR�$10,0Ž($10�-�$17�go�to�COMINT.)'ŠVECTOR�$18,SPURINTˆSpurious�interrupt.'ŠVECTOR�$19,0Ž($19�-�$1F�go�to�COMINT.)ŠVECTOR�$20,TRAP0ŠTRAP�#0.ŠVECTOR�$21,TRAP1ŠTRAP�#1.#ŠVECTOR�$22,TRPVCT2ˆTRAP�#2�to�#15.'ŠVECTOR�$30,0Ž($30�-�$3F�go�to�COMINT.):ŠVECTOR�$40,KILLER‰Bus�Clear�interrupt�from�VMEbus�I/F.‚We%*§shouldn't�be�getting�this,�since�we&*§are�using�'release�on�request'�mode.)ŠVECTOR�$41,0ŽI/O�channel�IRQ1*�(COMINT)..ŠVECTOR�$42,0Ž'Character�available'�from�2661.)ŠVECTOR�$43,0ŽI/O�channel�IRQ2*�(COMINT).)ŠVECTOR�$44,0ŽI/O�channel�IRQ3*�(COMINT).)ŠVECTOR�$45,0ŽI/O�channel�IRQ4*�(COMINT).-ŠVECTOR�$46,POWRFAIL‡ACFAIL*�from�the�VMEbus.#ŠVECTOR�$47,0Ž($47�goes�to�COMINT.)5ŠVECTOR�$48,0ŽAcknowledgement�of�interrupt�to�VMEbus,(*§and�VMEbus�available;�we�disable�these'*§interrupts,�so�we�don't�expect�to�use'*§this�vector.‚However,�if�a�task�wants'*§to�generate�VMEbus�interrupts,�he�can)*§enable�the�'interrupt�acknowledge'�mask$*§and�claim�this�interrupt.‚(COMINT)+ŠVECTOR�$49,KILLER‰DMAIRQ*�from�the�VMEbus.,ŠVECTOR�$4A,0Ž'Transmitter�empty'�from�2661.9ŠVECTOR�$4B,KILLER‰M68451�memory�management�unit.‚Getting'*§one�of�these�means�something's�wrong.,ŠVECTOR�$4C,TIMEINTˆM146818�real�time�clock..ŠVECTOR�$4D,CMRSFAIL‡SYSFAIL*�from�the�VMEbus.8ŠVECTOR�$4E,1ŽSoftware�abort�(leave�it�pointing�to�bug).'ŠVECTOR�$4F,0Ž($4F�-�$FF�go�to�COMINT.)  !ŠDC.Lƒ0’(End�of�table�indicator.)   ŠENDééééééé%*************************************%* Sysgen command file VMES10.RMS.CD *%*************************************SYSTEM„=�"VMES10"*E*‚Indicate�whether�or�not�you�will�have�an�MMU�in�the�system.‚You�mayF*‚tell�the�system�there�is�no�MMU�even�if�one�is�physically�installed;*‚it�just�won't�ever�be�used.*MMU‡=�1Œ0�=�no�MMU;�1�=�MMU.*C*‚Select�the�appropriate�LOADMMU�module�to�be�included�in�the�LINK.* IFEQ \MMU,ƒ=COPY�NOMMU.LOADMMU.RO,VMES10.XLOADMMU.RO;YENDC IFNE \MMU-ƒ=COPY�M68451.LOADMMU.RO,VMES10.XLOADMMU.RO;YENDC*%* Assemble SYSPAR (System Parameters)*INCLUDE…CAOE.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VMES10.RMS.CI*(6 RMS‡=�$1000ˆAddress�where�RMS68K�starts. SUBS†&.RMS.CI=COPY…&.XRMS.CI,VMES10.RMS.CI;Y*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVMES10.VECTTBL.AG?ASM‰VMES10.VECTTBL.AG,VMES10.VECTTBL.RO,VMES10.VECTTBL.TF;Z=050*)* Now we generate the RMS68K load module.* Now link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVMES10.RMS.LGLINKˆVMES10.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VMES10.VECTTBL.TF,VMES10.RMS.LL;A$=COPY‡CAOE.SYSPAR.TF,VMES10.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*/* The following files are created by the RMSgen**ˆCAOE.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�CAOE.SYSPAR.RO*ˆVMES10.RMS.LO*ˆVMES10.RMS.LL*ˆVMES10.RMS.CIÅLÎ**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVMES10.XVECTTBL.AG*ˆVMES10.VECTTBL.RO*ˆVMES10.XRMS.LG*END‰ééééééé**ˆVMES10�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$1000 STACK…=�$E00STARTRMS‚=�$1000+$100ROMSADDR‚=�$1000MMU‡=�$17 ééééééÖ=/*=/*„VMES10.RMS.LG=/*"=/* RMS link chain file for VMES10=/*2=LINK ,VMES10.RMS.LO,VMES10.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVMES10.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68010.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.KILLER.ROIN†VMES10.XLOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN…M146818.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN…M146818.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN…M146818.TIMEINT.ROIN…M146818.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROß]è 7 IN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéééééééO1VECTTBL ASYST'VMES10 XVECTTBLAG#GR…RMS68K vector table for the VME/10.«2pPOWRFAIL pPROGINT2 pPROGINT3 pPROGINT4 pPROGINT5 pPROGINT9 pPROGINTA pTIMEINT pSPURINT pTRAP0 pTRAP1 pKILLER pCOMINT pTRPVCT2 pCMRSFAIL "Œz3?™9!VCT(,,,,, , ,,,, ,!,"0,@ABCD@3!8E,FGH,IJ,K,L,MNO4éééééé8 ð'NETVM02 RMS CDCbbRMS CI bbINT LGbbRMS LG  wbb&**************************************&* Sysgen command file NETVM02.RMS.CD *&***************************************B*�This�RMS�sysgen�is�for�use�with�network�services.‚It�is�designed0* to run on a VM02 board in an EXORmacs chassis.**MMU‡=�0ŒNo�MMU�is�possible�on�this�system.*%* Assemble SYSPAR (System Parameters)*INCLUDE…C13O15.SYSPAR.CI*(RMS‡=�$1700ˆAddress�where�RMS68K�starts.*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVM02.VECTTBL.AG8ASM‰VM02.VECTTBL.AG,VM02.VECTTBL.RO,VM02.VECTTBL.TF;Z=50*)* Now we generate the RMS68K load module.* Now link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆNETVM02.RMS.LGLINKˆNETVM02.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*&=COPY‡VM02.VECTTBL.TF,NETVM02.RMS.LL;A'=COPY‡C13O15.SYSPAR.TF,NETVM02.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*0* The following files are created by this RMSgen**ˆC13O15.SYSPAR.RO&*ˆ&.SYSPAR.RO‰copy�of�C13O15.SYSPAR.RO*ˆNETVM02.RMS.LO*ˆNETVM02.RMS.LL*ˆNETVM02.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVM02.XVECTTBL.AG*ˆVM02.VECTTBL.RO*ˆNETVM02.XRMS.LG*END‰éýD**ˆNETVM02.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$1700 STACK…=�$1500STARTRMS‚=�$0+$1008 éééééé =/*=/*†NETVM02.INT.LG=/*;=/*�NOTE:‚The�order�of�the�INPUT�modules�for�this�LINK�must=/*ˆbe�as�specified�below.=/*=LINK ,INIT.LO,\LINKLS;HAMIXSSEGMENT .INT:8 \INTSTRINPUT 9999.M68XXX.INIT.ROINPUT VM02.INITIO.ROINPUT M68XXX.INITDAT.ROINPUT 9999.C13O15.SYSPAR.ROEND=/*=ENDéééééé9 =/*=/*†NETVM02.RMS.LG=/*#=/* RMS link chain file for NETVM02=/*C=/*�NOTE:‚This�RMS�link�file�is�used�to�link�an�RMS68K�for�use�with?=/*ˆnetwork�services.‚The�RMS�will�run�on�a�VM02�in�an�EXORmacs:=/*ˆchassis.‚The�sysgen�mnemonics�for�the�network�services9=/*ˆsysgens�(9994..SYSGEN.CF)�are�EXOR/MULTI/LINK/HDS�and6=/*ˆEXOR/MULTI/LINK/DMS.‚This�link�file�should�include:=/*ˆexactly�the�same�modules�as�the�link�file�VM02.RMS.LG.6=/*ˆThe�only�difference�between�the�two�'.LG'�files�is5=/*ˆwhere�they�direct�their�output:‚NETVM02.RMS.LO�vs9=/*ˆVM02.RMS.LO�and�NETVM02.RMS.LL�vs�VM02.RMS.LL.‚It�may7=/*ˆbe�desireable�at�some�future�date�to�substitute�the;=/*ˆdirected�output�output�files�via�SYSGEN�subs�command�so9=/*ˆthat�we�need�only�one�'.LG'�file�instead�of�two.‚This==/*ˆwas�not�done�for�VERSAdos�4.3�because�of�time�constraints9=/*ˆand�the�desire�to�be�consistent�with�all�of�the�other=/*ˆRMS�link�files.=/*4=LINK ,NETVM02.RMS.LO,NETVM02.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTƒ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUT…VM02.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN…NOCACHE.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68000.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68000.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68000.EXCEPT.ROIN†M68000.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROE!3IN†M68XXX.GTTNAME.ROIN†M68XXX.KILLER.ROIN‡NOMMU.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68000.PVSEM.ROIN†M68XXX.RCVSA.ROIN‡M6840.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68000.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68000.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡M6840.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68000.TRAP0.ROIN†M68000.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDéé9 é'VME122 RMS CD55 [bbRMS CIFFbbRMS LGOOhbb%*************************************%* Sysgen command file VME122.RMS.CD *%*************************************SYSTEM„=�"VME122"*E*‚Indicate�whether�or�not�you�will�have�an�MMU�in�the�system.‚You�mayF*‚tell�the�system�there�is�no�MMU�even�if�one�is�physically�installed;*‚it�just�won't�ever�be�used.*MMU‡=�0Œ0�=�no�MMU;�1�=�MMU.*C*‚Select�the�appropriate�LOADMMU�module�to�be�included�in�the�LINK.* IFEQ \MMU-ƒ=COPY�NOMMUC.LOADMMU.RO,VME122.XLOADMMU.RO;YENDC IFNE \MMU-ƒ=COPY�M68451.LOADMMU.RO,VME122.XLOADMMU.RO;YENDC*%* Assemble SYSPAR (System Parameters)*INCLUDE…CBOD.SYSPAR.CI*:*�Define�RMS's�starting�address.‚Pass�starting�address�and=* stack address to VERSAdos sysgen through file VME122.RMS.CI*(RMS‡=�$1000ˆAddress�where�RMS68K�starts. SUBSˆ&.RMS.CI=COPY‡&.XRMS.CI,VME122.RMS.CI;Y*"* Create the vector table for RMS.*-SWABRT„=�$1FŠSoftware�abort�interrupt�vector."MMUINT„=�$67ŠMMU�interrupt�vector."PTMVECTƒ=�$6DŠ"Tick"�timer�vector.3POWRFAIL‚=�$6FŠSystem�fail�interrupt�vector�number.#*šIncludes�system�fail�and�AC�fail.*C*‚Now�indicate�whether�or�not�the�exec�should�take�over�the�illegalC*‚instruction�vector.‚If�you�are�going�to�be�using�the�ROM�debuggerE*‚to�set�breakpoints,�then�you'll�want�the�illegal�instruction�vectorB*‚left�as�the�debugger�has�it�set.‚In�an�environment�where�the�ROMB*‚debugger�will�not�be�used,�you�will�want�RMS68K�to�field�illegal*‚instructions�as�exceptions.*-ILLINSTR‚=�1ŒIllegal�instruction�vector�flag:"*¨0�=�RMS�should�not�take�it�over.*¨1�=�RMS�should…take�it�over.**'*‚Now�create�a�VECTTBL�for�this�system.*SUBSˆVME12X.VECTTBL.AG9ASM‰VME12X.VECTTBL.AG,VME12X.VECTTBL.RO,VME12X.VECTTBL.TF*)* Now we generate the RMS68K load module.* Link it all together.* RMS0LO„=�\RMSRMS0HI„=�\RMS+$FFRMS2LO„=�\RMS+$100*SUBSˆVME122.RMS.LGLINKˆVME122.RMS.LG*=DELˆ&.SYSPAR.RO*!* Create one concatenated listing*'=COPY‡VME12X.VECTTBL.TF,VME122.RMS.LL;A-G6$=COPY‡CBOD.SYSPAR.TF,VME122.RMS.LL;A** Cleanup junk files* =DELˆ*.*.TF;Y*1* The following files are created by this RMSgen:**ˆCBOD.SYSPAR.RO$*ˆ&.SYSPAR.RO‰copy�of�CBOD.SYSPAR.RO*ˆVME122.RMS.LO*ˆVME122.RMS.LL*ˆVME122.RMS.CI**ˆ&.XSYSPAR.AG *ˆ&.XRMS.CI*ˆVME12X.XVECTTBL.AG*ˆVME12X.VECTTBL.RO*ˆVME122.XRMS.LG*END‰: éééééé**ˆVME122�.RMS.CI*B******************************************************************0*�RMS�sysgen�include�file�for�VERSAdos�sysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒthe�VERSAdos�sysgen.* PCˆ=�$1000 STACK…=�$D00STARTRMS‚=�$1000+$100ROMSADDR‚=�$1000MMU‡=�$0éééééé>=/*=/*„VME122.RMS.LG=/*"=/* RMS link chain file for VME122=/*2=LINK ,VME122.RMS.LO,VME122.RMS.LL;H,M,I,X,-U,Z=40SEG�RMS0:0�\RMS0LO,\RMS0HISEG�RMS2:2,3,4,5,6,7,15‚\RMS2LOINPUTˆ&.SYSPAR.ROINPUTƒM68XXX.RMS.ROINPUTƒVME12X.VECTTBL.RO: IN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†VME120.AUTOVCT.ROIN†M68XXX.BKG.ROIN†VME12X.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68010.COMINT.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68010.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†VME120.EXCEPT.ROIN†M68010.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.ROIN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.KILLER.ROIN†VME122.XLOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN…M146818.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROIN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN…MK68901.TIMEINT.ROIN…M146818.TRACER.ROIN†M68010.TRAP0.ROIN†M68010.TRAP1.ROIN†M68XXX.TSKATTR.ROG]P IN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.ROEND=/*=ENDééééééé; 'C4O9 SYSPAR CIddbb**ˆC4O9.SYSPAR.CI* *ˆSYSPAR�FOR*�CRASHSAVE�OF�$400ƒC4*�OFFSET„OF�$900ƒO9*M******************************************************************************SYSPAR„=�$900‰SYSPAR�offset!CRASHSAV‚=�$400‰CRASHSAV�location*SUBSˆ&.SYSPAR.AG-ASM‰&.SYSPAR.AG,C4O9.SYSPAR.RO,C4O9.SYSPAR.TF"=COPY‡C4O9.SYSPAR.RO,&.SYSPAR.RO;Yéééééé\'C13O15 SYSPAR CIqqbb; **ˆC13O15.SYSPAR.CI* *ˆSYSPAR�FOR*�CRASHSAVE�OF�$1300‚C13*�OFFSET„OF�$1500‚O15*M******************************************************************************SYSPAR„=�$1500ˆSYSPAR�offset"CRASHSAV‚=�$1300ˆCRASHSAV�location*SUBSˆ&.SYSPAR.AG1ASM‰&.SYSPAR.AG,C13O15.SYSPAR.RO,C13O15.SYSPAR.TF$=COPY‡C13O15.SYSPAR.RO,&.SYSPAR.RO;Yééééééi'C8OC SYSPAR CI~~bb**ˆC8OC.SYSPAR.CI* *ˆSYSPAR�FOR*�CRASHSAVE�OF�$800ƒC8*�OFFSET„OF�$C00ƒOC*M******************************************************************************SYSPAR„=�$C00‰SYSPAR�offset!CRASHSAV‚=�$800‰CRASHSAV�location*SUBSˆ&.SYSPAR.AG-ASM‰&.SYSPAR.AG,C8OC.SYSPAR.RO,C8OC.SYSPAR.TF"=COPY‡C8OC.SYSPAR.RO,&.SYSPAR.RO;Y< éééééév'CAOE SYSPAR CI‹‹bb**ˆCAOE.SYSPAR.CI* *ˆSYSPAR�FOR*�CRASHSAVE�OF�$A00ƒCA*�OFFSET„OF�$E00ƒOE*M******************************************************************************SYSPAR„=�$E00‰SYSPAR�offset!CRASHSAV‚=�$A00‰CRASHSAV�location*SUBSˆ&.SYSPAR.AG-ASM‰&.SYSPAR.AG,CAOE.SYSPAR.RO,CAOE.SYSPAR.TF"=COPY‡CAOE.SYSPAR.RO,&.SYSPAR.RO;Yééé< éééƒ'CBOD SYSPAR CI˜˜bb**ˆCBOD.SYSPAR.CI* *ˆSYSPAR�FOR*�CRASHSAVE�OF�$B00„CB*�OFFSET„OF�$D00„OD*M******************************************************************************SYSPAR„=�$D00‰SYSPAR�offset!CRASHSAV‚=�$B00‰CRASHSAV�location*SUBSˆ&.SYSPAR.AG-ASM‰&.SYSPAR.AG,CBOD.SYSPAR.RO,CBOD.SYSPAR.TF"=COPY‡CBOD.SYSPAR.RO,&.SYSPAR.RO;Yéééééé= �'CBOF SYSPAR CI¥¥bb**†CBOF.SYSPAR.CI* *†SYSPAR�FOR*�CRASHSAVE�OF�$B00„CB*�OFFSET„OF�$F00„OF*M******************************************************************************SYSPAR„=�$F00ŠSYSPAR�offset!CRASHSAV‚=�$B00ŠCRASHSAV�location*SUBSˆ&.SYSPAR.AG-ASM‰&.SYSPAR.AG,CBOF.SYSPAR.RO,CBOF.SYSPAR.TF"=COPY‡CBOF.SYSPAR.RO,&.SYSPAR.RO;Yéééééé�'C20O24 SYSPAR CI²²bb= **ˆC20O24.SYSPAR.CI* *ˆSYSPAR�FOR*�CRASHSAVE�OF�$2000ƒC20*�OFFSET„OF�$2400ƒO24*M******************************************************************************"CRASHSAV‚=�$2000‰CRASHSAV�locationSYSPAR„=�$2400‰SYSPAR�offset*SUBSˆ&.SYSPAR.AG1ASM‰&.SYSPAR.AG,C20O24.SYSPAR.RO,C20O24.SYSPAR.TF$=COPY‡C20O24.SYSPAR.RO,&.SYSPAR.RO;Yééééééª' EMLINK CD¿¿¡bbLINKALL CDØØbbLINKMAINCDáábbLINKONLYCDêêbbNETEXG CDóó SbbNOLINK CDbbNOLNK CD  KbbPRIMARY CDbbSPAR1300CD'' bbSPAR400 CD00 bbSPAR800 CD99 bbSYSGEN CFBB)>bbINET LOkLbbLOADV2 LO¸ bbNETV2B SYÀbb‚*******************‚*FILE�=�EMLINK.CD�*‚*******************.‚V2OFF…=�0ŒVM02�Memory�offset�(on�bus)�-�dummy/‚V2SYSP„=�0ŒVM02�SYSPAR.AG�area�address�-�dummy‚SUBSˆGEN.ILOADP.AG,‚ASM‰GEN.ILOADP.AG,GEN.ILOADP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.S> YSASM.LS;A‚MSG‰@‚MSG‰***********************************************************‚MSG‰*¹*&‚MSG‰*†SDLC‚Configuration�Parameters•*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰‚*;‚*‹The�parameter�MAXSEC�should�be�equal�to�twice�the�number'‚*‹of�HDS400s�that�you�want�configured.‚*+‚MAXSEC„=�8ŒMaximum�#�of�secondary�stations#‚DLBR†=�57600ˆData�Link's�Baud�Rate)‚FSSTN…=�1ŒFirst�Secondary�Station�Number&‚SSINC…=�1ŒSecondary�Station�INCrement!‚TXRTRY„=�20‹Transmit�Retry�Count ‚RCRTRY„=�12‹Receive�Retry�Count,‚MXOBF…=�7ŒMaximum�Number�of�Outbound�Frames,‚RCTOV…=�8ŒReceive�Timeout�Value�(1=50�Msec)$‚RTRDLY„=�15‹Retry�Delay�(1=50�Msec)%‚TXDLY…=�0ŒTransmit�Delay�(1=50�Msec)/‚PFDLY…=�200ŠPoll�Powered�Off�Delay�(1=50�Msec),‚PNDLY…=�1ŒPoll�Powered�On�Delay�(1=50�Msec)‚TXPDS…=�16‹#�of�Transmit�Pads‚SUBSˆGEN.IDLCP.AG*‚ASM‰GEN.IDLCP.AG,GEN.IDLCP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰@‚MSG‰***********************************************************‚MSG‰*¹*.‚MSG‰*†Buffer�Queue�Configuration�ParametersŽ*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰‚NUMBUF„=�50‹#�Buffers�in�queue4‚SZDBUF„=�256ŠSize�of�data�block�contained�in�buffer-‚FQULWM„=�25‹Free�Queue�User's�Low�Water�Mark‚SUBSˆGEN.IBUFQ.AG*‚ASM‰GEN.IBUFQ.AG,GEN.IBUFQ.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰@‚MSG‰***********************************************************4‚MSG‰*�SYSTEM�GENERATION�(SYSGEN)�COMMAND�FILE�FOR�*'‚MSG‰*„VM02�BOARD�IN�EXORMACS�CHASSIS—*@‚MSG‰***********************************************************‚MSG‰@‚MSG‰***********************************************************!‚MSG‰*ŠRMS68K�SYSGEN�PARAMETERS—*·8À@È*@‚MSG‰***********************************************************‚MSG‰‚GST‡=�0ŒNO.�OF�PAGES�IN�GST‚UST‡=�0ŒNO.�OF�PAGES�IN�UST‚UDR‡=�1ŒNO.�OF�PAGES�IN�UDR'‚TRACE…=�10‹NO.�OF�PAGES�IN�TRACE�TABLE(‚IOV‡=�0ŒNO.�OF�PAGES�IN�IO�VECTOR�TABLE*‚PAT‡=�2ŒSIZE�OF�PERIODIC�ACTIVATION�TABLE‚TRCFLAGƒ=�$0000ˆTRACE�FLAGS‚BUGTRACƒ=�$F00F3A‚MMU‡=�0ŒMMU�ADDRESS‚TIMER…=�$F70000†TIMER�ADDR.‚CLOCKFRQ‚=�800ŠCLOCK�FREQUENCY ‚TIMSLICƒ=�2 ‚TIMINTVƒ=�10‚PANEL…=�0ŒFRONT�PANEL�ADDR.0‚MEMEND1ƒ=�$20000‡MAXIMUM�END�OF�ON-BOARD�MEMORY ‚MEMEND2ƒ=�0 ‚MEMEND3ƒ=�0‚WHERLOAD‚=�$0 ‚PCˆ=�\RMS0LO‚PROCESS…NETVM02.RMS.LO+‚=COPY‡9999.NETVM02.RMS.LO,NETVM02.RMS.LO;Y&‚=COPY‡9999.NETVM02.RMS.LL,SYSASM.LS;A‚END‰RMS ‚MEMBEG„=�*‚MSG‰@‚MSG‰***********************************************************‚MSG‰*¹*2‚MSG‰*†Link�Initialization�Task�---�VM02.INET.LOŠ*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰?‚V2G1IR1ƒ=�$1FFE2‡*�Group�2,�IRQ�1�Vector�Number�Address�(Word)?‚V2G1IR2ƒ=�$1FFE4‡*�Group�2,�IRQ�2�Vector�Number�Address�(Word)?‚V2G1IR3ƒ=�$1FFE6‡*�Group�2,�IRQ�3�Vector�Number�Address�(Word)?‚V2G1IR4ƒ=�$1FFE8‡*�Group�2,�IRQ�4�Vector�Number�Address�(Word)?‚V2G1IR5ƒ=�$1FFEA‡*�Group�2,�IRQ�5�Vector�Number�Address�(Word)?‚V2G1IR6ƒ=�$1FFEC‡*�Group�2,�IRQ�6�Vector�Number�Address�(Word)‚SUBSˆVM02.VEC7201.AG0‚ASM‰VM02.VEC7201.AG,VM02.VEC7201.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚TASKˆVM02.INET.LO,INET ‚SESSIONƒ=�10‚V2BSTR„=�*ŒINETV2�Load�Address‚SUBSˆGEN.INETV2.LG‚STATE…=�'READ'‚PRIORITY‚=�$C8‚LINKˆGEN.INETV2.LG ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A ‚END‰INETV2‚MSG‰@‚MSG‰***********************************************************‚MSG‰*¹*$‚MSG‰*ŒSTART�OF�SYSTEM�INITIALIZER’*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰ ‚PROCESS…INIT ‚INTSTR„=�*1‚KILVECTƒ=�142ŠKiller�routine�-�unassigned�vector‚SERPTS„=�140ŠSerial�ports-BIOS‚PTMVECTƒ=�28‹PTM-timer‚BCLRV…=�142ŠBCLRV�IRQ�routine> %‚FAIL†=�141ŠSYSFAIL-POWERFAIL�routine3‚DPRVAO„=�0ŒDual�ported�RAM�VERSAdos�address�offset‚SWABRT„=�31‹Software�abort2‚IOCVEC4ƒ=�146ŠIRQ�5-I/O�channel�interrupt�level�42‚IOCVEC3ƒ=�145ŠIRQ�4-I/O�channel�interrupt�level�32‚IOCVEC2ƒ=�144ŠIRQ�3-I/O�channel�interrupt�level�22‚IOCVEC1ƒ=�143ŠIRQ�2-I/O�channel�interrupt�level�18‚HOGMODEƒ=�0ŒDon't�keep�VERSAbus�in�block�transfer�mode.3‚PAGESIZE‚=�256ŠSize�in�bytes�of�one�page�of�memory!‚ASN‡=�0ŒNumber�of�address�spaces>‚SYSFAILƒ=�0ŒO/S�not�interrupted�when�SYSFAIL�asserted�on�bus. ‚CACHEF„=�0 ‚ROMSADDR‚=�0 ‚ROMEADDR‚=�0)‚LINKLS„=�"&.SYSGEN.TF"�Link�listing�file ‚SUBSˆ9998.VM02.INITIO1.AG2‚ASM‰VM02.INITIO1.AG,&.INITIO1.RO,SYSGEN.TF;RMZ=70‚=COPY‡SYSGEN.TF,SYSASM.LS;A ‚SUBSˆ&.INITIO1.LG‚LINKˆ&.INITIO1.LG ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A ‚SUBSˆ9998.&.INITDAT.AG,‚ASM‰&.INITDAT.AG,&.INITDAT.RO,&.SYSGEN.TF;R ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A ‚SUBSˆNETVM02.INT.LG‚LINKˆNETVM02.INT.LG ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A ‚END‰INTV2 ‚MSG‰@‚MSG‰***********************************************************‚MSG‰*ŠE�N�DƒO�F‚S�Y�S�G�E�N—*@‚MSG‰***********************************************************‚MSG‰*¹*3‚MSG‰*„WE�NOW�HAVE�A�SYSTEM�FILE�CALLEDƒNETV2B.SY‰*‚MSG‰*¹*@‚MSG‰***********************************************************éé‚*********************‚*FILE�=�LINKALL.CD‚*‚*********************‚SYSTYPE‚=�"LINKALL"‚*ééééééé? Ђ*********************‚*FILE�=�LINKMAIN.CD�*‚*********************‚SYSTYPE‚=�"LINKMAIN"‚*éééééééÙ‚*********************‚*FILE�=�LINKONLY.CD�*‚*********************‚SYSTYPE‚=�"LINKONLY"‚*ééééé? ééâ‚******************‚*�FILE�NETEXG.CD�*‚******************,‚V2OFF…=�$FC0000†VM02�Memory�offset�(on�bus)+‚V2SYSP„=�$1500ˆVM02�SYSPAR.AG�area�address‚SUBSˆGEN.ILOADP.AG,‚ASM‰GEN.ILOADP.AG,GEN.ILOADP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚*‚*‚MSG@‚MSG‰***********************************************************‚MSG‰*¹*:‚MSG‰*†Link�LOADV2�Task�---�LOADV2.LO‚(Boots�VM02�board)�*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‚LINKˆGEN.LOADV2.LG ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰‚MSG‰@‚MSG‰***********************************************************‚MSG‰*¹*&‚MSG‰*†SDLC‚Configuration�Parameters•*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰‚*;‚*‹The�parameter�MAXSEC�should�be�equal�to�twice�the�number'‚*‹of�HDS400s�that�you�want�configured.‚*+‚MAXSEC„=�8ŒMaximum�#�of�secondary�stations#‚DLBR†=�57600ˆData�Link's�Baud�Rate)‚FSSTN…=�1ŒFirst�Secondary�Station�Number&‚SSINC…=�1ŒSecondary�Station�INCrement!‚TXRTRY„=�20‹Transmit�Retry�Count‚RCRTRY„=�4ŒReceive�Retry�Count,‚MXOBF…=�7ŒMaximum�Number�of�Outbound�Frames,‚RCTOV…=�8ŒReceive�Timeout�Value�(1=50�Msec)$‚RTRDLY„=�15‹Retry�Delay�(1=50�Msec)%‚TXDLY…=�0ŒTransmit�Delay�(1=50�Msec)/‚PFDLY…=�200ŠPoll�Powered�Off�Delay�(1=50�Msec),‚PNDLY…=�1ŒPoll�Powered�On�Delay�(1=50�Msec)‚TXPDS…=�2Œ#�of�Transmit�Pads‚SUBSˆGEN.IDLCP.AG*‚ASM‰GEN.IDLCP.AG,GEN.IDLCP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰@‚MSG‰***********************************************************‚MSG‰*¹*2‚MSG‰*†Network�Services�Configuration�ParametersŠ*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰&‚MAXLNAUƒ=�10‹Maximum�#�of�local�NAU's=‚MAXNAMEƒ=�30‹Maximum�#�of�Network�Names�(if�primary�-�max�in ‚*˜network).‚MAXCONNƒ=�20‹Maximum�#�of�Logical�Connections‚SUBSˆGEN.INETP.AG*‚ASM‰GEN.INETP.AG,GEN.INETP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰ë>ô@‚MSG‰***********************************************************‚MSG‰*¹*.‚MSG‰*†Buffer�Queue�Configuration�ParametersŽ*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‰‚NUMBUF„=�50‹#�Buffers�in�queue4‚SZDBUF„=�256ŠSize�of�data�block�contained�in�buffer,‚FQULWM„=�7ŒFree�Queue�User's�Low�Water�Mark‚SUBSˆGEN.IBUFQ.AG*‚ASM‰GEN.IBUFQ.AG,GEN.IBUFQ.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG@‚MSG‰***********************************************************‚MSG‰*¹*-‚MSG‰*†Link�Initialization�Task�---�INET.LO�*‚MSG‰*¹*@‚MSG‰***********************************************************‚MSG‚LINKˆGEN.INET.LG ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚END‰é@ éééé‚*********************‚*FILE�=�NOLINK.CDƒ*‚*********************‚SYSTYPE‚=�"NOLINK"‚*éééééééü‚******************‚*FILE�=�NOLINK.CD*‚******************,‚V2OFF…=�$FC0000†VM02�Memory�offset�(on�bus)+‚V2SYSP„=�$1500ˆVM02�SYSPAR.AG�area�address‚SUBSˆGEN.ILOADP.AG,‚ASM‰GEN.ILOADP.AG,GEN.ILOADP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;AB‚MSG‰*************************************************************‚MSG‰*»*&‚MSG‰*†SDLC‚Configuration�Parameters—*‚MSG‰*»*B‚MSG‰*************************************************************‚MSG‰+‚MAXSEC„=�3ŒMaximum�#�of�secondary�stations#‚DLBR†=�57600ˆData�Link's�Baud�Rate)‚FSSTN…=�1ŒFirst�Secondary�Station�Number&‚SSINC…=�1ŒSecondary�Station�INCrement ‚TXRTRY„=�8ŒTransmit�Retry�Count‚RCRTRY„=�4ŒReceive�Retry�Count,‚MXOBF…=�7ŒMaximum�Number�of�Outbound�Frames,‚RCTOV…=�4ŒReceive�T@ imeout�Value�(1=50�Msec)$‚RTRDLY„=�15‹Retry�Delay�(1=50�Msec)%‚TXDLY…=�0ŒTransmit�Delay�(1=50�Msec)/‚PFDLY…=�200ŠPoll�Powered�Off�Delay�(1=50�Msec),‚PNDLY…=�1ŒPoll�Powered�On�Delay�(1=50�Msec)‚TXPDS…=�2Œ#�of�Transmit�Pads‚SUBSˆGEN.IDLCP.AG*‚ASM‰GEN.IDLCP.AG,GEN.IDLCP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰B‚MSG‰*************************************************************‚MSG‰*»*2‚MSG‰*†Network�Services�Configuration�ParametersŒ*‚MSG‰*»*B‚MSG‰*************************************************************‚MSG‰&‚MAXLNAUƒ=�20‹Maximum�#�of�local�NAU's=‚MAXNAMEƒ=�30‹Maximum�#�of�Network�Names�(if�primary�-�max�in ‚*˜network).‚MAXCONNƒ=�20‹Maximum�#�of�Logical�Connections‚SUBSˆGEN.INETP.AG*‚ASM‰GEN.INETP.AG,GEN.INETP.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰B‚MSG‰*************************************************************‚MSG‰*»*.‚MSG‰*†Buffer�Queue�Configuration�Parameters�*‚MSG‰*»*B‚MSG‰*************************************************************‚MSG‰‚NUMBUF„=�50‹#�Buffers�in�queue4‚SZDBUF„=�256ŠSize�of�data�block�contained�in�buffer,‚FQULWM„=�7ŒFree�Queue�User's�Low�Water�Mark‚SUBSˆGEN.IBUFQ.AG*‚ASM‰GEN.IBUFQ.AG,GEN.IBUFQ.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚MSG‰:B‚MSG‰*************************************************************‚MSG‰*»*-‚MSG‰*†Link�Initialization�Task�---�INET.LO‘*‚MSG‰*»*B‚MSG‰*************************************************************‚MSG‰?‚V2G1IR1ƒ=�$1FFE2‡*�Group�2,�IRQ�1�Vector�Number�Address�(Word)?‚V2G1IR2ƒ=�$1FFE4‡*�Group�2,�IRQ�2�Vector�Number�Address�(Word)?‚V2G1IR3ƒ=�$1FFE6‡*�Group�2,�IRQ�3�Vector�Number�Address�(Word)?‚V2G1IR4ƒ=�$1FFE8‡*�Group�2,�IRQ�4�Vector�Number�Address�(Word)?‚V2G1IR5ƒ=�$1FFEA‡*�Group�2,�IRQ�5�Vector�Number�Address�(Word)?‚V2G1IR6ƒ=�$1FFEC‡*�Group�2,�IRQ�6�Vector�Number�Address�(Word)‚SUBSˆVM02.VEC7201.AG0‚ASM‰VM02.VEC7201.AG,VM02.VEC7201.RO,&.SYSGEN.TF ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚LINKˆGEN.INETNOL.LG ‚=COPY‡&.SYSGEN.TF,&.SYSASM.LS;A‚ENDéééé‚*********************‚*FILE�=�PRIMARY.CD‚*‚*********************‚STATION‚=�"PRIMARY"‚*éA éééééé‚********************‚*FILE�=�SPAR1300.CD*‚********************‚*�Old�file�name�was�SYSPARSE‚*ƒRuns�on�a�VM02�system�with�NETBUG�(firmware�to�handle�downloading)@‚***************************************************************8‚*�SYSPAR�parameters�-�VM02�system�acting�as�SDLC�link‰*@‚***************************************************************3‚RMS0LO„=�$1700ˆRMS�boot�header�(Seg�0�low�address)‚STACK…=�$1500L‚STARTRMS‚=�\RMS0LO+$100‚Beginning�of�RMS�code�-�(One�sector�above�boot�hdr)‚=DELˆ&.SYSPAR.RO(‚=COPY‡9999.C13O15.SYSPAR.RO,&.SYSPAR.RO éééééA ‚*******************‚*FILE�=�SPAR400.CD*‚*******************‚*�Old�file�name�was�SYSPAR#‚*ƒRuns�on�a�normal�EXORmacs�system@‚***************************************************************(‚*�SYSPAR�parameters�-�EXORmacs�system™*@‚***************************************************************‚=DELˆ&.SYSPAR.RO&‚=COPY‡9999.C4O9.SYSPAR.RO,&.SYSPAR.RO éééééé( ‚*******************‚*FILE�=�SPAR800.CD*‚*******************‚*�Old�file�name�was�SYSPARV4‚*ƒRuns�on�a�VM02�system�without�the�NETBUG�firmware@‚***************************************************************>‚*�SYSPAR�parameters�-�VM02�system�acting�as�phoney�EXORmacsƒ*@‚***************************************************************‚=DELˆ&.SYSPAR.RO&‚=COPY‡9999.C8OC.SYSPAR.RO,&.SYSPAR.RO éééééB é1  =OPT K,-N=/*********************=/*�SYSGEN.CF‰*ƒMnemonic�=�\1=/*********************=USE :.&=OPT N=OPT O$=/* Options used in this chain file:?=/*‡J�-�Inhibit�SBARG�echoing�of�commands�read�from�chain�file.3=/*‡K�-�Inhibit�translation�of�lower�to�upper�case.,=/*‡N�-�Inhibit�echo�of�chain�file�commands.A=/*‡O�-�Overrides�chain�file�abort�when�utility�error�terminates.=/*=/*==/*�Insure�two�arguments.‚Second�argument�defaults�to�'#NULL'=/*=/RX=\0 =/IF RX = 0 ƒ=ARG�NOARGƒ=/RX=\0=/ENDIF =/IF RX = 1ƒ=ARG�\1,#NULLƒ=/RX=\0=/ENDIF =/IF RX > 2ƒ=ARG‚NOARG,#NULL=/ENDIF=/*$=/* See if we have a valid mnemonic.2=/*ƒIf�not�a�valid�mnemonic,�put�out�help�message.=/RX=0=/IFEQ "HDS4PRI"\1ƒ=/RX=1=/ENDIF"=/IFEQ "EXOR/SINGLE/UTIL/NOLINK"\1ƒ=/RX=1=/ENDIF"=/IFEQ "VM02/SINGLE/UTIL/NOLINK"\1ƒ=/RX=1=/ENDIF=/IFEQ "EXOR/MULTI/UTIL/HDS"\1ƒ=/RX=1=/ENDIF=/IFEQ "EXOR/MULTI/LINK/HDS"\1ƒ=/RX=1=/ENDIF=/* =/IF RX=0ƒ=OPT�-Nƒ=/*‘***�HELP�MESSAGE�***ƒ=/*7ƒ=/*�No�argument�or�an�invalid�argument�was�specified�-=ƒ=/*ƒThis�chain�file�must�be�restarted�with�a�valid�argument.3ƒ=/*ƒA�description�of�the�calling�sequence�follows.<ƒ=/*ƒType��to�continue�after�a�frame�has�been�displayed.ƒ=/*ƒ=/*�Calling�sequence:ƒ=/*ƒ=SYSGEN.CF�arg1,arg2ƒ=/*ƒ=/*†arg1†=�Mnemonicƒ=/*†arg2†=�Output�file/deviceDƒ=/*ƒArg1�is�optional.‚If�not�specified,�a�help�message�will�appear.Aƒ=/*ƒArg2�will�typically�be�'#NULL'�or�'#PR'�-�defaults�to�#NULL.ƒ=/&ƒ=/*1ƒ=/*�SYSGEN.CF�will�perform�the�sysgen�associated!ƒ=/*„with�the�specified�mnemonic.ƒ=/*2ƒ=/*�The�mnemonic�(arg1)�is�of�the�following�form:4ƒ=/*„system/processor�mode/output�type/qualificationƒ=/*'ƒ=/*�Example:‚arg1=�EXOR/MULTI/UTIL/HDSƒ=/*5ƒ=/*�This�would�gen�just�the�utilities�(LOADV2.LO�and)ƒ=/*�INET.LO�to�run�on�an�EXORmacs�system/ƒ=/*�in�the�multi-processor�mode�(VM02�board�in5ƒ=/*�the�same�chassis�to�perform�link).‚The�qualifier:NC.K3S>[Cc6ƒ=/*�of�test�would�distinguish�it�as�a�particular�test6ƒ=/*�configuration.�The�system�would�be�for�an�HDS400.ƒ=/&ƒ=/*ƒ=/*�Legal�Mnemonics:ƒ=/*†"HDS4PRI"7ƒ=/*ŠPrepare�the�SDLC�HDS-400�primary�station�software.:ƒ=/*ŠFour�user-initiated�steps�are�required.‚One,�run�this;ƒ=/*Šchain�file�with�"HDS4PRI"�option.‚It�will�generate�the<ƒ=/*Šproper�SDLC�object�file�for�the�HDS-400�primary�station3ƒ=/*Šenvironment.‚Two,�run�the�SYSGEN.CF�chain�file/ƒ=/*Šwith�option�EXOR/MULTI/LINK/HDS�which�will;ƒ=/*Šcreate�the�VM02�load�image�file�NETV2B.SY.‚Three,�copy<ƒ=/*Šthis�load�image�file�to�user�0,�NO�CATALOG�NAME,�of�the=ƒ=/*ŠHDS-400�hosting�system.‚Four,�re-IPL�the�HDS-400�hosting=ƒ=/*Šsystem�(loads�the�new�NETV2B.SY�module�into�the�VM02�andƒ=/*Šbegins�execution).ƒ=/*�Station�typeˆ=�primaryƒ=/*�MPU�typeŒ=�68000ƒ=/*�Resident�board�type�=�VM02ƒ=/&ƒ=/*†"EXOR/SINGLE/UTIL/NOLINK"<ƒ=/*ŠRuns�in�an�EXORmacs�system�with�no�SDLC�link.�Tasks�can=ƒ=/*Šcommunicate�with�each�other�via�network�services�request;ƒ=/*Šhowever.‚This�option�will�produce�the�following�files:1ƒ=/*ŒINET.LO‡-�Initialization�utility�to�bring�upƒ=/*žnetwork�services.ƒ=/&ƒ=/*†"VM02/SINGLE/UTIL/NOLINK"8ƒ=/*ŠRuns�in�an�VM02�system�with�no�SDLC�link.�Tasks�can=ƒ=/*B Šcommunicate�with�each�other�via�network�services�request;ƒ=/*Šhowever.‚This�option�will�produce�the�following�files:1ƒ=/*ŒINET.LO‡-�Initialization�utility�to�bring�upƒ=/*žnetwork�services.ƒ=/*ƒ=/&ƒ=/*†"EXOR/MULTI/UTIL/HDS"3ƒ=/*ŠRuns�on�an�EXORmacs�system�as�primary�station.;ƒ=/*ŠThe�system�is�assumed�to�have�a�VM02�board�in�the�same>ƒ=/*Šchassis�to�perform�the�SDLC�link.‚The�sysgen�would�be�for>ƒ=/*Šan�HDS400.‚This�option�would�produce�the�following�files:<ƒ=/*ŒLOADV2.LOƒ-�Loads�the�VM02�with�the�SDLC�link�software.;ƒ=/*ŒINET.LO…-�Initializes�network�services�on�the�EXORmacs ƒ=/*œboard.>ƒ=/*ŠNote�that�the�parameter�'MAXSEC'�that�appears�in�the�file9ƒ=/*ŠNETEXG.CD�should�be�set�equal�to�twice�the�number�of-ƒ=/*ŠHDS400�systems�that�you�want�configured.=ƒ=/*ŠThe�EXORmacs�sysgen�command�file�9998.EXORMACS.SYSCMD.CD=ƒ=/*Šshould�have�'NOTNT'�set�equal�to�5�in�order�to�configureƒ=/*Šfor�HDS400.ƒ=/&ƒ=/*†"EXOR/MULTI/LINK/HDS">ƒ=/*ŠRuns�on�an�EXORmacs�system�on�the�on-board�VM02.‚Contains?ƒ=/*Šthe‚SDLC�link�software.‚The�sysgen�would�be�for�an�HDS400.3ƒ=/*ŠThis�option�would�produce�the�following�files.5ƒ=/*ŒNETV2B.SY‚-�Boot�file�for�the�on-board�VM02�thatƒ=/*�handles�the�SDLC�link.>ƒ=/*ŠNote�that�the�parameter�'MAXSEC'�that�appears�in�the�file9ƒ=/*ŠEMLINK.CD�should�be�set�equal�to�twice�the�number�of-ƒ=/*ŠHDS400�systems�that�you�want�configured.=ƒ=/*ŠThe�EXORmacs�sysgen�command�file�9998.EXORMACS.SYSCMD.CD=ƒ=/*Šshould�have�'NOTNT'�set�equal�to�5�in�order�to�configureƒ=/*Šfor�HDS400.ƒ=/&ƒ=NOARGƒ=@END=/ENDIF=/*F=/* There are three possible flavors of SYSPAR depending on the systemC=/*ƒwe�are�running�on.‚An�appropriate�version�of�a�SPARxxxx.CD�fileC=/*ƒis�merged�into�the�sysgen�command�file�prior�to�the�sysgen.‚TheE=/*ƒfilename�depends�on�the�location�of�CRASHSAV�in�the�system�we�are1=/*ƒperforming�the�sysgen�for.‚The�filenames�are:=/*<=/*Œ&.SPAR400.CDƒ-�Runs�and�an�EXORmacs�board�in�an�EXORmacs=/*›chassis.‚CRASHSAV�at�$400.=/*8=/*Œ&.SPAR1300.CD‚-�Runs�on�a�VM02�board�with�the�NETbug+=/*›(download)�firmware.‚CRASHSAV�at�$1300.=/*:=/*Œ&.SPAR800.CDƒ-�Runs�on�a�VM02�board�without�the�NETbug*=/*›(download)�firmware.‚CRASHSAV�at�$800.=/*=/*=/*F=/*�There�are�two�possibilities�for�station�type.‚The�appropriate�fileC=/*ƒis�merged�in�to�the�SYSGEN�command�file�prior�to�performing�the=/*ƒsysgen.‚The�filenames�are:=/*,=/*Œ&.PRIMARY.CDƒ-�Runs�on�a�primary�system.=/*-=/*Œ&.SECOND.CD„-�Runs�on�a�secondary�system.=/*=/*I=/*�There�are�four�possible�link�options�as�explained�below.‚A�particularF=/*ƒoption�is�selected�by�merging�the�a�file�with�the�same�name�as�theF=/*ƒoption�and�extension�of�'CD'�into�the�sysgen�command�file�prior�to=/*ƒthe�sysgen.=/*:=/*ŒLINKMAIN�-‚Main�board�in�a�multi-processor�mode.‚Other#=/*šboard�in�chassis�performs�link.2=/*ŒLINKONLY�-‚Link�board�in�multi-processor�mode.<=/*ŒLINKALL‚-‚VM�board�and�VME/10�system�in�single�processor!=/*˜mode�handling�their�own�link.>=/*ŒNOLINKƒ-‚Network�services�with�no�link�to�another�station.=/*D=/* Cross reference with major '.CD' files and associated link files=/*%=/*„&.NETEXG.CD•"EXOR/MULTI/UTIL/HDS"=/*‡GEN.LOADV2.LG=/*Š&.LOADV2.LO=/*‡GEN.INET.LG =/*Š&.INET.LO=/*%=/*„&.EMLINK.CD•"EXOR/MULTI/LINK/HDS"=/*‡GEN.INETV2.LG=/*ŠVM02.INET.LO=/*‡NETVM02.INT.LG=/*ŠBoot�file�NETV2B.SY=/*B=/*„&.NOLNK.CDŠ"EXOR/SINGLE/UTIL/NOLINK"�"VM02/SINGLE/UTIL/NOLINK"=/*‡GEN.INETNOL.LG=/*Š&.INETNOL.LO=/*!=/*‚Load�module�file�explanation:=/*‡&.LOADV2.LO==/*‹Code�which�runs�on�an�EXORmacs�system�and�loads�NETV2B.SY1=/*‹into�a�VM02�which�is�in�the�EXORmacs�chassis.=/*‡xx.INET.LO;=/*‹Task�which�initialized�network�services.‚May�be�part�of>=/*‹a�boot�file�(NETV2B.SY)�which�is�downloaded�to�a�secondary!=/*‹system�or�a�stand�alone�task.=/*‡&.NETV2B.SY9=/*‹File�which�is�downloaded�to�a�remote�system.‚Includes4=/*‹RMS�and�network�initialization�task�(xx.INET.LO)=/* =/IF RX=1ƒ=C DEL�&.S.LS/&.SYSASM.LS=/ENDIF=/RX=0F=/*-------------------------------------------------------------------F=/*------------------------------------------------------------------- =OPT -K,NE=/* Preliminary sysgens to configure SDLC secondary station software.<=/*ƒInstructions�for�use�appear�in�the�subroutine�chainfile.;=/*ƒLegal�nmenonics�are:‚"HDS4PRI"‚-�HDS400�primary�system.=/*=/IFEQ "HDS4PRI"\1ƒ=SYSGEN�SDLC.SYSCMD.CD,,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIF(ƒ=COPY�SDLC.HDS4PRI.RO,SDLC.SDLCPRI.RO;YHƒ=/*�SDLC.HDS4PRI.RO�is�now�ready�for�use�as�the�HDS-400�primary�station1ƒ=/*�driver.‚SDLC.SDLCPRI.RO�is�a�duplicate�copy.=/ENDIFF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------"=/IFEQ "EXOR/SINGLE/UTIL/NOLINK"\1ƒ=OPT�-NHƒ=SYSGEN�&.SPAR400.CD/&.PRIMARY.CD/&.NOLINK.CD/&.NOLNK.CD,/&.B.SY,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIF$ƒ=/*�Created�files�are:�&.INETNOL.LO=/ENDIF=OPT NF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------"=/IFEQ "VM02/SINGLE/UTIL/NOLINK"\1ƒ=OPT�-NFƒ=SYSGEN�&.SPAR800.CD/&.PRIMARY.CD/&.NOLINK.CD/&.NOLNK.CD,/B.SY,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIF$ƒ=/*�Created�files�are:�&.INETNOL.LOƒ=OPT�N=/ENDIF=OPT NF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "EXOR/MULTI/UTIL/HDS"\1ƒ=OPT�-NKƒ=SYSGEN�&.SPAR400.CD/&.PRIMARY.CD/&.LINKMAIN.CD/&.NETEXG.CD,/&.B.SY,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIF-ƒ=/*�Created�files�are:‚&.LOADV2.LO,&.INET.LO=/ENDIF=OPT NF=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=/IFEQ "EXOR/MULTI/LINK/HDS"\1ƒ=OPT�-N@ƒ=/*�Need�to�have�M6840.M6840.EQ�for�assembly�of�VM02.INITIO1.AG,ƒ=COPY�9999.M6840.M6840.EQ,.M6840.M6840.EQ;Y$ƒ=COPY�9998.&.MTYPE.SI,.&.MTYPE.SI;Y(ƒ=COPY�9998.&.INITIO1.LG,.&.INITIO1.LG;Y,ƒ=COPY�9999.M68XXX.INIT.RO,.M68XXX.INIT.RO;Y(ƒ=COPY�SDLC.HDS4PRI.RO,SDLC.SDLCPRI.RO;YN=SYSGEN &.SPAR1300.CD/&.PRIMARY.CD/&.LINKONLY.CD/&.EMLINK.CD,/NETV2B.SY,&.S.LSƒ=/RX=1ƒ=/IF�RD<$C000†=/R?†=/*�Errors�in�SYSGEN†=@ENDƒ=/ENDIF#ƒ=/*�Created�files�are:�&.NETV2B.SY=/ENDIF=/*F=/*-------------------------------------------------------------------F=/*-------------------------------------------------------------------=OPT -N =/IF RX=1ƒ=/*,ƒ=/*�Copy�listing�file�to�output�file/deviceƒ=/IFEQ�"#NULL"\2ƒ=/ELSE‡=DEL�&.SGLIST.LS‡=LIST�&.S.LS,&.SGLIST.LS;H ‡SYSGEN:‚"\1" ‡=COPY�&.SYSASM.LS,&.SGLIST.LS;A‡=COPY�&.SGLIST.LS,\2;Y"‡=/*�Listing�has�been�routed�to�\2ƒ=/ENDIF=/ENDIFF=/*-------------------------------------------------------------------=OPT O=ENDéééC éééINET ˜?ÿÿÿÿÿÀSDLC!€SSCT!ÀINET? ÿÿÿÿ !>?Kÿÿ`þa@×Ns@ç/ |"x LJ¸ HfÿýFï|Jé kòfÿýSi n kF|B© p&i —ü€×ø HÓfÿý#S © gÿýFïB“B«B«B« "_FßNuRi fÿý© gÿýFïB/&|ÿÿÿÿ"_FßNua@×Ns@ç|/ "x LFï|Jé kòfÿý0) °i oPSi nk@B© p i ‘ü€Ñø HÐfÿý#P © gÿýFïB�B¨B¨B¨ "_FßNuRi fÿý© gÿýFïB/ |ÿÿÿÿ"_FßNua@×Ns@çB/BgB§JAoÿý`aÿNf| —.ˆRoQÉÿê| _2n |ÿÿÿÿFßNua@×Ns@ç/ ±ügÿý"x LB�Fï|Jé kòfÿý © �gÿý‘ø HÑü€#H J© pfJi fÿý‘ü€#H pRi oÿý© gÿýFï"_ |ÿÿÿÿFßNua@×Ns  @J€g aÿt`ò |ÿÿÿÿNua@×Ns@ç±ügÿýJ¸ Hgaª|FßNuB€( "x $"iD ÿg°gÓüXJfò|FßNuBhB( B( B�i|$iJ©fEé#H$ˆBiF×a¢| |ÿÿÿÿFßNua@×Ns@ç gÿý"x LB�F×|Jé kôfÿý ) g@$@Õø H‘ø H$ˆ#H © gÿýF× 8 ,g @pÀü&Að hpN@ |ÿÿÿÿFßNu‘ø H#H Ñü€#H © gÿýF×`¼a@×Ns@ç|"x LF×|Jé kôfÿý ) €J€g, @Ñø HJ�fB© Ðfÿý#P © gÿýF×B�FßNu© gÿýF× |ÿÿÿÿB/FßNu.,<¡aüäg <ÿT—` 1GFa Nu.,<¢`Ú|a NuB‡,<£`Æ/ "y LB�‘ù HJé DkúCé D €J€g"@Óù H fô"ˆ"y L© D` /×"Ÿ‘"_NuNuJ¹ @kŽz, n6pN@` Nq=|HNs(FB,B,B€g$f ˜ gm op`".Tfp`&AAúLåˆÑðN�Jg,@ þgÿÿg ÿNqì=@H,g Na ªNsù @?|Ns(pÚ’²Ì"¨xÖ*y (B€-=@éHè c^ @ e@@00=@B€ y LJ( Cg<PìNu0,@}ÿgpNuì f J®TgpNu*y (aÄg fÖ* f"*gȲ®TgÖ`Àa, -fp Nu$@Bj %l5lm Bª&nT fVê "y , )fp Nu&@�‰€€ü& @ÿnè@ j |'J'NBkB«B«B«B«"k +gê * g2aBft3i&Hç0$HaÎLß %L)Kê * g6`"ê ëì%K-KTª g*y ,+S&­+K*y (+R$­+JB€Nu0,@À°lgpNu*,,, n6pN@`Nqp Nu ¬kò+ ftJ+ fë$ka’+g*+ fìAëa^f B¬!Lë B€Nu*y ($ka:fî3i&$HaÊ&nTëë `¶aúB€Nu0,@€°lgpNu|a €ìNu0,@À°lgpNu(,:,aúf*-f”- fpNu!m y 0*¨!M*y (a\g @fØ* fpNu<<ÿÿJ+ fp Nu<* y 0J¨fp Nu$ka`fô3F&$H?að<&nTaØí;F+L$B€Nu/ *y ($ka&g*_Nu$H W3h&)�aª&nT*_­í +@@RfR`ð@ìB€Nu0,@„°lgpNu faÄgNu(,:,aÒfð|!arJ«f/ IëaBB«"(_ìNu0,@€°lgpNu +g*@|!a0gìNu|!aÚföJ«gÉJIë|!aòB«IëaæB«"ÉJ$kB«B«"F«ë B«B®TafB€ìNu0,@‘°lgpNu Ng Aì pN@``*,,, h6pN@` Nqp NupNu, fFa¶fÀ- fp - g B†-a2 NuAí2a†f–B¬!Lí6a¬B€NuKë -g*@JmHgòAí2aTfÿdB¬!L`ÊAëa>fÿNB¬!LB€Nu0,@€°lgpNuJ,g4afò/ |Ií2a´­6­ 6­ 6B­8(_ìB€Nu/ |Iëa†B«"`â0,@é°lgpNu Ng Aì pN@``*,,, h6pN@`Nqp NuJ¬oöaŽfÆ- fp - g B†-a NuAía^fœB¬!Lía B€NupAì o, ~n&QÈÿð",4,Eí g$@²ªfô´jfîpNupNuB€Nuaõg <ÿNuCèB‘¼ ÑÑ||Bi|#B)BiB(1|(-G #|.NTS #Té3lD #j3j3j j #l 3l$3l&B€NuAí< g @`øB’ Ší6* fgRmHB€Nu*y ,B€S€Àü&Gõ+gB€Nup NuKë M -g*@¾- fð¼-fêB€NupNuKë, -g *@²-fòB€NupNuKë -g M*@¸­ fðºmfêB€NupNu *g&"@*y ,Aí g°‰g @`ôBi ‘"­+I*y (2* Cí I fNu"@²i fðB© ‘"­+I`â- fV-fN y 0»Èeÿÿ Ш €J»Àbÿÿ y 0Aë (g °�g @`ò!m y 0*¨!MKøNuB€"(g A¹Èfôp`ðJ€Nu2* *y (Aí g @²h fôè `ìNu2* *y (Aí g @²h fô¨ `ìNu2* *y (Aí g @²h fôè ¨ ¨ `àNu y 0J¨gÿÿ*h»Èeÿÿ Ш €J»Àbÿÿ!U MCèJBX³Ènú*«;k +l ;lAë (g @`ö!MNu gÿÿ �!TCBfÿÿ(-f HçppN@LßNu-f - g BmBm4`Bmí F- g y 0Aèÿô (g°�g @`ò!mBm6Bm -<- f>ÑRmgú+l0í |B)Bi, g éí XˆY€XG3m\ˆ]€°­0mÑ -0­ Þ@"m,"ä‰$B` ÙQÉÿü`ÙQÊÿüÑ­,‘­0J’g/a¸$_-gÿ8`4- ga€`Bì­  Uaöˆ­+l gí- ga4`ìa\`þ6aT(_Nu- f4 fî+l,+l0X­,Y­0B€08 U@"Ò¬�ƒÀfr;A*aèÈg nþxí $H“m*- f|"li B- J-fi Bm( ) f 2)Aóÿ;A( -0Aê.‡ nB‡-(Á¾x b ÁA`þ¬í B‡>8  € A`þ�m AêB€08 B‡BjB* 2-(g0ÁT‡U€°­0mþ` -0èÿþB* `þNGíB¬ +g&@`ö'LNu&x 0B­Gëÿô +g&@`ö'MNu5G-f| BjB* m -gG ¾- f / av*_Nu JaèbfNup N@/ -6gÆ-6g¼(m8- 6g<$m8 ¾jg€`ÿÿaÐJ€oâ0< m@&-D(¶€l(�„™­DÙ¬,äŽD` ÙQÎÿü`ÙQÌÿüJ€g|fí 6+H@g,­ 6­ 6a¨ì Uaó­ 6ga `þ> Jaåð`þ4(_Nu/$m< JaýNu/ « g +f ë `ë AëaðúB¬!L(_$@"L'jg*ë `"/ « gÊ +gÄ$L"@'igë  kz,) h6pN@`Nqé|  k(Iañ€(J`° F*x , ª!j!j !j éê k(IañJpÀü&Aõ h(Jañ6(_Nu&nT + g=|HNs 9 - gÌNsHçôJjgfJjf^CêJk°B€)S€Àü&*x ,GõJ«g+f+ g0 Jaã `p)áH+ )áIKë$-g*B°mfð²mfê- fÄg )fžaí`-6f +"g+@8 @'h"B¨í6aúÞLß/NuHçôCêpÀü&*x ,Gõ*k *— gJjf¦* * Aí< g @²( fô´( fî`ÿ:B� Ší6* fgRmH`ÿj Jaâ"­ g,/ (m$ìì+l$gí  UaîòaöÊ(_`ÿT"<ÿ`"<ÿ`"<ÿ*x (Cêp1² QÈÿø3A B‘¼ ÑÑ||Bi|#B)BiBjBª5|4-G `þ2"$ & (Aú0<NAg.H瀀 |`6 DATAB˜³ÈnúNu,HOî€ OCîaêHîŠB®¢~Aî¦1|ÿÿCè"!IB¨Aè^QÏÿèaà~Aî1|ÿÿCè"!IB¨AèJQÏÿè~AîF1|ÿÿB¨Aè"QÏÿðpýNAIî„*L -g (@,gì+lB¬&lkJ,fž f|ÿÿ`Ä gH瀀 |`H&l ÿÿgp Aú(Cú4°�gAè³ÈnôH瀀 |` (Nû.NTS2.SSCr)m+L`ÿZaô |d0<NA`ÿ>€ oH瀀 |`ÂAú åˆÑðüNФ¤¤šš¤€ oH瀀 |`‚Aú åˆÑðüNÐŠŠŠØØŠ&L€ oH瀀 |`@Aú åˆÑðüNÐ"""öÿÿþÐÿÿþÐ+°+gtadfÿ "úÿ0< I0ÛQÈÿü|ÿÿal`þVaºfþæ0< J4ÛQÈÿü|ÿÿ(HB,aNajgeô`”g |ÿÿ`þ ƒgðÔ&L`Œalfþ˜0< J"K4ÙQÈÿü!k !k!k !k|ÿÿ(HB,aæageô`,g |ÿÿ`ý°a€`ý¨ÔfýÔJ,gýÌ`ÿ LCîÎ$I$üSSCT$ü P.B$ü. ER4üR $:ÖÂraÜÂraÔÂraÌÂraÄÂra¼Âra´Âra¬`DCúbEú "<Ca$:†EîÎ$Â$Â$ Kra‚Âr azAèÂrapÂrajÂr adü ¼ CîÎ" ’‰R�aÐ|ÿÿ`üÔSSCT Error- Code STS BCT R E C # R TH RH Data èaaSAfîNu o^0ÀNu0<NA~Aî¦ (ÿÿf ¼B(1|Bh!|<aaTAè^QÏÿÒNuCî„ )g"@`öB¨#HNu~Eî *ÿÿf Bj"jB€NuEêJQÏÿæpÿNupJ.™f)@¼ Bª%|( JažaäNu/Jg ÿgDü`/ |è0<NA _DüLßNu~EîF *ÿÿfBjB€NuEê"QÏÿêpÿNuAú0<NAg.H瀀 |`è DATA2B˜³ÈnúNu,HOî@ OCî2aêHî~¾Aîž~B0pQÏÿúB®æ~Aîê1|ÿÿCè"!IB¨Aè2QÏÿèa œ~Aî|ÿÿCè"!IB¨AèJQÏÿèAî(¼Aîú¼Cî!I!|~AÖCè"!I!|B¨AèJQÏÿæ~CAîÚCú ÙQÏÿü`”@ ÿÿ NETLOAD SA`@ ÿÿ SY`A IîÈ*L -gJ(@,gî+lB¬ gT gâ g  g ,`¦)m+L`´a B`°a < |,0<NA`˜|ÿÿ`à |™0<NAJ,fÿÿ&l ,lî+ a þ0+@ðÿ @€f˜|ÿÿB++ a ægB€+ Aîž°`€B€+ Aîž0gÿÿ jhCì2 ,€Ѫx0ÙU€núCê| jh",�ÒˆÓüÿ²‰d ,€Ѫh`ÿ"Aê(0¼1|`I!I“üÿ!I NBgˆB�/(JCú(EúNa FAÔ0¼NC0¼NC a¦$La @`þÐUPLOAD ABORTED (DISK I/O ERROR) - STATION $UPLOAD ABORTED (RIM RECEIVED) - STATION $R¨Aê|"HÓü³Áb0Ù`ø%Hh+gþT/ (JCúEú$a œ$_`UPLOAD FINISHED - STATION $AÒ0¼NCB€a ‚`þ+ gH gžažfýì|ÿÿB©BiBi 3k + g0 Sg@ —g$ “gJ`ýÀ|ÿÿ+ a fý®B*g`ý¦|“ %|ab`ý�|S %|aL`ýz¼¡@ a@aPfö`ýd|ÿÿ+ a¦fJJ*ggS*gfýF+ Aîž0g (JCúþŽEúþ²a €AÔ0¼NC0¼NC$L`AÒ0¼NCava¨fýk ¼¢aÆaÖg |ÿÿ`üä+ aâfüØ(JatgB,f`üÈB©BiBi 3k | %|êal|g+ a’ga^$Lað`ü€Aî|PHç0ab)JlLß J€jJCúEúCa è$LaÀ`üPSYNTAX ERROR IN NETLOAD.SA FILE - DOWNLOADE  ABORTED J¬lgä)|ÿÿÿÿp)|ÿÿÿÿtHç0$llað @gTfT Df&oB€+ Aîžðfð`Ì Lf ƒÿÿÿ)Cp`º Nfƒÿƒÿÿÿ)Ct`¢Lß `Lß `ÿ,B€+ Aîž0gL ¬ÿÿÿÿpg@ ¬ÿÿÿÿtg4ð°pJAîÚNA .Úa0a-@âCì "üULODB€+ aú.äa˜Cì2üDU.åaˆ .Þ€üê`€ÿÿ€ü<$€ÿajHB0ab8¼AÔNC ,t€ÿàˆ)@$9|8¼ÀB(NCga”B�+ Aîž°`|Aì|)HhB¬xB¬0Cì|B©Bi3k | |€|#lt#lpEìD%I%|a(CúEú!a¦`úJUPLOAD BEGUN - STATION $B€Aîž+ °ðCì|B©BiBi 3k | B€+ aøgaÄ$LaV`ùæAî/MÔ)| )| )| )| a Ö,_AÔNCga‚$La`ù¤$LaDg a\$La`ù�!|Cê||€|AêŒ#h8#h<#h3|'#h8EêD%I%|"a`ù>, .gJ4k`ÊÀ6<ÿþ` ƒ€g ƒ'cÀ` =C ` À`À4<aX6< Gî at4<aD n& f| 6< GîaR4<a" (g6<Gîa84<a (fœBBBC4kJ )gg> Pn8AéK†AB`Ø4Bÿg BnÀ BcÀ=C `HÀÀÀBÿ BcÀ`,Rˆ6<Gîa¬4<a|$< Gî &Â&Â&Â&Â6ÂBn $B|gÀ$fÀ fÀ fÀ fÀ fÀ4B|gÀg :f€J€Lß<NuJ€jÀX�`’QBgQBÀ`ÀBgÀNu4HB€€»Èg64k.f(f @À`< *fÀÁSCn΀€`$HB´CfÀ`< (*E ÿþf<*`ÂSCnúNuNq/ &HIúòB€B�"@$@JFf <@@@(_Nua¬J€j €€`šR‹·Èf€@ ;g6  g0a°"H&HazJ€j€€`j ,f€`äR‹·Èf "|€@  g> ;g€  `6$H&HaVk nö€€€`  g ,gâ`êR‹·Èf $|€@(_Nua k0fö #gð€ NuSF4NuJFfò€ÀNu  gNuaê`ôNqHçB€B�Iúæ ,gø4k6 -fÀ`æg0ƒgÁ` =fRŠa`  f@` Lß NuBƒ:< &J $gN4gˆ`&4k&gã‹/å‹ÖŸ�Ö�SEnÞ‚4jø  f"+ÿþNu:<4käfgÌ_�郆�SEnÜ`ºNq€€€@@ P€@  €@ Aú0<NAg.H瀀 |`Ø DATAfB˜³ÈnúNu,HOî€ OCîfaê=|ÿÿ´Aú R-H¸Aî´0<:NAgH瀀 |`‚pÿNA@çî·Aî´0<:NADßgrHzb@ç/:mLßgNwDßX�`.Please kill network first - then initialize Hç`CúÿÌEúÿôa bLß`úH瀀 |`ö®·Hz @ç/:õLßgNwDßX�Aú0< NAgH瀀 |`º SSCT"HAú0<NAgH瀀 |`Ž-|SSCT˜-zþŠœ=|¸¬=|ª-I®Aî˜0< NAgH瀀 |`VŸüp O/ EúÊ0ÚQÈÿü$_ O$zþ@!J0<NAßügH瀀 |`-|NWCT˜-zþœÓüJ-I®Aî˜0< NAgH瀀 |`æŸüp O/ Eúj0ÚQÈÿü$_ O$zýÔ!J0<NAßügH瀀 | `¨AúH0<NAgNH瀀 | `Ž€`SSCTSSCT SSCTNWCT SSCTSSCTa LgH瀀 | `:AHz@@ç/:;LßgNwDßX� <_B-@ rXÂúg-@$�B-A(Ð�Hzh@ç/:ùLßgNwDßX�-@,2:ØÂü�B-A0Ð�-@42:¼Âü&�B-A8Ð�-@<2:¦ÂüJ�B-A@Ð�Hz@ç/:�LßgNwDßX�-@DrÒzŽ�=ALHz>@ç/:aLßgNwDßX��Âú^�ÿB-AHÐ�=zLN=zJP=| ˆ-|.NTWŒ-@”Aî€0<NAgH瀀 | `ð*H Hz&@ç/:ñLßgNwDßX�Ñ®,Ñ®4Ñ®-|SSCTR-zû V-|NWCTZ-zû^=|ÿÿ´Aú4-H¸Aî´0<:NAgH瀀 |`ÌHzr@ç/:Ñ LßgNwDßX�pÿNAgH瀀 |`œî·=|ÿÿ´Aî´0<:NA=|ÿÿ´Aú -H¸Bn¶Aî´p:NAgH瀀 |`\pÿNAHzJ@ç/:]LßgNwDßX�=|ÿþ´ nbÑüP-H¸î·Aî´0<:NAgH瀀 |`=|ÿý´ nbÑü\-H¸®·Aî´0<:NAgH瀀 |`ÔpÿNAgH瀀 |`Àî·=|ÿÿ´Aî´0<:NA-|€ -|SSCT-zùž-|Aî NC-|SSCT¼-zù‚À=| ÄnÑ-|SSCTî-zùhúAî¼0< NA-|NWCT-zùT-|Aî NC-|NWCT¼-zù8À-|NWCTî-zù*ú-z*ÒAî¼0< NA‘È�€0<NA0<NA áÈ2(n,(¼!NNT)n0 nAìCì" Ò¬ � ‰ IC貉nô(n4(¼!NAT)n8 AìCì" Ò¬ � ‰ ICè&²‰nô(n<(¼!LCT)n@ AìCì" Ò¬ � ‰ ICèJ²‰nô*( ¡f a·(0a¹P`¬ ¢f a·2a¹b`š £f a·B�a¹d`ˆ fa·�`ÿ|a¶ê`ÿtB@09 4€y 6€y 8€y :=@HNs!MAILüMAILB�:û gJJ¹ Lf9÷�?²�`2/Aúÿ¬pNAf$ 9ü"€ÿÿÿ €RUNf�ÿAúÿžpNA _NuAÖ!I !J0¼1|1|B¨Bh B¨NBNuF LOADôÿÿÿÿÿ€SEG0 ÿÿÿÿ ÿÿ@ ÿÿ NETLOAD SA`@ ÿÿ SA`A!VM02Waiting for VM board to become ready VM board now ready - proceeding OúýŠMúýAúþ^Cúþ©Hî¸Aúþ Cúÿ›HîAî„0¼@NCgazAî¬NBganAî„0¼NC/Múý¢AúþaÎ,_€ÿ€üg <aBAúý‚NCga6AúýžNBga*Kúþ2-m€"-<à‰á‰Ò­8-A<-|ü8pAúýŠNAgaú(|Ùüü ”WAITgCúþîEúÿAúýHè NBAøˆpNA`ÚAúüìJ¨ gCúþìEúÿHè NBAúý <üЭ8!@ :ý0кý0S€!@!|NBga~=|ÿÿ@Aú”-HDAúýp:NAgadpÿNAga\îC=|ÿÿ@Aúüîp:NA(|Ùüü)zü)|9|' (¼REDYAødp" �RUNgNA`ì‘È�€0<NAHîHpAúüžNDLúü–H瀀0<NA#üü H#üü L <€ ѹ LNsHç8 .gJ4k`ÊÀ6<ÿþ` ƒ€g ƒ'cÀ` =C ` À`À4<aX6< Gî at4<aD n& f| 6< GîaR4<a" (g6<Gîa84<a (fœBBBC4kJ )gg> Pn8AéK†AB`Ø4Bÿg BnÀ BcÀ=C `HÀÀÀBÿ BcÀ`,Rˆ6<Gîa¬4<a|$< Gî &Â&Â&Â&Â6ÂBn $B|gÀ$fÀ fÀ fÀ fÀ fÀ4B|gÀg :f€J€Lß<NuJ€jÀX�`’QBgQBÀ`ÀBgÀNu4HB€€»Èg64k.f(f @À`< *fÀÁSCn΀€`$HB´CfÀ`< (*ÿþf<*`ÂSCnúNuNq€€€@@ P€@  €@NETV�NET0€ÿÿÿÿ–ÿÿ�axa:t`,N¹%dDUMY"x,|$iµüfa 8`J#R|øÿB’Bª%|ÿÿÿBª GúÿÊ%KBj%|ÿÿÿþ5|øÿ|&i “gGÓ`ô&Š|øÿNs!VCTÖ¼¾À Ò Ê %d'€'² (f!(ü"P0�%´Ž%d��‘’“%d”cä•/ @ç|JèfB�"x "ˆ!È PøFß"_NuJøfDHçÿþAø@ç| g$"@ ‘f!È |øÿ$iQéN’Aø| fÜQøQøFßLßÿNuPøN�QøJ8f¤NuNuNu@ç*j-,g|$©#JF×`tª>*g4gRjÇ fX g­,fí-`­ ,g` B­X­,AÕa f|$©#JF×`$* |a ¢F×FßNuHçAp@ç|a –$8>&68@FßHC(HD4<  g 4<8***HB g2Hçz,* m6a"`NqLß8`Lßp&*HC6‚€4*AÕaðNqLß‚R�`ÿX?5|$* *g |a þ` |$©#J"*0<@ÂÄjFÂ&jNÓ84gaLî`*_a ¶ _N`Lßÿ\�|JxfF Nsj?_f aþJ8fNs?_'fö/,x Hî?ÿL× NiHî8`ö@ç8 4gaäî HçÿþNi/ /9d oF,hHV/(@À@ÿ?"h 0P*n6` & fÿr\�,_( „!TCBga ÎJ@gÿJ @f AÖa?`ÿ: @fÿ2J�f&HC4<HBAÖa°Nq`ÿHBHA(&64< ‚HB4`àâˆ&T�(,_" �!TCBga jCð=C^AÖa>¨J®@gþÖ$< ÿÿHCHD6`¤-@L× NiHî8AÖa È.x|øÿMø|"N ) gì,@.,fð#n ®-!Î /.D/.@Qø1øHFpàÀ.-fh|øÿ*n6a  n<€™AÖa®Ü‡(F9n@ÿú)nBÿü-'fLîÿHìÿÿ¾Lî0Hìÿî -/@-@B`ÿ*n6a n, ,"0<2 gB@2g<,*.,(>,°H@0,²H@"@J²f -@g4&@4+HC6+HCAòa*J²gHç@(AÕa Â`Lß ra¶,sf`žLß,sò Rrì ,NuÇ1G*è)!|EXEC°!| ´<(,Æ1F.½Èg$F-ÿ† g†1F,|ð& fa¾Nu1F,X�`5Fa aaaaaaaaaa a aaaaNq?/_'g/ g*8]…š�Nh,œ… n6aV`Nq`"(F CN`&8UC _8ß¿Ãfú/?,ÿú/<<`B† m n _-_¸-_¼/.)g".èg a nbJf\ nCø˜ 1pfÊaü8`rJFf:AÖaý6 HzýŽ�Ÿ`ú P�` €ž`ú ~$.èffffNLî?ÿ,_` z,.ð n6az`Nq`&~ F&(.ô·„f È®ìg-Cô`"R‡È®ìgg°Rnø .ø°nøb ~aN`˜.�/,x ½üg0/ f(.)g .è8gîè,_"¯PøNs,_"/86Nua‚$< 4.&.(.8áL<Aîàa¢`®)Lîÿt®-@&Nuî ,X�`ùJ .`p|Jxf Lî?þ,_Nsjùaö J8gè`ùB®L× NiHî8`ùp`Np`Jp`Fp`Bp`>p`:p`6p`2p `.p `*p `&p `"p `p`p`p`=@=|ç�G` H@0<.H@ xQˆYˆ.H|`ÿV@çHç0x "x,JAkj fah|&)fFïT¯`Ø`J$C#RFïBª€%@ %H%BBjgêáIAøÿ5A$|aœFï`Œa`†Hç8Eé&J|$S ªf"´ªf&’(R(,Ù¸NÙ¸J¸JFï0`:&J&g2$C ªf ´ªf&’(R¸üg(*Ù¬Fï0` `&J&`Ì`$©#JLßNuLß FßNu&i"’¸Nl!ÂNÓ¸J¸JD�'A$‹#J`&(S’¬m &L(S’¬`ô%lÓªD�)A$“&ŠNu/)µßfa`a&Nu#R$©#J$i *ѸNѸJ¸JNu&’$©#J *$SѪNu#R&i +ѸNѸJ¸JNuHøÿÿ@ø!×Ni!ÉH!øL"x:3|•3|µ3| 3|°|`ÞNuNsNu|ð%ax`ö„Høÿÿ1×!ï|LøÿÿNs@ç|JÐkü0ãHâ@S@0€kFßNua:U.ra�FßAÖa`ö6î ,B® (f!NNu*@ - fø+N NuHç .&|ð&î-HîÿtNl-L< 8Kï �� €Pn@rIî™ÀäHd8Ý`(ÝQÈÿüLß0Nuaþì@ç|JÐkü0ãHâ@R@o0€FßNu/ "h!i €0€B© © ,"_FßNu/ xBB�@ç| 0àIDAÒxXäIÒ¸J’¸N’¸RFß� _NupðÀ($@&`h$&@ç|è-f6Hç@ Eø(&"* g ʰ*&còÊ!A %H $x °*&cPøLßFßNuJ¸vf|Hçÿþ!ÏvFï<.xv|9÷0 À÷0.xvLßÿÿB¸vNsRx^ xd^k$/ "x:3|3|53|.3|>"_Bx^NsHçÀÀ x:| xB(( B�28V“¸Nn"x,AéCú1º& 4ùØùØ@ @@ (@ (@ ²@ :ÈùØùØùØùØ@'^! DÀxùØùØùØ@ ‚)f2ŒÀ @ÚùØÀ!èÀèÀ !ÌÀ %¢À "ÜÀ #hùØùØ@–@(Ì@"¼à84gašÿ.)g".èg~a÷öå@kN @,bDGúþž$3g2*HE…ÿ, n6a¬`Nq`øT(FgAÔaò``øD*HNó `ø2G $x($ gôä@D@°jnêS@Àü EòJªgÚ4*‚f"²®fÈ-W8BnH?Hz @ç$jNÒ0.Hfø20g÷ž @fAÖaûš`÷¶"( Pa^` T—Nu �!TCBfô*H(m@ gê ᘀÿgÞ@ç|2,$0{Nû€0000>>>>00008Š8Ê8ª8ö8T8ZFßT¯NuFßaù€af``ê¬%FßaNu l` l 9A$Fßaà"HA fa²AÕaúÈNua``ž9A$Fßa€aÐNuaú``ÿ~9A$Fßa^a°Nu9A$Fß l aV"HA faDa„Nu9A$Fß l a*"HA faaXNug"2HA)A`6‚g "2HA)A`)l`‚gY@‚4&(*,. "JåHNûú`|NqNqNq ‚`~NqNq ‚/`hNqHÐ `lNqHÐ /`VHÐ`\NqHÐ/`FHÐ<`LNqHÐKøIøB§$I"xfFJQk$¶1@f&i OJ�g·Øg`öHSAëa÷ºa”Cé QÿÿfÎB„J—g| g4´¬o  g($,aœ‚)aØ®- K gT¯Lß88Nu g@î-|ð&Aí-H”@ç|0ãHâ@S@lü0€a÷p�FßAÖaø^a‚`í�R„R„`œ g*$@ g**º‚m´¬nº¬m` º¬o(J*K fÖNu•¬Õ¬ *,á�GôXf*, $T ,g"@Û© "Šg%INu*ŠgúBªNua÷ nw&Nu"_ g @Aèa÷H`ðNÑ g®JQk iµèlž`µél”µém˜fÿ@JQk’*iHUAíaöT gþâáŠ&J×ÂàŠ(@°ŠnþÒ ,áˆÐŒ°Šn fè`þ¾°‹gþzn gþ®�Šàˆ$`þf&”g"T#K(‹'L'l B¬ �‹àˆ'@‘¬`þHç $nLß0T—Nu$H"x ÿÿg *iµílµémÜJQkÞá‰Òв­bÎ` Cé QÿÿfÐ`ÀCøAíaõv&g C±Ál"H&fô g )áˆÐ‰µÀm¬%B f -��àˆ%@ $ƒ%If*Š`$"Š �‰àˆ�©#@ f *Ñ©#j "’$IJƒg$"C#JJª f )Ѫ%i $‘g"R#J- ð"x²f(i,g Aìaõn`îCé QÿÿfÜAíaõZLß0NuT—`îHçÀ@ç&x0|*S»ëfKëIí&ŒFß+@+H+N (o:”T¯;o+o Uïÿb+o aõ8+A2<ù’àHF@@ÀüúÒ@;ALß8NuBƒB€"x gbEé0)gP—ËJj f ·üf$&J` ±êf´’gB* g f4 f& ÕüS@fÄJƒf"0) K·üf J°i m‘ÈR€T—Nu JNu CNuB€*g B…:(0P$f `¾°P g Q… E læ*T—NuB‚BƒB�"x$( gd4)´i gRB(pJq fJƒf:& „g04)`*±üg±ñf$lµñf$lµñg"Jq k"€SDf²T—JƒfB€B‚Nu Nu qNu gJ�g` N".Nu gô"(g.(f".°®f²®gÖ x±üg°¨f²¨g* h`æJf @Hz?)gB,,Jm g.¼•f*­ Jm f0-@ fB�2- m aù&`aî|ÛüSGfÂNu>, fz,, n6aüx`Nq`ìH$F,g z,, m6aüX` ` JEgJ0Ðf`ì ., m6aúÖ``ìB€00P, f:ÐpPáˆ%@B€$°P 5pP$ª00Páˆ%@B€00Páˆÿ%@ `ë^áˆ-@ `ëT»Îg-,f `ë¤`ëŒ`ëŒ., m6aú\`îJ…gæ0, 2,A'ÿg� f  gÁÁÁ� B‡,,g�  gB† ff-)f ¸fÁ.8xΆެÞ¸xθ|à�"Ff�fAørfRˆ-(fTˆHG>G‡ÿ?HG Gaõ&`(T�S€g`êº`êº2f"AÓa÷f`aì¼`ê¬&H.*á�g, "F m6aú¾`Ê`ÈJ0PfÂ!¬ P 0, @Oÿ gÀ1€P$1¼Pg1¼P àˆ1€PЇS€1€P �‰àˆ1€P�P&ðP$R(-K gá�-G$½Íf *n6aì^*NT�`éª., 8,(M¹Îg ,,f `éðNh)H<*l6AÕaø¬``éÎJ¬@g ,<àˆ°uPe °uPb`éºa`éX05P$@0g@$,25P$ uP a÷ì`aë¨<(SFÜuP;†PSh B†<(  g†1F JFf.05P$@ f$B€05PÐuPáˆB�25P’uPR� @aõú`aëPBuPaëˆBµP BµP$BµPBuPS-Nu*Na*n6aëb`è²»Îgéa`è¦$-2, l a÷D``èä`èØ`èì`èÔ&H$m6.+AÒa÷ `êJ…gÞB…:+á�, gº¬d`èÌ*,…ÿB$,,B, g,+ AÒaø¾` `žJ…faê’J0Pf�%«P B2P' àŽ5†PàŠÜBSF5†PD€Ð« àˆ5€G P5¼P+g5¼P5«P$òP$R*Rk -k  NuB‚,"xhJ1 oè"Bƒ,g Co`çüá‹à Hz@çåŠ B/?85gaõ¸îNs85gaõ¨Ý`çj&M*n6., AÕaö†``ç¨J®@gNh àˆ°uPe°uPcç–·Îgçx"E$L.* k6aöP`J…f`çf`çf* ,**fB†<5P* gÜuPáŽB€05P�uP$R@*á�a÷n` `J…faéB`ç2J0Pfö"( à‰ÔA1�P1‚P’u@DAÒu@1�P!µ@ P 1µ@&P&65@$*gƒ* gÃÃ1ƒP$1¼Pg1¼PBu@ÉEaéËDBµ@ Bµ@$Bµ@Bu@S-R(20PÒpPá‰-A  g$$.´«g pP "(KaôÈ`aè„&L$+ ‚`æ,,`&"-6g*,,, Aaö‚`` J…gJ0Pf`æD..)g , g @ �!TCBg` Aì aõ¤``æ N.(f ((g`åø"(6g*,,, Aaö`` J…gJ0Pf`åâHzÿ”?,--gGÿg­-g- ,gSs­-f­ ,Ss3g³ gAóaègl A g+l  g+l  g- ,fAÕaè\`äV g í,`äF gØí ,`ä6J­@fä~B‚,gfäŽB‡, g*,, m6aô�`Nq`ä`fädB†&, $‚0¶‚l&ƒÿà‹HC8pHC Caîz``ä ¼!ASQ!l!F Gè,!K!K!K 1G(áŠÔˆX‡”‡!BBƒ,481B&;01B$Bh*+H@`ãh $L(m@ gb.)g@"j B€ cPr fY fP@R@€°l(b0@ç|4,$6{ (Nû°$z,* n6aó�`Nq`ã`"F`ª`ã8`ãd0000<<<<00006‚6¨6Æ6ê6\6bFß`ã&Fßaå aÈa`Fß`âì¬%FßaÖ`â� l` l B9B$FßaàAÕaæp`âja‚a¼``¸9B$Fßa€ar`âD9B$Fß l a†aT`â&a>az``ÿv9B$Fßa`aã”Nu*N(n@ g@ç|4,$4{ Nû `áJ<fˆ�<fˆ�6666666600000000Fßaã �&\e�&\R€HÔ`ÖÂ&L- ,g×zJaÿœ(FCí0<"ÜQÈÿü+mt+m ”+\B0-è+\è-èø�-è@A--gÖj+lÿîô;lÿúø+lÿöú`ÖTAÖaÚD`Ör­ ,gÖ AÕaÚB`Ö6&L- ,gÖŠzaÿ(F--f­@`­ø+lð+lô+l ì+løBmø-è8�-èJgF--fí@`íø.-èg&z,-ð m6aæ>`Nq`Ö†(Ff+Tô­ ,0-,@ÿfAÕaÙ‚`Õ|@ç$, 6,|B„g (,nFß`ÕÔB… g *,fÆaÙCÀg*B†6, gƒg´�lJ„gÔ„`ô‚&\`6,$Ô„"x,Eé|&J$S gλêfð*fèJ†kºªfÞ&’ R±éf (ѸNѸJ¸J` *ѨF×J†f2%M„%D %lBj%EÃ5C”�|aÖBF×`‚RFCf* g0êªêB‚Hç~|aÖ FïLß~J†kÿF`@|$©#JF×J†kÿ0`*J†f| )g $@#RF×`ÿ`Fß`ÔXSFnFß`ÔVFß`Óü&Lz`aüà(FCí0<(ÙQÈÿü(íB8í@ -è€ÿÿÿ(À(í,0-è@ø8À(íð(íô(íì(íø--gÓ¨)môÿØ9møÿä)múÿà`Ó’*N"(n@ g<,'f8Nj~,'f‡<.)f&*, n6aãè`Nq><€™AÖaÏF`ÓŽ`Ó–&F`&J ‡oLÛ}Hî}LÛ|Hî| .‰0@ÿ/gÀ?@/[ÔÇNb@ç|4,$4{ Nû <d”d<|”|0606060600000000FßaÕ(Fß`Ò¬FßgÒ¢)l"lJ)j)iaô¸`Ò¶g B9B$Fß`Òlg B9B$Fß`ÒTFßgÒJ l aòÂaôn`Òl>,.(f‡J”gz, n6aâ°`Nq`Ò€J®@gÒX,‚Eø˜J2 fÒJ¼ Eø¨Äü%Ž %® 5¼ B² %” Br 5‡ 2` ò `Ѽ.(f -(fÒ,°-%cB® m%#`Ñò@$@&`цBG`><&,"x$0àH°i lF(¸±0f>Jq0 g8 10f ¾10g.‡0Jq0 j&10JGg Añ0aÔ`Ñ2Añ0aÔ°`Ñ&`Ñv`Ñz,*H"x0 g i‘É*$ n6aá�`Nq`Ñ`$F&äŠS‚$ÙQÊÿü$F(M"x0&Q—ÉÙË$ÌÛÃ$Í`ÐÒ.(f`Ñ"@ç2<€tÿaÑhNqLÜ.<&\¾„b˜‡Rƒ`ö|!Ã>&8J–¸N–¸R–„׸R¸RaFß`Ð|"8R’¸JÒ¸N�&\�"AB�tÿAúaÑ`aÒÂNu@ç|R¸>¸&\RaÀFßNs . €Kª{ûfÐfJnpg x:(fÐR xUˆ, z n6aà”`Nq`Ð8*FLîÿN•,x *n6aÒ’`Ïâî ,`ÐJ”f@",g.(f".*y»üg(²­f-(f ½Ígí-g:*m`ØAÔaßz`B® `ÏÈ*H½Íg-(g .(f`ÏÆí-fϰ0,gÀí);@*;m,.-m +n°+n´­ ,­-­ ,g2 m”@ç|JÐküCèÿâJ© g»é g"i `î#m RP�Fßm-ÿ,|ð&­ ,gí-@ç|­-g < @ ( g °�fô!m AÕaÒ°Fß`΢î)=H*fî*.(g. (gL× NiHî8aÐà.-g`$.)fÎ=H*=n,.î--n°-n´(N"x,Eé&J@ç| g$@¹êfaÐ*`&J `êFß,)gaàb ,Tg @B¨!x<!È<&,(,ì)"x)-f2¸©f¬),)g) ,g¶©àf¸©äf ><@AÑaɤ"i f¾,)gaòòNqaõŽ,)gaôÖ~Cø˜Eø¨"Âü 1pf2g/aÈ.., ,gaÐR‡ ‡oÄaëæaà²J¬gH4<HB4,&,8,HD8,°*,²<,¶HF<<.,*>,,)g<<$LAìaÕfNq(JCø )g¹Àg"@`ò#laÏ‚B¸ rAÔaÙÚ`L× NiHî8aÏ$`ÌÜ-mp =m("--gÌš`ÌöIëÿþ6<€a&NuT—Nu&LLìpHF>,6.(Ba ``Ìø`ÌfAÓaÜL``pT—NuB€8qH@0< @aÖø`pT—Nu*H4<B˜QÊÿü+S +fgJ€f `<.p .;Fp+@aÚ€fDÿ;D(+El+EB;|„FHD0àHgfJg¸.%c.%D%°c@$@&*¼!TCB|€,;|:;|0$MÕü`+J6$¼!TST|5|$5|D x -"-±üg"°¨f²¨g h`ærAÕaØ^NqpT—NuaÍî`pT—Nu+x!ÍNufg2 .".` ", , g.(g J�g` .".+@+ANu.(gË<*<,, n6aÛ^`Nq`Ë.,gË0&Fp&ÝQÈÿü`Ê®@ç, gzR` ,gz,. n6aÛ`NqFß`ÊÀJ”f6".*y»üg,²­f-(f-,g-.fB*m`ÔAÔaÚ,` B® Fß`Êx*H½Íg-(g.(fFß`Êt-,f Fß`ÊZ-m -.fX>,aþÌ+mlB<-(F€g@z,-B m6aÚf`NqFß`Ê4+FB:(0P$g00PÑpPÑpPBpPQ… E làBm., gGìLÛÿHíÿLÛHí |­,0-,@ßfF×AÕaÍfFß`É^@çJ”f8".*x»üg0²­f-(f½Íg--fí,gJ*m`ÐAÔaÙ` B® Fß`ÉR*H--fì½Íg-(g.(fFß`ÉFí,gFß`É,;m,.-m |­-gCø I"h ³üg ³Ífî!i Fß`È¢|®-fî,|øÿ`Ȱ|øÿAÖaÌ€0.^gÈvBn^`Èü-n Hî)`È^-n Lî)`ÈN Ma`ÈF@ç|¨,f è-FßNu (Xg"Hçp$@"x,GéµÓg&S`øaÊB¨XLßFß0(^g1|1@H |ABh^aËèNu*N(n@ g(,'f$@ç|.-f 4,$4{ Nû Fß`Dz`Çö`ÇþN6z6N6z60606060600000000FßaÉäî , 9B$Fß`Ç„9B$Fß)l"lJ)j)iaé^`ÇX9B$Fß l aç”aé@`Ç:..)f,fz n6a׆`Nq`Ç. F$H"*f`ÇDAøŒAøŒaɰGø"SJ“g²©gØGé`ì f¾.)f, n6B…*ç�Ea×&`Nq` B€* e c @dpËa„r Âj A fp ar"xhJ1gj´*fª *ÿg Jª fpÇaH *b *dpÌa4GêB…*g0 opÎaS…ç�2*²sPdpÏa ²sPd pÏa``\Q…lâp Àjf" * @fRˆHy]6? *(SJ“fp a¦Gì°¬fì*,Ig°,(gp a† ¬g(l`ð"SJ“gGé`ô j p(R@ @Hç€8aÏö` LßpaÿJLß"HíˆB˜S€nú*g)I&‰"¼!CCB*giHLê?Hé?))àáˆ3@B@3@@GêIép)+g(Û(ÛS`öB€*åˆ#@D&j ×Ó#K )ÿf#|bæ*géI*géH`R*fbB€*&xhJ3g:(iD &TGëÿ¶*` &lJ¬g +*²n(K`ê¹Àg #K)I`#K&iD3|N¹J#|cšLIéJ&ŒB€* xh¼ÿ iÑè*I/N�,_`‚`jp aøp aôpað gFo opÁaÜ n6B€S&@B… f )e: )c )€e* )�b".)f;°g,aÔ ` Nq`š×ËGû°ÖÓNÓÿþ Ê Øî *aºf² © ©HfV")D(A&TGëÿ¶ `&lJ¬faŤ°‹g(K`ê¹Áf$J«g&(k9|N¹J)|cšLIìJ&kD&Œ` )k`B�)(&iDHzºÐ&Ÿ&xhB3Iø &TJ”faÅD°‹gIë`ì(«AøŒaÆD IraÏÊ`@aÅp�az&Iaø"Kfpal)Hgp‚a`)IgpƒaT)Ig .(gþ€)Igp a6 )c )c )€e )�c*g< * d pÆa¢`žj :#j `Á< )AîDJ�g"P°©gAé `îF€NuX�B�AøŒaÄ `Á AøŒaÃú`Àp,m4B€-9f NpN@`F|q|ptAíp!­< g ­€pX‚€ ­8 T‚´-:cm:pLí<pažNuHç`CípB€ m"-+g|00J)fFÄ)fCéS`â0))gJ0`(©0-&ЈfS€�ˆ$J0U@løB0 UBlø@À@FÀ-Hg Hç:aÿ Lß\øLß|NuLß|ÿþNuHç m4pN@`Lßx`LßxNu84g @ça͆îFßHç€Ä*oKíÿ°"m/ N‘*_e -g*@`êLß#X�|JxfNs`· 85gaÍ>îHç€Ä 8g*@ m ( g / @çN°Fß*_ -`àLß#|JxfNs`¶Ö`þa@×Ns@ç/ |"xLJ¸HfÿýFï|JékòfÿýSin kF|B©p&i—ü€×øHÓfÿý#S©gÿýFïB“B«B«B« "_FßNuRifÿý©gÿýFïB/&|ÿÿÿÿ"_FßNua@×Ns@ç|/ "xLFï|Jékòfÿý0)°ioPSink@B©p i‘ü€ÑøHÐfÿý#P©gÿýFïB�B¨B¨B¨ "_FßNuRifÿý©gÿýFïB/ |ÿÿÿÿ"_FßNua@×Ns@çB/BgB§JAoÿý`aÿNf| —.ˆRoQÉÿê| _2n |ÿÿÿÿFßNua@×Ns@ç/ ±ügÿý"xLB�Fï|Jékòfÿý ©�gÿý‘øHÑü€#HJ©pfJifÿý‘ü€#HpRioÿý©gÿýFï"_ |ÿÿÿÿFßNua@×Ns  @J€g aÿt`ò |ÿÿÿÿNua@×Ns@ç±ügÿýJ¸HgaR|FßNuB€( "x$"iD ÿg°gÓüXJfò|FßNuBhB( B( B�i|$iJ©fEé#H$ˆBiF×a| |ÿÿÿÿFßNua@×Ns@ç gÿý"xLB�F×|Jékôfÿý ) g@$@ÕøH‘øH$ˆ#H ©gÿýF× 8,g @pÀü&Að hpN@ |ÿÿÿÿFßNu‘øH#H Ñü€#H©gÿýF×`¼a@×Ns@ç|"xLF×|Jékôfÿý )€J€g, @ÑøHJ�fB© Ðfÿý#P©gÿýF×B�FßNu©gÿýF× |ÿÿÿÿB/FßNu9÷f )Ofp$qNÒ$o/iT"iX)ÿÿgäH€LßNu**SDLC**PRIMARY 68000 VM02 09/07/83ü÷ü÷ü÷ü÷ü÷ü÷ü ÷ü÷ü~÷ü÷üà÷Aú’"|22<@$Hzÿþ$Ÿ%HQi% Bj ±ügh h hh`Bª $_±ügB©aû\ I"y$ )OfR±é0fL )PfDü÷ü÷ü÷Hçàþ,y$Lî RlL$mHaDEø&J|ÿ` Š` /û/NsHç€`B@ü÷9÷"y$$qNÒ9÷g> @f ü(÷`& @f ü÷` @fJ9÷`ü0÷ü8÷B@ü÷9÷9÷g "y$$qNÒLßNs|ORlH|ü÷ü÷ü÷üë÷9÷fTAú+HAúè*ˆHí LßHç€``ÿ|9÷ü÷ü8÷f`ÿ\LßHçàþ,y$Lî ü÷ü÷Jlgb2lAú&*ˆAúT+HHí LßHç€`ü÷`ÿSi&mü÷ü8÷`þìü8÷LßHçàþ,y$Lî RlJ+  g`+ €,"f8ñ€,#T,#,#R,$,$J“g²,g S( fï` f|P@ Aú¦*ˆAú„+HEë+  g2k`2|Hí RlN°+ g ÿgJü/ a e6Hzÿþ$Ÿ%KTl% l$ k k k kB*$_ü€÷ë ÷üÀ÷LßHç€``ý¶9÷f†$i,ê ÷* fEú`Eú¾"ŠEúN#Jü8÷`ýt$i,ê÷Eú"Šü8÷`ýV$i,ê÷Eúz"Šü8÷`ý89÷fg`Bü÷$i0RjT$i,| ü÷ü8÷LßHçàþ*y$Lí8,`¨ü÷ü8÷`üÎSi&m$i(Ú÷#J(`Eú "ŠEú#Jü(÷ü8÷`ü–9÷gÿ^Eú´#Jü÷ü8÷Eú"Š`üfLßHçàþ,y$Lî + fü8÷&S fýRlR`ºü÷Aú*ˆü8÷LßHç€``üü÷Eú"Šü8÷`ûöü8÷LßHçàþ,y$Lî RlP`”9÷ü÷ü8÷$i0RjVgÀ`ûª`ÿÿ|ORl(Aú¤+HAú@+HAú.+H &mHEë"|2mL7IlB+ Hí ;|ÿÿ\|ü÷Ô÷ü÷ü÷ü÷üý÷ü÷ü€÷ü ÷üP÷aXLßHç€``úö9÷ü÷ü8÷`úÜ9÷fgFü÷ü8÷`ú¶ü÷ü8÷LßHçàþ,y$Lî |€ Rl0`²ü÷ü8÷LßHçàþ,y$Lî |€ Rl2`n$i,y÷ ü8÷* $i0°g ÿfÿ†Eú#JEúÿD#J`ú$i,y÷ * fEú`EúJ#Jü8÷`ùèy÷\Eú#Jü8÷`ùÌy÷]Eú#Jü8÷`ù°Si&m$i(ù÷#J(`Eú#J9÷ü8÷`ù€$i,| 9÷$i0Rj4ü8÷`ù\9÷LßHçàþ,y$Lî ü÷9÷ü0÷ü`÷ü8÷/ ae6Hzÿþ$Ÿ%KTl% k k k k k @$_gg | Rl6g | Rl8 + gêJ+ g + f¸J,f°0 R@‘k kÿÿf| Rl:`¤+ fP0-\°kf -Pf | Rl<`+ éà°,"g|@ Rl>+ gH`r, ",à"+ g`Z Kað†gjN Kaò`D ‹lBkB+ RlB`RlDJ,gS,g$|ÕË"|2mL7IB+ Hí Aúý`+HAúü´+H;|ÿÿ\Rl@ü÷üý÷aÜLßHç€``÷zü8÷ü÷ü÷|ORlL&l$mHaEøB,`.`û˜ü÷ü÷|O+ fU,#,#S,$J¬g2J+g÷.S+f÷&|"K$Ka–&ICìµÑg"Q`ø"‹f÷&mH`ôæ|RlF` | Rl.ü÷ü÷ü÷üà÷Rl*a &l$mH|OFü%B, * f*` * f*` *S f** g @g g` B,|% -Pf|ÿ *— f*"Ja¶$IaÀ` B€* ï f"Ja–$I gÒ`ÿÂ@ f |%`Ø gÐ gÈgÈ g4 -Pf* + f *s f|%B,"B,#`„``d +“ f *s f|%B,"B,#`\``< +S f *s f |%`<`` +¿ g +ó f*+ °* f"Ka²)I"Ja´$Ia¾```â`äJjfÖB€B�B‚* ê,#â ,$g·üg+ f + â Ò²gSSk’`îB�* è A# gB€+ ï gBf˜J,$gø°°f(*  fF"Jaò$I fþ. -PfÈ`,"K+ gaÐ&IB,$`®` aÀ&IS,$`ˆ|ÿ g”B�+ ï f"K+ faŽ&I`Øa†&I`h"K,$·ügX+ fJgLSJ+g4S+f."K|+ g aRB,$`$+ fS,$a<&I`°B+ + f&S` &I)K g‚* g @g g|ÿJ*f6`L* ï g& *S g * g * g *— gf"J* faº$I`�a²$Ia¼`"Ka˜)Ia¬ ,f ¬f9l`9l `|% ¬f9l `9l L`ðvAúð B€0,gÀü22@2<$@ç/:WLßgNwDßX��ÂúT�ÿB-AHÐ�=zBN=z@P=| ˆ-|.NTWŒ-@”Aî€0<NAgH瀀 | `ð*H Hz&@ç/:çLßgNwDßX�Ñ®,Ñ®4Ñ®( ¡f aÞº0aáÈ`¬ ¢f aÞ¨2aãN`š £f aÞ–B�aá¬`ˆ faß"`ÿ|aÞ|`ÿtB@094€y6€y8€y:=@HNs:üÅgNu&lAú pN@` `ÔHDIO*H0<"m6Eé " ¼!UDRáŠ]‚„ü 1BB¸0$:Ìg2 BpN@`aê!È0aEè ŠáŠQ‚„üÄüÔŠ!B1úž4!ü˜aJ¸fœB¸GúÚCë <€pN@`ad4+;B,g +x !ÍEëpB�JjgR�EêQÈÿòGë(m6AIì p(ÛQÈÿü “!TCBg†aê.x2<ÀaD/:ÄNuHVMù,¯@î|MîHÖ?ÿ-_8-O<2<¢a`ø,áŽ,FÝÈB†-½ÈnúNu0<`0<�F虀2<é™"x:Cé2�A02�2€@02€Nua&a°‹fa†a†°�faÿ|Cí!ÉaÌazNuB€Aúb°Pgaÿ^B‡EЇ Eê Rÿÿfð‡#à�*(B(:亄c*„ÿBKúû‹" B*AMúO,Bœ�°º´f†` (<•B*DB†º„baþöNu hÿÿ g2a8 ÿfaX`"aúJga.`aF°ŠfCéÿö`aÂa`Æ3|ÿÿ Nu~Aè Cé ((„ÿB*(B*DB†º„baþŠNu•ÊB�B‚BƒIÕKõhHz"?$|x4YÕÀv5SƒfúS„fð$@Õüð#ÊP4¼ Ð#üTNu‹‹f ÷ ÿÿ' INET GETSTA RO P PbbIPSDLC RO Y YbbLOADV2 RO b bbbNTBLDTB RO k kbbNWTEST RO t tbbOUTTERMSRO } }bbJ :1GETSTA ASREL' INET GETSTA SA&6(…Get station ID62pSYSPOFF pV2OFF HGETSTA 0pSTATION („J3€H !MAIL*MAILB�:A ÌgJJ¹(f9÷F3 �?²�`2/Aúÿ¬pNAf$ 9*"€ÿÿÿ €RUNf�ÿAúÿžpNA _Nu4éééééé HK1ISDLC ASREL' INET IPSDLC SA&H(…Initialize SDLC primary station¯2pSSINC pMXOBF pFSSTN pMAXSEC pSZDBUF pPFDLY pPNDLY pRTRDLY pTXDLY HDLCBLDCB pRCRTRY pTXPDS pTXRTRY pRCTOV pDLBR (tX3JI *n+n$D;zA ôR;zA îL:A è2:A ä(mD€zA ÚzA ÔzA Î9zA È9zA ÂD3$� 9zA ¼ 9zA ¶ 9zA °zA ªB,|%Ð:A šÙüXSn°Nu4éééééK é Q:1LOADV2 ASREL' INET LOADV2 SA'(…Load VM02 TaskH2pSYSPOFF pMEMOFF pSYSPAR pV2OFF pV2SYSP pEDITFILE G3À B€@ ÿÿ NETLOAD SA`@F3 ÿÿ SA`A!VM02G3PWaiting for VM board to become reaF3dy VM board now ready - proceeding OúýŠMúýAúþ^Cúþ©Hî¸Aúþ I3Cúÿ›HîAî„0¼@NCgazAî¬NBganAî„0¼NC/Múý¢AúþaBü¶,_F3€ÿ€üg <aBAúý‚NCga6AúýžNBga*Kúþ2-m€"-<à‰á‰Ò­8F3€-A<-|(8pAúýŠNAgaú(|Ùü( ”WAITgCúþîEúÿAúýHè NBAøF3ˆpNA`ÚAúüìJ¨ gCúþìEúÿHè NBAúý <(Э8!@ :ý0кý0S€!@F3!|NBga~=|ÿÿ@Aú”-HDAúýp:NAgadpÿNAga\îC=|ÿÿ@AúüîF3p:NA(|Ùü()zü)|9|' (¼REDYAødp" �RUNgNA`ìF3Õ‘È�€0<NAHîHpAúüžNDLúü–H瀀0<NA#ü((#ü(( <(€(ѹ( 3@Ns24ôéééé ZB1NTBLDTB ASREL' INET NTBLDTB SA(!(…BUILD NNT, NAT and LCT62pSSINC pFSSTN pMAXSEC HNTBLDTB (F3 (n,(¼!NNT)n0 nAìCì" Ò¬ � ‰ IC貉nô(n4(¼!NATF3 )n8 AìCì" Ò¬ � ‰ ICè&²‰nô(n<(¼!LCT)n@ AìCì" F3 Ò¬ � ‰ ICèJ²‰nô*@ç/:B üXLßgNwDßX��ÂúO3€H B ü>�ÿB-AHÐ�=zB ü,N=zB! ü&P=| ˆ-|.NTWŒ-@”Aî€0<NAgH瀀 |L3 `ð*H Hz&@ç/:B ûèLßgNwDßX�Ñ®,Ñ®4Ñ®NsaB# þ8!üRUN ìNs 9(€J€gòJù(fø 9(€ @/×#ß(U3 ‚A ¹(B†B‡(>( ¡f aB" ýÜ0aB ýÖ`¬ ¢f aB" ýÊ2aB ýÄ`š £f aB" ý¸-3 ˆ B�aB ý²`ˆ faBM  ý¦`ÿ|aB" ýž`ÿt4ééé ”' M68010 INET RO © © bbSRSN RO º ºbbB1INET ASREL' INET SA3 (…Initialization and NTSþ2pOUTTERMS pNWCT pNWTESTAD pSTRTADR pSSCT pMAXCONN pSYSTYPE pMAXLNAU pNWPSEG pNTSREQ pNWTSEG pMAXSEC pSZDBUF pGETSTA pBEGSDLC pNUMBUF pFQULWM pDLCBLDCB pNTBLDTB pSBINFRBF pTRASCAN pDLNKRQD pMAXNAME 2(þF3 Aú0<NAg.H瀀 |`Ø DATAfB˜³ÈnúH3 Nu,HOî€ OCîfaê=|ÿÿ´AúA ¨-H¸Aî´0<:NAgH瀀 |`‚pÿNABçîI3 ·Aî´0<:NADßgrHzbBç/:B ÿdLßgNwDßX�`.Please kill netwI3 ork first - then initialize Hç`CúÿÌEúÿôaB ÿLß`úH瀀 |I3 `ö®·Hz Bç/:B þìLßgNwDßX�Aú0< NAgH瀀 |`ºF3 SSCT"HAú0<NAgH瀀 |`Ž-|SSCT˜-zþŠœ=|¸¬F3 =|ª-I®Aî˜0< NAgH瀀 |`VŸüp O/ EúÊ0ÚQÈÿü$_ O$zG3@ þ@!J0<NAßügH瀀 |`-|NWCT˜-zþœÓüH-I®Aî˜0< F3 NAgH瀀 |`æŸüp O/ Eúj0ÚQÈÿü$_ O$zýÔ!J0<NAßüF3 gH瀀 | `¨AúH0<NAgNH瀀 | `Ž€`SSCTSSCTI3 SSCTNWCT SSCTSSCTaB ýRgH瀀 | `:AL3 Hz@Bç/:B ý2LßgNwDßX� <_B-@ rXÂúB ýg-@$�B-AL3 (Ð�HzhBç/:B üðLßgNwDßX�-@,2:B' üØÂü�B-A0Ð�-@42:O3€ B ü¾Âü&�B-A8Ð�-@<2:B ü¤ÂüJ�B-A@Ð�HzBç/:B ü†LßL3@ gNwDßX�-@DrÒzB ül�=ALHz>Bç/:B üXLßgNwDßX��ÂúO3€H B ü>�ÿB-AHÐ�=zB ü,N=zB! ü&P=| ˆ-|.NTWŒ-@”Aî€0<NAgH瀀 |L3 `ð*H Hz&Bç/:B ûèLßgNwDßX�Ñ®,Ñ®4Ñ®NsaB# þ8!üRUN ìNs 9(€J€gòJù(fø 9(€ @/×#ß(U3 ‚A ¹(B†B‡(>( ¡f aB" ýÜ0aB ýÖ`¬ ¢f aB" ýÊ2aB ýÄ`š £f aB" ý¸-3 ˆ B�aB ý²`ˆ faB ý¦`ÿ|aB" ýž`ÿt4éN éé ²' NTS NTCREQP RO Ç ÇbbNTSREQ RO Ð ÐbbNTSSERV RO é ébbNWCREQ RO ò òbbWCTPRI ROÿÿÿÿÿÿÿÿbbI1NTCREQ ASREL' NTS NTCREQP SA7(…HANDLE NTC REQUESTS FROM SSCT÷2pNWMGSSC pNWDCLCT pNWFRLCT pTRACTOLC pTRACTOLL pNWFRNNT pNWLNKBQ pNWSETLA pNWSTATUS pNWSETDC pTRADTXQ pTRABTOU pNTSRRTN pNWFNAT JNTCREQ pNWCREQ pNWFLCT pNWTNAM pLCTBEG pNATBEG pNNTBEG pNWBLDLCT S2pNWFREPB pNWFNLCC pNWCLRLA pNWTNAMC pNWLNKPB pNWSIGNAL pNWFNLCN *nL3 @ ".Tfp`A ö&AfA ì + gp`A ÞAúNgAú\gæ nàåˆJ3 ÑðüN�J€k@ þgÿÿgA ¨ìNs €ÿÿÿÿgöD€`A ’pNu0 ÌI3 ì^Úÿÿÿäÿÿÿäÿÿÿä°ÿÿÿäÿÿÿä*y($aB! ÿTg f* fNuaI3€ B ÿ> -fp Nu$@Bj %l 5l5l Bª,gê ê ê L3 � +R$­+JB€Nu*y($", 4,aB) þÜg* f aB þÎB€NupNup Nu*y($O3‚ ", 4,aB) þ°gaB( þªB€NupýNu*y($", 4,aB) þ�fp Nu* fô&j* I3 g&k* gB€+NuJ«fp#Nu+fpNu(,:,aB, þ@f - I3‚ fpNu!m y("*¨!M y("J¨fp NuaB% þ í;l+ f(O3 AëaB* ýîg `ÿÿ <þNuB¬!Lë pÿNuaB ýÊB€Nu,aB ý¾gpýNu(,I3 :,aB, ý¬gpóNuJ«gf­f- gpàNu`ÿÿ <þNu"m$B­$lI3 f:;lí +@@RfR`ð@é kÉIaB+ ý<ÉIB€NuL3H aB ý2`ä*y($", 4,aB) ýfp Nu* gp Nu* fè&j* g&kR3 (,:,aB, üègpúNu,aB üÚfJ«faB üÎJ«f/ IëaB& ü¾B«"(_B€Nu*3A *y($", 4,aB) ü¢gaB üœB€NupýNu4éé ¿N A1NTSREQ ASREL' NTS NTSREQ SA8((…Handle NTS user callsþ2JNWMGSSC HJNWDCLCT bJNWFRLCT êpTRACTOLC pTRACTOLL JNWFRNNT �JNWLNKBQ ÞJNWSETLA `pSBPTFRML pNWSTATUS JNWSETDC ¨pTRADTXQ pSYSPOFF pTRABTOU JNTSRRTN dJNWFNAT  pNTCREQ JNWFLCT .JNWTNAM û2JNWCNSD ØpLCTBEG JNTSREQ pNATBEG pNNTBEG JPATCH žJNWLSTC ÎJNWBLDLCT ØJNWFREPB úJNWLODSC pSBGTFRBF JNWFNLCC PJNWCLRLA „JNWTNAMC  &pTRAMOVB JNWLNKPB JJNWSIGNAL fÿNB¬!LF3 B€Nu0,@€°lgpNuJ,g4afò/ |Ií2a´­6­ 6­ 6F3 B­8(_ìB€Nu/ |Iëa†B«"`â0,@é°lgpNu Ng Aì F3 pN@``*,,, h6pN@`Nqp NuJ¬oöaŽfÆ- fp - g B†I3 -a NuAía^fœB¬!LíaB ùB€NupAì o, ~n&I3€ QÈÿð",4,Eí g$@²ªfô´jfîpNupNuB€NuaB ø¶g <ÿNuCèF3 B‘¼ ÑÑ||Bi|#B)BiB(1|(-G #|F3 .NTS #Té3l#j3j3j j #l 3l$3l&F3@ B€NuAí< g @`øB’ Ší6* fgRmHB€Nu*y(B€S€Àü&GõF3 +gB€Nup NuKë M -g*@¾- fð¼-fêB€NupNuKë, -F3 g *@²-fòB€NupNuKë -g M*@¸­ fðºmfêB€NupNu *g&"@*y(F3€ Aí g°‰g @`ôBi ‘"­+I*y(2* Cí I fNu"@²i fðB© ‘F3 "­+I`â- fV-fN y(»Èeÿÿ Ш €J»Àbÿÿ y(Aë (F3 g °�g @`ò!m y(*¨!MKøNuB€"(g A¹Èfôp`ðJ€Nu2* *yF3€@ (Aí g @²h fôè `ìNu2* *y(Aí g @²h fô¨ `ìNu2*F3  *y(Aí g @²h fôè ¨ ¨ `àNu y(J¨gÿÿ*h»ÈeF3 ÿÿ Ш €J»Àbÿÿ!U MCèJBX³Ènú*«;k +l ;lAë (F3 g @`ö!MNu gÿÿ �!TCBfÿÿ(-f HçppN@LßNu-f - F3 g BmBm4`Bmí F- g y(Aèÿô (g°�g @`ò!mI3 Bm6Bm -