1 REM Ins{nt av 913 10 REM LIST LOGAIN2 20 REM Mod. 19820112--0510 ver 1,7 BoM 30 REM LOGAIN generellt program f|r terminal-kommunikation ABC-80 och DEC-10 40 REM Program av Gunnar Tidner 1981-01-30 50 REM Modifierad N-G Westermark 1981-02-20 TILL[GG AV PRINTER-RUTIN 55 REM Mod.B. Michaelsson. 60 Z$="/*" : C9$=CHR$(13,10) : REM Filslutm{rke resp 70 P8$="" 80 P9$="" 90 DIM B$=119 100 REM 110 GOSUB 1270 120 ; CHR$(12)"SYSTEM TIME - ";H%;M%;S%" -"TAB(29%)"LOCAL MODE" : ; STRING$(40,45) 130 ; CUR(5,5);"M E N Y" : ; 140 ; " 1 Half Duplex Terminal" 150 ; " 2 Full Duplex Terminal" 160 ; " 3 PPN ";P8$ 170 ; " 4 Password" 180 ; " 5 Login" 190 ; " 6 Set System Time" 200 ; " 7 Stopp till DEC (2 CTRL-C+CTRL-S)" 210 ; " 8 Chain till annat program" 220 ; " 9 Exit" 230 ; "cT Clear System Time (Ctrl-T)" 240 ; " U Utskrift av 24 rader a' 80 tecken" 250 ONERRORGOTO 30 260 ; CUR(20,0) : GET S$ : IF S$='U' OR S$='u' THEN S$='10' 270 IF S$=CHR$(20%) THEN 1150 280 S%=VAL(S$) 290 IF S%>10 OR S%<1 THEN 30 300 ON S% GOTO 310,330,1030,1060,1090,1170,980,950,940,1410 310 OPEN "V24:KB.1" ASFILE 1 : L%=1 : REM Half Duplex (No Echo) 320 GOTO 340 330 OPEN "V24:KA.1" ASFILE 1 : L%=1 : REM Full Duplex (Echo) 340 INPUT #L%,A$ 350 IF A$="SYNK" THEN 390 360 IF A$="SENDFIL" THEN 660 370 IF A$="SIGNAL" THEN OUT 6,7 : GET \$ : OUT 6,0 : GOTO 340 380 ; A$ : IF LEN(A$)=0 THEN 100 ELSE 340 390 ; "LOKAL MODE. Tag tangent!"; : GET C$ 400 ; : ; : ; " *** Mottaga fil ***" : ; 410 ; "Filnamn vid MONITORN:"; : INPUT F1$ 420 ; : ; "Filnamn h{r:"; : INPUT F2$ : IF F2$='' THEN F2$=F1$ : PRINT F2$ : ; 430 ; #L%,"Hejsan";C9$; 440 INPUT #L%,B$ 450 IF B$<>"SYNK" THEN 430 460 FOR T=1 TO 100 : NEXT T 470 ; #L%,"SYNKSVAR";C9$; 480 FOR T=1 TO 100 : NEXT T : REM Synkroniserad 490 ; #L%,F1$;C9$; 500 INPUTLINE #L%,B$ : B$=LEFT$(B$,LEN(B$)-2%) 510 IF B$<>"OPENED" THEN ; B$ : FOR T=1 TO 2000 : NEXT T : GOTO 340 520 PREPARE F2$ ASFILE 2 530 FOR I%=1 TO 10000 540 FOR T=1 TO 100 : NEXT T 550 ; #L%,'>';C9$; 560 INPUTLINE #L%,B$ 570 IF LEFT$(B$,2%)=Z$ THEN 610 580 ; #2,B$; 590 ; I% 600 NEXT I% 610 CLOSE 2 620 ; "Antal rader=";I%-1% 630 OUT 6,7 : ; "Tag tangent"; : GET \$ : OUT 6,0 640 ; #L%,"Tack!";C9$; 650 GOTO 340 660 ; "LOKAL MODE Tag tangent!"; : GET C$ 670 ; : ; : ; " *** S{nda fil ***" : ; : ; 680 ; "Filnamn h{r:"; : INPUT F2$ 700 ; : ; "Filnamn vid MONITORN:"; : INPUT F1$ : IF F1$='' THEN F1$=F2$ : ; F2$ 710 OPEN F2$ ASFILE 2 720 ; #L%,"Hejsan";C9$; 730 INPUT #L%,B$ 740 IF B$<>"SENDFIL" THEN 720 750 FOR T=1 TO 100 : NEXT T 760 ; #L%,"SYNKSVAR";C9$; 770 FOR T=1 TO 100 : NEXT T 780 ; #L%,F1$;C9$; 790 ONERRORGOTO 870 800 FOR I%=1 TO 10000 810 INPUT #L%,A$ 820 INPUTLINE #2,B$ : B$=LEFT$(B$,LEN(B$)-2%) 830 ; I% 840 FOR T=1 TO 100 : NEXT T 850 ; #L%,B$ 860 NEXT I% 870 IF ERRCODE=34 THEN ; #L%,Z$;C9$; ELSE ; "Fel nr";ERRCODE 880 CLOSE 2 890 ; "Antal rader=";I%-1% 900 FOR T=1 TO 3000 : NEXT T 910 OUT 6,7 : ; "Tryck ner n}gon tangent" : GET \$ : OUT 6,0 920 ; #L%,"Tack!";C9$; 930 GOTO 340 940 END 950 ; CUR(20,1);"CHAIN till "; 960 INPUT P$ 970 CHAIN P$ 980 OPEN "V24:KA.1" ASFILE 1 990 ; #1,CHR$(3,3) 1000 ; #1,"TTY ECHO" 1010 ; #1,"TTY NO PAGE" : ; #1,CHR$(19) 1020 GOTO 330 1030 ; " PPN? <";P8$;'>:'; : INPUTLINE \$ : \$=LEFT$(\$,LEN(\$)-2) 1040 IF LEN(\$) THEN P8$=\$ 1050 GOTO 100 1060 ; " Password? <";P9$;'>:'; : INPUT \$ 1070 IF LEN(\$) THEN P9$=\$ 1080 GOTO 100 1090 ; CUR(20,1)" LOGIN" 1100 FOR T=1 TO 1000 : NEXT T 1110 ; #1,"log ";P8$;CHR$(13); 1120 FOR T=1 TO 500 : NEXT T 1130 ; #1,P9$;CHR$(13); 1140 GOTO 340 1150 REM Klockan 1160 H%=0% : M%=0% : S%=0% : GOTO 1190 1170 ; CUR(20,1);"St{ll klockan: "; 1180 ; "H,M,S:"; : INPUT H%,M%,S% 1190 REM Set time to 1200 REM H% Hours, M% Minutes and 1210 REM S% Seconds 1220 Z=1.8E+5*H%+3000*M%+50*S% 1230 Z1=INT(Z/256) : Z1%= NOT Z1 1240 Z%=( NOT (Z-Z1*256)) OR 4% 1250 POKE 65008%,Z%,Z1%,SWAP%(Z1%) 1260 GOTO 100 1270 REM Read System Time 1280 REM D% Contains number of days 1290 REM H% Contains hours. 1300 REM M% minutes and S% seconds 1310 D%=0 1320 IF (PEEK(65008%) AND 4%)=0% THEN 1320 1330 FOR I%=0% TO 2% 1340 Z%(I%)=255% XOR PEEK(65008%+I%) : NEXT I% 1350 Z1$=ADD$(MUL$(NUM$(256%*Z%(2%)+Z%(1%)),'512',0%),NUM$(Z%(0%)*2%),0%) 1360 IF COMP%(Z1$,'8640000')>-1% THEN D%=D%+1% : Z1$=SUB$(Z1$,'8640000',0%) : GOTO 1360 1370 Z=INT(VAL(Z1$)/100) 1380 H%=Z/3600 : Z=Z-3600*H% 1390 M%=Z/60 : S%=Z-60%*M% 1400 RETURN 1410 REM *** Utskrift av sk{rmen *** 1420 ; CHR$(12);CUR(8,0)' Utskrift p}g}r ' 1430 ; CUR(15,0)' . - Avbryta' 1440 REM *** Enhet SKR : *** 1450 OPEN "PR:" ASFILE 3 1460 OPEN "SKR:" ASFILE 4 1470 DIM A$(24)=82 1480 FOR I%=1 TO 24 1490 IF INP(56)=46 OR INP(56)=174 THEN 1560 1500 INPUTLINE #4,A$(I%) : A$(I%)=LEFT$(A$(I%),LEN(A$(I%))-2) 1510 ; CUR(10,2)I%-1% : ; SPACE$(5) 1520 FOR I8%=80% TO 1% STEP -1% : IF ASC(MID$(A$(I%),I8%,1%))=32% OR ASC(MID$(A$(I%),I8%,1%))=128% NEXT I8% 1530 IF I8%<1% ; #3 : GOTO 1550 1540 ; #3,MID$(A$(I%),1%,I8%) 1550 NEXT I% 1560 CLOSE 3 : CLOSE 4 1570 IF INP(56)=46 OR INP(56)=174 THEN GET S$ 1580 GOTO 30