mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@616 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| subroutine decode1(iarg)
 | |
| 
 | |
| ! Get data and parameters from gcom, then call the decoders when needed.
 | |
| ! This routine runs in a background thread and will never return.
 | |
| 
 | |
| #ifdef CVF
 | |
|   use dflib
 | |
| #endif
 | |
| 
 | |
|   character sending0*28,mode0*6,cshort*11
 | |
|   integer sendingsh0
 | |
| 
 | |
|   include 'datcom.f90'
 | |
|   include 'gcom1.f90'
 | |
|   include 'gcom2.f90'
 | |
|   include 'gcom3.f90'
 | |
|   include 'gcom4.f90'
 | |
|   data kbuf0/0/,ns00/-999/
 | |
|   data sending0/'                      '/
 | |
|   save
 | |
| 
 | |
|   kkdone=-99
 | |
|   ntr0=ntr
 | |
|   ns0=999999
 | |
| 
 | |
| 10 continue
 | |
|   if(newdat2.gt.0) then
 | |
|      call getfile2(fname80,nlen)
 | |
|      newdat2=0
 | |
|      kbuf=1
 | |
|      kk=NSMAX
 | |
|      kkdone=0
 | |
|      newdat=1
 | |
|   endif
 | |
| 
 | |
|   if(kbuf.ne.kbuf0) kkdone=0
 | |
|   kbuf0=kbuf
 | |
|   kkk=kk
 | |
|   if(kbuf.eq.2) kkk=kk-5760000
 | |
|   n=Tsec
 | |
|   if(ndebug.eq.2 .and. n.ne.ns00) then
 | |
|      write(29,3101) nutc,mod(n,60),kbuf,kk,kkdone,ndecoding,newdat
 | |
| 3101 format('d1:',i5.4,i3.2,i5,2i10,2i3)
 | |
|      ns00=n
 | |
|   endif
 | |
| 
 | |
|   if((ndiskdat.eq.1 .or. ndecoding.eq.0) .and. ((kkk-kkdone).gt.32768)) then
 | |
|      call symspec(id,kbuf,kk,kkdone,nutc,newdat)
 | |
|      call sleep_msec(10)
 | |
|   endif
 | |
| 
 | |
|   if(ndecoding.gt.0 .and. mode(1:4).eq.'JT65') then
 | |
|      ndecdone=0
 | |
|      call map65a(newdat)
 | |
|      if(mousebutton.eq.0) ndecoding0=ndecoding
 | |
|      ndecoding=0
 | |
|   endif
 | |
| 
 | |
|   if(ns0.lt.0) then
 | |
|      rewind 21
 | |
|      ns0=999999
 | |
|   endif
 | |
|   if(n.lt.ns0 .and. utcdate(1:1).eq.'2') then
 | |
|      write(21,1001) utcdate(:11)
 | |
| 1001 format(/'UTC Date: ',a11/'---------------------')
 | |
|      ns0=n
 | |
|   endif
 | |
| 
 | |
|   if(transmitting.eq.1 .and. (sending.ne.sending0 .or.       &
 | |
|        sendingsh.ne.sendingsh0 .or. mode.ne.mode0)) then
 | |
|      ih=n/3600
 | |
|      im=mod(n/60,60)
 | |
|      is=mod(n,60)
 | |
|      cshort='           '
 | |
|      if(sendingsh.eq.1) cshort='(Shorthand)'
 | |
|      write(21,1010) ih,im,is,mode,sending,cshort
 | |
| 1010 format(3i2.2,'  Transmitting: ',a6,2x,a28,2x,a11)
 | |
|      call flushqqq(21)
 | |
|      sending0=sending
 | |
|      sendingsh0=sendingsh
 | |
|      mode0=mode
 | |
|   endif
 | |
| 
 | |
|   call sleep_msec(100)                  !### was 100
 | |
|   go to 10
 | |
| 
 | |
| end subroutine decode1
 |