1 REM Ins{nd av Kristoffer Eriksson <5357> 1988-12-12 22.04.49 (KERMIT) 10 ! save VIDEOTXP, 1984-11-09 13.00 20 ! St{llning av skrivar/v24-parametrar 30 INTEGER : EXTEND : OPTION BASE 0 40 ! 50 Par=1 ! 1=skrivare, 2=V24: 60 IF PEEK(39)=4 THEN Abc=806 ELSE Abc=802 70 Atra=PEEK2(116)+6 80 ! 90 DIM V$(14,9)=35,K$(14,9)=1,Nu(14) 100 DATA Kanal:,0 110 DATA Typ:,3,Normal,V,Centronics,C,SP1,P 120 DATA Typ:,4,Videotex,W,ADM-3A-terminal,T,UART,U,Normal,V 130 DATA Paritet:,4,J{mn,A,Udda,B,Mark,C,Space,D 140 DATA XON/XOFF:,2,Anv{nds,A,Anv{nds ej,I 150 DATA Radl{ngd (tecken/rad):,7,40,1,72,2,80,3,120,4,132,5,158,6,254,7 160 DATA Sidl{ngd (rader/sida) (1-99):,0 170 DATA F|rdr|jning vid radmatning (0-26):,0 180 DATA Radframmatning vid ny sida (0-9):,0 190 DATA Sidframmatning:,2,Simulerad,B,Inbyggd,A 200 DATA Duplex:,2,Halv,E,Full,A 210 DATA Mottagnings-hastighet (baud):,9,75,0,110,1,300,2,600,3,1200,4,2400,5,4800,6,9600,7,19200,8 220 DATA S{ndnings-hastighet (baud):,9,75,0,110,1,300,2,600,3,1200,4,2400,5,4800,6,9600,7,19200,8 230 DATA [r inst{llningen korrekt,3,"Ja ",,"Nej ",,Avbryt,"" 240 ! 250 ! Vilket tecken i str{ngen h|r varje v{rde i v$ ihop med,typ: 260 ! (a=Menyval, b=2-siffrigt tal, c=1-siffrigt tal, d=bokstav A-Z, e=kanal) 270 DATA 0,e,1,a,1,a,2,D,2,I,4,a,7,b,3,d,5,c,6,B,6,E,10,a,11,a 280 ! 290 RESTORE 300 FOR I=1 TO 14 310 READ V$(I,0),K$(I,0) 320 IF LEN(V$(I,0))<35 THEN V$(I,0)=V$(I,0)+SPACE$(35-LEN(V$(I,0))) 330 FOR J=1 TO VAL(K$(I,0)) 340 READ V$(I,J),K$(I,J) 350 ! IF LEN(V$(I,J))<5 THEN V$(I,J)=V$(I,J)+SPACE$(5-LEN(V$(I,J))) 360 NEXT J 370 NEXT I 380 ! 390 Parm$=FNKomparm$("PR:VSA56C72.55") 400 ; CUR(20,0) Parm$ 410 ! _____ 420 DEF FNHuvud$(Text$) 430 WIDTH 80 : IF Abc=806 THEN POKE Atra,5 440 RETURN GRN+CHR$(12)+"Videotex 800 Ver 1.1 - "+Text$+CHR$(10,13)+STRING$(PEEK2(SYS(10)+84)-1,ASCII("=")) 450 FNEND 460 ! 470 DEF FNInv$(T$) LOCAL I 480 IF Abc=806 THEN ; NWBG BLK T$ HIDE BLBG; : RETURN "" 490 I=1 : WHILE I<=LEN(T$) 500 PUT CHR$(ASCII(MID$(T$,I,1)) OR 128) 510 I=I+1 : WEND 520 RETURN "" 530 FNEND 540 ! 550 DEF FNParmvis$(Nr) LOCAL I,J,Rad,Kol 560 Rad=Nr+3+(Nr>Par+1 AND Nr<14) 570 ; CUR(Rad,0) V$(Nr,0); : Kol=LEN(V$(Nr,0)) 580 IF Nr=1 THEN ; Kanal$ " "; : GOTO 660 590 IF VAL(K$(Nr,0))<=0 THEN ; NUM$(Nu(Nr)) " "; : GOTO 660 600 J=1 : WHILE J<=VAL(K$(Nr,0)) 610 IF Nu(Nr)=J THEN 630 620 ; V$(Nr,J) " "; : GOTO 640 630 Kol=PEEK(SYS(10)+82) : ; FNInv$(V$(Nr,J)+" "); 640 J=J+1 : WEND 650 ; " "; 660 RETURN CUR(Rad,Kol) 670 FNEND 680 ! 690 DEF FNPosval(Nr) LOCAL Gt$=1,I 700 WHILE 1 710 GET Gt$ 720 I=INSTR(1,CHR$(8,9,13,196,192,198),Gt$) 730 ON I+1 GOTO 740,750,760,790,800,800,800 740 ; CHR$(7); : GOTO 780 750 Nu(Nr)=Nu(Nr)+(Nu(Nr)>1) : GOTO 770 760 Nu(Nr)=Nu(Nr)-(Nu(Nr)"0" THEN Nu(Nr)=FNPosval(Nr) : GOTO 1030 960 IF Nr=7 THEN Nu(Nr)=FNInp(1,99,Nu(Nr)) : GOTO 1030 970 IF Nr=8 THEN Nu(Nr)=FNInp(0,27,Nu(Nr)) : GOTO 1030 980 IF Nr=9 THEN Nu(Nr)=FNInp(0,9,Nu(Nr)) : GOTO 1030 990 X$=FNGet$(4,Kanal$,1) 1000 IF INSTR(1,X$,":")=0 THEN X$=X$+":" 1010 IF X$=":" OR LEN(X$)>4 OR INSTR(1,X$,":")<>LEN(X$) THEN ; CHR$(7); : GOTO 990 1020 Kanal$=X$ 1030 ; YEL FNParmvis$(Nr) 1040 Nr=MOD(Nr-1+Op,13)+1 1050 IF Nr=(Par XOR 3)+1 THEN 1040 1060 WEND 1070 ! 1080 Nu(14)=1 : ; CYA FNParmvis$(14); 1090 ON FNPosval(14) GOTO 1100,1110,1120 1100 IF Op>0 THEN RETURN FNS{ttihop$ 1110 ; CHR$(13) SPACE$(80); : GOTO 920 1120 RETURN Deflt$ 1130 FNEND 1140 ! 1150 DEF FNDelaupp(Parm0$) LOCAL A,B,C,Typ$=1,Mask,P,Parm$=16 1160 Parm$=Parm0$ 1170 P=INSTR(1,Parm$,":") 1180 MID$(Parm$,P+2,1)=CHR$(64+INSTR(1,"ABCDTUVWEOMSFGHI",MID$(Parm$,P+2,1))) 1190 RESTORE 270 1200 A=1 : WHILE A<=13 1210 READ B,Typ$ 1220 IF Typ$="e" THEN Kanal$=LEFT$(Parm$,P) : GOTO 1300 1230 IF Typ$="d" THEN Nu(A)=ASCII(MID$(Parm$,P+B,1))-65 : GOTO 1300 1240 IF Typ$="c" THEN Nu(A)=VAL(MID$(Parm$,P+B,1)) : GOTO 1300 1250 IF Typ$="b" THEN Nu(A)=VAL(MID$(Parm$,P+B,2)) : GOTO 1300 1260 IF Typ$="a" THEN Mask=127 ELSE Mask=ASCII(Typ$)-1 1270 C=1 : WHILE C<=VAL(K$(A,0)) 1280 IF CHR$((Mask AND ASCII(MID$(Parm$,P+B,1))-1)+1)=K$(A,C) THEN Nu(A)=C 1290 C=C+1 : WEND 1300 A=A+1 : WEND 1310 RETURN 0 1320 FNEND 1330 ! 1340 DEF FNS{ttihop$ LOCAL Parm$=16,A,B,C 1350 Parm$=STRING$(8,1)+"."+CHR$(1,1,1) 1360 RESTORE 270 1370 A=1 : WHILE A<=13 1380 READ B,Typ$ 1390 IF A=(Par XOR 3)+1 THEN 1450 1400 IF Typ$="e" THEN 1450 1410 IF Typ$="d" THEN MID$(Parm$,B,1)=CHR$(Nu(A)+65) : GOTO 1450 1420 IF Typ$="c" THEN MID$(Parm$,B,1)=CHR$(Nu(A)+48) : GOTO 1450 1430 IF Typ$="b" THEN MID$(Parm$,B,2)=STRING$(-(Nu(A)<10),48)+NUM$(Nu(A)) : GOTO 1450 1440 MID$(Parm$,B,1)=CHR$((ASCII(MID$(Parm$,B,1))-1 OR ASCII(K$(A,Nu(A)))-1)+1) 1450 A=A+1 : WEND 1460 MID$(Parm$,2,1)=MID$("ABCDTUVWEOMSFGHI",ASCII(MID$(Parm$,2,1))-64,1) 1470 Parm$=Kanal$+Parm$ 1480 WHILE RIGHT$(Parm$,LEN(Parm$))=" " : Parm$=LEFT$(Parm$,LEN(Parm$)-1) : WEND 1490 RETURN Parm$ 1500 FNEND 1510 ! 1520 DEF FNInp(Min,Max,Deflt) LOCAL X,X$=6 1530 X$=FNGet$(LEN(NUM$(Max)),NUM$(Deflt),2) 1540 IF X$="" OR O{ndr THEN RETURN Deflt ELSE X=VAL(X$) 1550 IF XMax THEN ; CHR$(7); : GOTO 1530 1560 RETURN X 1570 FNEND 1580 ! 1590 ! Typ: 0=alla koder, 1=alfanumeriskt, 2=numeriskt 1600 DEF FNGet$(Max,Deflt$,Typ) LOCAL X,P,X$=320,Gt$=1,R,K 1610 X$=Deflt$ : X=0 : O{ndr=-1 : K=PEEK(SYS(10)+82) : R=PEEK(SYS(10)+83) 1620 ; CYA; 1630 WHILE X=0 1640 ; CUR(R,K) LEFT$(X$+STRING$(Max,95),Max) CUR(R,K+P); 1650 GET Gt$ : X=INSTR(1,CHR$(13,196,198,Kstop,192,8,9,24,199),Gt$) 1660 ON X+1 GOTO 1720,1750,1750,1750,1750,1750,1670,1680,1690,1700 1670 IF Max>1 THEN P=P+(P>0) : GOTO 1740 ELSE 1750 1680 P=P-(PR OR PEEK(SYS(10)+82)>K : ; CHR$(8,95,8); : WEND : X$=RIGHT$(X$,P+1) : P=0 : GOTO 1740 1700 IF LEN(X$) THEN P=P+(P>=LEN(X$)) ELSE 1740 1710 X$=LEFT$(X$,P)+RIGHT$(X$,P+2) : P=P+(P>LEN(X$)) : GOTO 1740 1720 IF Gt$>CHR$(127) OR (Typ=1 AND Gt$<" ") OR (Typ=2 AND (Gt$<"0" OR Gt$>"9")) THEN ; CHR$(7); : GOTO 1740 1730 IF PMax THEN X$=LEFT$(X$,Max) 1810 IF Deflt$<>X$ THEN O{ndr=0 1820 Op=1 : RETURN X$ 1830 FNEND