10 REM Log File terminated if "^Z" input 20 CLS : DIM R%(2048) 30 L%=1000 : f$="LOG"+STR$(L%)+".TXT" : fptr=OPENOUT(f$) 40 M%=0 : Z%=&1A : K%=-1 : port=OPENUP("COM:") 60 REPEAT 70 IF ((K%>-1) AND (EXT#port=0)) BPUT#port,K% 80 IF (NOT EOF#port) PROCecho_log : PROCsize_log 90 K%=INKEY(1) 100 UNTIL (K%=Z%) 110 CLOSE#port 120 PRINT "EOF (^Z) input - Closing File(s):-" 130 size = EXT#fptr : CLOSE#fptr 140 PRINT "size=";size;" bytes, Max block=";M%;" bytes." : STOP 150 END 160 DEF PROCecho_log 170 C%=1 180 REPEAT:R%(C%)=BGET#port:C%=C%+1:UNTIL((EOF#port) OR (C%=2048)) 190 E%=C%-1 : C%=1 : IF (E%>M%) M%=E% 200 REPEAT:BPUT#fptr,R%(C%):PRINT CHR$(R%(C%));:C%=C%+1:UNTIL(C%>E%) 210 ENDPROC 220 DEF PROCsize_log 230 size=EXT#fptr : IF (size<16384) ENDPROC 240 CLOSE#fptr:L%=L%+1:f$="LOG"+STR$(L%)+".TXT":fptr=OPENOUT(f$) 250 ENDPROC