-+-+-+-+-+-+-+-+ START OF PART 11 -+-+-+-+-+-+-+-+ X`09BYTE`09EMAP(6000),RMAP(6000),PMAP(6000),OMAP(6000) X`09INTEGER RLMAP(3000) X`09COMMON/MAPBLK/EMAP,RMAP,PMAP,RLMAP X`09COMMON/OMAP/OMAP X`09EQUIVALENCE (MAP(1,1),OMAP(1)),(OWNER(1,1),RMAP(1)) X X100`09DO 200 I=1,WIDTH X`09DO 200 J=1,HEIGHT X200`09MAP(I,J)='.' X X`09HSECTS=3+RND(4) X`09VSECTS=3+RND(3) X X`09HSPACE=WIDTH/HSECTS X`09VSPACE=HEIGHT/VSECTS X`09DO 400 I=1,HSECTS X`09DO 400 J=1,VSECTS X`09DO 400 K=1,RND(2)+RND(3) X`09CALL MAKELAND X`09YPOS=(J-1)*VSPACE+RND(VSPACE) X`09XPOS=(I-1)*HSPACE+RND(HSPACE) X`09DO 300 L=1,39 X`09DO 300 M=1,39 X`09IF (SUBMAP(L,M).EQ.' ') GOTO 300 X`09IF (((XPOS+L-20).LE.0).OR.((XPOS+L-20).GT.100)) GOTO 300 X`09IF (((YPOS+M-20).LE.0).OR.((YPOS+M-20).GT.60)) GOTO 300 X`09MAP(XPOS+L-20,YPOS+M-20)=SUBMAP(L,M) X300`09CONTINUE X X400`09CONTINUE X X`09COUNT=0 X`09DO 500 I=1,100 X`09DO 500 J=1,60 X`09IF (MAP(I,J).EQ.'.') COUNT=COUNT+1 X500`09CONTINUE X X`09IF (COUNT.LT.4000.AND.COUNT.GT.2500) GOTO 600 XC`09TYPE 999,COUNT XC`09WRITE (1,999) COUNT XC999`09FORMAT(' FAILED SEA CHECK, COUNT=',I5) X`09GOTO 100 X XC600`09TYPE 998,COUNT XC`09WRITE (1,998) COUNT XC998`09FORMAT(' COUNT=',I5) X X600`09DO 800 I=1,100 X`09DO 800 J=1,60 X`09OWNER(I,J)=0 X800`09CONTINUE X`09LAREA=1 X`09WAREA=33 X`09DO 1000 I=2,99 X`09DO 1000 J=2,59 X`09IF (OWNER(I,J).NE.0) GOTO 1000 X`09 IF (MAP(I,J).EQ.'.') THEN X`09 IF (SET(I,J,WAREA,'.',12000).EQ.0) GOTO 100 X`09 WAREA=WAREA+1 X`09 GOTO 1000 X`09 ELSE X`09 IF (SET(I,J,LAREA,'+',1200).EQ.1) GOTO 900 XC`09 TYPE 997 XC`09 WRITE (1,997) XC997`09 FORMAT(' FAILED SINGLE LAND MASS TEST') X`09 GOTO 100 X`09 ENDIF X900`09LAREA=LAREA+1 X1000`09CONTINUE X X`09IF (LAREA.GE.10.AND.LAREA.LE.30) GOTO 1100 XC`09TYPE 996 XC`09WRITE(1,996) XC996`09FORMAT(' FAILED SEPARATION TEST') X`09GOTO 100 X XC1100`09TYPE 995,(('@'+OWNER(I,J),I=1,100),J=1,60) XC`09WRITE(1,995) (('@'+OWNER(I,J),I=1,100),J=1,60) XC995`09FORMAT(1X,100A1) X X1100`09DO 1300 I=1,128 X1300`09SIZES(I)=0 X X`09DO 1400 I=2,99 X`09DO 1400 J=2,59 X`09SIZES(OWNER(I,J))=SIZES(OWNER(I,J))+1 X1400`09CONTINUE X X`09SCOUNT=COUNT*40/50 X`09DO 1500 SEA=33,WAREA X1500`09IF (SIZES(SEA).GE.SCOUNT) GOTO 1600 XC`09TYPE 994 XC`09WRITE (1,994) XC994`09FORMAT(' FAILURE- OCEANS ARE SEPARATED') X`09GOTO 100 X X1600`09CITS=(6000-COUNT)/50+1 X`09CITS=MAX(52,CITS) X`09CITS=MIN(70,CITS) X`09SEACITS=CITS*60/100+RND(12) X`09LANDCITS=CITS-SEACITS X`09DO 2100 K=1,SEACITS X1700`09I=RND(98)+2 X`09J=RND(58)+2 X`09IF (MAP(I,J).NE.'+') GOTO 1700 X`09DO 1800 L=MAX(2,I-1),MIN(99,I+1) X`09DO 1800 M=MAX(2,J-1),MIN(59,J+1) X`09IF (OWNER(L,M).EQ.SEA) GOTO 1900 X1800`09CONTINUE X`09GOTO 1700 X1900`09DO 2000 L=MAX(2,I-3),MIN(99,I+3) X`09DO 2000 M=MAX(2,J-3),MIN(59,J+3) X`09IF (OWNER(L,M).NE.OWNER(I,J)) GOTO 2000 X`09IF (MAP(L,M).EQ.'*') GOTO 1700 X2000`09CONTINUE X`09MAP(I,J)='*' X`09CITIES(OWNER(I,J))=CITIES(OWNER(I,J))+100 X2100`09CONTINUE X X`09DO 2500 K=1,LANDCITS X2200`09I=RND(98)+2 X`09J=RND(58)+2 X`09IF (MAP(I,J).NE.'+') GOTO 2200 X`09DO 2300 L=MAX(2,I-1),MIN(99,I+1) X`09DO 2300 M=MAX(2,J-1),MIN(59,J+1) X`09IF (MAP(L,M).EQ.'.') GOTO 2200 X2300`09CONTINUE X`09DO 2400 L=MAX(2,I-2),MIN(99,I+2) X`09DO 2400 M=MAX(2,J-2),MIN(59,J+2) X`09IF (OWNER(L,M).NE.OWNER(I,J)) GOTO 2400 X`09IF (MAP(L,M).EQ.'*') GOTO 2200 X2400`09CONTINUE X`09MAP(I,J)='*' X`09CITIES(OWNER(I,J))=CITIES(OWNER(I,J))+1 X2500`09CONTINUE X XC`09TYPE 993,((MAP(I,J),I=1,100),J=1,60) XD`09WRITE(1,993) ((MAP(I,J),I=1,100),J=1,60) XD993`09FORMAT(1X,100A1) X X`09END X X`09SUBROUTINE MAKELAND X`09IMPLICIT INTEGER(A-Z) X`09BYTE SUBMAP(39,39) X`09REAL DIVER,RAD,COSANG,SINANG X`09COMMON/SMAP/SUBMAP X X`09DO 100 I=1,39 X`09DO 100 J=1,39 X`09SUBMAP(I,J)=' ' X100`09CONTINUE X X`09SUBMAP(20,20)='+' X`09VARY=2+RND(3) X`09RADIUS=RND(4)+RND(3) X`09START=90-RND(180) X`09DO 400 ROT=START,START+360,3 X`09IF (RADIUS.LE.0) GOTO 300 X`09COSANG=COS(FLOAT(ROT)/3.14159) X`09SINANG=SIN(FLOAT(ROT)/3.14159) X`09RAD=0 X`09DIVER=.5/(ABS(COSANG)+ABS(SINANG)) X200`09IF (RAD.GT.RADIUS) GOTO 300 X`09RAD=RAD+DIVER X`09SUBMAP(20+RAD*COSANG,20+RAD*SINANG)='+' X`09GOTO 200 X300`09IF (MOD(ROT,10).NE.0) GOTO 400 X`09RADIUS=RADIUS+RND(VARY)-(VARY/2) X`09IF ((VARY.AND.1).EQ.0) RADIUS=RADIUS+RND(2) X`09IF (RADIUS.GE.12) RADIUS=11 X400`09CONTINUE X X`09RETURN X`09END X X`09FUNCTION SET(XPOS,YPOS,AREA,LS,LIMIT) X`09IMPLICIT INTEGER(A-Z) X`09PARAMETER WIDTH=100,HEIGHT=60 X`09BYTE MAP(WIDTH,HEIGHT) X`09BYTE OWNER(WIDTH,HEIGHT) X`09BYTE XSTACK(12000) X`09BYTE YSTACK(12000) X`09BYTE CSTACK(12000) X`09BYTE LS X`09INTEGER XADDS(8),YADDS(8) X`09DATA XADDS/-1,0,1,-1,1,-1,0,1/ X`09DATA YADDS/-1,-1,-1,0,0,1,1,1/ X`09BYTE`09EMAP(6000),RMAP(6000),PMAP(6000),OMAP(6000) X`09INTEGER RLMAP(3000) X`09COMMON/MAPBLK/EMAP,RMAP,PMAP,RLMAP X`09COMMON/OMAP/OMAP X`09EQUIVALENCE (MAP(1,1),OMAP(1)),(OWNER(1,1),RMAP(1)) X X`09OWNER(XPOS,YPOS)=AREA X`09LEVEL=1 X`09X=XPOS X`09Y=YPOS X X100`09K=1 X200`09IF ((X+XADDS(K).LT.2).OR.(X+XADDS(K).GT.99)) GOTO 300 X`09IF ((Y+YADDS(K).LT.2).OR.(Y+YADDS(K).GT.59)) GOTO 300 X`09IF (MAP(X+XADDS(K),Y+YADDS(K)).NE.LS) GOTO 300 X`09IF (OWNER(X+XADDS(K),Y+YADDS(K)).NE.0) GOTO 300 X`09OWNER(X+XADDS(K),Y+YADDS(K))=AREA X`09XSTACK(LEVEL)=X X`09YSTACK(LEVEL)=Y X`09CSTACK(LEVEL)=K X`09LEVEL=LEVEL+1 X`09 IF (LEVEL.GT.LIMIT) THEN X`09 SET=0 X`09 RETURN X`09 ENDIF X`09X=X+XADDS(K) X `09Y=Y+YADDS(K) X`09GOTO 100 X300`09K=K+1 X`09IF (K.LE.8) GOTO 200 X`09LEVEL=LEVEL-1 X`09 IF (LEVEL.EQ.0) THEN X`09 SET=1 X`09 RETURN X`09 ENDIF X`09X=XSTACK(LEVEL) X`09Y=YSTACK(LEVEL) X`09K=CSTACK(LEVEL) X`09GOTO 300 X X`09END X`09SUBROUTINE GDECPRT(I) X`09INCLUDE 'EMPIRE.INC/NOLIST' X`09IF (GIGI.EQ.0) THEN X`09 CALL DECPRT(I) X`09 RETURN X`09ENDIF X`09if (i.eq.100) then X`09 type 992,I X`09else if (i.lt.10) then X`09 type 993,I X`09else X`09 type 994,I X`09ENDIF X992`09format('+T"',I3,'"',$) X993`09format('+T"',I1,'"',$) X994`09format('+T"',I2,'"',$) X`09END X X`09SUBROUTINE CENTER_CURSOR X`09INCLUDE 'EMPIRE.INC/NOLIST' X`09IF (GIGI.EQ.1) TYPE 999 X`09IF (GIGI.EQ.-1) TYPE 998 X999`09FORMAT('+P`5B+6,+10`5D',$) X998`09FORMAT('+P`5B+5,+10`5D',$) X`09END X X`09SUBROUTINE ERASE_PAGE X`09INCLUDE 'EMPIRE.INC/NOLIST' X`09IF (GIGI.NE.0) TYPE 999,27,27 X999`09FORMAT('+',A,'PpS(E)',A,'\',$) X`09CALL LIB$ERASE_PAGE(1,1) X`09END X X`09SUBROUTINE SET_CURSOR(YROW,XCOL) X`09INCLUDE 'EMPIRE.INC/NOLIST' X`09IF (GIGI.EQ.0) CALL LIB$SET_CURSOR(YROW,XCOL) X`09IF (GIGI.EQ.1) TYPE 998,MAX(0,XCOL*12-1),YROW*20-21 X`09IF (GIGI.EQ.-1) TYPE 998,MAX(0,XCOL*9-1),YROW*20-21 X998`09FORMAT('+P`5B',I3,',',I3,'`5D',$) X`09END X X`09SUBROUTINE REGIS_ON X`09TYPE 999,27 X999`09FORMAT('+',A,'Pp',$) X`09END X`09SUBROUTINE REGIS_OFF X`09TYPE 999,27 X999`09FORMAT('+',A,'\',$) X`09END X X`09SUBROUTINE SENSOR(Z6) XC XC UPDATES PLAYER'S MAP AROUND LOCATION Z6`20 XC`09AND SCREEN IF CURRENT SECTOR IS DISPLAYED XC X`09INCLUDE 'EMPIRE.INC/NOLIST' X`09BYTE COLOR XC X`09IBEFOR=-100 X`09DO 100 I=1,9 X`09I1=Z6+ARROW(I) X`09AB=RMAP(I1) X`09IF (AB.EQ.PMAP(I1)) GOTO 100 X`09PMAP(I1)=AB X`09IF (JECTOR.EQ.-1) GOTO 100 X`09IF (ISEC.EQ.-1) GOTO 100 X`09LINE=KLINE(KI,ISEC) X`09IY=(I1-1)/100*100 X`09IX=I1-IY X`09IF ((IY.LT.LINE).OR.(IY.GT.LINE+1900) X`091`09.OR.(IX.LE.KI).OR.(IX.GT.KI+SWIDTH)) GOTO 100 X`09I1=I1-LINE-KI X`09IF ((GIGI.NE.0).AND.(IBEFOR.EQ.-100)) CALL REGIS_ON X`09IF (IBEFOR+1.NE.I1) CALL CURSOR(I1+300) X`09IBEFOR=I1 X`09IF (GIGI.EQ.0) GOTO 200 X`09IF (GIGI.EQ.1) GOTO 150 X`09if ((ab.ge.'a'.and.ab.le.'z').OR.ab.eq.'X') X`091 TYPE 995,'T(W(I1R))"',AB,'"' X`09if (AB.GE.'A'.AND.AB.LE.'Z') TYPE 995,'T(W(I3R))"',AB,'"' X`09if (ab.eq.'+') TYPE 995,'T(W(I2RN1))"+"' X`09if (ab.eq.'*') TYPE 995,'T(W(I1RN1))"*"' X`09if (ab.eq.'.') TYPE 995,'T(W(I3RN1))" "' X`09GOTO 100 X150`09COLOR='7' X`09IF (AB.EQ.'+') COLOR='4' X`09IF (AB.EQ.'.') COLOR='5' X`09IF (AB.EQ.'X') COLOR='2' X`09IF (AB.EQ.'*') COLOR='6' X`09IF (AB.GE.'a'.AND.AB.LE.'z') COLOR='2' X`09type 995,'T(W(I0N0R)S`5B12`5D)" "' X`09CALL CURSOR(i1+300)`09!POSITION CURSOR X`09if (color.eq.'4'.or.color.eq.'5') then X`09if (ab.eq.'.') ab=' ' X`09type 995,'T(W(I',COLOR,'N1)S`5B12`5D)"',ab,'"T(S`5B9`5D)' X`09else X`09type 995,'T(W(I',COLOR,'N0R)S`5B9`5D)"',ab,'"' X`09end if X`09GOTO 100 X995`09format('+',$,100(A)) X200`09TYPE 999,AB X999`09FORMAT('+',A1$) X100`09CONTINUE X`09IF (IBEFOR.EQ.-100) RETURN X`09IF (GIGI) CALL REGIS_OFF X`09END X X`09SUBROUTINE SECTOR(AMAP) XC XC THIS SUBROUTINE DISPLAY SECTOR JECTOR FROM MAP II XC IF ISEC=JECTOR, MAP WILL NOT BE DISPLAYED AGAIN XC X`09INCLUDE 'EMPIRE.INC/NOLIST' X`09BYTE AMAP(6000) X`09BYTE MCHAR(9),SIZE(9),COLOR X`09DATA MCHAR/'Z','Y','T',0,'X','W','V','U',0/ X`09DATA SIZE/10,4,1,0,30,10,3,1,0/ XC X`09IF (JECTOR.EQ.-1) GOTO 200 X`09IF (MODE.NE.1) RETURN X`09IF (ISEC.NE.JECTOR) GOTO 100 X`09IF (NEWRND.EQ.1) GOTO 1300 X`09RETURN X100`09ISEC=JECTOR X`09GOTO 300 X200`09CALL STROUT('Sector?',12) X`09JECTOR=IPHASE(GETCHX()) X`09IF ((JECTOR.LT.0).OR.(JECTOR.GT.9)) GOTO 200 X`09ISEC=JECTOR X`09JECTOR=-1`09`09!LET MAIN KNOW THAT UPDATING SECTOR ISNT USED X300`09CALL ERASE_PAGE(1,1) X`09IF (GIGI.NE.0) CALL REGIS_ON X`09LINE=KLINE(KI,ISEC) X`09LINEFI=LINE+2000`09!LINEFI=LINE AFTER LAST LINE OF SECTOR X`09LINEC=LINE-100`09`09!GET SET FOR LINE 400 X400`09LINEC=LINEC+100`09`09!GOTO NEXT LINE X`09IF (LINEC.GE.LINEFI) GOTO 1000 !CHECK FOR END OF SECTOR X`09KSTART=KI+1`09`09!IF LINE IS BROKEN, KSTART WILL BE MODIFIED X500`09DO 600 J=KSTART,KI+SWIDTH !KI ITSELF IS NOT IN SECTOR X`09AB=AMAP(J+LINEC)`09!GET CHARACTER X600`09IF (AB.NE.' ') GOTO 700`09!FIND FIRST NON-BLANK SPOT X`09GOTO 400`09`09!NO CHARACTERS IN THIS LINE X700`09KINIT=J`09`09`09!AB IS ALREADY CALCULATED X`09G2(J)=AB`09`09!AVOIDS REPITITION X`09DO 800 J=KINIT+1,KI+SWIDTH !LOOK FOR BLANK CHARACTER X`09AB=AMAP(J+LINEC)`09!GET CHARACTER X`09IF (AB.EQ.' ') GOTO 900`09!EXIT LOOP IF BLANK X800`09G2(J)=AB`09`09!PUT CHAR. STRING IN AN ARRAY X900`09KFINAL=J-1`09`09!SET END OF CHAR. STRING X`09CALL CURSOR(KINIT-LINE+LINEC-KI+300)`09!POSITION CURSOR X`09IF (GIGI.EQ.0) GOTO 970 X`09j=kinit X905`09ab=g2(j) X`09if ((ab.NE.'+').AND.(ab.NE.'.')) goto 950 X`09do 940 i=j+1,kfinal X`09if (g2(i).ne.g2(j)) goto 945 X940`09continue X`09i=kfinal+1 X945`09J=I-J X`09POS=1 X`09IF (AB.EQ.'.') POS=5 X`09DO 948 POS=POS,10 X`09IF (SIZE(POS).EQ.0) THEN X`09 J=I-1 X`09 GOTO 980 X`09ENDIF X947`09IF (J.GE.SIZE(POS)) THEN`09 X`09 TYPE 995,'@',MCHAR(POS) X`09 J=J-SIZE(POS) X`09 GOTO 947 X`09ENDIF X948`09CONTINUE X`09goto 980 X995`09format('+',$,100(A)) X950`09if (ab.eq.'a') type 995,'@A' X`09if (ab.eq.'b') type 995,'@B' X`09if (ab.eq.'c') type 995,'@C' X`09if (ab.eq.'d') type 995,'@D' X`09if (ab.eq.'f') type 995,'@E' X`09if (ab.eq.'r') type 995,'@F' X`09if (ab.eq.'s') type 995,'@G' X`09if (ab.eq.'t') type 995,'@H' X`09if (ab.eq.'X') type 995,'@I' X`09if (ab.eq.'A') type 995,'@J' X`09if (ab.eq.'B') type 995,'@K' X`09if (ab.eq.'C') type 995,'@L' X`09if (ab.eq.'D') type 995,'@M' X`09if (ab.eq.'F') type 995,'@N' X`09if (ab.eq.'R') type 995,'@O' X`09if (ab.eq.'S') type 995,'@P' X`09if (ab.eq.'T') type 995,'@Q' X`09if (ab.eq.'O') type 995,'@R' X`09if (ab.eq.'*') type 995,'@S' X980`09j=j+1 X`09if (j.le.kfinal) goto 905 X`09GOTO 990 X970`09TYPE 999,(G2(J),J=KINIT,KFINAL) X999`09FORMAT('+',A1,$) X990`09IF (KFINAL.GE.KI+SWIDTH) GOTO 400 !NEXT LINE X`09KSTART=KFINAL+1`09`09!LOOK AT REST OF LINE X`09GOTO 500 X X1000`09KURSOR=2300 X`09DO 1100 I=KI,KI+SWIDTH,SWIDTH/7`09!PRINT X COORDINATES X`09CALL CURSOR(KURSOR) X`09CALL GDECPRT(I) X`09KURSOR=KURSOR+SWIDTH/7 X1100`09CONTINUE XC`20 X`09KURSOR=302+SWIDTH X`09IF (GIGI.EQ.1) KURSOR=KURSOR-1 X`09DO 1200 I=LINE/100,LINE/100+19,2`09!PRINT Y COORDINATES X`09CALL CURSOR(KURSOR) X`09CALL GDECPRT(I) X`09KURSOR=KURSOR+200 X1200`09CONTINUE XC`20 X`09IF (GIGI.NE.0) CALL REGIS_OFF X`09SCOL=78 X`09IF (GIGI.EQ.1) SCOL=83 X`09CALL LIB$SET_CURSOR(5,SCOL) X`09TYPE 998,'S',10,8,'e',10,8,'c',10,8,'t',10,8,'o',10,8,'r',10,10,8, X`091 ISEC,10,10,10,8,'R',10,8,'o',10,8,'u',10,8,'n',10,8,'d' X998`09FORMAT('+',$,19A1,I1,17A1) X1300`09CALL LIB$SET_CURSOR(20,SCOL+1) X`09K=0 X`09DO 1400 I=3,0,-1 X`09J=MDATE/(10**I) X`09IF (K.EQ.0.AND.J.EQ.0) GOTO 1400 X`09K=1 X`09TYPE 997,10,8,MOD(J,10) X997`09FORMAT('+',$,2A1,I1) X1400`09CONTINUE XC X`09NEWRND=0 X`09CALL LIB$SET_CURSOR(1,1)`09`09!SET CURSOR TO BEG. OF SCREEN X`09RETURN X`09END X X`09SUBROUTINE VT125_ON X`09CALL REGIS_ON X`09TYPE 999,'S(M0 (L0) (A L0)'`09`09!DARK X`09TYPE 999,'1 (L100) (A H120 L50 S100)'`09!RED X`09TYPE 999,'2 (L65) (A H240 L50 S100)'`09!GREEN X`09TYPE 999,'3 (L35) (A H300 L50 S100))'`09!CYAN X`09TYPE 999,'S`5B0,0`5D (A`5B0,0`5D`5B767,479`5D,I(D),S1,T0)' X`09TYPE 999,'T`5B9`5D' X`09TYPE 999,'@.' X`09TYPE 999,'@:AT(W(I1))"a"@;' X`09TYPE 999,'@:BT(W(I1))"b"@;' X`09TYPE 999,'@:CT(W(I1))"c"@;' X`09TYPE 999,'@:DT(W(I1))"d"@;' X`09TYPE 999,'@:ET(W(I1))"f"@;' X`09TYPE 999,'@:FT(W(I1))"r"@;' X`09TYPE 999,'@:GT(W(I1))"s"@;' X`09TYPE 999,'@:HT(W(I1))"t"@;' X`09TYPE 999,'@:IT(W(I1))"X"@;' X`09TYPE 999,'@:JT(W(I3))"A"@;' X`09TYPE 999,'@:KT(W(I3))"B"@;' X`09TYPE 999,'@:LT(W(I3))"C"@;' X`09TYPE 999,'@:MT(W(I3))"D"@;' X`09TYPE 999,'@:NT(W(I3))"F"@;' X`09TYPE 999,'@:OT(W(I3))"R"@;' X`09TYPE 999,'@:PT(W(I3))"S"@;' X`09TYPE 999,'@:QT(W(I3))"T"@;' X`09TYPE 999,'@:RT(W(I3))"O"@;' X`09TYPE 999,'@:ST(W(I1N1))"*"@;' X`09TYPE 999,'@:TT(W(I2N1))"+"@;' X`09TYPE 999,'@:UT(W(I3N1))" "@;' X`09TYPE 999,'@:VT(W(I3N1))" "@;' X`09TYPE 999,'@:WT(W(I3N1))" "@;' X`09TYPE 999,'@:XT(W(I3N1))" "@;' X`09TYPE 999,'@:YT(W(I2N1))"++++"@;' X`09TYPE 999,'@:ZT(W(I2N1))"++++++++++"@;' X999`09FORMAT('+',A,$) X`09CALL REGIS_OFF X`09END X X`09SUBROUTINE VT125_OFF X`09END X X`09SUBROUTINE GIGI_ON X`09CALL REGIS_ON X`09TYPE 999,'T`5B12`5D' X`09TYPE 999,'@.' X`09TYPE 999,'@:AT(W(I2))"a"@;' X`09TYPE 999,'@:BT(W(I2))"b"@;' X`09TYPE 999,'@:CT(W(I2))"c"@;' X`09TYPE 999,'@:DT(W(I2))"d"@;' X`09TYPE 999,'@:ET(W(I2))"f"@;' X`09TYPE 999,'@:FT(W(I2))"r"@;' X`09TYPE 999,'@:GT(W(I2))"s"@;' X`09TYPE 999,'@:HT(W(I2))"t"@;' X`09TYPE 999,'@:IT(W(I2))"X"@;' X`09TYPE 999,'@:JT(W(I7))"A"@;' X`09TYPE 999,'@:KT(W(I7))"B"@;' X`09TYPE 999,'@:LT(W(I7))"C"@;' X`09TYPE 999,'@:MT(W(I7))"D"@;' X`09TYPE 999,'@:NT(W(I7))"F"@;' X`09TYPE 999,'@:OT(W(I7))"R"@;' +-+-+-+-+-+-+-+- END OF PART 11 +-+-+-+-+-+-+-+-