1 REM Ins{nd av Kristoffer Eriksson <5357> 1988-12-12 21.57.52 (KERMIT)
10 ! save VIDEOTXA, 1985-03-28 15.18
20 EXTEND : INTEGER : OPTION BASE 0
30 COMMON K$=36,K2$=93,K22$=93,K3$=32,K4$=320,V24$=16,Login$=160,Alth,Nrh
40 COMMON Skala,Sv{rta,Abc,Fwid,Printer,Vmarg,F{rg$=16,Sparf$=16,Prbak
50 COMMON Prk$(15)=15,Printer$=30,Namn$(19,1)=20,Tele$(19)=160,Chain$=16,Dv$=4
60 LET Chain$=Dv$+"VIDEOTXA.BAC"
70 DIM Defv24$=16 : Defv24$="V24:WEA10K24.40"
80 Kstop=192 ! PF1
90 Atra=PEEK2(116)+6
100 !
110 IF Abc<>0 AND Skala<>0 AND Sv{rta<>0 THEN 820
120 IF PEEK2(38)=1025 THEN Abc=806 ELSE Abc=802
130 Z=FNTermopt("NOCOMMON")
140 Fwid=PEEK2(SYS(10)+84)
150 !
160 ! Rutin f|r att spara / l{gga tillbaks attributminnet:
170 REM ATTRSAV.ASM 1984-08-17 16.49.19
180 K$=CHR$(123,167,8,33,0,120,1,128,7,17,0,0,8,126,32,5,219,53,18,24,6,245,26,211,53,241,119,8,35,19,11,120,177,32,233,201)
190 !
200 ! Rutin f|r att skriva ut ett semigrafiskt tecken p} skrivare:
210 ! Anv{nds i olika form f|r olika skrivare, K22$ h}ller grundversionen
220 K2$=STRING$(93,0) : Prgr=VARPTR(K2$)
230 REM PRBLGRAF.ASM 1984-08-21 16.34.22
240 A=Prgr
250 POKE 0+A,213,62,10,205,43,0,209,123,60,38,0,40,59,61,254,32,56,3,246,32,95,213,38,0,205,A+32,SWAP%(A+32),209,38,0,203,27,62,0,167,32,17,175
260 POKE 38+A,203,27,48,2,246,224,203,27,203,27,48,11,246,30,24,7,175,203,99,40,2,246,14,238,0,111,175,6,8,203,29,23,16,251,50,A+92,SWAP%(A+92)
270 POKE 75+A,68,197,33,A+92,SWAP%(A+92),1,1,0,62,6,205,90,0,193,16,241,201,0
280 K22$=K2$
290 !
300 ! Rutin f|r att leta upp f|rsta tecken med {ndrade attribut:
310 REM ATTRCOMP.ASM 1984-08-21 18.19.31
320 K3$=CHR$(1,0,0,235,43,41,9,126,230,0,95,35,35,126,254,255,40,5,230,0,187,40,240,167,237,66,203,61,203,28,35,201)
330 !
340 ! Bildminne -> printbar text
350 K4$=SPACE$(320) : A=VARPTR(K4$)
360 REM BILDSPAR.ASM 1984-11-14 19.54.09
370 POKE 0+A,0,0,0,0,0,7,0,0,253,126,84,254,41,62,3,56,1,175,50,A+6,SWAP%(A+6),175,50,A+7,SWAP%(A+7),50,A+4,SWAP%(A+4),42,A+0,SWAP%(A+0),62,7
380 POKE 33+A,50,A+5,SWAP%(A+5),217,42,A+2,SWAP%(A+2),6,1,14,81,13,248,217,229,42,A+5,SWAP%(A+5),26,19,71,219,53,79,254,192,56,19,121,15,15,15
390 POKE 65+A,169,230,7,32,10,121,38,0,254,228,40,15,230,3,103,124,167,40,8,217,13,217,26,19,219,53,79,121,167,58,A+5,SWAP%(A+5),40,23,121,254
400 POKE 101+A,128,56,19,15,15,15,169,230,7,32,11,121,230,127,79,58,A+5,SWAP%(A+5),230,128,177,79,58,A+6,SWAP%(A+6),111,124,50,A+6,SWAP%(A+6),254
410 POKE 132+A,1,32,7,6,32,42,A+6,SWAP%(A+6),24,51,189,40,10,46,140,167,40,1,61,133,205,A+314,SWAP%(A+314),42,A+6,SWAP%(A+6),120,230,223,32,4,6
420 POKE 164+A,32,24,26,120,230,96,120,40,7,230,127,71,38,0,24,13,230,63,111,120,31,230,64,246,32,181,71,38,16,58,A+5,SWAP%(A+5),169,111,230,7,32
430 POKE 201+A,6,58,A+7,SWAP%(A+7),188,40,9,121,230,7,180,246,128,205,A+314,SWAP%(A+314),125,230,128,40,9,121,7,62,137,222,0,205,A+314,SWAP%(A+314)
440 POKE 231+A,125,230,56,40,12,121,230,56,40,2,62,1,198,156,71,24,13,125,230,64,40,8,121,7,7,62,139,222,0,71,121,50,A+5,SWAP%(A+5),124,50,A+7,SWAP%(A+7)
450 POKE 269+A,58,A+4,SWAP%(A+4),79,12,120,254,32,121,40,24,225,229,13,40,11,217,5,40,8,43,126,217,43,119,24,242,217,42,A+2,SWAP%(A+2),6,1,217,175
460 POKE 304+A,50,A+4,SWAP%(A+4),225,112,35,217,195,A+44,SWAP%(A+44),217,119,35,4,217,201
470 !
480 ! 0=Mata 1 lin, 1=mata 2, 2=mata 9, 3=norm radavs, 4=mata 7, 5=margstil
490 ! 6-8=stil 1-3, 9=grafik 1 & sv{rta 2, 10=grafik 2 & 3, 11=init, 12=f{rger
500 ! 13=V{lj f{rg, 14=Pixels v{nster,h|ger halva, stil 1-3
510 !
520 ! Nedan: Standardpr, antal pr, deras namn, pr-data
530 DATA 1,2
540 DATA EPSON,C.ITOH M-1550 S/SC
550 !
560 DATA 27,65,1,13,10,-1
570 DATA 27,65,1,13,10,-1
580 DATA 27,65,9,13,10,-1
590 DATA 27,65,12,-1
600 DATA 27,65,7,13,10,-1
610 DATA 15,-1, 15,-1, 18,-1, 18,14,-1
620 DATA 27,42,0,128,-1, 27,42,1,128,-1
630 DATA 27,64,-1, -1, -1, 3,4,3,3,6,6,-1
640 DATA PR:VSA70A72.55
650 DATA 5,2,1,-1
660 !
670 ! C.ITOH M-1550 S/SC
680 DATA 27,84,48,50,13,10,-1
690 DATA 27,84,48,52,13,10,-1
700 DATA 27,84,49,56,13,10,-1
710 DATA 27,84,50,52,-1
720 DATA 27,84,49,53,13,10,-1
730 DATA 27,78,15,-1, 27,81,15,-1, 27,78,15,-1, 27,78,14,-1
740 DATA 27,78,15,27,83,132,-1, 27,81,15,27,83,132,-1
750 DATA 27,61,48,27,67,80,48,49,50,51,52,53,54,55,-1
760 DATA 48,50,53,49,54,51,52,55,-1, 27,67,-1, 4,4,4,4,8,8,-1
770 DATA PR:VSA70A72.55
780 DATA 5,2,1,0
790 !
800 Z=FNInitnr+FNInitpr(0) ! Bara f|rsta g}ngen
810 !
820 DIM Grafik$=80,Text$=80
830 Z=FNHuvmen
840 ON ERROR GOTO 850 : CHAIN "XS0"
850 CHAIN "NUL:"
860 !
870 DEF FNHuvmen LOCAL F$=8
880 IF Alth=0 OR Nrh=0 THEN Alth=1 : Nrh=1
890 Wid=80
900 ; FNHuvud$("Huvudmeny") CUR(0,46) "Telenr / login :";
910 ; CUR(23,0) "Kristoffer Eriksson." YEL;
920 ; CUR(5,4) "1. Automatisk uppringning / login"
930 ; " 2. Manuell login"
940 ; " 3. Visa lagrade sidor"
950 ; " 4. [ndra telenr / login"
960 ; " 5. Spara telenr / login"
970 ; " 6. St{ll utskriftsparametrar"
980 ; " 7. Installera skrivare"
990 ; " 0. Avsluta"
1000 FOR I=0 TO 19 : ; USING "# &" CUR(2+I,45) I+1 Namn$(I,0); : NEXT I
1010 Alth=FNV{lj(5,4,1,0,8,Alth,"-->") : ;
1020 IF Alth=1 OR Alth=4 THEN Z=FNV{lj(2,44,1,-1,20,Nrh,"-->") : IF Z=0 THEN 900 ELSE Nrh=Z
1030 ON Alth GOTO 1050,1080,1150,1180,1190,1200,1210,1230
1040 ! _Auto login__
1050 IF Namn$(Nrh-1,1)="" THEN Namn$(Nrh-1,1)=Defv24$
1060 V24$=Namn$(Nrh-1,1) : Login$=Tele$(Nrh-1) : GOTO 1090
1070 ! _Man login__
1080 V24$=Defv24$ : Login$=""
1090 F$="VIDEOTXB"
1100 ON ERROR GOTO 1110 : CHAIN Dv$+F$
1110 RESUME 1120
1120 ON ERROR GOTO 1130 : CHAIN F$
1130 A$=Dv$+F$ : Z=FNFel(2-(ERRCODE=21))
1140 RESUME 890
1150 ! _Lagrade__
1160 V24$="" : GOTO 1090
1170 ! ___
1180 Z=FNNytele(Nrh-1) : GOTO 890 ! [ndra
1190 Z=FNLagratele : GOTO 890 ! Spara
1200 Z=FNSt{llparm : GOTO 890 ! Utskrparm
1210 F$="VTEXDEF" : GOTO 1100
1220 ! _Slut__
1230 IF PEEK(65507)<>13 THEN 890
1240 IF Abc=802 THEN OUT 56,6,57,24 ELSE ; CUR(24,0) SPACE$(80) CUR(13,0)
1250 WIDTH Fwid : RETURN 0
1260 FNEND
1270 !
1280 DEF FNNytele(Nr) LOCAL X,X$=160,Alt
1290 ; FNHuvud$("[ndra telefonnummer / loginf|rfarande nr "+NUM$(Nr+1)) YEL
1300 IF Namn$(Nr,1)="" THEN Namn$(Nr,1)=Defv24$
1310 ; CUR(2,4) "1. Namn:" : ; Namn$(Nr,0)
1320 ; CUR(6,4) "2. Kommunikationsparametrar:" : ; Namn$(Nr,1)
1330 ; CUR(10,4) "3. Inloggning, ev. telefonnummer om modemet har automatisk uppringning:" : ; FNSpecpr$(Tele$(Nr))
1340 ; CUR(14,4) "0. ]ter till huvudmenyn"
1350 Alt=FNV{lj(2,4,4,0,4,Alt+1,"-->")
1360 ON Alt GOTO 1370,1370,1390,1430
1370 ; CUR(18,0) "Nytt: "; : X$=Namn$(Nr,Alt-1) : X=FNGet(20,VAROOT(X$),X$,1)
1380 Namn$(Nr,Alt-1)=X$ : GOTO 1290
1390 ; CUR(17,0) "Ny startsekvens: ";
1400 X$=Tele$(Nr) : IF X$="" THEN X$=CHR$(84,71,67,193,67,48,48,48,193,215)
1410 X=FNGet(160,VAROOT(X$),X$,0) : IF NOT O{ndr THEN Tele$(Nr)=X$
1420 GOTO 1290
1430 RETURN 0
1440 FNEND
1450 !
1460 DEF FNV{lj(R,K,D,S,Antal,Start,P$) LOCAL Galt,Alt,Gt$=1,Fr
1470 Z=FNLine25(2)
1480 Fr=R+D*Antal-(D=1)
1490 ; CUR(Fr,K) CYA CUR(Fr,K) "Vilket alternativ ?";
1500 Alt=Start-1
1510 ; CUR(R+D*Galt,K-LEN(P$)) SPACE$(LEN(P$));
1520 ; CUR(R+D*Alt,K-LEN(P$)) P$ CUR(Fr,K+19);Alt+1 AND (Alt<>Antal-1 OR S);
1530 Galt=Alt
1540 GET Gt$ : IF Gt$<"1" OR Gt$>"9" THEN 1580
1550 IF Antal<10 IF Gt$<=NUM$(Antal) THEN Alt=VAL(Gt$)-1 : GOTO 1510 ELSE 1510
1560 Alt=Alt+1 : Z=SYS(6)+FNInp(1,Antal,VARPTR(Alt),Fr,K+18) : Alt=Alt-1
1570 IF O{ndr THEN Z=SYS(6) ELSE 1510
1580 ON INSTR(1,CHR$(48,8,9,196,198,192,Kstop,13),Gt$)+1 GOTO 1540,1590,1600,1610,1600,1610,1620,1620,1630
1590 Alt=Antal-1 : GOTO 1510
1600 IF Alt>0 THEN Alt=Alt-1 : GOTO 1510 ELSE Alt=Antal-1 : GOTO 1510
1610 IF Alt