5 REM > StnSetup
   10 TA%=@%:@%=5
   15 messline%=530
   20 ON ERROR @%=TA%:IF ERR=17:PROCabort:GOTO130:ELSE:REPORT :PRINT" At Line "ERL:END
   30 MODE 7
   40 PROCinit
   70 K%=0
   80 DIM STATE$(8,2)
   90 FOR Z%=1 TO 7:FOR Y%=0 TO 1
  100     READ STATE$(Z%,Y%)
  110   NEXT
  120 NEXT
  125 PROCdisplay
  130 REPEAT
  150   REPEAT K$=GET$:UNTIL INSTR("12345678",K$)
  155 IF K$="7":PROCdefault:UNTIL0
  156 IF K$="8":PROCabort:UNTIL0
  160 K%=VAL(K$)
  165 VDU28,0,24,39,15,12,26
  166 PRINTTAB(0,15);CHR$(131);"Option "K$
  170 RESTORE (messline%+K%*10):READ mess$:PRINTTAB(0,16);mess$
  180 PRINT TAB(5,23);CHR$(131);"Change setting Y/N";
  190 K$=GET$
  200 IF INSTR("Yy",K$):S%(K%)=S%(K%) EOR 1
  205 PROCdisplay
  210 UNTIL0
  220 END
  230 DEF PROCdisplay
  240 VDU 28,0,24,39,15,12,26
  245 STN$=STR$(STN%):STN$=STRING$(9-LENSTN$," ")+STN$
  250 FS$=STR$(FS%):IF FSNET%<>0:FS$=STR$(FSNET%)+"."+FS$
  260 FS$=STRING$(9-LENFS$," ")+FS$
  270 PS$=STR$(PS%):IF PSNET%<>0:PS$=STR$(PSNET%)+"."+PS$
  280 PS$=STRING$(9-LENPS$," ")+PS$
  290 PRINT TAB(3,1);CHR$134;"Station number "STN$
  300 PRINT TAB(3,2);CHR$134;"File Server    "FS$
  310 PRINT TAB(3,3);CHR$134;"Printer Server "PS$
  320 PRINT TAB(3,4);CHR$134;"PAGE =          ",~PAGE
  330 Q%=0
  340 FOR Z%=1 TO 6
  350 W%=S%(Z%)
  360 Q%=Q%+W%*2^(Z%-1)
  370 PRINT TAB(0,Z%+5);CHR$130;Z%;") ";STATE$(Z%,W%);SPC(36-LEN(STATE$(Z%,W%)))
  380 NEXT
  390 Z%=7:IF Q%=&0E:W%=0:ELSE IF Q%=&11:W%=1:ELSE W%=2
  400 PRINT TAB(0,Z%+5);CHR$130;Z%;") ";STATE$(Z%,W%);SPC(36-LEN(STATE$(Z%,W%)))
  405 PRINT TAB(0,8+5);CHR$130;8;") Exit or Abort program"
  410 PRINT TAB(3,16);CHR$131;"Select option number"
  420 RESTORE (messline%):READ mess$
  430 PRINT TAB(0,18);mess$
  440 ENDPROC
  450 END
  460 DATA "Station unprotected","Station Protected"
  470 DATA "Pages B and C for Econet Workspace","Pages B and C program Workspace"
  480 DATA "Display version numbers","No Version number display"
  490 DATA "Pages E and F not reserved","Pages E and F Transient workspace"
  500 DATA "No use of Findlib","Call Findlib on Logon"
  510 DATA "Station does not auto boot","Station auto boots"
  520 DATA "BBC compatible settings","Prefered MASTER settings"
  530 DATA "Each of the above options can be set in the non-volatile memory of the station  and will be used each time the computer is switched on. The two most usual      settings can be selected by option 7."
  540 DATA"The station can be protected to prevent other stations from viewing what is on  the screen or takeing remote control of the station."
  550 DATA"Pages B00 and C00 are usualy used as    network workspace on the Master series. some programs you purchase may require  this area to be available for use.      If this option is selected PAGE will    rise by &200."
  560 DATA"Some network commands are actualy loadedas programs from the file server when   these commands are used they can displaythe version number of the program if    this option is enabled."
  570 DATA"Pages E00 and F00 are used by some olderEconet utility programs. Selecting this option will raise PAGE by &200 and make this area available for these programs. The Findlib option should enabled if    these pages are not enabled"
  580 DATA"Econet command files for use on the     MASTER series computer are stored in    a second library. This option if enabledwill automaticaly select this library   when you log on."
  590 DATA"The station can be made to automaticaly start up and load programs from the net when it is switched on. The auto boot   option must be selected, and the networkmust be the default filing system."
  600 DEF PROCinit
  610 FSNET%=FNB(2):FS%=FNB(1)
  620 PSNET%=FNB(4):PS%=FNB(3)
  630 STN%=FNB(0)
  640 DIM S%(8)
  650 B%=FNB(17)
  660 S%(1)=(B% AND 64)DIV 64
  670 S%(2)=(B% AND 4)DIV 4
  680 S%(3)=(B% AND 128)DIV 128
  690 S%(4)=(B% AND 1)
  700 S%(5)=(B% AND 2)DIV 2
  710 B%=FNB(16):S%(6)=(B% AND 16)DIV 16
  730 ENDPROC
  740 
  800 DEF FNB(X%):A%=161:Y%=0:=(&FF0000 AND (USR&FFF4))DIV &10000
  810 
  820 DEF PROCWB(Y%,X%):A%=162:CALL &FFF4:ENDPROC
  830 
  915 DEF PROCset
  920 B%=&38 AND FNB(17)
  930 IF S%(1):B%=B%+64
  940 IF S%(2):B%=B%+4
  945 IF S%(3):B%=B%+128
  950 IF S%(4):B%=B%+1
  955 IF S%(5):B%=B%+2
  960 PROCWB(B%,17)
  970 B%=&F7 AND FNB(16)
  980 IF S%(6):B%=B%+16
  985 PROCWB(B%,16)
  990 ENDPROC
  995 
 1000 DEF PROCabort
 1010 VDU 28,0,24,39,15,12,26
 1020 PRINT TAB(3,18);"A) Abort program and do not set"
 1030 PRINT TAB(3,19);"S) Set these options"
 1040 PRINT TAB(3,20);"R) Return to main menu"
 1050 REPEAT K$=GET$:UNTIL INSTR("SARsar",K$):K$=CHR$(ASCK$AND&DF)
 1060 IF K$="A":PRINT''"ENDED":END
 1070 IF K$="S":PROCset:PROCdisplay:ENDPROC
 1080 IF K$="R":PROCdisplay:ENDPROC
 1100 
 1110 DEF PROCdefault
 1120 VDU 28,0,24,39,15,12,26
 1130 PRINT TAB(3,18);"M) Set prefered master settings"
 1140 PRINT TAB(3,19);"B) Set BBC Compatible settings"
 1145 PRINT TAB(3,20);"R) Return to main menu"
 1150 REPEAT K$=GET$:UNTIL INSTR("BMRbmr",K$):K$=CHR$(ASCK$AND&DF)
 1160 IF K$="B":PROCfix(&0E):PROCdisplay:ENDPROC
 1170 IF K$="M":PROCfix(&11):PROCdisplay:ENDPROC
 1180 IF K$="R":PROCdisplay:ENDPROC
 1190 
 1200 DEF PROCfix(N%)
 1210 FOR Z%=1 TO 6
 1220 IF (N% AND 1):S%(Z%)=1:ELSE S%(Z%)=0
 1230 N%=N%/2
 1240 NEXT
 1250 ENDPROC