diff --git a/libm65/display.f90 b/libm65/display.f90 index 5c24cfe76..958b3b84f 100644 --- a/libm65/display.f90 +++ b/libm65/display.f90 @@ -1,16 +1,21 @@ -subroutine display(nkeep,ftol) +subroutine display(nkeep,ftol,mode65,nfast) parameter (MAXLINES=400,MX=400) integer indx(MAXLINES),indx2(MX) character*83 line(MAXLINES),line2(MX),line3(MAXLINES) - character out*52,cfreq0*3,livecq*52 + character out*52,cfreq0*3,livecq*58 character*6 callsign,callsign0 character*12 freqcall(100) + character*2 cmode real freqkHz(MAXLINES) integer utc(MAXLINES),utc2(MX),utcz real*8 f0 rewind 26 + cmode='A ' + if(mode65.eq.2) cmode='B ' + if(mode65.eq.4) cmode='C ' + if(nfast.eq.2) cmode(2:2)='2' do i=1,MAXLINES read(26,1010,end=10) line(i) @@ -30,8 +35,8 @@ subroutine display(nkeep,ftol) nage=utcz-utc(i) if(nage.lt.0) nage=nage+1440 iage=nage/nquad - write(line(i)(73:74),1021) iage -1021 format(i2) + write(line(i)(73:77),1021) iage,cmode +1021 format(i2,1x,a2) enddo nage=utcz-utc(1) @@ -51,7 +56,8 @@ subroutine display(nkeep,ftol) line(i)=line(j) utc(i)=utc(j) freqkHz(i)=freqkHz(j) - write(26,1010) line(i) + write(26,1022) line(i) +1022 format(a77) enddo endif @@ -125,15 +131,15 @@ subroutine display(nkeep,ftol) if(iw.lt.MAXLINES-1) iw=iw+1 livecq=line3(k)(6:13)//line3(k)(28:31)//line3(k)(39:45)// & line3(k)(23:27)//line3(k)(35:38)//line3(k)(46:70)// & - line3(k)(73:74) + line3(k)(73:77) if(index(livecq,' CQ ').gt.0 .or. index(livecq,' QRZ ').gt.0 .or. & index(livecq,' QRT ').gt.0 .or. index(livecq,' CQV ').gt.0 .or. & index(livecq,' CQH ').gt.0) write(19,1029) livecq -1029 format(a52) +1029 format(a58) write(*,1030) out !Messages 1030 format('@',a52) - i1=index(out(24:),' ') - callsign=out(i1+24:) + i1=index(out(26:),' ') + callsign=out(i1+26:) i2=index(callsign,' ') if(i2.gt.1) callsign(i2:)=' ' if(callsign.ne.' ' .and. callsign.ne.callsign0) then @@ -141,12 +147,12 @@ subroutine display(nkeep,ftol) if(len.lt.0) len=6 if(len.ge.4) then !Omit short "callsigns" nc=nc+1 - freqcall(nc)=cfreq0//' '//callsign//line3(k)(80:81) + freqcall(nc)=cfreq0//' '//callsign//line3(k)(73:74) callsign0=callsign endif endif if(callsign.ne.' ' .and. callsign.eq.callsign0) then - freqcall(nc)=cfreq0//' '//callsign//line3(k)(80:81) + freqcall(nc)=cfreq0//' '//callsign//line3(k)(73:74) endif endif enddo diff --git a/libm65/map65a.f90 b/libm65/map65a.f90 index a9164b26d..fb23e91ba 100644 --- a/libm65/map65a.f90 +++ b/libm65/map65a.f90 @@ -450,7 +450,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & 1015 format(39x,i6.6) call flush(21) call flush(26) - call display(nkeep,ftol) + call display(nkeep,ftol,mode65,nfast) ndecdone=2 999 close(23) diff --git a/mainwindow.cpp b/mainwindow.cpp index 64fd995c4..71d97bc37 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1270,7 +1270,6 @@ void MainWindow::readFromStderr() //readFromStderr msgBox(t); } - void MainWindow::readFromStdout() //readFromStdout { while(proc_m65.canReadLine())